CINXE.COM

Issues · openEuler/secGear - Gitee.com

<!DOCTYPE html> <html lang='zh-CN'> <head> <title>Issues · openEuler/secGear - Gitee.com</title> <meta content='on' http-equiv='x-dns-prefetch-control'> <link href='//e.gitee.com' rel='dns-prefetch'> <link href='//files.gitee.com' rel='dns-prefetch'> <link href='//toscode.gitee.com' rel='dns-prefetch'> <link href='https://cn-assets.gitee.com' rel='dns-prefetch'> <link href='https://portrait.gitee.com' rel='dns-prefetch'> <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="https://cn-assets.gitee.com/assets/favicon-9007bd527d8a7851c8330e783151df58.ico" /> <link rel="canonical" href="https://gitee.com/openeuler/secGear" /> <meta content='gitee.com/openeuler/secGear git https://gitee.com/openeuler/secGear.git' name='go-import'> <meta charset='utf-8'> <meta content='always' name='referrer'> <meta content='Gitee' property='og:site_name'> <meta content='Object' property='og:type'> <meta content='https://gitee.com/openeuler/secGear/issues' property='og:url'> <meta content='https://gitee.com/static/images/logo_themecolor.png' itemprop='image' property='og:image'> <meta content='Issues · openEuler/secGear - Gitee.com' itemprop='name' property='og:title'> <meta content='仓库 openEuler/secGear 的 Issues' property='og:description'> <meta content='码云,Gitee,代码托管,Git,Git@OSC,Gitee.com,开源,内源,项目管理,版本控制,开源代码,代码分享,项目协作,开源项目托管,免费代码托管,Git代码托管,Git托管服务' name='Keywords'> <meta content='仓库 openEuler/secGear 的 Issues' itemprop='description' name='Description'> <meta content='pc,mobile' name='applicable-device'> <meta content="IE=edge" http-equiv="X-UA-Compatible" /> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="Y/gh7WgOPnJmXRdOqhVPrFqJ4CzrMFsZqbJ8CvyVFPUo1W4h364LZryr1TLp/G7LlQ8h5V+ClujZi3RYj30gYg==" /> <link rel="stylesheet" media="all" href="https://cn-assets.gitee.com/assets/application-dd3fda160256112913699f4fc9a0b540.css" /> <script> //<![CDATA[ window.gon = {};gon.locale="zh-CN";gon.sentry_dsn=null;gon.baidu_register_hm_push=null;gon.info={"controller_path":"issues","action_name":"index","current_user":false};gon.tour_env={"current_user":null,"action_name":"index","original_url":"https://gitee.com/openeuler/secGear/issues","controller_path":"issues"};gon.http_clone="https://gitee.com/openeuler/secGear.git";gon.user_project="openeuler/secGear";gon.manage_branch="管理分支";gon.manage_tag="管理标签";gon.enterprise_id=5292411;gon.create_reaction_path="/openeuler/secGear/reactions";gon.ipipe_base_url="https://go-api.gitee.com";gon.artifact_base_url="https://go-repo.gitee.com";gon.gitee_go_remote_url="https://go.gitee.com/assets";gon.gitee_go_active=false;gon.current_project_is_mirror=false;gon.show_repo_comment=false;gon.diagram_viewer_path="https://diagram-viewer.giteeusercontent.com";gon.ent_host="e.gitee.com";gon.user_statistics_path="/openeuler/secGear/issues/user_statistics";gon.issue_is_use_project_template=false;gon.program_filter_options_path="/openeuler/secGear/issues/program_filter_options";gon.milestone_filter_options="/openeuler/secGear/issues/milestone_filter_options";gon.issue_params={"controller":"issues","action":"index","project_id":"openeuler/secGear","issue_search":null,"res_should_null":false,"state":"open","search_source":"filter_box"}; //]]> </script> <script src="https://cn-assets.gitee.com/assets/application-1a4bf2ba7b1e19f0f3f7b1bf63122b0b.js"></script> <script src="https://cn-assets.gitee.com/assets/lib/jquery.timeago.zh-CN-4a4818e98c1978d2419ab19fabcba740.js"></script> <script src="https://cn-assets.gitee.com/assets/issues/app-228a4f74fd419179a67664b209c9821c.js"></script> <script type='text/x-mathjax-config'> MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [["$$","$$"],["\\[","\\]"]], processEscapes: true, skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code'], ignoreClass: "container|files", processClass: "markdown-body" } }); </script> <script src="https://cn-assets.gitee.com/uploads/resources/MathJax-2.7.2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script> (function () { var messages = { 'zh-CN': { addResult: '增加 <b>{term}</b>', count: '已选择 {count}', maxSelections: '最多 {maxCount} 个选择', noResults: '未找到结果', serverError: '连接服务器时发生错误' }, 'zh-TW': { addResult: '增加 <b>{term}</b>', count: '已選擇 {count}', maxSelections: '最多 {maxCount} 個選擇', noResults: '未找到結果', serverError: '連接服務器時發生錯誤' } } if (messages[gon.locale]) { $.fn.dropdown.settings.message = messages[gon.locale] } }()); </script> <script> var userAgent = navigator.userAgent; var isLessIE11 = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1; if(isLessIE11){ var can_access = "" if (can_access != "true"){ window.location.href = "/incompatible.html"; } } document.addEventListener("error", function (ev) { var elem = ev.target; if (elem.tagName.toLowerCase() === 'img') { elem.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAAAAACIM/FCAAACh0lEQVR4Ae3ch5W0OgyG4dt/mQJ2xgQPzJoM1m3AbALrxzrf28FzsoP0HykJEEAAAUQTBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEkKK0789+GK/I2ezfQB522PnS1qc8pGgXvr4tE4aY0XOUWlGImThWgyCk6DleixzE7qwBkg/MGiDPlVVAyp1VQGrPKiACDhFI6VkF5LmzCki+sg7IwDoglnVAil0IMkeG9CyUiwsxLFUVFzJJOQaKCjFCDN9RXMjIX7W6ztZXZDKKCyn8sWJvH+nca7WHDN9lROlAliPH9iRKCPI4cswFJQWxB46toLQgQ9jhn5QYZA9DOkoMUoQde5YapAxDWkoNYsOQR3KQd9CxUnIQF4S49CB9ENKlBxmDEKsFUgMCCCCAAHIrSF61f6153Ajy8nyiPr8L5MXnmm4CyT2fzN4DUvHZ+ntA2tOQBRBAAAEEEEAAAQQQ7ZBaC6TwSiDUaYHQ2yuB0MN+ft+43whyrs4rgVCjBUKTFshLC6TUAjGA3AxSaYFYLZBOC2RUAsk8h5qTg9QcbEoOsoQhQ2qQhsO5xCD5dgB5JQaZ+KBKGtKecvR81Ic0ZDjByKdDx0rSEDZ/djQbH+bkIdvfJFm98BfV8hD2zprfVdlu9PxVeyYAkciREohRAplJCaRSAplJCcQogTjSAdlyHRBvSAekJR0QRzogA+mADJkOiCPSAPEtqYBshlRAXC43hxix2QiOuEZkVERykGyNo9idIZKE0HO7XrG6OiMShlDWjstVzdPgXtUH9v0CEidAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQP4HgjZxTpdEii0AAAAASUVORK5CYII="; } }, true); </script> </head> <script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <script> var title = document.title.replace(/( - Gitee| - 码云)$/, '') imgUrl = ''; document.addEventListener('DOMContentLoaded', function(event) { var imgUrlEl = document.querySelector('.readme-box .markdown-body > img, .readme-box .markdown-body :not(a) > img'); imgUrl = imgUrlEl && imgUrlEl.getAttribute('src'); if (!imgUrl) { imgUrlEl = document.querySelector('meta[itemprop=image]'); imgUrl = imgUrlEl && imgUrlEl.getAttribute('content'); imgUrl = imgUrl || "https://gitee.com/static/images/logo_themecolor.png"; } wx.config({ debug: false, appId: "wxff219d611a159737", timestamp: "1742887949", nonceStr: "446ea1aa27c51373b7c2292e39d3c959", signature: "3a35cc332ab7d3672c7c115de1b61e166e2de563", jsApiList: [ 'onMenuShareTimeline', 'onMenuShareAppMessage' ] }); wx.ready(function () { wx.onMenuShareTimeline({ title: title, // 分享标题 link: "https://gitee.com/openeuler/secGear/issues", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: imgUrl // 分享图标 }); wx.onMenuShareAppMessage({ title: title, // 分享标题 link: "https://gitee.com/openeuler/secGear/issues", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 desc: document.querySelector('meta[name=Description]').getAttribute('content'), imgUrl: imgUrl // 分享图标 }); }); wx.error(function(res){ console.error('err', res) }); }) </script> <body class='git-project lang-zh-CN'> <header class='common-header fixed noborder' id='git-header-nav'> <div class='ui container'> <div class='ui menu header-menu header-container'> <div class='git-nav-expand-bar'> <i class='iconfont icon-mode-table'></i> </div> <div class='gitee-nav__sidebar'> <div class='gitee-nav__sidebar-container'> <div class='gitee-nav__sidebar-top'> <div class='gitee-nav__avatar-box'></div> <div class='gitee-nav__buttons-box'> <a class="ui button small fluid orange" href="/login">登录</a> <a class="ui button small fluid basic is-register" href="/signup">注册</a> </div> </div> <div class='gitee-nav__sidebar-middle'> <div class='gitee-nav__sidebar-list'> <ul> <li class='gitee-nav__sidebar-item'> <a href="/explore"><i class='iconfont icon-ic-discover'></i> <span class='gitee-nav__sidebar-name'>开源</span> </a></li> <li class='gitee-nav__sidebar-item'> <a href="/enterprises"><i class='iconfont icon-ic-enterprise'></i> <span class='gitee-nav__sidebar-name'>企业版</span> </a></li> <li class='gitee-nav__sidebar-item'> <a href="/education"><i class='iconfont icon-ic-education'></i> <span class='gitee-nav__sidebar-name'>高校版</span> </a></li> <li class='gitee-nav__sidebar-item split-line'></li> <li class='gitee-nav__sidebar-item'> <a href="/search"><i class='iconfont icon-ic-search'></i> <span class='gitee-nav__sidebar-name'>搜索</span> </a></li> <li class='gitee-nav__sidebar-item'> <a href="/help"><i class='iconfont icon-help-circle'></i> <span class='gitee-nav__sidebar-name'>帮助中心</span> </a></li> <li class='gitee-nav__sidebar-item'> <a href="/terms"><i class='iconfont icon-file'></i> <span class='gitee-nav__sidebar-name'>使用条款</span> </a></li> <li class='gitee-nav__sidebar-item'> <a href="/about_us"><i class='iconfont icon-issuepx'></i> <span class='gitee-nav__sidebar-name'>关于我们</span> </a></li> </ul> </div> </div> <div class='gitee-nav__sidebar-bottom'> <div class='gitee-nav__sidebar-close-button'> <i class='fa fa-angle-double-left'></i> </div> </div> </div> </div> <!-- /todo 10周年活动结束后 恢复 --> <div class='item gitosc-logo'> <a href="https://gitee.com"><img alt='Gitee - 基于 Git 的代码托管和研发协作平台' class='ui inline image' height='28' src='/static/images/logo.svg?t=158106664' title='Gitee - 基于 Git 的代码托管和研发协作平台' width='95'> <img alt='Gitee - 基于 Git 的代码托管和研发协作平台' class='ui inline black image' height='28' src='/static/images/logo-black.svg?t=158106664' title='Gitee - 基于 Git 的代码托管和研发协作平台' width='95'> </a></div> <a title="开源" class="item " href="/explore">开源 </a><a title="企业版" class="item " href="/enterprises">企业版 </a><a title="高校版" class="item " href="/education">高校版 </a><a title="私有云" class="item" target="_blank" href="https://gitee.cn?utm_source=giteecom">私有云 </a><a title="Gitee AI" class="item mr-3" id="gitee-blog" target="_blank" href="https://ai.gitee.com/?utm_sources=site_nav">模力方舟 <sup class='ui red label' style='right:-36px !important'> Gitee AI </sup> </a><div class='center responsive-logo'> <a href="https://gitee.com"><img alt='Gitee - 基于 Git 的代码托管和研发协作平台' class='ui inline image' height='24' src='/static/images/logo.svg?t=158106664' title='Gitee - 基于 Git 的代码托管和研发协作平台' width='85'> <img alt='Gitee - 基于 Git 的代码托管和研发协作平台' class='ui inline black image' height='24' src='/static/images/logo-black.svg?t=158106664' title='Gitee - 基于 Git 的代码托管和研发协作平台' width='85'> </a></div> <div class='right menu userbar right-header' id='git-nav-user-bar'> <form class="ui item" id="navbar-search-form" data-text-require="搜索关键字不能少于1个" data-text-filter="搜索格式不正确" action="/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /> <input type="hidden" name="type" id="navbar-search-type" /> <input type="hidden" name="fork_filter" id="fork_filter" value="on" /> <div class='ui search header-search'> <input type="text" name="q" id="navbar-search-input" value="" class="prompt" placeholder="搜开源" /> </div> </form> <script> var can_search_in_repo = 1, repo = "VFZSQk5VOVVhM2ROYWs1b1RucFplbHBuUFQxaE56WXpaZz09YTc2M2Y=", reponame = "openeuler/secGear"; $(function() { var $search = $('#navbar-search-form .ui.search'); $search.search({ apiSettings: { url: '/search/relative_project?q={query}', onResponse: function (res) { if (res && res.status === 200 && res.data) { var query = htmlSafe($search.search('get value')); res.data.map(function (item) { item.path_ns = '/' + item.path_ns; item.icon = 'iconfont icon-project-public'; }); res.data.unshift({ name_ns: "在全站搜索 <b class='hl'>" + query +"</b> 相关项目", path_ns: '/search?fork_filter=on&q=' + query, icon: 'iconfont icon-search' }); return res; } else { return { data: [] }; } } }, fields: { results: 'data', description: 'name_ns', url: 'path_ns', icon: 'icon' }, minCharacters: 1, maxResults: 10, searchDelay: 250, showNoResults: false, transition: 'fade' }); }); </script> <div class='ui item' id='feature-update-notice'> <div class='notice-update-icon'> <a class="notice-update-popup click-knowed" title="" href="javascript:void(0)"><img alt="功能更新" title="" class="bubl_icon bubl-off-icon" src="https://cn-assets.gitee.com/assets/bulb_off-24ee940be20998aace89a3f040cbc704.svg" /> <img alt="功能更新" title="" class="bubl_icon bubl-on-icon" src="https://cn-assets.gitee.com/assets/bulb_on-3986b1dc417285398e3d15671bd8f261.svg" /> </a></div> <div class='feature-update-notice-panel menu'> <div class='notice-img'> <img alt="" title="" class="notice-img-show" src="" /> </div> <div class='notice-update-title'></div> <div class='notice-update-des'></div> <div class='notice-btn-list d-flex-between'> <button name="button" type="button" class="ui basic orange button btn-notice btn-knowed click-knowed" style="margin-right: 0">我知道了</button> <a class="ui button orange btn-notice btn-details click-knowed" target="_blank" href="">查看详情</a> </div> </div> </div> <a class="item git-nav-user__login-item" href="/login">登录 </a><a class="item git-nav-user__register-item" href="/signup">注册 </a><script> $('.destroy-user-session').on('click', function() { $.cookie('access_token', null, { path: '/' }); }) </script> </div> </div> </div> </header> <script> Gitee.initNavbar() Gitee.initRepoRemoteWay() $.cookie('user_locale',null) </script> <script> var userAgent = navigator.userAgent; var isLessIE11 = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1; if(isLessIE11){ var can_access = "" if (can_access != "true"){ window.location.href = "/incompatible.html"; } } </script> <div class='fixed-notice-infos'> <div class='all-messages'> <div class='ui info message' id='git-bulletin'> <a href=https://www.oschina.net/event/8595459 target='_blank'>4月12日模力方舟 AI 应用沙龙 · 杭州站报名开放,产研前线第一手干货,AI 开发者必冲!</a> <i class='icon remove' id='remove-bulletin'></i> </div> </div> <div class='ui container'> <div class='flash-messages' id='messages-container'></div> </div> <script> (function() { $(function() { var $error_box, alertTip, notify_content, notify_options, template; template = '<div data-notify="container" class="ui {0} message" role="alert">' + '<i data-notify="dismiss" class="close icon"></i>' + '<span data-notify="message">{2}</span>' + '</div>'; notify_content = null; notify_options = {}; alertTip = ''; $error_box = $(".flash_error.flash_error_box"); if (notify_options.type === 'error' && $error_box.length > 0 && !$.isEmptyObject(notify_content.message)) { if (notify_content.message === 'captcha_fail') { alertTip = "验证码不正确"; } else if (notify_content.message === 'captcha_expired') { alertTip = "验证码已过期,请点击刷新"; } else if (notify_content.message === 'not_found_in_database') { alertTip = "帐号或者密码错误"; } else if (notify_content.message === 'not_found_and_show_captcha') { alertTip = "帐号或者密码错误"; } else if (notify_content.message === 'phone_captcha_fail') { alertTip = "手机验证码不通过"; } else { alertTip = notify_content.message; } return $error_box.html(alertTip).show(); } else if (notify_content) { if ("index" === 'third_party_binding') { return $('#third_party_binding-message').html(notify_content.message).addClass('ui message red'); } notify_options.delay = 3000; notify_options.template = template; notify_options.offset = { x: 10, y: 30 }; notify_options.element = '#messages-container'; return $.notify(notify_content, notify_options); } }); }).call(this); </script> </div> <script> (function() { $(function() { var setCookie; setCookie = function(name, value) { $.cookie(name, value, { path: '/', expires: 365 }); }; $('#remove-bulletin, #remove-bulletin-dashboard').on('click', function() { setCookie('remove_bulletin', "gitee-maintain-1742526988"); $('#git-bulletin').hide(); }); $('#remove-member-bulletin').on('click', function() { setCookie('remove_member_bulletin', "gitee_member_bulletin"); $(this).parent().hide(); }); return $('#remove-gift-bulletin').on('click', function() { setCookie('remove_gift_bulletin', "gitee-gift-bulletin"); $(this).parent().hide(); }); }); }).call(this); </script> <script> function closeMessageBanner(pthis, type, val) { var json = {} val = typeof val === 'undefined' ? null : val $(pthis).parent().remove() if (type === 'out_of_enterprise_member') { json = {type: type, data: val} } else if (type === 'enterprise_overdue') { json = {type: type, data: val} } $.post('/profile/close_flash_tip', json) } </script> <div class='site-content'> <div class='git-project-header'> <div class='fixed-notice-infos'> <div class='ui info icon floating message green' id='fetch-ok' style='display: none'> <div class='content'> <div class='header status-title'> <i class='info icon status-icon'></i> 代码拉取完成,页面将自动刷新 </div> </div> </div> <div class='ui info icon floating message error' id='fetch-error' style='display: none'> <div class='content'> <div class='header status-title'> <i class='info icon status-icon'></i> <span class='error_msg'></span> </div> </div> </div> </div> <div class='ui container'> <div class='git-project-categories'> <a href="/explore">开源项目</a> <span class='symbol'>></span> <a href="/explore/program-develop">程序开发</a> <span class='symbol'>&gt;</span> <a href="/explore/security-dev">安全开发相关</a> <span class='symbol and-symbol'>&&</span> </div> <div class='git-project-header-details'> <div class='git-project-header-container'> <div class='git-project-header-actions'> <div class='ui tiny modal project-donate-modal' id='project-donate-modal'> <i class='iconfont icon-close close'></i> <div class='header'>捐赠</div> <div class='content'> 捐赠前请先登录 </div> <div class='actions'> <a class='ui blank button cancel'>取消</a> <a class='ui orange ok button' href='/login'>前往登录</a> </div> </div> <div class='ui small modal wepay-qrcode'> <i class='iconfont icon-close close'></i> <div class='header'> 扫描微信二维码支付 <span class='wepay-cash'></span> </div> <div class='content weqcode-center'> <img id='wepay-qrcode' src=''> </div> <div class='actions'> <div class='ui cancel blank button'>取消</div> <div class='ui ok orange button'>支付完成</div> </div> </div> <div class='ui mini modal' id='confirm-alipay-modal'> <div class='header'>支付提示</div> <div class='content'> 将跳转至支付宝完成支付 </div> <div class='actions'> <div class='ui approve orange button'>确定</div> <div class='ui blank cancel button'>取消</div> </div> </div> <span class='ui buttons basic watch-container'> <div class='ui dropdown button js-project-watch' data-watch-type='unwatch'> <input type='hidden' value=''> <i class='iconfont icon-watch'></i> <div class='text'> Watch </div> <i class='dropdown icon'></i> <div class='menu'> <a data-value="unwatch" class="item" rel="nofollow" data-method="post" href="/openeuler/secGear/unwatch"><i class='iconfont icon-msg-read'></i> 不关注 </a><a data-value="watching" class="item" rel="nofollow" data-method="post" href="/openeuler/secGear/watch"><i class='iconfont icon-msg-read'></i> 关注所有动态 </a><a data-value="releases_only" class="disabled item" rel="nofollow" data-method="post" href="/openeuler/secGear/release_only_watch"><i class='iconfont icon-msg-read'></i> 仅关注版本发行动态 </a><a data-value="ignoring" class="item" rel="nofollow" data-method="post" href="/openeuler/secGear/ignoring_watch"><i class='iconfont icon-msg-read'></i> 关注但不提醒动态 </a></div> </div> <style> .js-project-watch .text .iconfont { display: none; } .js-project-watch a, .js-project-watch a:hover { color: #000; } .js-project-watch .item > .iconfont { visibility: hidden; margin-left: -10px; } .js-project-watch .selected .iconfont { visibility: visible; } .js-project-watch .menu { margin-top: 4px !important; } </style> <script> $('.js-project-watch').dropdown({ action: 'select', onChange: function(value, text, $selectedItem) { var type = value === 'unwatch' ? 'Watch' : 'Watching'; $(this).children('.text').text(type); $(this).dropdown('set selected', value) } }); </script> <a class="ui button action-social-count" title="38" href="/openeuler/secGear/watchers">38 </a></span> <span class='basic buttons star-container ui'> <a class="ui button star" href="/login"><i class='iconfont icon-star'></i> Star </a><a class="ui button action-social-count " title="84" href="/openeuler/secGear/stargazers">84 </a></span> <span class='ui basic buttons fork-container' title='无权 Fork 此仓库'> <a class="ui button fork" title="你必须登录后才可以fork一个仓库" href="/login"><i class='iconfont icon-fork'></i> Fork </a><a class="ui button action-social-count disabled-style" title="98" href="/openeuler/secGear/members">98 </a></span> </div> <h2 class='git-project-title mt-0 mb-0'> <span class="project-title"><a href='/open_euler'><i class="iconfont icon-enterprise-badge" title="这是一个企业仓库"></i></a> <i class="project-icon iconfont icon-project-public" title="这是一个公开仓库"></i> <a title="openEuler" class="author" href="/openeuler">openEuler</a>/<a title="secGear" class="repository" target="" style="padding-bottom: 0px; margin-right: 4px" href="/openeuler/secGear">secGear</a></span><span class="project-badges"><a title="已被推荐" class="git-project-recommend-badge" href="/explore"><i class='iconfont icon-recommended'></i> </a><style> .gitee-modal { width: 500px !important; } </style> </span> <input type="hidden" name="recomm_at" id="recomm_at" value="2021-01-16 09:45" /> <input type="hidden" name="project_title" id="project_title" value="openEuler/secGear" /> </h2> </div> </div> </div> <script> var title_import_url = "false"; var title_post_url = "/openeuler/secGear/update_import"; var title_fork_url = "/openeuler/secGear/sync_fork"; var title_project_path = "secGear"; var title_p_name = "secGear"; var title_p_id= "10999023"; var title_description = "Confidential computing framework for developing enclave apps on top of hardware TEE"; var title_form_authenticity_token = "RVxYQIVr/VF3Dz+04PP9AQebQsLzzL2B2o4qpOtOXiMOcReMMsvIRa35/cijGtxmyB2DC0d+cHCqtyL2mKZqtA=="; var watch_type = "unwatch"; var checkFirst = false; $('.js-project-watch').dropdown('set selected', watch_type); $('.checkbox.sync-wiki').checkbox(); $('.checkbox.sync-prune').checkbox(); $('.checkbox.team-member-checkbox').checkbox(); </script> <style> i.loading, .icon-sync.loading { -webkit-animation: icon-loading 1.2s linear infinite; animation: icon-loading 1.2s linear infinite; } .qrcode_cs { float: left; } .check-sync-wiki { float: left; height: 28px; line-height: 28px; } .sync-wiki-warn { color: #e28560; } </style> <div class='git-project-nav'> <div class='ui container'> <div class='ui secondary pointing menu'> <a class="item " href="/openeuler/secGear"><i class='iconfont icon-code'></i> 代码 </a><a class="item active" href="/openeuler/secGear/issues"><i class='iconfont icon-task'></i> Issues <span class='ui mini circular label'> 4 </span> </a><a class="item " href="/openeuler/secGear/pulls"><i class='iconfont icon-pull-request'></i> Pull Requests <span class='ui mini circular label'> 3 </span> </a><a class="item " href="/openeuler/secGear/wikis"><i class='iconfont icon-wiki'></i> Wiki </a><a class="item " href="/openeuler/secGear/graph/master"><i class='iconfont icon-statistics'></i> 统计 </a><a class="item " href="/openeuler/secGear/gitee_go"><i class='iconfont icon-workflow'></i> 流水线 </a><div class='item'> <div class='ui pointing top right dropdown git-project-service'> <div> <i class='iconfont icon-service'></i> 服务 <i class='dropdown icon'></i> </div> <div class='menu' style='display:none'> <a class="item" href="/openeuler/secGear/pages"><img src="/static/images/logo-en.svg" alt="Logo en" /> <div class='item-title'> Gitee Pages </div> </a><a class="item" href="/openeuler/secGear/javadoc"><img src="https://cn-assets.gitee.com/assets/maven-bd58aee84f266d64d4b8ce5b006a9fcf.png" alt="Maven" /> <div class='item-title'> JavaDoc </div> </a><a class="item" href="/openeuler/secGear/phpdoc"><img src="https://cn-assets.gitee.com/assets/phpdoc-a99f87c2feaa2fd99e5065377a39487e.png" alt="Phpdoc" /> <div class='item-title'> PHPDoc </div> </a><a class="item" href="/openeuler/secGear/quality_analyses?platform=sonar_qube"><img src="https://cn-assets.gitee.com/assets/sonar_mini-5e1b54bb9f6c951d97fb778ef623afea.png" alt="Sonar mini" /> <div class='item-title'> 质量分析 </div> </a><a class="item" target="_blank" href="https://gitee.com/help/articles/4193"><img src="https://cn-assets.gitee.com/assets/jenkins_for_gitee-554ec65c490d0f1f18de632c48acc4e7.png" alt="Jenkins for gitee" /> <div class='item-title'> Jenkins for Gitee </div> </a><a class="item" target="_blank" href="https://gitee.com/help/articles/4318"><img src="https://cn-assets.gitee.com/assets/cloudbase-1197b95ea3398aff1df7fe17c65a6d42.png?20200925" alt="Cloudbase" /> <div class='item-title'> 腾讯云托管 </div> </a><a class="item" target="_blank" href="https://gitee.com/help/articles/4330"><img src="https://cn-assets.gitee.com/assets/cloud_serverless-686cf926ced5d6d2f1d6e606d270b81e.png" alt="Cloud serverless" /> <div class='item-title'> 腾讯云 Serverless </div> </a><a class="item" href="/openeuler/secGear/open_sca"><img src="https://cn-assets.gitee.com/assets/open_sca/logo-9049ced662b2f9936b8001e6f9cc4952.png" alt="Logo" /> <div class='item-title'> 悬镜安全 </div> </a><a class="item" target="_blank" href="https://help.gitee.com/devops/connect/Aliyun-SAE"><img src="https://cn-assets.gitee.com/assets/SAE-f3aa9366a1e2b7fff4747402eb8f10c3.png" alt="Sae" /> <div class='item-title'> 阿里云 SAE </div> </a><a class="item" id="update-codeblitz-link" target="_blank" href="https://codeblitz.cloud.alipay.com/gitee/openeuler/secGear/tree/master"><img style="width:100px;margin-top:4px" src="https://cn-assets.gitee.com/assets/Codeblitz-8824e38875a106e16e29ff57ec977b08.png" alt="Codeblitz" /> <div class='item-title'> Codeblitz </div> </a><button class='ui orange basic button quit-button' id='quiting-button'> 我知道了,不再自动展开 </button> </div> </div> </div> </div> </div> </div> <script> $('.git-project-nav .ui.dropdown').dropdown({ action: 'nothing' }); var gitee_reward_config = JSON.parse(localStorage.getItem('gitee_reward_config') || null) || false var $settingText = $('.setting-text') // 如果没有访问过 if(!gitee_reward_config) $settingText.addClass('red-dot') $('.git-project-service').dropdown({ on: 'click', action: 'nothing', onShow: function () { const branch = 'master' let newUrl = `https://codeblitz.cloud.alipay.com/gitee/openeuler/secGear/tree/` const url = decodeURIComponent(window.location.pathname); const startIndex = url.indexOf('master'); if (startIndex !== -1) { newUrl = newUrl + url.substring(startIndex); // 从分支名开始截取 }else{ newUrl = newUrl + branch } const linkElement = document.getElementById("update-codeblitz-link"); linkElement.setAttribute("href", newUrl); }, }) </script> <style> .git-project-nav i.checkmark.icon { color: green; } #quiting-button { display: none; } .git-project-nav .dropdown .menu.hidden:after { visibility: hidden !important; } </style> <script> isSignIn = false isClickGuide = false $('#git-versions.dropdown').dropdown(); $.ajax({ url:"/openeuler/secGear/access/add_access_log", type:"GET" }); $('#quiting-button').on('click',function() { $('.git-project-service').click(); if (isSignIn) { $.post("/projects/set_service_guide") } $.cookie("Serve_State", true, { expires: 3650, path: '/'}) $('#quiting-button').hide(); }); if (!(isClickGuide || $.cookie("Serve_State") == 'true')) { $('.git-project-service').click() $('#quiting-button').show() } </script> </div> <div class='ui container git-project-content'> <div class='issue-header d-flex-between' style='align-items: flex-start;'> <form id="git-issues-search" action="/openeuler/secGear/issues" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /> <input type="hidden" name="state" id="state" value="all" /> <input type="hidden" name="search_source" id="search_source" value="search_box" /> <div class='search-input-group mr-1 w-full'> <div class='ui selection dropdown issue-search-dropdown'> <i class='dropdown icon'></i> <div class='default text'>全部</div> <div class='menu'> <a class="item" href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;skip_user=true&amp;state=open">全部</a> </div> </div> <input autocomplete='off' class='keywords issue-search-input issue-search flex-1 pl-2' name='issue_search' placeholder='搜索 Issue'> <button class='gradient search-issue-submit issue-search' type='submit'> <i class='iconfont icon-ic-search text-muted'></i> </button> </div> <a class="clear-search-input-wrapper js-clear-search-issue mt-2" href="/openeuler/secGear/issues"><i class='iconfont icon-clear'> 清除搜索筛选条件 </i> </a></form> <script> $('.issue-search-dropdown').dropdown() var issueSearch = "" var issueSearchParams = new URLSearchParams(window.location.search) var arrParamsKey = [ 'assignee_id', 'tester_id', 'author_id', 'branch', 'collaborator_ids', 'issue_search', 'search', 'q', 'label_ids', 'label_text', 'milestone_id', 'priority', 'project_type', 'target_project', 'program_id', 'scope', 'sort', 'state', 'status', 'search_box' ] var showClearSearch = issueSearch || arrParamsKey.some(function (item) { return issueSearchParams.get(item) }) if (showClearSearch) { $('.js-clear-search-issue').show() } else { $('.js-clear-search-issue').hide() } // issue 搜索历史 (function () { var oInput = $('input[name=issue_search]'); var oInputSearchHistory = globalUtils.createInputHistoryList({ selector: 'input[name=issue_search]', className: 'search-history-wrapper', offsetY: 10, key: 'issue-search-input' }); oInput.on('focus', function () { oInputSearchHistory.show(); }); oInput.on('blur', function () { oInputSearchHistory.hide(); }); $('#git-issues-search').on('submit', function () { oInputSearchHistory.add(oInput.val()); }); // 看板全屏事件 $(window).on('board:fullscreen', function (event, data) { oInputSearchHistory.resize() }) if($('.project-board-page').length > 0){ window.gon.oInputSearchHistory = oInputSearchHistory } })(); // 更新路由 document.addEventListener('DOMContentLoaded', function() { var currentUrl = ""; if (currentUrl) { history.replaceState(null, '', currentUrl); } }) </script> <div class='git-issues-tab'> <a class="menu-item board-view border d-flex-center item" href="/openeuler/secGear/board"><i class='iconfont icon-mode-board'></i> <div class='text ml-1'>看板</div> </a><a class="menu-item milestone-btn d-flex-center border item" href="/openeuler/secGear/milestones"><i class='iconfont icon-milestone'></i> <div class='ml-1'>里程碑</div> </a><div class='buttons d-flex menu-item new-issue-group orange ui'> <a class="ui button icon-add-thin iconfont issues-head-new-issue d-flex d-align-center" title="新建 Issue" id="new_issue_link" href="/openeuler/secGear/issues/new?issue%5Bassignee_id%5D=0&amp;issue%5Bmilestone_id%5D=0"><div class='text'>新建 Issue</div> </a></div> </div> <script> $('.more-menu.dropdown').dropdown() </script> </div> <div class='ui flat nopadding git-issues-panel'> <div class='panel-header'> <div class='filters-wrapper'> <form id="git-issues-filters" class="ui menu" action="/openeuler/secGear/issues" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /> <input type="hidden" name="search_source" id="search_source" value="filter_box" /> <a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=all">全部 </a><a class="item active" href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=open">开启的 <div class='ui mini circular label'>4</div> </a><a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=progressing">进行中 <div class='ui mini circular label'>0</div> </a><a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=closed">已完成 <div class='ui mini circular label'>100</div> </a><a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=rejected">已关闭 <div class='ui mini circular label'>6</div> </a><div class='ui right top floating pointing dropdown item git-order-dropdown'> <div class='filter-text'>排序</div> <i class='icon dropdown'></i> <div class='menu'> <a class="item active selected" href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;sort=default&amp;state=open"><i class='icon check'></i> <div class='text d-inline-block'>默认排序</div> </a><a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;sort=newest&amp;state=open"><i class='icon check'></i> <div class='text d-inline-block'>最新创建</div> </a><a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;sort=oldest&amp;state=open"><i class='icon check'></i> <div class='text d-inline-block'>最早创建</div> </a><a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;sort=recently_updated&amp;state=open"><i class='icon check'></i> <div class='text d-inline-block'>最近更新</div> </a><a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;sort=last_updated&amp;state=open"><i class='icon check'></i> <div class='text d-inline-block'>最早更新</div> </a><a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;sort=high_priority&amp;state=open"><i class='icon check'></i> <div class='text d-inline-block'>高优先级</div> </a><a class="item " href="/openeuler/secGear/issues?project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;sort=low_priority&amp;state=open"><i class='icon check'></i> <div class='text d-inline-block'>低优先级</div> </a></div> </div> <div class='ui right top floating pointing dropdown item'> <div class='filter-text'>优先级</div> <i class='icon dropdown'></i> <div class='menu'> <a class="item" href="/openeuler/secGear/issues?priority=0&amp;project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=open"><span class='ui empty circular label' style='background-color: #B0B0B0 !important;'></span> <span class='text'>不指定</span> </a><a class="item" href="/openeuler/secGear/issues?priority=4&amp;project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=open"><span class='ui empty circular label' style='background-color: #EF0016 !important;'></span> <span class='text'>严重</span> </a><a class="item" href="/openeuler/secGear/issues?priority=3&amp;project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=open"><span class='ui empty circular label' style='background-color: #FF8F00 !important;'></span> <span class='text'>主要</span> </a><a class="item" href="/openeuler/secGear/issues?priority=2&amp;project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=open"><span class='ui empty circular label' style='background-color: #008AFF !important;'></span> <span class='text'>次要</span> </a><a class="item" href="/openeuler/secGear/issues?priority=1&amp;project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=open"><span class='ui empty circular label' style='background-color: #73E06F !important;'></span> <span class='text'>不重要</span> </a></div> </div> <div class='ui right top floating pointing dropdown item milestone'> <div class='filter-text'>里程碑</div> <i class='icon dropdown'></i> <div class='menu'> <div class='message'> 无里程碑 </div> </div> </div> <div class='ui right top floating pointing dropdown item program'> 项目 <i class='icon dropdown'></i> <div class='menu'> <div class='message'> 无项目 </div> </div> </div> <div class='ui right top floating pointing dropdown item label-dropdown'> <div class='filter-text'>标签</div> <i class='icon dropdown'></i> <div class='menu'> <div class='ui right icon input'> <i class='iconfont icon-search' style='position: absolute; right: 6px;'></i> <input class='labelinput' placeholder='搜索标签' type='text'> </div> <div class='scrolling menu'> <a class="item" href="/openeuler/secGear/issues?label_ids=0&amp;project_id=openeuler%2FsecGear&amp;search_source=filter_box&amp;state=open"><i class='icon'></i> <span class='text'>未分配标签</span> </a></div> <div class='ui active dimmer inverted'> <div class='ui loader'></div> </div> </div> </div> <div class='ui right top floating pointing dropdown item users searchable' data-key='assignee_id' data-type='issue'> <div class='filter-text'> 负责人 </div> <i class='icon dropdown'></i> <div class='menu'> <div class='ui right icon input search'> <i class='iconfont icon-search'></i> <input placeholder='搜索负责人' type='text'> </div> <div class='scrolling menu'> <div class='item'></div> </div> <div class='ui active dimmer inverted'> <div class='ui loader'></div> </div> </div> </div> <div class='ui right top floating pointing dropdown item users searchable' data-key='author_id' data-type='issue'> <div class='filter-text'> 创建者 </div> <i class='icon dropdown'></i> <div class='menu'> <div class='ui right icon input search'> <i class='iconfont icon-search'></i> <input placeholder='搜索创建者' type='text'> </div> <div class='scrolling menu'> <div class='item'></div> </div> <div class='ui active dimmer inverted'> <div class='ui loader'></div> </div> </div> </div> </form> <script> var queryParams = gon.issue_params; IssuesPullRequestsFilter.init(queryParams, { el: "#git-issues-filters", filter_path: "/openeuler/secGear/issues?project_id=openeuler%2FsecGear&search_source=filter_box&state=open", labels_path: "/openeuler/secGear/labels/list", no_assigned: "未指派", not_found: "未找到结果" }); </script> </div> </div> <div class='issue-list' id='git-issues'> <div class='issue-wrapper'> <div class='issue-info'> <div class='issue-title'> <h3> <a title="attestation-service基线校验,支持兼容大小写" class="title issues-title" href="/openeuler/secGear/issues/IBE8NU?from=project-issue">attestation-service基线校验,支持兼容大小写 </a></h3> <div class='ui label d-inline-flex d-align-center issue-label-item' data-id='107689796' data-name='sig/sig-confidential' style='color: #c506b9;background-color: transparent;'> <i class='iconfont icon-tag'></i> <div class='text'>sig/sig-confidential</div> </div> </div> <div class='issue-desc other-info-row d-align-center' data-username='houmingyong'> <div class='issue-icon'> <div class='icon-task-state-21 iconfont label' style='color: #fe7300' title='待办的'></div> </div> <span class='ui label issue-ident' data-clipboard-text='/openeuler/secGear/issues/IBE8NU?from=project-issue' id='ident-IBE8NU' type='button'> #IBE8NU </span> <a img_class="ui mini circular image inline" class="author js-popover-card" target="_blank" href="/houmingyong"><i class='iconfont icon-ic-account ml-2 mr-05'></i>houmingyong </a><a class="ml-2" href="/openeuler/secGear/issues/IBE8NU?from=project-issue#git-comment-divider"><i class='iconfont icon-comment'></i> <span>2</span> </a><div class='issue-list-right d-align-center'> <div class='text-muted time-timeago-wrapper right-item'> <span class='timeago' datetime='2024-12-27 17:21' title='2024-12-27 17:21:40 +0800'></span> </div> </div> </div> </div> </div> <style> .highlight { background: yellow } </style> <script> function highlightText(className, searchText) { // 添加输入验证 if (!searchText || searchText.trim() === '') { return; } var elements = document.getElementsByClassName(className); for (var i = 0; i < elements.length; i++) { try { var text = elements[i].innerHTML; // 对搜索文本进行转义,避免特殊字符导致的正则表达式错误 var escapedSearchText = searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); var highlightedText = text.replace(new RegExp(escapedSearchText, 'gi'), '<span class="highlight">$&</span>'); elements[i].innerHTML = highlightedText; } catch(e) { console.error('Error highlighting text:', e); } } } function removeHighlight(className) { var elements = document.getElementsByClassName(className); for (var i = 0; i < elements.length; i++) { try { elements[i].innerHTML = elements[i].textContent; } catch(e) { console.error('Error removing highlight:', e); } } } document.addEventListener('DOMContentLoaded', function() { try { removeHighlight('issues-title'); var searchText = ""; if (searchText && searchText.trim() !== '') { highlightText('issues-title', searchText); } } catch(e) { console.error('Error in DOMContentLoaded:', e); } }); </script> <div class='issue-wrapper'> <div class='issue-info'> <div class='issue-title'> <h3> <a title="解除依赖限制" class="title issues-title" href="/openeuler/secGear/issues/I7LZOJ?from=project-issue">解除依赖限制 </a></h3> <div class='ui label d-inline-flex d-align-center issue-label-item' data-id='107689796' data-name='sig/sig-confidential' style='color: #c506b9;background-color: transparent;'> <i class='iconfont icon-tag'></i> <div class='text'>sig/sig-confidential</div> </div> </div> <div class='issue-desc other-info-row d-align-center' data-username='houmingyong'> <div class='issue-icon'> <div class='icon-task-state-21 iconfont label' style='color: #fe7300' title='待办的'></div> </div> <span class='ui label issue-ident' data-clipboard-text='/openeuler/secGear/issues/I7LZOJ?from=project-issue' id='ident-I7LZOJ' type='button'> #I7LZOJ </span> <a img_class="ui mini circular image inline" class="author js-popover-card" target="_blank" href="/houmingyong"><i class='iconfont icon-ic-account ml-2 mr-05'></i>houmingyong </a><a class="ml-2" href="/openeuler/secGear/issues/I7LZOJ?from=project-issue#git-comment-divider"><i class='iconfont icon-comment'></i> <span>1</span> </a><div class='issue-list-right d-align-center'> <div class='text-muted time-timeago-wrapper right-item'> <span class='timeago' datetime='2023-07-18 14:53' title='2023-07-18 14:53:40 +0800'></span> </div> </div> </div> </div> </div> <style> .highlight { background: yellow } </style> <script> function highlightText(className, searchText) { // 添加输入验证 if (!searchText || searchText.trim() === '') { return; } var elements = document.getElementsByClassName(className); for (var i = 0; i < elements.length; i++) { try { var text = elements[i].innerHTML; // 对搜索文本进行转义,避免特殊字符导致的正则表达式错误 var escapedSearchText = searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); var highlightedText = text.replace(new RegExp(escapedSearchText, 'gi'), '<span class="highlight">$&</span>'); elements[i].innerHTML = highlightedText; } catch(e) { console.error('Error highlighting text:', e); } } } function removeHighlight(className) { var elements = document.getElementsByClassName(className); for (var i = 0; i < elements.length; i++) { try { elements[i].innerHTML = elements[i].textContent; } catch(e) { console.error('Error removing highlight:', e); } } } document.addEventListener('DOMContentLoaded', function() { try { removeHighlight('issues-title'); var searchText = ""; if (searchText && searchText.trim() !== '') { highlightText('issues-title', searchText); } } catch(e) { console.error('Error in DOMContentLoaded:', e); } }); </script> <div class='issue-wrapper'> <div class='issue-info'> <div class='issue-title'> <h3> <a title="现在异步调用未完成时销毁enclave暂不支持,有概率导致段错误" class="title issues-title" href="/openeuler/secGear/issues/I7KIG4?from=project-issue">现在异步调用未完成时销毁enclave暂不支持,有概率导致段错误 </a></h3> <div class='ui label d-inline-flex d-align-center issue-label-item' data-id='107689796' data-name='sig/sig-confidential' style='color: #c506b9;background-color: transparent;'> <i class='iconfont icon-tag'></i> <div class='text'>sig/sig-confidential</div> </div> </div> <div class='issue-desc other-info-row d-align-center' data-username='lijiaming666'> <div class='issue-icon'> <div class='icon-task-state-21 iconfont label' style='color: #fe7300' title='待办的'></div> </div> <span class='ui label issue-ident' data-clipboard-text='/openeuler/secGear/issues/I7KIG4?from=project-issue' id='ident-I7KIG4' type='button'> #I7KIG4 </span> <a img_class="ui mini circular image inline" class="author js-popover-card" target="_blank" href="/lijiaming666"><i class='iconfont icon-ic-account ml-2 mr-05'></i>lijiaming </a><a class="ml-2" href="/openeuler/secGear/issues/I7KIG4?from=project-issue#git-comment-divider"><i class='iconfont icon-comment'></i> <span>1</span> </a><div class='issue-list-right d-align-center'> <div class='text-muted time-timeago-wrapper right-item'> <span class='timeago' datetime='2023-07-12 10:41' title='2023-07-12 10:41:51 +0800'></span> </div> </div> </div> </div> </div> <style> .highlight { background: yellow } </style> <script> function highlightText(className, searchText) { // 添加输入验证 if (!searchText || searchText.trim() === '') { return; } var elements = document.getElementsByClassName(className); for (var i = 0; i < elements.length; i++) { try { var text = elements[i].innerHTML; // 对搜索文本进行转义,避免特殊字符导致的正则表达式错误 var escapedSearchText = searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); var highlightedText = text.replace(new RegExp(escapedSearchText, 'gi'), '<span class="highlight">$&</span>'); elements[i].innerHTML = highlightedText; } catch(e) { console.error('Error highlighting text:', e); } } } function removeHighlight(className) { var elements = document.getElementsByClassName(className); for (var i = 0; i < elements.length; i++) { try { elements[i].innerHTML = elements[i].textContent; } catch(e) { console.error('Error removing highlight:', e); } } } document.addEventListener('DOMContentLoaded', function() { try { removeHighlight('issues-title'); var searchText = ""; if (searchText && searchText.trim() !== '') { highlightText('issues-title', searchText); } } catch(e) { console.error('Error in DOMContentLoaded:', e); } }); </script> <div class='issue-wrapper'> <div class='issue-info'> <div class='issue-title'> <h3> <a title="添加调试日志" class="title issues-title" href="/openeuler/secGear/issues/I70HKI?from=project-issue">添加调试日志 </a></h3> <div class='ui label d-inline-flex d-align-center issue-label-item' data-id='107689796' data-name='sig/sig-confidential' style='color: #c506b9;background-color: transparent;'> <i class='iconfont icon-tag'></i> <div class='text'>sig/sig-confidential</div> </div> </div> <div class='issue-desc other-info-row d-align-center' data-username='houmingyong'> <div class='issue-icon'> <div class='icon-task-state-21 iconfont label' style='color: #fe7300' title='待办的'></div> </div> <span class='ui label issue-ident' data-clipboard-text='/openeuler/secGear/issues/I70HKI?from=project-issue' id='ident-I70HKI' type='button'> #I70HKI </span> <a img_class="ui mini circular image inline" class="author js-popover-card" target="_blank" href="/houmingyong"><i class='iconfont icon-ic-account ml-2 mr-05'></i>houmingyong </a><a class="ml-2" href="/openeuler/secGear/issues/I70HKI?from=project-issue#git-comment-divider"><i class='iconfont icon-comment'></i> <span>1</span> </a><div class='issue-list-right d-align-center'> <div class='text-muted time-timeago-wrapper right-item'> <span class='timeago' datetime='2023-05-05 14:16' title='2023-05-05 14:16:56 +0800'></span> </div> </div> </div> </div> </div> <style> .highlight { background: yellow } </style> <script> function highlightText(className, searchText) { // 添加输入验证 if (!searchText || searchText.trim() === '') { return; } var elements = document.getElementsByClassName(className); for (var i = 0; i < elements.length; i++) { try { var text = elements[i].innerHTML; // 对搜索文本进行转义,避免特殊字符导致的正则表达式错误 var escapedSearchText = searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); var highlightedText = text.replace(new RegExp(escapedSearchText, 'gi'), '<span class="highlight">$&</span>'); elements[i].innerHTML = highlightedText; } catch(e) { console.error('Error highlighting text:', e); } } } function removeHighlight(className) { var elements = document.getElementsByClassName(className); for (var i = 0; i < elements.length; i++) { try { elements[i].innerHTML = elements[i].textContent; } catch(e) { console.error('Error removing highlight:', e); } } } document.addEventListener('DOMContentLoaded', function() { try { removeHighlight('issues-title'); var searchText = ""; if (searchText && searchText.trim() !== '') { highlightText('issues-title', searchText); } } catch(e) { console.error('Error in DOMContentLoaded:', e); } }); </script> </div> </div> <footer class='ui grid'> </footer> </div> <script> (function() { $(function() { return Gitee.initIssueIdentShow({ "class": '.git-issues-panel .issue-ident', title: "点击复制任务标题 + 地址", successText: "复制成功", failText: "复制失败" }); }); }).call(this); </script> <script> Tree.initHighlightTheme('white') </script> </div> <div class='gitee-project-extension'> <div class='extension public'>1</div> <div class='extension https'>https://gitee.com/openeuler/secGear.git</div> <div class='extension ssh'>git@gitee.com:openeuler/secGear.git</div> <div class='extension namespace'>openeuler</div> <div class='extension repo'>secGear</div> <div class='extension name'>secGear</div> <div class='extension branch'></div> </div> <script> $(function() { GitLab.GfmAutoComplete.dataSource = "/openeuler/secGear/autocomplete_sources" GitLab.GfmAutoComplete.Emoji.assetBase = '/assets/emoji' GitLab.GfmAutoComplete.setup(); }); </script> <footer id='git-footer-main'> <div class='ui container'> <div class='logo-row'> <a href="https://gitee.com"><img alt='Gitee - 基于 Git 的代码托管和研发协作平台' class='logo-img' src='/static/images/logo-black.svg?t=158106666'> </a></div> <div class='name-important'> 深圳市奥思网络科技有限公司版权所有 </div> <div class='ui two column grid d-flex-center'> <div class='eight wide column git-footer-left'> <div class='ui four column grid' id='footer-left'> <div class='column'> <div class='ui link list'> <div class='item'> <a class="item" href="/all-about-git">Git 大全</a> </div> <div class='item'> <a class="item" rel="nofollow" href="https://help.gitee.com/learn-Git-Branching/">Git 命令学习</a> </div> <div class='item'> <a class="item" rel="nofollow" href="https://copycat.gitee.com/">CopyCat 代码克隆检测</a> </div> <div class='item'> <a class="item" href="/appclient">APP与插件下载</a> </div> </div> </div> <div class='column'> <div class='ui link list'> <div class='item'> <a class="item" href="/gitee_reward">Gitee Reward</a> </div> <div class='item'> <a class="item" href="/gitee-stars">Gitee 封面人物</a> </div> <div class='item'> <a class="item" href="/gvp">GVP 项目</a> </div> <div class='item'> <a class="item" rel="nofollow" href="https://blog.gitee.com/">Gitee 博客</a> </div> <div class='item'> <a class="item" href="/enterprises#nonprofit-plan">Gitee 公益计划</a> </div> <div class='item'> <a class="item" href="https://gitee.com/features/gitee-go">Gitee 持续集成</a> </div> </div> </div> <div class='column'> <div class='ui link list'> <div class='item'> <a class="item" href="/api/v5/swagger">OpenAPI</a> </div> <div class='item'> <a class="item" href="https://help.gitee.com">帮助文档</a> </div> <div class='item'> <a class="item" href="/self_services">在线自助服务</a> </div> <div class='item'> <a class="item" href="/help/articles/4378">更新日志</a> </div> </div> </div> <div class='column'> <div class='ui link list'> <div class='item'> <a class="item" href="/about_us">关于我们</a> </div> <div class='item'> <a class="item" rel="nofollow" href="https://www.oschina.net/news/131099/oschina-hiring">加入我们</a> </div> <div class='item'> <a class="item" href="/terms">使用条款</a> </div> <div class='item'> <a class="item" href="/oschina/git-osc/issues">意见建议</a> </div> <div class='item'> <a class="item" href="/links.html">合作伙伴</a> </div> </div> </div> </div> </div> <div class='eight wide column right aligned followus git-footer-right'> <div class='qrcode mr-1'> <div class='qrcode-box'> <img alt="技术交流QQ群" src="https://cn-assets.gitee.com/assets/contact_qr-5e2c2a8da453396590e56a545bce4974.jpg" /> </div> <p class='mt-1 mini_app-text'>技术交流QQ群</p> </div> <div class='qrcode'> <div class='qrcode-box'> <img alt="微信服务号" class="weixin-qr" src="https://cn-assets.gitee.com/assets/qrcode-weixin@2x-b74cc97a2ea80123ea53a737f709836d.png" /> </div> <p class='mt-1 weixin-text'>微信服务号</p> </div> <div class='phone-and-qq column'> <div class='ui list official-support-container'> <div class='item'></div> <div class='item mail-and-zhihu'> <a rel="nofollow" href="mailto: client@oschina.cn"><i class='iconfont icon-msg-mail'></i> <span id='git-footer-email'>client#oschina.cn</span> </a></div> <div class='item tel'> <a> <i class='iconfont icon-tel'></i> <span>企业版在线使用:400-606-0201</span> </a> </div> <div class='item tel'> <a class='d-flex'> <i class='iconfont icon-tel mt-05 mr-05'></i> <span>专业版私有部署:</span> <div> <div>13670252304</div> <div>13352947997</div> </div> </a> </div> </div> </div> </div> </div> </div> <div class='bottombar'> <div class='ui container'> <div class='ui d-flex d-flex-between'> <div class='seven wide column partner d-flex'> <div class='open-atom d-flex-center'> <img class="logo-openatom mr-1" alt="开放原子开源基金会" src="https://cn-assets.gitee.com/assets/logo-openatom-d083391cc8a54e283529f3fc11cc38ca.svg" /> <a target="_blank" rel="nofollow" href="https://www.openatom.org/">开放原子开源基金会</a> <div class='sub-title ml-1'>合作代码托管平台</div> </div> <div class='report-12377 d-flex-center ml-3'> <img class="report-12377__logo mr-1" alt="违法和不良信息举报中心" src="https://cn-assets.gitee.com/assets/12377@2x-1aa42ed2d2256f82a61ecf57be1ec244.png" /> <a target="_blank" rel="nofollow" href="https://12377.cn">违法和不良信息举报中心</a> </div> <div class='copyright ml-3'> <a rel="nofollow" href="http://beian.miit.gov.cn/">粤ICP备12009483号</a> </div> </div> <div class='nine wide column right aligned'> <i class='icon world'></i> <a href="/language/zh-CN">简 体</a> / <a href="/language/zh-TW">繁 體</a> / <a href="/language/en">English</a> </div> </div> </div> </div> </footer> <script> var officialEmail = $('#git-footer-email').text() $('#git-footer-main .icon-popup').popup({ position: 'bottom center' }) $('#git-footer-email').text(officialEmail.replace('#', '@')) window.gon.popover_card_locale = { follow:"关注", unfollow:"已关注", gvp_title: "GVP - Gitee 最有价值开源项目", project: "项目", org: "开源组织", member: "", author: "作者", user_blocked: "该用户已被屏蔽或已注销", net_error: "网络错误", unknown_exception: "未知异常" } window.gon.select_message = { placeholder: "请输入个人空间地址或完整的邮箱地址" } </script> <script src="https://cn-assets.gitee.com/webpacks/popover_card-ca6b9a20ba5353733d61.bundle.js"></script> <link rel="stylesheet" media="all" href="https://cn-assets.gitee.com/webpacks/css/gitee_nps-ae0dbee40f6ddc72015a.css" /> <script src="https://cn-assets.gitee.com/webpacks/gitee_nps-30c2a3673b61c539fcf7.bundle.js"></script> <script src="https://cn-assets.gitee.com/webpacks/gitee_icons-0340f9dc8fc1dfbb9937.bundle.js"></script> <div class='side-toolbar'> <div class='button toolbar-help'> <i class='iconfont icon-help'></i> </div> <div class='ui popup left center dark'>点此查找更多帮助</div> <div class='toolbar-help-dialog'> <div class='toolbar-dialog-header'> <h3 class='toolbar-dialog-title'>搜索帮助</h3> <form class="toolbar-help-search-form" action="/help/load_keywords_data" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /> <div class='ui icon input fluid toolbar-help-search'> <input name='keywords' placeholder='请输入产品名称或问题' type='text'> <i class='icon search'></i> </div> </form> <i class='iconfont icon-close toolbar-dialog-close-icon'></i> </div> <div class='toolbar-dialog-content'> <div class='toolbar-help-hot-search'> <div class='toolbar-roll'> <a class="init active" title="Git 命令在线学习" href="https://oschina.gitee.io/learn-git-branching/?utm_source==gitee-help-widget"><i class='Blue icon icon-command iconfont'></i> <span>Git 命令在线学习</span> </a><a class="init " title="如何在 Gitee 导入 GitHub 仓库" href="https://gitee.com/help/articles/4261?utm_source==gitee-help-widget"><i class='icon icon-clipboard iconfont orange'></i> <span>如何在 Gitee 导入 GitHub 仓库</span> </a></div> <div class='toolbar-list'> <div class='toolbar-list-item'> <a href="/help/articles/4114">Git 仓库基础操作</a> </div> <div class='toolbar-list-item'> <a href="/help/articles/4166">企业版和社区版功能对比</a> </div> <div class='toolbar-list-item'> <a href="/help/articles/4191">SSH 公钥设置</a> </div> <div class='toolbar-list-item'> <a href="/help/articles/4194">如何处理代码冲突</a> </div> <div class='toolbar-list-item'> <a href="/help/articles/4232">仓库体积过大,如何减小?</a> </div> <div class='toolbar-list-item'> <a href="/help/articles/4279">如何找回被删除的仓库数据</a> </div> <div class='toolbar-list-item'> <a href="/help/articles/4283">Gitee 产品配额说明</a> </div> <div class='toolbar-list-item'> <a href="/help/articles/4284">GitHub仓库快速导入Gitee及同步更新</a> </div> <div class='toolbar-list-item'> <a href="/help/articles/4328">什么是 Release(发行版)</a> </div> <div class='toolbar-list-item'> <a href="/help/articles/4354">将 PHP 项目自动发布到 packagist.org</a> </div> </div> </div> <div class='toolbar-help-search-reseult'></div> </div> </div> <script> var opt = { position: 'left center'}; var $helpSideToolbar = $('.button.toolbar-help'); var $toolbarRoll = $('.toolbar-roll'); $(function() { if (false) { $helpSideToolbar.popup(opt).popup({lastResort:'left center'}) } else { $helpSideToolbar.popup({lastResort:'left center'}).popup('show', opt); setTimeout(function() { $helpSideToolbar.popup('hide', opt); }, 3000); } if ($toolbarRoll.length) { setInterval(function() { var $nextActiveLink = $toolbarRoll.find('a.active').next(); if (!$nextActiveLink.length) { $nextActiveLink = $toolbarRoll.find('a:first-child'); } $nextActiveLink.attr('class', 'active').siblings().removeClass('active init'); }, 5000); } }) </script> <div class='toolbar-appeal popup button'> <i class='iconfont icon-report'></i> </div> <div class='ui popup dark'> 仓库举报 </div> <script> $('.toolbar-appeal').popup({ position: 'left center' }); </script> <div class='button gotop popup' id='gotop'> <i class='iconfont icon-top'></i> </div> <div class='ui popup dark'>回到顶部</div> </div> <div class='form modal normal-modal tiny ui' id='unlanding-complaint-modal'> <i class='iconfont icon-close close'></i> <div class='header'> 登录提示 </div> <div class='container actions'> <div class='content'> 该操作需登录 Gitee 帐号,请先登录后再操作。 </div> <div class='ui orange icon large button ok'> 立即登录 </div> <div class='ui button blank cancel'> 没有帐号,去注册 </div> </div> </div> <script> var $elm = $('.toolbar-appeal'); $elm.on('click', function() { var modals = $("#unlanding-complaint-modal.normal-modal"); if (modals.length > 1) { modals.eq(0).modal('show'); } else { modals.modal('show'); } }) $("#unlanding-complaint-modal.normal-modal").modal({ onDeny: function() { window.location.href = "/signup?from="; }, onApprove: function() { window.location.href = "/login?from="; } }) </script> <style> .side-toolbar .bdsharebuttonbox a { font-size: 24px; color: white !important; opacity: 0.9; margin: 6px 6px 0px 6px; background-image: none; text-indent: 0; height: auto; width: auto; } </style> <style> #udesk_btn a { margin: 0px 20px 167px 0px !important; } </style> <script> (function() { $('#project-user-message').popup({ position: 'left center' }); }).call(this); </script> <script> Gitee.initSideToolbar({}) </script> <style> .gitee-stars-main-widget { display: none; position: fixed; left: 0; bottom: 0; z-index: 106; } .gitee-stars-main-widget .close-icon { width: 20px; right: 10px; position: absolute; top: 0px; cursor: pointer; } .gitee-stars-main-widget .people-image { width: 200px; margin: 0 10px; } .gitee-stars-main-widget.gitee-stars-widget .close-icon { left: 20px; } </style> <div class='gitee-stars-main-widget pendan-widget'> <a target="_blank" href="https://www.oschina.net/event/8595459"><img class="people-image" src="https://foruda.gitee.com/images/1742526660229750692/371d5123_14472233.png" alt="371d5123 14472233" /> <img class="close-icon" src="https://foruda.gitee.com/images/1742526663983648370/46e8bd33_14472233.png" alt="46e8bd33 14472233" /> </a></div> <script> $(function () { var $giteeStarsWidget = $('.gitee-stars-main-widget') var cookieKey = "visit-gitee--2025-03-21" if ($.cookie(cookieKey) == 1) { $giteeStarsWidget.hide() } else { $giteeStarsWidget.show() } $giteeStarsWidget.on('click', '.close-icon', function (e) { e.preventDefault() $.cookie(cookieKey, 1, {path: '/', expires: 60}) $giteeStarsWidget.hide() }) }) </script> <script> (function() { this.__gac = { domain: 'www.oschina.net' }; }).call(this); </script> <script src="https://cn-assets.gitee.com/assets/bdstatic/app-070a9e339ac82bf2bf7ef20375cd4121.js"></script> <script src="https://hm.baidu.com/hm.js?6bc840df1e0b2cbbd5d0aab3e06b2610" async="async"></script> <script src="https://cn-assets.gitee.com/webpacks/build_status-7effc7b22ddf8e90b34c.bundle.js"></script> <script src="https://cn-assets.gitee.com/webpacks/scan_status-7a19032286b03591b228.bundle.js"></script> <script src="https://cn-assets.gitee.com/webpacks/mermaid_render-669e055f02596b5d8886.bundle.js"></script> <script src="https://cn-assets.gitee.com/webpacks/check_runs-19ec228348982570119a.bundle.js"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10