PageSourceSearch

https://ciptagelar.info/ui/chunk-TC4Y732O.js

js ciptagelar.info collected 2026-10-03 18:48:05 UTC 71,674 bytes, 2 lines download raw bytes

1import{a as wt}from"./chunk-KA4IZL44.js";import{a as ei}from"./chunk-5FLHADLM.js";import{a as ti,b as ii}from"./chunk-MQUWEQE2.js";import{a as jt}from"./chunk-TMHEV6ZT.js";import{a as li}from"./chunk-D3M7EQYV.js";import{a as zt}from"./chunk-LAHL6JNA.js";import{a as st}from"./chunk-RFTPO5RR.js";import{a as ri,b as ni}from"./chunk-OBROJO3C.js";import{f as Le,g as Zt}from"./chunk-OMUEBL7M.js";import{a as We}from"./chunk-JXL2NJJO.js";import{a as oi,d as ai}from"./chunk-34DJ2XDO.js";import{a as w,b as ke,e as lt}from"./chunk-LUSFGX4B.js";import{a as at}from"./chunk-Y7PRJTWM.js";import{a as At}from"./chunk-7NO4CX5X.js";import{a as Lt}from"./chunk-Q2KF3TCZ.js";import{a as Dt}from"./chunk-ULKUQGL7.js";import{t as qt}from"./chunk-TORLBXAH.js";import{b as Rt}from"./chunk-ORX6GJOH.js";import{a as $e,c as Et,e as Mt}from"./chunk-VYKP4BXW.js";import{b as Ot}from"./chunk-4VRECMN2.js";import{a as Gt}from"./chunk-FMI55CNJ.js";import{a as Ut}from"./chunk-7FODHA74.js";import{a as Kt}from"./chunk-GXVJQFLH.js";import{b as Ht,c as Vt,f as $t,g as Wt,h as Qt,l as Jt,m as Xt,n as Yt,o as si}from"./chunk-HICQSI54.js";import{a as De}from"./chunk-GR62I3DE.js";import{b as se}from"./chunk-4Z2TGT2L.js";import{a as Pt,b as ae}from"./chunk-67LDRNM6.js";import{c as V}from"./chunk-RFFGAWRR.js";import{a as Ge}from"./chunk-DJBB7TOO.js";import{a as H,c as ee}from"./chunk-PJWJXMZM.js";import{b as Bt,d as ge,k as kt,p as Ft}from"./chunk-32WNDC77.js";import{a as ye,b as Tt,c as It,d as Nt}from"./chunk-OZUF2DA3.js";import{a as be,c as ne}from"./chunk-IXGKWOAV.js";import{a as re,b as Ct}from"./chunk-C3ZBQYK6.js";import{u as te,x as ie}from"./chunk-JDKZG5EX.js";import{i as gt}from"./chunk-NU4FUAG2.js";import{b as xt}from"./chunk-JNT7XX7N.js";import{$a as _t,$c as t,A as mt,Aa as ht,Ab as m,Bg as N,Cd as Ue,Cg as L,Da as ft,Dg as O,E as b,Jc as E,Ji as j,L as je,Lc as M,Mh as v,Oa as me,Pb as I,Ph as K,Qh as Q,Ri as R,Tb as vt,Vi as F,Wb as C,Xa as Be,Xc as bt,Xh as z,Y as dt,Ya as Te,Zh as St,_ as ct,_h as J,_i as U,a as xe,ad as i,b as we,bc as n,bi as X,cj as oe,di as ve,fa as ut,ff as W,gd as D,hi as He,ic as k,ii as Ve,kd as Ie,li as Y,nc as u,oc as f,pc as l,qg as yt,tc as qe,wc as x,xi as Z,yc as y,yh as P,zb as a,zh as g,zi as A}from"./chunk-CPOZEFYP.js";var pt={port_tooltip:"Set the port the FTP service listens on.",clients_tooltip:"The maximum number of simultaneous clients.",ipconnections_tooltip:"Set the maximum number of connections per IP address. <i>0</i> means unlimited.",loginattempt_tooltip:"Enter the maximum number of attempts before client is disconnected. Increase this if users are prone to typos.",timeout_notransfer_tooltip:"Maximum number of seconds a client is allowed to spend connected, after\nauthentication, without issuing a command which results in creating an active or passive data connection\n(i.e. sending/receiving a file, or receiving a directory listing).",timeout_tooltip:"Maximum number of seconds that proftpd will allow clients to stay connected without receiving\nany data on either the control or data connection.",onlyanonymous_tooltip:"Allow anonymous FTP logins with access to the  directory specified in <b>Path</b>.",anonpath_tooltip:"Set the root directory for anonymous FTP connections.",onlylocal_tooltip:"Allow any local user to log in. By default, only  members of the <i>ftp</i> group are allowed to log in.",banner_tooltip:"Specify the message displayed to local login users after authentication. Not displayed to anonymous login users.",resume_tooltip:"Set to allow FTP clients to resume interrupted transfers.",defaultroot_tooltip:"When set, a local user is only allowed access to their home directory if they are a member of the <i>wheel</i> group.",reversedns_tooltip:"Set to perform reverse DNS lookups on client IPs. This can cause long delays if reverse DNS is not configured.",masqaddress_tooltip:"Public IP address or hostname. Set if FTP clients cannot connect through a NAT device.",ssltls_certificate_tooltip:"The SSL certificate to be used for TLS FTP connections. To create a certificate, use <b>System --> Certificates</b>.",filemask_tooltip:"Sets default permissions for newly created files.",dirmask_tooltip:"Sets default permissions for newly created directories.",fxp_tooltip:"Set to enable the File eXchange Protocol. This option makes the server vulnerable to FTP bounce attacks so it is not recommended.",ident_tooltip:"Setting this option will result in timeouts if <b>identd</b> is not running on the client.",passiveportsmin_tooltip:"Used by clients in PASV mode. A default of <i>0</i> means any port above 1023.",passiveportsmax_tooltip:"Used by clients in PASV mode. A default of <i>0</i> means any port above 1023.",localuserbw_placeholder:"Local User Upload Bandwidth: "+at.human_readable.suggestion_label,userbw_tooltip:"In KiBs or greater. A default of <i>0 KiB</i> means unlimited. "+at.human_readable.suggestion_tooltip+" KiB.",tls_tooltip:"Allow encrypted connections. Requires a certificate  created or imported with the <b>System > Certificates</b> menu.",tls_policy_tooltip:'Define whether the control channel,  data channel, both channels, or neither channel of an FTP  session must occur over SSL/TLS. The policies are described  <a href="http://www.proftpd.org/docs/directives/configuration_full.html#TLSREQUIRED" target="_blank">here</a>',tls_policy_options:[{label:"On",value:"on"},{label:"Off",value:"off"},{label:"Data",value:"data"},{label:"!Data",value:"!data"},{label:"Auth",value:"auth"},{label:"Ctrl",value:"ctrl"},{label:"Ctrl + Data",value:"ctrl+data"},{label:"Ctrl + !Data",value:"ctrl+!data"},{label:"Auth + Data",value:"auth+data"},{label:"Auth + !Data",value:"auth+!data"}],tls_opt_allow_client_renegotiations_tooltip:'Setting this option is <b>not</b> recommended as it breaks several security measures. Refer to <a href="http://www.proftpd.org/docs/contrib/mod_tls.html" target="_blank">mod_tls</a> for more details.',tls_opt_allow_dot_login_tooltip:"If set, the user home directory is checked for a <b>.tlslogin</b> file which contains one or more PEM-encoded certificates. If not found, the user is prompted for password authentication.",tls_opt_allow_per_user_tooltip:"If set, the password of the user can be sent unencrypted.",tls_opt_common_name_required_tooltip:"When set, the common name in the certificate must match the FQDN of the host.",tls_opt_enable_diags_tooltip:"If set when troubleshooting a connection, logs more verbosely.",tls_opt_export_
1cert_data_tooltip:"Set to export the certificate environment variables.",tls_opt_no_empty_fragments_tooltip:"Enabling this option is <b>not</b> recommended as it bypasses a security mechanism.",tls_opt_no_session_reuse_required_tooltip:"Setting this option reduces the security of the connection, so only use it if the client does not understand reused SSL sessions.",tls_opt_stdenvvars_tooltip:"If selected, sets several environment variables.",tls_opt_dns_name_required_tooltip:"If set, the DNS name of the client must resolve to its IP address and the cert must contain the same DNS name.",tls_opt_ip_address_required_tooltip:"If set, the client certificate must contain the IP address that matches the IP address of the client.",options_tooltip:'Used to add additional <a href="https://linux.die.net/man/8/proftpd" target="_blank">proftpd(8)</a> parameters.'};var mi=function(s,o,e,r){var d=arguments.length,p=d<3?o:r===null?r=Object.getOwnPropertyDescriptor(o,e):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,o,e,r);else for(var _=s.length-1;_>=0;_--)(c=s[_])&&(p=(d<3?c(p):d>3?c(o,e,p):c(o,e))||p);return d>3&&p&&Object.defineProperty(o,e,p),p};function di(s,o){if(s&1&&(l(0,"ix-explorer",16),t(1,"translate"),t(2,"translate")),s&2){let e=y(2);n("label",i(1,4,"Path"))("tooltip",i(2,6,e.helptext.anonpath_tooltip))("nodeProvider",e.treeNodeProvider)("canCreateDataset",!0)}}function ci(s,o){if(s&1&&(u(0,"ix-fieldset",5),t(1,"translate"),l(2,"ix-checkbox",14),t(3,"translate"),t(4,"translate"),l(5,"ix-checkbox",15),t(6,"translate"),t(7,"translate"),C(8,di,3,8,"ix-explorer",16),t(9,"async"),l(10,"ix-checkbox",17),t(11,"translate"),t(12,"translate"),l(13,"ix-checkbox",18),t(14,"translate"),t(15,"translate"),l(16,"ix-permissions",19),t(17,"translate"),t(18,"translate"),l(19,"ix-permissions",20),t(20,"translate"),t(21,"translate"),f()),s&2){let e=y();n("title",i(1,14,"Access")),a(2),n("label",i(3,16,"Always Chroot"))("tooltip",i(4,18,e.helptext.defaultroot_tooltip)),a(3),n("label",i(6,20,"Allow Anonymous Login"))("tooltip",i(7,22,e.helptext.onlyanonymous_tooltip)),a(3),k(i(9,24,e.isAnonymousLoginAllowed$)?8:-1),a(2),n("label",i(11,26,"Allow Local User Login"))("tooltip",i(12,28,e.helptext.onlylocal_tooltip)),a(3),n("label",i(14,30,"Require IDENT Authentication"))("tooltip",i(15,32,e.helptext.ident_tooltip)),a(3),n("label",i(17,34,"File Permissions"))("tooltip",i(18,36,e.helptext.filemask_tooltip)),a(3),n("label",i(20,38,"Directory Permissions"))("tooltip",i(21,40,e.helptext.dirmask_tooltip))}}function ui(s,o){if(s&1&&(u(0,"ix-with-manage-certificates-link"),l(1,"ix-select",35),t(2,"translate"),t(3,"translate"),f(),l(4,"ix-select",36),t(5,"translate"),t(6,"translate"),l(7,"ix-checkbox",37),t(8,"translate"),t(9,"translate"),l(10,"ix-checkbox",38),t(11,"translate"),t(12,"translate"),l(13,"ix-checkbox",39),t(14,"translate"),t(15,"translate"),l(16,"ix-checkbox",40),t(17,"translate"),t(18,"translate"),l(19,"ix-checkbox",41),t(20,"translate"),t(21,"translate"),l(22,"ix-checkbox",42),t(23,"translate"),t(24,"translate"),l(25,"ix-checkbox",43),t(26,"translate"),t(27,"translate"),l(28,"ix-checkbox",44),t(29,"translate"),t(30,"translate"),l(31,"ix-checkbox",45),t(32,"translate"),t(33,"translate"),l(34,"ix-checkbox",46),t(35,"translate"),t(36,"translate"),l(37,"ix-checkbox",47),t(38,"translate"),t(39,"translate")),s&2){let e=y(2);a(),n("label",i(2,29,"Certificate"))("tooltip",i(3,31,e.helptext.ssltls_certificate_tooltip))("required",!0)("options",e.certificates$),a(3),n("label",i(5,33,"TLS Policy"))("tooltip",i(6,35,e.helptext.tls_policy_tooltip))("options",e.tlsPolicyOptions$),a(3),n("label",i(8,37,"TLS Allow Client Renegotiations"))("tooltip",i(9,39,e.helptext.tls_opt_allow_client_renegotiations_tooltip)),a(3),n("label",i(11,41,"TLS Allow Dot Login"))("tooltip",i(12,43,e.helptext.tls_opt_allow_dot_login_tooltip)),a(3),n("label",i(14,45,"TLS Allow Per User"))("tooltip",i(15,47,e.helptext.tls_opt_allow_per_user_tooltip)),a(3),n("label",i(17,49,"TLS Common Name Required"))("tooltip",i(18,51,e.helptext.tls_opt_common_name_required_tooltip)),a(3),n("label",i(20,53,"TLS Enable Diagnostics"))("tooltip",i(21,55,e.helptext.tls_opt_enable_diags_tooltip)),a(3),n("label",i(23,57,"TLS Export Certificate Data"))("tooltip",i(24,59,e.helptext.tls_opt_export_
1cert_data_tooltip)),a(3),n("label",i(26,61,"TLS No Empty Fragments"))("tooltip",i(27,63,e.helptext.tls_opt_no_empty_fragments_tooltip)),a(3),n("label",i(29,65,"TLS No Session Reuse Required"))("tooltip",i(30,67,e.helptext.tls_opt_no_session_reuse_required_tooltip)),a(3),n("label",i(32,69,"TLS Export Standard Vars"))("tooltip",i(33,71,e.helptext.tls_opt_stdenvvars_tooltip)),a(3),n("label",i(35,73,"TLS DNS Name Required"))("tooltip",i(36,75,e.helptext.tls_opt_dns_name_required_tooltip)),a(3),n("label",i(38,77,"TLS IP Address Required"))("tooltip",i(39,79,e.helptext.tls_opt_ip_address_required_tooltip))}}function hi(s,o){if(s&1&&(u(0,"div",4)(1,"ix-fieldset",21),l(2,"ix-checkbox",22),t(3,"translate"),t(4,"translate"),C(5,ui,40,81),t(6,"async"),f(),u(7,"ix-fieldset",5),t(8,"translate"),l(9,"ix-input",23),t(10,"translate"),t(11,"translate"),l(12,"ix-input",24),t(13,"translate"),t(14,"translate"),l(15,"ix-checkbox",25),t(16,"translate"),t(17,"translate"),l(18,"ix-checkbox",26),t(19,"translate"),t(20,"translate"),l(21,"ix-checkbox",27),t(22,"translate"),t(23,"translate"),l(24,"ix-input",28),t(25,"translate"),t(26,"translate"),l(27,"ix-textarea",29),t(28,"translate"),t(29,"translate"),l(30,"ix-textarea",30),t(31,"translate"),t(32,"translate"),f(),u(33,"ix-fieldset",5),t(34,"translate"),l(35,"ix-input",31),t(36,"translate"),t(37,"translate"),l(38,"ix-input",32),t(39,"translate"),t(40,"translate"),l(41,"ix-input",33),t(42,"translate"),t(43,"translate"),l(44,"ix-input",34),t(45,"translate"),t(46,"translate"),f()()),s&2){let e=y();a(2),n("label",i(3,37,"Enable TLS"))("tooltip",i(4,39,e.helptext.tls_tooltip)),a(3),k(i(6,41,e.isTlsEnabled$)?5:-1),a(2),n("title",i(8,43,"Other Options")),a(2),n("label",i(10,45,"Minimum Passive Port"))("tooltip",i(11,47,e.helptext.passiveportsmin_tooltip)),a(3),n("label",i(13,49,"Maximum Passive Port"))("tooltip",i(14,51,e.helptext.passiveportsmax_tooltip)),a(3),n("label",i(16,53,"Enable FXP"))("tooltip",i(17,55,e.helptext.fxp_tooltip)),a(3),n("label",i(19,57,"Allow Transfer Resumption"))("tooltip",i(20,59,e.helptext.resume_tooltip)),a(3),n("label",i(22,61,"Perform Reverse DNS Lookups"))("tooltip",i(23,63,e.helptext.reversedns_tooltip)),a(3),n("label",i(25,65,"Masquerade Address"))("tooltip",i(26,67,e.helptext.masqaddress_tooltip)),a(3),n("label",i(28,69,"Display Login"))("tooltip",i(29,71,e.helptext.banner_tooltip)),a(3),n("label",i(31,73,"Auxiliary Parameters"))("tooltip",i(32,75,e.helptext.options_tooltip)),a(3),n("title",i(34,77,"Bandwidth")),a(2),n("label",i(36,79,e.helptext.localuserbw_placeholder))("tooltip",i(37,81,e.helptext.userbw_tooltip))("format",e.iecFormatter.memorySizeFormatting)("parse",e.kibParser),a(3),n("label",i(39,83,"Local User Download Bandwidth"))("tooltip",i(40,85,e.helptext.userbw_tooltip))("format",e.iecFormatter.memorySizeFormatting)("parse",e.kibParser),a(3),n("label",i(42,87,"Anonymous User Upload Bandwidth"))("tooltip",i(43,89,e.helptext.userbw_tooltip))("format",e.iecFormatter.memorySizeFormatting)("parse",e.kibParser),a(3),n("label",i(45,91,"Anonymous User Download Bandwidth"))("tooltip",i(46,93,e.helptext.userbw_tooltip))("format",e.iecFormatter.memorySizeFormatting)("parse",e.kibParser)}}function fi(s,o){if(s&1&&(u(0,"button",48),E(1),t(2,"translate"),f()),s&2){let e=y();n("disabled",e.form.invalid||e.isFormLoading),a(),M(" ",i(2,2,"Save")," ")}}function _i(s,o){if(s&1){let e=qe();u(0,"button",49),x("click",function(){Be(e);let d=y();return Te(d.onToggleAdvancedOptions())}),E(1),t(2,"translate"),f()}s&2&&(a(),M(" ",i(2,1,"Basic Options")," "))}function vi(s,o){if(s&1){let e=qe();u(0,"button",49),x("click",function(){Be(e);let d=y();return Te(d.onToggleAdvancedOptions())}),E(1),t(2,"translate"),f()}s&2&&(a(),M(" ",i(2,1,"Advanced Options")," "))}var de,Ke=(de=class{constructor(o,e,r,d,p,c,_,G,$,Se,Me,S){this.formBuilder=o,this.api=e,this.formErrorHandler=r,this.cdr=d,this.errorHandler=p,this.dialogService=c,this.systemGeneralService=_,this.filesystemService=G,this.translate=$,this.snackbar=Se,this.iecFormatter=Me,this.slideInRef=S,this.requiredRoles=[oe.SharingFtpWrite],this.isFormLoading=!1,this.isAdvancedMode=!1,this.kibParser=Ce=>this.iecFormatter.memorySizeParsing(Ce,"KiB"),this.form=this.formBuilder.group({port:[null,[Tt(),v.required]],clients:[null,[ye(1,1e4),v.required]],ipconnections:[null,[ye(0,1e3),v.required]],loginattempt:[null,[ye(0,1e3),v.required]],timeout_notransfer:[null,[ye(0,1e4),v.required]],timeout:[null,[ye(0,1e4),v.required]],ssltls_certificate:[null],defaultroot:[!1],onlyanonymous:[!1],anonpath:[""],onlylocal:[!1],ident:[!1],filemask:[""],dirmask:[""],tls:[!1],tls_policy:[""],tls_opt_allow_client_renegotiations:[!1],tls_opt_allow_dot_login:[!1],tls_opt_allow_per_user:[!1],tls_opt_common_name_required:[!1],tls_opt_enable_diags:[!1],tls_opt_export_
1cert_data:[!1],tls_opt_no_empty_fragments:[!1],tls_opt_no_session_reuse_required:[!1],tls_opt_stdenvvars:[!1],tls_opt_dns_name_required:[!1],tls_opt_ip_address_required:[!1],localuserbw:[null,v.required],localuserdlbw:[null,v.required],anonuserbw:[null,v.required],anonuserdlbw:[null,v.required],passiveportsmin:[null,[ye(0,65535),v.required]],passiveportsmax:[null,[ye(0,65535),v.required]],fxp:[!1],resume:[!1],reversedns:[!1],masqaddress:[""],banner:[""],options:[""]}),this.helptext=pt,this.certificates$=this.systemGeneralService.getCertificates().pipe(Mt()),this.tlsPolicyOptions$=b(pt.tls_policy_options),this.treeNodeProvider=this.filesystemService.getFilesystemNodeProvider(),this.isAnonymousLoginAllowed$=this.form.select(Ce=>Ce.onlyanonymous),this.isTlsEnabled$=this.form.select(Ce=>Ce.tls),this.slideInRef.requireConfirmationWhen(()=>b(this.form.dirty))}ngOnInit(){this.loadConfig(),this.form.controls.tls.valueChanges.pipe(g(this)).subscribe(o=>{o||this.form.controls.ssltls_certificate.patchValue(null)})}onSubmit(){let o=we(xe({},this.form.value),{filemask:Le(this.form.value.filemask),dirmask:Le(this.form.value.dirmask),localuserbw:this.convertByteToKbyte(this.form.value.localuserbw),localuserdlbw:this.convertByteToKbyte(this.form.value.localuserdlbw),anonuserbw:this.convertByteToKbyte(this.form.value.anonuserbw),anonuserdlbw:this.convertByteToKbyte(this.form.value.anonuserdlbw)});this.isFormLoading=!0,this.api.call("ftp.update",[o]).pipe(g(this)).subscribe({next:()=>{this.isFormLoading=!1,this.snackbar.success(this.translate.instant("Service configuration saved")),this.slideInRef.close({response:!0,error:null}),this.cdr.markForCheck()},error:e=>{this.isFormLoading=!1,this.formErrorHandler.handleValidationErrors(e,this.form),this.cdr.markForCheck()}})}onToggleAdvancedOptions(){this.isAdvancedMode=!this.isAdvancedMode}loadConfig(){this.isFormLoading=!0,this.api.call("ftp.config").pipe(g(this)).subscribe({next:o=>{this.form.patchValue(we(xe({},o),{filemask:Le(o.filemask),dirmask:Le(o.dirmask),localuserbw:this.convertKbyteToByte(o.localuserbw),localuserdlbw:this.convertKbyteToByte(o.localuserdlbw),anonuserbw:this.convertKbyteToByte(o.anonuserbw),anonuserdlbw:this.convertKbyteToByte(o.anonuserdlbw)})),this.isFormLoading=!1,this.cdr.markForCheck()},error:o=>{this.dialogService.error(this.errorHandler.parseError(o)),this.isFormLoading=!1,this.cdr.markForCheck()}})}convertByteToKbyte(o){return o&&o<1024?1:o/1024}convertKbyteToByte(o){return o*1024}},de.\u0275fac=function(e){return new(e||de)(m(Rt),m(R),m(re),m(D),m(F),m(U),m(Ct),m(Dt),m(N),m(j),m(Bt),m(ae))},de.\u0275cmp=I({type:de,selectors:[["ix-service-ftp"]],decls:33,vars:55,consts:[[3,"requiredRoles","title","loading"],[1,"card"],[1,"ix-form-container",3,"submit","formGroup"],[1,"form-columns"],[1,"column"],[3,"title"],["formControlName","port","type","number",3,"label","required","tooltip"],["formControlName","clients","type","number",3,"label","required","tooltip"],["formControlName","ipconnections","type","number",3,"label","required","tooltip"],["formControlName","loginattempt","type","number",3,"label","required","tooltip"],["formControlName","timeout_notransfer","type","number",3,"label","required","tooltip"],["formControlName","timeout","type","number",3,"label","required","tooltip"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled",4,"ixRequiresRoles"],["mat-button","","type","button","ixTest","toggle-advanced-options"],["formControlName","defaultroot",3,"label","tooltip"],["formControlName","onlyanonymous",3,"label","tooltip"],["formControlName","anonpath",3,"label","tooltip","nodeProvider","canCreateDataset"],["formControlName","onlylocal",3,"label","tooltip"],["formControlName","ident",3,"label","tooltip"],["formControlName","filemask",3,"label","tooltip"],["formControlName","dirmask",3,"label","tooltip"],["title","TLS"],["formControlName","tls",3,"label","tooltip"],["formControlName","passiveportsmin","type","number",3,"label","tooltip"],["formControlName","passiveportsmax","type","number",3,"label","tooltip"],["formControlName","fxp",3,"label","tooltip"],["formControlName","resume",3,"label","tooltip"],["formControlName","reversedns",3,"label","tooltip"],["formControlName","masqaddress",3,"label","tooltip"],["formControlName","banner",3,"label","tooltip"],["formControlName","options",3,"label","tooltip"],["formControlName","localuserbw",3,"label","tooltip","format","parse"],["formControlName","localuserdlbw",3,"label","tooltip","format","parse"],["formControlName","anonuserbw",3,"label","tooltip","format","parse"],["formControlName","anonuserdlbw",3,"label","tooltip","format","parse"],["formControlName","ssltls_certificate",3,"label","tooltip","required","options"],["formControlName","tls_policy",3,"label","tooltip","options"],["formControlName","tls_opt_allow_client_renegotiations",3,"label","tooltip"],["formControlName","tls_opt_allow_dot_login",3,"label","tooltip"],["formControlName","tls_opt_allow_per_user",3,"label","tooltip"],["formControlName","tls_opt_common_name_required",3,"label","tooltip"],["formControlName","tls_opt_enable_diags",3,"label","tooltip"],["formControlName","tls_opt_export_
1cert_data",3,"label","tooltip"],["formControlName","tls_opt_no_empty_fragments",3,"label","tooltip"],["formControlName","tls_opt_no_session_reuse_required",3,"label","tooltip"],["formControlName","tls_opt_stdenvvars",3,"label","tooltip"],["formControlName","tls_opt_dns_name_required",3,"label","tooltip"],["formControlName","tls_opt_ip_address_required",3,"label","tooltip"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled"],["mat-button","","type","button","ixTest","toggle-advanced-options",3,"click"]],template:function(e,r){e&1&&(l(0,"ix-modal-header",0),t(1,"translate"),u(2,"mat-card",1)(3,"mat-card-content")(4,"form",2),x("submit",function(){return r.onSubmit()}),u(5,"div",3)(6,"div",4)(7,"ix-fieldset",5),t(8,"translate"),l(9,"ix-input",6),t(10,"translate"),t(11,"translate"),l(12,"ix-input",7),t(13,"translate"),t(14,"translate"),l(15,"ix-input",8),t(16,"translate"),t(17,"translate"),l(18,"ix-input",9),t(19,"translate"),t(20,"translate"),l(21,"ix-input",10),t(22,"translate"),t(23,"translate"),l(24,"ix-input",11),t(25,"translate"),t(26,"translate"),f(),C(27,ci,22,42,"ix-fieldset",5),f(),C(28,hi,47,95,"div",4),f(),u(29,"ix-form-actions"),C(30,fi,3,4,"button",12)(31,_i,3,3,"button",13)(32,vi,3,3,"button",13),f()()()()),e&2&&(n("requiredRoles",r.requiredRoles)("title",i(1,27,"FTP"))("loading",r.isFormLoading),a(4),n("formGroup",r.form),a(3),n("title",i(8,29,"General Options")),a(2),n("label",i(10,31,"Port"))("required",!0)("tooltip",i(11,33,r.helptext.port_tooltip)),a(3),n("label",i(13,35,"Clients"))("required",!0)("tooltip",i(14,37,r.helptext.clients_tooltip)),a(3),n("label",i(16,39,"Connections"))("required",!0)("tooltip",i(17,41,r.helptext.ipconnections_tooltip)),a(3),n("label",i(19,43,"Login Attempts"))("required",!0)("tooltip",i(20,45,r.helptext.loginattempt_tooltip)),a(3),n("label",i(22,47,"Notransfer Timeout"))("required",!0)("tooltip",i(23,49,r.helptext.timeout_notransfer_tooltip)),a(3),n("label",i(25,51,"Timeout"))("required",!0)("tooltip",i(26,53,r.helptext.timeout_tooltip)),a(3),k(r.isAdvancedMode?27:-1),a(),k(r.isAdvancedMode?28:-1),a(2),n("ixRequiresRoles",r.requiredRoles),a(),k(r.isAdvancedMode?31:32))},dependencies:[se,H,ee,Y,z,K,Q,ve,J,X,te,ie,be,qt,Zt,ei,ne,ge,Z,V,W,A,O,L,Ue],styles:[".card[_ngcontent-%COMP%]{margin-left:auto;margin-right:auto;max-width:960px}.form-columns[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}@media (max-width: 767px){.form-columns[_ngcontent-%COMP%]{display:block}}.form-columns[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{width:50%}@media (max-width: 767px){.form-columns[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{width:100%}}\n/*# sourceMappingURL=service-ftp.component-27Z34H2S.css.map */"],changeDetection:0}),de);Ke=mi([P()],Ke);var Re=function(s){return s.Never="NEVER",s.Sleep="SLEEP",s.Standby="STANDBY",s.Idle="IDLE",s}(Re||{});var Fe={smart_interval_tooltip:'Define a number of minutes for <a href="https://linux.die.net/man/8/smartd" target="_blank">smartd</a> to wake up and check if any tests are configured to run.',smart_powermode_tooltip:"Tests are only performed when <i>Never</i> is selected.",smart_difference_tooltip:"Enter a number of degrees in Celsius. S.M.A.R.T. reports if the temperature of a drive has changed by N degrees Celsius since the last report.",smart_informational_tooltip:"Enter a threshold temperature in Celsius. S.M.A.R.T. will message with a log level of LOG_INFO if the temperature is higher than the threshold.",smart_critical_tooltip:"Enter a threshold temperature in Celsius. S.M.A.R.T. will message with a log level of LOG_CRIT and send an email if the temperature is higher than the threshold."};var bi=function(s,o,e,r){var d=arguments.length,p=d<3?o:r===null?r=Object.getOwnPropertyDescriptor(o,e):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,o,e,r);else for(var _=s.length-1;_>=0;_--)(c=s[_])&&(p=(d<3?c(p):d>3?c(o,e,p):c(o,e))||p);return d>3&&p&&Object.defineProperty(o,e,p),p};function gi(s,o){if(s&1&&(u(0,"button",10),E(1),t(2,"translate"),f()),s&2){let e=y();
1n("disabled",e.form.invalid||e.isFormLoading),a(),M(" ",i(2,2,"Save")," ")}}var ce,Ze=(ce=class{constructor(o,e,r,d,p,c,_,G,$){this.api=o,this.formErrorHandler=e,this.cdr=r,this.errorHandler=d,this.fb=p,this.translate=c,this.dialogService=_,this.snackbar=G,this.slideInRef=$,this.requiredRoles=[oe.DiskWrite],this.isFormLoading=!1,this.form=this.fb.group({interval:[0,[v.required]],powermode:[null,v.required],difference:[0,[v.required]],informational:[0,[v.required]],critical:[0,[v.required]]}),this.tooltips={interval:Fe.smart_interval_tooltip,powermode:Fe.smart_powermode_tooltip,difference:Fe.smart_difference_tooltip,informational:Fe.smart_informational_tooltip,critical:Fe.smart_critical_tooltip},this.powermodeOptions$=b([{label:this.translate.instant("Never"),value:Re.Never},{label:this.translate.instant("Sleep"),value:Re.Sleep},{label:this.translate.instant("Standby"),value:Re.Standby},{label:this.translate.instant("Idle"),value:Re.Idle}]),this.slideInRef.requireConfirmationWhen(()=>b(this.form.dirty))}ngOnInit(){this.isFormLoading=!0,this.api.call("smart.config").pipe(g(this)).subscribe({next:o=>{this.form.patchValue(o),this.isFormLoading=!1,this.cdr.markForCheck()},error:o=>{this.dialogService.error(this.errorHandler.parseError(o)),this.isFormLoading=!1,this.cdr.markForCheck()}})}onSubmit(){let o=this.form.value;this.isFormLoading=!0,this.api.call("smart.update",[o]).pipe(g(this)).subscribe({next:()=>{this.isFormLoading=!1,this.snackbar.success(this.translate.instant("Service configuration saved")),this.slideInRef.close({response:!0,error:null}),this.cdr.markForCheck()},error:e=>{this.isFormLoading=!1,this.formErrorHandler.handleValidationErrors(e,this.form),this.cdr.markForCheck()}})}},ce.\u0275fac=function(e){return new(e||ce)(m(R),m(re),m(D),m(F),m(He),m(N),m(U),m(j),m(ae))},ce.\u0275cmp=I({type:ce,selectors:[["ix-service-smart"]],decls:19,vars:36,consts:[[3,"requiredRoles","title","loading"],[1,"card"],[1,"ix-form-container",3,"submit","formGroup"],[3,"title"],["formControlName","interval","type","number",3,"label","required","tooltip"],["formControlName","powermode",3,"label","required","options","tooltip"],["formControlName","difference","type","number",3,"label","tooltip","required"],["formControlName","informational","type","number",3,"label","tooltip","required"],["formControlName","critical","type","number",3,"label","tooltip","required"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled",4,"ixRequiresRoles"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled"]],template:function(e,r){e&1&&(l(0,"ix-modal-header",0),t(1,"translate"),u(2,"mat-card",1)(3,"mat-card-content")(4,"form",2),x("submit",function(){return r.onSubmit()}),u(5,"ix-fieldset",3),t(6,"translate"),l(7,"ix-input",4),t(8,"translate"),l(9,"ix-select",5),t(10,"translate"),l(11,"ix-input",6),t(12,"translate"),l(13,"ix-input",7),t(14,"translate"),l(15,"ix-input",8),t(16,"translate"),f(),u(17,"ix-form-actions"),C(18,gi,3,4,"button",9),f()()()()),e&2&&(n("requiredRoles",r.requiredRoles)("title",i(1,22,"S.M.A.R.T."))("loading",r.isFormLoading),a(4),n("formGroup",r.form),a(),n("title",i(6,24,"General Options")),a(2),n("label",i(8,26,"Check Interval"))("required",!0)("tooltip",r.tooltips.interval),a(2),n("label",i(10,28,"Power Mode"))("required",!0)("options",r.powermodeOptions$)("tooltip",r.tooltips.powermode),a(2),n("label",i(12,30,"Difference"))("tooltip",r.tooltips.difference)("required",!0),a(2),n("label",i(14,32,"Informational"))("tooltip",r.tooltips.informational)("required",!0),a(2),n("label",i(16,34,"Critical"))("tooltip",r.tooltips.critical)("required",!0),a(3),n("ixRequiresRoles",r.requiredRoles))},dependencies:[se,H,ee,Y,z,K,Q,ve,J,X,te,ie,ne,Z,V,W,A,O,L],styles:[".form-actions[_ngcontent-%COMP%]{padding:0 11px}.card[_ngcontent-%COMP%]{margin-left:auto;margin-right:auto;max-width:960px}\n/*# sourceMappingURL=service-smart.component-VVIAKHJJ.css.map */"],changeDetection:0}),ce);Ze=bi([P()],Ze);var B={location_tooltip:"Enter the location of the system.",contact_tooltip:"E-mail address that will receive SNMP service messages.",community_tooltip:"
1Change from <i>public</i> to increase system security. Can only contain alphanumeric characters, underscores, dashes, periods, and spaces. This can be left empty for <i>SNMPv3</i> networks.",v3_tooltip:'Set to to enable support for <a href="https://tools.ietf.org/html/rfc3410" target="_blank">SNMP version 3</a>. See <a href="http://net-snmp.sourceforge.net/docs/man/snmpd.conf.html" target="_blank">snmpd.conf(5)</a> for configuration details.',v3_username_tooltip:"Enter a username to register with this service.",v3_authtype_tooltip:"Choose an authentication method.",v3_authtype_options:[{label:"MD5",value:"MD5"},{label:"SHA",value:"SHA"}],v3_password_tooltip:"Enter a password of at least eight characters.",v3_privproto_tooltip:"Choose a privacy protocol.",v3_privproto_options:[{label:"AES",value:"AES"},{label:"DES",value:"DES"}],v3_privpassphrase_tooltip:"Enter a separate privacy passphrase. <b>Password</b> is used when this is left empty.",options_tooltip:'Enter any additional <a href="http://net-snmp.sourceforge.net/docs/man/snmpd.conf.html" target="_blank">snmpd.conf(5)</a> options. Add one option for each line.',loglevel_tooltip:"Choose how many log entries to create. Choices range from the least log entries (<i>Emergency</i>) to the most (<i>Debug</i>).",loglevel_options:[{label:"Emergency",value:0},{label:"Alert",value:1},{label:"Critical",value:2},{label:"Error",value:3},{label:"Warning",value:4},{label:"Notice",value:5},{label:"Info",value:6},{label:"Debug",value:7}]};var yi=function(s,o,e,r){var d=arguments.length,p=d<3?o:r===null?r=Object.getOwnPropertyDescriptor(o,e):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,o,e,r);else for(var _=s.length-1;_>=0;_--)(c=s[_])&&(p=(d<3?c(p):d>3?c(o,e,p):c(o,e))||p);return d>3&&p&&Object.defineProperty(o,e,p),p};function Si(s,o){if(s&1&&(l(0,"ix-input",13),t(1,"translate"),t(2,"translate"),l(3,"ix-select",14),t(4,"translate"),t(5,"translate"),l(6,"ix-input",15),t(7,"translate"),t(8,"translate"),l(9,"ix-select",16),t(10,"translate"),t(11,"translate"),l(12,"ix-input",17),t(13,"translate"),t(14,"translate")),s&2){let e=y();n("label",i(1,13,"Username"))("tooltip",i(2,15,e.tooltips.v3_username)),a(3),n("options",e.authtypeOptions$)("label",i(4,17,"Authentication Type"))("tooltip",i(5,19,e.tooltips.v3_authtype)),a(3),n("label",i(7,21,"Password"))("required",!0)("tooltip",i(8,23,e.tooltips.v3_password)),a(3),n("options",e.privprotoOptions$)("label",i(10,25,"Privacy Protocol"))("tooltip",i(11,27,e.tooltips.v3_privproto)),a(3),n("label",i(13,29,"Privacy Passphrase"))("tooltip",i(14,31,e.tooltips.v3_privpassphrase))}}function Ci(s,o){if(s&1&&(u(0,"button",18),E(1),t(2,"translate"),f()),s&2){let e=y();n("disabled",e.form.invalid||e.isFormLoading),a(),M(" ",i(2,2,"Save")," ")}}var ue,et=(ue=class{get isV3SupportEnabled(){var o,e;return((e=(o=this.form)==null?void 0:o.value)==null?void 0:e.v3)||!1}constructor(o,e,r,d,p,c,_,G,$,Se){this.fb=o,this.api=e,this.dialogService=r,this.errorHandler=d,this.cdr=p,this.formErrorHandler=c,this.validation=_,this.snackbar=G,this.translate=$,this.slideInRef=Se,this.requiredRoles=[oe.SystemGeneralWrite],this.isFormLoading=!1,this.form=this.fb.group({location:[""],contact:["",kt()],community:["",v.pattern(/^[\w_\-.\s]*$/)],v3:[!1],v3_username:[""],v3_authtype:[""],v3_password:["",[v.minLength(8),this.validation.validateOnCondition(()=>this.isV3SupportEnabled,v.required)]],v3_privproto:[""],v3_privpassphrase:["",v.minLength(8)],options:[""],zilstat:[!1],loglevel:[null]}),this.tooltips={location:B.location_tooltip,contact:B.contact_tooltip,community:B.community_tooltip,v3:B.v3_tooltip,v3_username:B.v3_username_tooltip,v3_authtype:B.v3_authtype_tooltip,v3_password:B.v3_password_tooltip,v3_privproto:B.v3_privproto_tooltip,v3_privpassphrase:B.v3_privpassphrase_tooltip,options:B.options_tooltip,loglevel:B.loglevel_tooltip},this.authtypeOptions$=b(B.v3_authtype_options),this.privprotoOptions$=b(B.v3_privproto_options),this.logLevelOptions$=b(B.loglevel_options),this.slideInRef.requireConfirmationWhen(()=>b(this.form.dirty))}ngOnInit(){this.loadCurrentSettings()}onSubmit(){this.isFormLoading=!0;let o=this.form.value;o.v3||(o.v3_username="",o.v3_password="",o.v3_authtype="",o.v3_privproto=null,o.v3_privpassphrase=""),this.api.call("snmp.update",[o]).pipe(g(this)).subscribe({next:()=>{this.isFormLoading=!1,this.snackbar.success(this.translate.instant("Service configuration saved")),this.slideInRef.close({response:!0,error:null}),this.cdr.markForCheck()},error:e=>{this.isFormLoading=!1,this.formErrorHandler.handleValidationErrors(e,this.form),this.cdr.markForCheck()}})}loadCurrentSettings(){this.isFormLoading=!0,this.api.call("snmp.config").pi
1pe(g(this)).subscribe({next:o=>{this.isFormLoading=!1,this.form.patchValue(o),this.cdr.markForCheck()},error:o=>{this.dialogService.error(this.errorHandler.parseError(o)),this.isFormLoading=!1,this.cdr.markForCheck()}})}},ue.\u0275fac=function(e){return new(e||ue)(m(He),m(R),m(U),m(F),m(D),m(re),m(Nt),m(j),m(N),m(ae))},ue.\u0275cmp=I({type:ue,selectors:[["ix-service-snmp"]],decls:35,vars:57,consts:[[3,"requiredRoles","title","loading"],[1,"card"],[1,"ix-form-container",3,"submit","formGroup"],[1,"columns"],[3,"title"],["formControlName","location",3,"label","tooltip"],["formControlName","contact","type","email",3,"label","tooltip"],["formControlName","community",3,"label","tooltip"],["formControlName","v3",3,"label","tooltip"],["formControlName","options",3,"label","tooltip"],["formControlName","zilstat",3,"label"],["formControlName","loglevel",3,"options","label","tooltip"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled",4,"ixRequiresRoles"],["formControlName","v3_username",3,"label","tooltip"],["formControlName","v3_authtype","emptyValue","",3,"options","label","tooltip"],["formControlName","v3_password","type","password",3,"label","required","tooltip"],["formControlName","v3_privproto",3,"options","label","tooltip"],["formControlName","v3_privpassphrase","type","password",3,"label","tooltip"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled"]],template:function(e,r){e&1&&(l(0,"ix-modal-header",0),t(1,"translate"),u(2,"mat-card",1)(3,"mat-card-content")(4,"form",2),x("submit",function(){return r.onSubmit()}),u(5,"div",3)(6,"ix-fieldset",4),t(7,"translate"),l(8,"ix-input",5),t(9,"translate"),t(10,"translate"),l(11,"ix-input",6),t(12,"translate"),t(13,"translate"),l(14,"ix-input",7),t(15,"translate"),t(16,"translate"),f(),u(17,"ix-fieldset",4),t(18,"translate"),l(19,"ix-checkbox",8),t(20,"translate"),t(21,"translate"),C(22,Si,15,33),f()(),u(23,"ix-fieldset",4),t(24,"translate"),l(25,"ix-textarea",9),t(26,"translate"),t(27,"translate"),l(28,"ix-checkbox",10),t(29,"translate"),l(30,"ix-select",11),t(31,"translate"),t(32,"translate"),f(),u(33,"ix-form-actions"),C(34,Ci,3,4,"button",12),f()()()()),e&2&&(n("requiredRoles",r.requiredRoles)("title",i(1,23,"SNMP"))("loading",r.isFormLoading),a(4),n("formGroup",r.form),a(2),n("title",i(7,25,"General Options")),a(2),n("label",i(9,27,"Location"))("tooltip",i(10,29,r.tooltips.location)),a(3),n("label",i(12,31,"Contact"))("tooltip",i(13,33,r.tooltips.contact)),a(3),n("label",i(15,35,"Community"))("tooltip",i(16,37,r.tooltips.community)),a(3),n("title",i(18,39,"SNMP v3 Options")),a(2),n("label",i(20,41,"SNMP v3 Support"))("tooltip",i(21,43,r.tooltips.v3)),a(3),k(r.isV3SupportEnabled?22:-1),a(),n("title",i(24,45,"Other Options")),a(2),n("label",i(26,47,"Auxiliary Parameters"))("tooltip",i(27,49,r.tooltips.options)),a(3),n("label",i(29,51,"Expose zilstat via SNMP")),a(2),n("options",r.logLevelOptions$)("label",i(31,53,"Log Level"))("tooltip",i(32,55,r.tooltips.loglevel)),a(4),n("ixRequiresRoles",r.requiredRoles))},dependencies:[se,H,ee,Y,z,K,Q,ve,J,X,te,ie,be,ne,ge,Z,V,W,A,O,L],styles:[".card[_ngcontent-%COMP%]{margin-left:auto;margin-right:auto;max-width:960px}.columns[_ngcontent-%COMP%]{display:flex}@media (max-width: 767px){.columns[_ngcontent-%COMP%]{display:block}}.columns[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{display:block;width:50%}@media (max-width: 767px){.columns[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{width:100%}}\n/*# sourceMappingURL=service-snmp.component-GS5OW7AZ.css.map */"],changeDetection:0}),ue);et=yi([P()],et);var le=function(s){return s.Quiet="QUIET",s.Fatal="FATAL",s.Error="ERROR",s.Info="INFO",s.Verbose="VERBOSE",s.Debug="DEBUG",s.Debug2="DEBUG2",s.Debug3="DEBUG3",s}(le||{}),q=function(s){return s.Daemon="DAEMON",s.User="USER",s.Auth="AUTH",s.Local0="LOCAL0",s.Local1="LOCAL1",s.Local2="LOCAL2",s.Local3="LOCAL3",s.Local4="LOCAL4",s.Local5="LOCAL5",s.Local6="LOCAL6",s.Local7="LOCAL7",s}(q||{}),tt=function(s){return s.None="NONE",s.Aes128Cbc="AES128-CBC",s}(tt||{});var T={ssh_bindiface_tooltip:"Select interfaces for SSH to listen on. Leave all options unselected for SSH to listen on all interfaces.",ssh_tcpport_tooltip:"Open a port for SSH connection requests.",ssh_password_login_groups_tooltip:"Groups that can log in using password",ssh_passwordauth_tooltip:'Enabling allows using a password to authenticate  the SSH login. <i>Warning:</i> when directory services are enabled, allowing password  authentication can grant access to all users imported by the directory service.<br>  Disabling changes authentication to require keys for all users. This requires  <a href="http://the.earth.li/&percnt;7Esgtatham/putty/0.55/htmldoc/Chapter8.html" target="_blank">additional setup</a>  on both the SSH client and server.',ssh_kerberosauth_tooltip:"Ensure val
1id entries exist in  <b>Directory Services > Kerberos Realms</b> and  <b>Directory Services > Kerberos Keytabs</b> and the system  can communicate with the Kerberos Domain Controller before  enabling this option.",ssh_tcpfwd_tooltip:'Set to allow users to bypass firewall restrictions using the SSH port <a href="https://www.symantec.com/connect/articles/ssh-port-forwarding" target="_blank">forwarding feature</a>.',ssh_compression_tooltip:"Set to attempt to reduce latency over slow networks.",ssh_sftp_log_level_tooltip:'Select the <a href="https://man7.org/linux/man-pages/man3/syslog.3.html" target="_blank">syslog(3)</a> level of the SFTP server.',ssh_sftp_log_level_options:[{label:"Quiet",value:le.Quiet},{label:"Fatal",value:le.Fatal},{label:"Error",value:le.Error},{label:"Info",value:le.Info},{label:"Verbose",value:le.Verbose},{label:"Debug",value:le.Debug},{label:"Debug2",value:le.Debug2},{label:"Debug3",value:le.Debug3}],ssh_sftp_log_facility_tooltip:'Select the <a href="https://man7.org/linux/man-pages/man3/syslog.3.html" target="_blank">syslog(3)</a> facility of the SFTP server.',ssh_sftp_log_facility_options:[{label:"Daemon",value:q.Daemon},{label:"User",value:q.User},{label:"Auth",value:q.Auth},{label:"Local 0",value:q.Local0},{label:"Local 1",value:q.Local1},{label:"Local 2",value:q.Local2},{label:"Local 3",value:q.Local3},{label:"Local 4",value:q.Local4},{label:"Local 5",value:q.Local5},{label:"Local 6",value:q.Local6},{label:"Local 7",value:q.Local7}],ssh_options_tooltip:'Add any more <a href="https://man7.org/linux/man-pages/man5/sshd_config.5.html" target="_blank">sshd_config(5)</a> options not covered in this screen. Enter one option per line. These options are case-sensitive. Misspellings can prevent the SSH service from starting.',ssh_weak_ciphers_tooltip:'Allow more ciphers for  <a href="https://man7.org/linux/man-pages/man8/sshd.8.html" target="_blank">sshd(8)</a>  in addition to the defaults in  <a href="https://man7.org/linux/man-pages/man5/sshd_config.5.html" target="_blank">sshd_config(5)</a>.  <code>None</code> allows unencrypted SSH connections and  <code>AES128-CBC</code> allows the 128-bit  <a href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf" target="_blank">Advanced Encryption Standard</a>.<br><br>  WARNING: these ciphers are considered security vulnerabilities and  should only be allowed in a secure network environment.',ssh_weak_ciphers_options:[{label:"None",value:tt.None},{label:"AES128-CBC",value:tt.Aes128Cbc}]};var xi=function(s,o,e,r){var d=arguments.length,p=d<3?o:r===null?r=Object.getOwnPropertyDescriptor(o,e):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,o,e,r);else for(var _=s.length-1;_>=0;_--)(c=s[_])&&(p=(d<3?c(p):d>3?c(o,e,p):c(o,e))||p);return d>3&&p&&Object.defineProperty(o,e,p),p};function wi(s,o){if(s&1&&(u(0,"ix-fieldset"),l(1,"ix-select",11),t(2,"translate"),t(3,"translate"),l(4,"ix-checkbox",12),t(5,"translate"),t(6,"translate"),l(7,"ix-select",13),t(8,"translate"),t(9,"translate"),l(10,"ix-select",14),t(11,"translate"),t(12,"translate"),l(13,"ix-select",15),t(14,"translate"),t(15,"translate"),l(16,"ix-textarea",16),t(17,"translate"),t(18,"translate"),f()),s&2){let e=y();a(),n("label",i(2,18,"Bind Interfaces"))("tooltip",i(3,20,e.tooltips.bindiface))("multiple",!0)("options",e.bindInterfaces$),a(3),n("label",i(5,22,"Compress Connections"))("tooltip",i(6,24,e.tooltips.compression)),a(3),n("label",i(8,26,"SFTP Log Level"))("tooltip",i(9,28,e.tooltips.sftp_log_level))("options",e.sftpLogLevels$),a(3),n("label",i(11,30,"SFTP Log Facility"))("tooltip",i(12,32,e.tooltips.sftp_log_facility))("options",e.sftpLogFacilities$),a(3),n("label",i(14,34,"Weak Ciphers"))("tooltip",i(15,36,e.tooltips.weak_ciphers))("multiple",!0)("options",e.sshWeakCiphers$),a(3),n("label",i(17,38,"Auxiliary Parameters"))("tooltip",i(18,40,e.tooltips.options))}}function Bi(s,o){if(s&1&&(u(0,"button",17),E(1),t(2,"translate"),f()),s&2){let e=y();n("disabled",e.form.invalid||e.isFormLoading),a(),M(" ",i(2,2,"Save")," ")}}var he,it=(he=class{constructor(o,e,r,d,p,c,_,G,$,Se){this.api=o,this.errorHandler=e,this.cdr=r,this.formErrorHandler=d,this.fb=p,this.dialogService=c,this.userService=_,this.translate=G,this.snackbar=$,this.slideInRef=Se,this.requiredRoles=[oe.SshWrite],this.isFormLoading=!1,this.isBasicMode=!0,this.groupProvider=Me=>this.userService.groupQueryDsCache(Me).pipe(je(S=>S.map(Ce=>Ce.group))),this.form=this.fb.group({tcpport:[null],password_login_groups:[null],passwordauth:[!1],kerberosauth:[!1],tcpfwd:[!1],bindiface:[[]],c
1ompression:[!1],sftp_log_level:[null],sftp_log_facility:[null],weak_ciphers:[[]],options:[""]}),this.tooltips={tcpport:T.ssh_tcpport_tooltip,password_login_groups:T.ssh_password_login_groups_tooltip,passwordauth:T.ssh_passwordauth_tooltip,kerberosauth:T.ssh_kerberosauth_tooltip,tcpfwd:T.ssh_tcpfwd_tooltip,bindiface:T.ssh_bindiface_tooltip,compression:T.ssh_compression_tooltip,sftp_log_level:T.ssh_sftp_log_level_tooltip,sftp_log_facility:T.ssh_sftp_log_facility_tooltip,weak_ciphers:T.ssh_weak_ciphers_tooltip,options:T.ssh_options_tooltip},this.sftpLogLevels$=b(T.ssh_sftp_log_level_options),this.sftpLogFacilities$=b(T.ssh_sftp_log_facility_options),this.sshWeakCiphers$=b(T.ssh_weak_ciphers_options),this.bindInterfaces$=this.api.call("ssh.bindiface_choices").pipe($e()),this.slideInRef.requireConfirmationWhen(()=>b(this.form.dirty))}ngOnInit(){this.isFormLoading=!0,this.api.call("ssh.config").pipe(g(this)).subscribe({next:o=>{this.form.patchValue(o),this.isFormLoading=!1,this.cdr.markForCheck()},error:o=>{this.isFormLoading=!1,this.dialogService.error(this.errorHandler.parseError(o)),this.cdr.markForCheck()}})}onAdvancedSettingsToggled(){this.isBasicMode=!this.isBasicMode}onSubmit(){let o=this.form.value;this.isFormLoading=!0,this.api.call("ssh.update",[o]).pipe(g(this)).subscribe({next:()=>{this.isFormLoading=!1,this.snackbar.success(this.translate.instant("Service configuration saved")),this.slideInRef.close({response:!0,error:null}),this.cdr.markForCheck()},error:e=>{this.isFormLoading=!1,this.formErrorHandler.handleValidationErrors(e,this.form),this.cdr.markForCheck()}})}}
1,he.\u0275fac=function(e){return new(e||he)(m(R),m(F),m(D),m(re),m(Ve),m(U),m(At),m(N),m(j),m(ae))},he.\u0275cmp=I({type:he,selectors:[["ix-service-ssh"]],decls:29,vars:48,consts:[[3,"requiredRoles","title","loading"],[1,"card"],[1,"ix-form-container",3,"submit","formGroup"],[3,"title"],["formControlName","tcpport","type","number",3,"label","tooltip"],[3,"formControl","label","autocompleteProvider","tooltip"],["formControlName","passwordauth",3,"label","tooltip"],["formControlName","kerberosauth",3,"label","tooltip"],["formControlName","tcpfwd",3,"label","tooltip"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled",4,"ixRequiresRoles"],["mat-button","","type","button","ixTest","toggle-advanced-options",3,"click"],["formControlName","bindiface",3,"label","tooltip","multiple","options"],["formControlName","compression",3,"label","tooltip"],["formControlName","sftp_log_level","emptyValue","",3,"label","tooltip","options"],["formControlName","sftp_log_facility",3,"label","tooltip","options"],["formControlName","weak_ciphers",3,"label","tooltip","multiple","options"],["formControlName","options",3,"label","tooltip"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled"]],template:function(e,r){e&1&&(l(0,"ix-modal-header",0),t(1,"translate"),u(2,"mat-card",1)(3,"mat-card-content")(4,"form",2),x("submit",function(){return r.onSubmit()}),u(5,"ix-fieldset",3),t(6,"translate"),l(7,"ix-input",4),t(8,"translate"),t(9,"translate"),l(10,"ix-chips",5),t(11,"translate"),t(12,"translate"),l(13,"ix-checkbox",6),t(14,"translate"),t(15,"translate"),l(16,"ix-checkbox",7),t(17,"translate"),t(18,"translate"),l(19,"ix-checkbox",8),t(20,"translate"),t(21,"translate"),f(),C(22,wi,19,42,"ix-fieldset"),u(23,"ix-form-actions"),C(24,Bi,3,4,"button",9),u(25,"button",10),x("click",function(){return r.onAdvancedSettingsToggled()}),E(26),t(27,"translate"),t(28,"translate"),f()()()()()),e&2&&(n("requiredRoles",r.requiredRoles)("title",i(1,20,"SSH"))("loading",r.isFormLoading),a(4),n("formGroup",r.form),a(),n("title",i(6,22,"General Options")),a(2),n("label",i(8,24,"TCP Port"))("tooltip",i(9,26,r.tooltips.tcpport)),a(3),n("formControl",r.form.controls.password_login_groups)("label",i(11,28,"Password Login Groups"))("autocompleteProvider",r.groupProvider)("tooltip",i(12,30,r.tooltips.password_login_groups)),a(3),n("label",i(14,32,"Allow Password Authentication"))("tooltip",i(15,34,r.tooltips.passwordauth)),a(3),n("label",i(17,36,"Allow Kerberos Authentication"))("tooltip",i(18,38,r.tooltips.kerberosauth)),a(3),n("label",i(20,40,"Allow TCP Port Forwarding"))("tooltip",i(21,42,r.tooltips.tcpfwd
1)),a(3),k(r.isBasicMode?-1:22),a(2),n("ixRequiresRoles",r.requiredRoles),a(2),M(" ",r.isBasicMode?i(27,44,"Advanced Settings"):i(28,46,"Basic Settings")," "))},dependencies:[se,H,ee,Y,z,K,Q,St,J,X,te,ie,It,be,ne,ge,Z,V,W,A,O,L],styles:[".form-actions[_ngcontent-%COMP%]{padding:16px 11px}.form-actions[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]{margin-right:5px}.card[_ngcontent-%COMP%]{margin-left:auto;margin-right:auto;max-width:960px}\n/*# sourceMappingURL=service-ssh.component-HDYQDS6X.css.map */"],changeDetection:0}),he);it=xi([P()],it);var Ti=function(s,o,e,r){var d=arguments.length,p=d<3?o:r===null?r=Object.getOwnPropertyDescriptor(o,e):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,o,e,r);else for(var _=s.length-1;_>=0;_--)(c=s[_])&&(p=(d<3?c(p):d>3?c(o,e,p):c(o,e))||p);return d>3&&p&&Object.defineProperty(o,e,p),p},Ii=s=>["service","running",s,"toggle"];function ki(s,o){if(s&1){let e=qe();u(0,"mat-slide-toggle",2),t(1,"translate"),t(2,"translate"),x("change",function(d){Be(e);let p=y(2);return Te(p.onSlideToggleChanged(d))})("click",function(d){return Be(e),Te(d.stopPropagation())}),f()}if(s&2){let e=y(2);n("aria-label",e.isRunning()?i(1,3,"Stop service"):i(2,5,"Start service"))("ixTest",bt(7,Ii,e.testIdServiceName()))("checked",e.isRunning())}}function Ni(s,o){if(s&1&&C(0,ki,3,9,"mat-slide-toggle",1),s&2){let e=y();n("ixRequiresRoles",e.requiredRoles())}}var pe,ot=(pe=class extends Wt{constructor(){super(...arguments),this.service=Ie(()=>this.row()),this.requiredRoles=Ie(()=>this.servicesService.getRolesRequiredToManage(this.service().service)),this.isRunning=Ie(()=>this.service().state===oi.Running),this.testIdServiceName=Ie(()=>Ht(this.service().name).replace(/\./g,"")),this.servicesService=me(We),this.api=me(R),this.dialogService=me(U),this.translate=me(N),this.loader=me(Ge),this.errorHandler=me(F),this.snackbar=me(j),this.iscsiService=me(ri),this.serviceName=Ie(()=>ke.has(this.service().service)?ke.get(this.service().service):this.service().service)}onSlideToggleChanged(o){let e=o.source;this.isRunning()?this.confirmStop().pipe(ft(r=>{r||(e.checked=!0)}),dt(Boolean),g(this)).subscribe(()=>{this.stopService(e)}):this.startService(e)}confirmStop(){if(this.service().service===w.Iscsi)return this.confirmStopIscsiService();let o=this.serviceName();return this.dialogService.confirm({title:this.translate.instant("Alert"),message:this.translate.instant("Stop {serviceName}?",{serviceName:o}),hideCheckbox:!0,buttonText:this.translate.instant("Stop")})}stopService(o){this.api.call("service.stop",[this.service().service,{silent:!1}]).pipe(this.loader.withLoader(),g(this)).subscribe({next:()=>this.snackbar.success(this.translate.instant("Service stopped")),error:e=>{this.errorHandler.showErrorModal(e),o.checked=!0}})}startService(o){this.api.call("service.start",[this.service().service,{silent:!1}]).pipe(this.loader.withLoader(),g(this)).subscribe({next:()=>this.snackbar.success(this.translate.instant("Service started")),error:e=>{this.errorHandler.showErrorModal(e),o.checked=!1}})}confirmStopIscsiService(){let o=this.serviceName();return this.iscsiService.getGlobalSessions().pipe(ht(e=>{let r=this.translate.instant("Stop {serviceName}?",{serviceName:o});if(e.length){let d=this.translate.instant("{n, plural, one {There is an active iSCSI connection.} other {There are # active iSCSI connections}}",{n:e.length}),p=this.translate.instant("Stop the {serviceName} service and close these connections?",{serviceName:o});r='<font color="red">'.concat(d,"</font><br>").concat(p)}return this.dialogService.confirm({title:this.translate.instant("Alert"),message:r,hideCheckbox:!0,buttonText:this.translate.instant("Stop")})}),g(this))}},pe.\u0275fac=(()=>{let o;return function(r){return(o||(o=_t(pe)))(r||pe)}})(),pe.\u0275cmp=I({type:pe,selectors:[["ix-service-state-column"]],features:[vt],decls:1,vars:1,consts:[["color","primary",3,"aria-label","ixTest","checked"],["color","primary",3,"aria-label","ixTest","checked","change","click",4,"ixRequiresRoles"],["color","primary",3,"change","click","aria-label","ixTest","checked"]],template:function(e,r){e&1&&C(0,Ni,1,1,"mat-slide-toggle",0),e&2&&k(r.
1service()?0:-1)},dependencies:[V,Ot,A,O,L],encapsulation:2,changeDetection:0}),pe);ot=Ti([P()],ot);var Ee=function(s){return s.Master="MASTER",s.Slave="SLAVE",s}(Ee||{}),rt=function(s){return s.LowBattery="LOWBATT",s.Battery="BATT",s}(rt||{});var h={ups_fieldset_general:"General Options",ups_fieldset_monitor:"Monitor",ups_fieldset_shutdown:"Shutdown",ups_fieldset_email:"Email",ups_fieldset_other:"Other Options",ups_mode_placeholder:"UPS Mode",ups_mode_options:[{label:"Master",value:Ee.Master},{label:"Slave",value:Ee.Slave}],ups_identifier_placeholder:"Identifier",ups_identifier_tooltip:"Describe the UPS device. It can contain alphanumeric, period, comma, hyphen, and underscore characters.",ups_remotehost_placeholder:"Remote Host",ups_remotehost_tooltip:"IP address of the remote system with <i>UPS Mode</i> set as <i>Master</i>. Enter a valid IP address in the format <i>192.168.0.1</i>.",ups_remoteport_placeholder:"Remote Port",ups_remoteport_tooltip:" When the <b>UPS Mode</b> is set to <i>slave</i>. Enter the open network port number of the UPS <i>Master</i> system. The default port is <i>3493</i>.",ups_driver_placeholder:"Driver",ups_driver_tooltip:'See the <a href="http://networkupstools.org/stable-hcl.html" target="_blank">Network UPS Tools compatibility list</a> for a list of supported UPS devices.',ups_port_placeholder:"Port or Hostname",ups_port_tooltip:"Serial or USB port connected to the UPS. To  automatically detect and manage the USB port settings, select  <i>auto</i>.<br><br> When an SNMP driver is selected, enter the IP  address or hostname of the SNMP UPS device.",ups_options_placeholder:"Auxiliary Parameters (ups.conf)",ups_options_tooltip:'Enter any extra options from <a href="http://networkupstools.org/docs/man/ups.conf.html" target="_blank">UPS.CONF(5)</a>.',ups_optionsupsd_placeholder:"Auxiliary Parameters (upsd.conf)",ups_optionsupsd_tooltip:'Enter any extra options from <a href="http://networkupstools.org/docs/man/upsd.conf.html" target="_blank">UPSD.CONF(5)</a>.',ups_description_placeholder:"Description",ups_description_tooltip:"Describe this service.",ups_shutdown_placeholder:"Shutdown Mode",ups_shutdown_tooltip:"Choose when the UPS initiates shutdown.",ups_shutdown_options:[{label:"UPS reaches low battery",value:rt.LowBattery},{label:"UPS goes on battery",value:rt.Battery}],ups_shutdowntimer_placeholder:"Shutdown Timer",ups_shutdowntimer_tooltip:"Enter a value in seconds for the the UPS to wait before initiating shutdown. Shutdown will not occur if power is restored while the timer is counting down. This value only applies when <b>Shutdown mode</b> is set to <i>UPS goes on battery</i>.",ups_shutdowncmd_placeholder:"Shutdown Command",ups_shutdowncmd_tooltip:"When battery power is low or the shutdown timer ends, enter the custom command to overrule the default shutdown command.",ups_nocommwarntime_placeholder:"No Communication Warning Time",ups_nocommwarntime_tooltip:"Enter a number of seconds to wait before alerting that the service cannot reach any UPS. Warnings continue until the situation is fixed.",ups_monuser_placeholder:"Monitor User",ups_monuser_tooltip:"Enter a user to associate with this service. Keeping the default is recommended.",ups_monpwd_placeholder:"Monitor Password",ups_monpwd_tooltip:"Change the default password to improve system security. The new password cannot contain a space or <b>#</b>.",ups_extrausers_placeholder:"Extra Users",ups_extrausers_tooltip:'Enter accounts that have administrative access. See <a href="https://linux.die.net/man/5/upsd.users" target="_blank">upsd.users(5)</a> for examples.',ups_rmonitor_placeholder:"Remote Monitor",ups_rmonitor_tooltip:"Set for the default configuration to listen on all interfaces using the known values of user: <i>upsmon</i> and password: <i>fixmepass</i>.",ups_emailnotify_placeholder:"Send Email Status Updates",ups_emailnotify_tooltip:"Set enable sending messages to the address defined in the <b>Email</b> field.",ups_toemail_placeholder:"Email",ups_toemail_tooltip:"Enter any email addresses to receive status updates. Separate entries by pressing <code>Enter</code>.",ups_subject_placeholder:"Email Subject",ups_subject_tooltip:"Enter the subject for status emails.",ups_powerdown_placeholder:"Power Off UPS",ups_powerdown_tooltip:"Set for the UPS to power off after shutting down the system.",ups_hostsync_placeholder:"Host Sync",ups_hostsync_tooltip:"Upsmon will wait up to this many seconds 
1in master mode for the slaves to disconnect during a shutdown situation."};var Pi=function(s,o,e,r){var d=arguments.length,p=d<3?o:r===null?r=Object.getOwnPropertyDescriptor(o,e):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,o,e,r);else for(var _=s.length-1;_>=0;_--)(c=s[_])&&(p=(d<3?c(p):d>3?c(o,e,p):c(o,e))||p);return d>3&&p&&Object.defineProperty(o,e,p),p};function Ri(s,o){if(s&1&&(l(0,"ix-combobox",7),t(1,"translate"),t(2,"translate")),s&2){let e=y();n("label",i(1,4,e.labels.driver))("tooltip",i(2,6,e.tooltips.driver))("provider",e.providers.driver)("required",!0)}}function Fi(s,o){if(s&1&&(l(0,"ix-input",24),t(1,"translate"),t(2,"translate"),l(3,"ix-input",25),t(4,"translate"),t(5,"translate")),s&2){let e=y();n("label",i(1,6,e.labels.remotehost))("tooltip",i(2,8,e.tooltips.remotehost))("required",!0),a(3),n("label",i(4,10,e.labels.remoteport))("tooltip",i(5,12,e.tooltips.remoteport))("required",!0)}}function Ei(s,o){if(s&1&&(u(0,"button",26),E(1),t(2,"translate"),f()),s&2){let e=y();n("disabled",e.form.invalid||e.isFormLoading),a(),M(" ",i(2,2,"Save")," ")}}var fe,nt=(fe=class{constructor(o,e,r,d,p,c,_,G,$){this.api=o,this.formErrorHandler=e,this.cdr=r,this.errorHandler=d,this.fb=p,this.dialogService=c,this.translate=_,this.snackbar=G,this.slideInRef=$,this.requiredRoles=[oe.SystemGeneralWrite],this.isFormLoading=!1,this.isMasterMode=!0,this.form=this.fb.group({identifier:[null,[v.required,v.pattern(/^[\w|,|.|\-|_]+$/)]],mode:[null],remotehost:[null,v.required],remoteport:[null,v.required],driver:[null,v.required],port:[null,v.required],monuser:[null,v.required],monpwd:[null,v.pattern(/^((?![#|\s]).)*$/)],extrausers:[null],rmonitor:[!1],shutdown:[null],shutdowntimer:[null],shutdowncmd:[null],powerdown:[!1],nocommwarntime:[300],hostsync:[15],description:[null],options:[null],optionsupsd:[null]}),this.helptext=h,this.labels={identifier:h.ups_identifier_placeholder,mode:h.ups_mode_placeholder,remotehost:h.ups_remotehost_placeholder,remoteport:h.ups_remoteport_placeholder,driver:h.ups_driver_placeholder,port:h.ups_port_placeholder,monuser:h.ups_monuser_placeholder,monpwd:h.ups_monpwd_placeholder,extrausers:h.ups_extrausers_placeholder,rmonitor:h.ups_rmonitor_placeholder,shutdown:h.ups_shutdown_placeholder,shutdowntimer:h.ups_shutdowntimer_placeholder,shutdowncmd:h.ups_shutdowncmd_placeholder,powerdown:h.ups_powerdown_placeholder,nocommwarntime:h.ups_nocommwarntime_placeholder,hostsync:h.ups_hostsync_placeholder,description:h.ups_description_placeholder,options:h.ups_options_placeholder,optionsupsd:h.ups_optionsupsd_placeholder},this.providers={driver:new st(this.api.call("ups.driver_choices").pipe($e())),port:new st(this.api.call("ups.port_choices").pipe(Et()))},this.tooltips={identifier:h.ups_identifier_tooltip,mode:this.translate.instant('Choose <i>Master</i> if the UPS is plugged directly      into the system serial port. The UPS will remain the      last item to shut down. Choose <i>Slave</i> to have      this system shut down before <i>Master</i>. See the      <a href="{url}"      target="_blank">Network UPS Tools Overview</a>.',{url:"https://networkupstools.org/docs/user-manual.chunked/ar01s02.html#_monitoring_client"}),remotehost:h.ups_remotehost_tooltip,remoteport:h.ups_remoteport_tooltip,driver:h.ups_driver_tooltip,port:h.ups_port_tooltip,monuser:h.ups_monuser_tooltip,monpwd:h.ups_monpwd_tooltip,extrausers:h.ups_extrausers_tooltip,rmonitor:h.ups_rmonitor_tooltip,shutdown:h.ups_shutdown_tooltip,shutdowntimer:h.ups_shutdowntimer_tooltip,shutdowncmd:h.ups_shutdowncmd_tooltip,powerdown:h.ups_powerdown_tooltip,nocommwarntime:h.ups_nocommwarntime_tooltip,hostsync:h.ups_hostsync_tooltip,description:h.ups_description_tooltip,options:h.ups_options_tooltip,optionsupsd:h.ups_optionsupsd_tooltip},this.modeOptions$=b(h.ups_mode_options),this.shutdownOptions$=b(h.ups_shutdown_options),this.slideInRef.requireConfirmationWhen(()=>b(this.form.dirty))}ngOnInit(){this.isFormLoading=!0,this.loadConfig(),this.form.controls.remotehost.disable(),this.form.controls.remoteport.disable(),this.form.controls.mode.valueChanges.pipe(g(this)).subscribe(o=>{o===Ee.Master?(this.form.controls.remotehost.disable(),this.form.controls.remoteport.disable(),this.form.controls.port.setValidators(v.required),this.form.controls.driver.enable(),this.isMasterMode=!0):(this.form.controls.remotehost.enable(),this.form.controls.remoteport.enable(),this.form.controls.port.clearValidators(),this.form.controls.driver.disable(),this.isMasterMode=!1)})}
1loadConfig(){this.api.call("ups.config").pipe(g(this)).subscribe({next:o=>{this.form.patchValue(o),this.isFormLoading=!1,this.cdr.markForCheck()},error:o=>{this.isFormLoading=!1,this.dialogService.error(this.errorHandler.parseError(o)),this.cdr.markForCheck()}})}onSubmit(){let o=this.form.value;this.isMasterMode?(delete o.remoteport,delete o.remotehost):delete o.driver,this.isFormLoading=!0,this.api.call("ups.update",[o]).pipe(g(this)).subscribe({next:()=>{this.isFormLoading=!1,this.snackbar.success(this.translate.instant("Service configuration saved")),this.slideInRef.close({response:!0,error:null}),this.cdr.markForCheck()},error:e=>{this.isFormLoading=!1,this.formErrorHandler.handleValidationErrors(e,this.form),this.cdr.markForCheck()}})}},fe.\u0275fac=function(e){return new(e||fe)(m(R),m(re),m(D),m(F),m(Ve),m(U),m(N),m(j),m(ae))},fe.\u0275cmp=I({type:fe,selectors:[["ix-service-ups"]],decls:68,vars:124,consts:[[3,"requiredRoles","title","loading"],[1,"card"],[1,"ix-form-container",3,"submit","formGroup"],[1,"two-columns"],[3,"title"],["formControlName","identifier",3,"label","tooltip","required"],["formControlName","mode",3,"label","options","tooltip"],["formControlName","driver",3,"label","tooltip","provider","required"],["formControlName","port",3,"label","tooltip","provider","required","allowCustomValue"],["formControlName","monuser",3,"label","tooltip","required"],["formControlName","monpwd","type","password",3,"label","tooltip","required"],["formControlName","extrausers",3,"label","tooltip"],["formControlName","rmonitor",3,"label","tooltip"],[1,"one-column"],["formControlName","shutdown",3,"label","options","tooltip"],["formControlName","shutdowntimer","type","number",3,"label","tooltip"],["formControlName","shutdowncmd",3,"label","tooltip"],["formControlName","powerdown",3,"label","tooltip"],["formControlName","nocommwarntime","type","number",3,"label","tooltip"],["formControlName","hostsync","type","number",3,"label","tooltip"],["formControlName","description",3,"label","tooltip"],["formControlName","options",3,"label","tooltip"],["formControlName","optionsupsd",3,"label","tooltip"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled",4,"ixRequiresRoles"],["formControlName","remotehost",3,"label","tooltip","required"],["formControlName","remoteport","type","number",3,"label","tooltip","required"],["mat-button","","type","submit","color","primary","ixTest","save",3,"disabled"]],template:function(e,r){e&1&&(l(0,"ix-modal-header",0),t(1,"translate"),u(2,"mat-card",1)(3,"mat-card-content")(4,"form",2),x("submit",function(){return r.onSubmit()}),u(5,"div",3)(6,"ix-fieldset",4),t(7,"translate"),l(8,"ix-input",5),t(9,"translate"),t(10,"translate"),l(11,"ix-select",6),t(12,"translate"),t(13,"translate"),C(14,Ri,3,8,"ix-combobox",7)(15,Fi,6,14),l(16,"ix-combobox",8),t(17,"translate"),t(18,"translate"),f(),u(19,"ix-fieldset",4),t(20,"translate"),l(21,"ix-input",9),t(22,"translate"),t(23,"translate"),l(24,"ix-input",10),t(25,"translate"),t(26,"translate"),l(27,"ix-textarea",11),t(28,"translate"),t(29,"translate"),l(30,"ix-checkbox",12),t(31,"translate"),t(32,"translate"),f()(),u(33,"div",13)(34,"ix-fieldset",4),t(35,"translate"),l(36,"ix-select",14),t(37,"translate"),t(38,"translate"),l(39,"ix-input",15),t(40,"translate"),t(41,"translate"),l(42,"ix-input",16),t(43,"translate"),t(44,"translate"),l(45,"ix-checkbox",17),t(46,"translate"),t(47,"translate"),f()(),u(48,"div",13)(49,"ix-fieldset",4),t(50,"translate"),l(51,"ix-input",18),t(52,"translate"),t(53,"translate"),l(54,"ix-input",19),t(55,"translate"),t(56,"translate"),l(57,"ix-input",20),t(58,"translate"),t(59,"translate"),l(60,"ix-textarea",21),t(61,"translate"),t(62,"translate"),l(63,"ix-textarea",22),t(64,"translate"),t(65,"translate"),f()(),u(66,"ix-form-actions"),C(67,Ei,3,4,"button",23),f()()()()),e&2&&(n("requiredRoles",r.requiredRoles)("title",i(1,50,"UPS"))("loading",r.isFormLoading),a(4),n("formGroup",r.form),a(2),n("title",i(7,52,r.helptext.ups_fieldset_general)),a(2),n("label",i(9,54,r.labels.identifier))("tooltip",i(10,56,r.tooltips.identifier))("required",!0),a(3),n("label",i(12,58,r.labels.mode))("options",r.modeOptions$)("tooltip",i(13,60,r.tooltips.mode)),a(3),k(r.isMasterMode?14:15),a(2),n("label",i(17,62,r.labels.port))("tooltip",i(18,64,r.tooltips.port))("provider",r.providers.port)("required",r.isMasterMode)("allowCustomValue",!0),a(3),n("title",i(20,66,r.helptext.ups_fieldset_monitor)),a(2),n("label",i(22,68,r.labels.monuser))("tooltip",i(23,70,r.tooltips.monuser))("required",!0),a(3),n("label",i(25,72,r.labels.monpwd))("tooltip",i(26,74,r.tooltips.monpwd))("required",!0),a(3),n("label",i(28,76,r.labels.extrausers))("tooltip",i(29,78,r.tooltips.extrausers)),a(3),n("label",i(31,80,r.labels.rmonitor))("tooltip",i(32,82,r.tooltips.rmonitor)),a(4),n("title",i(35,84,r.helptext.ups_fieldset_shutdown)),a(2),n("label",i(37,86,r.labels.shutdown))("options",r.shutdownOptions$)("tooltip",i(38,88,r.tooltips.shutdown)),a(3),n("label",i(40,90,r.labels.shutdowntimer))("tooltip",i(41,92,r.tooltips.shutdowntimer)),a(3),n("label",i(43,94,r.labels.shutdowncmd))("tooltip",i(44,96,r.tooltips.shutdowncmd)),a(3),n("label",i(46,98,r.labels.powerdown))("tooltip",i(47,100,r.tooltips.powerdown)),a(4),n("title",i(50,102,r.helptext.ups_fieldset_other)),a(2),n("label",i(52,104,r.labels.nocommwarntime))("tooltip",i(53,106,r.tooltips.nocommwarntime)),a(3),n("label",i(55,108,r.labels.hostsync))("tooltip",i(56,110,r.tooltips.hostsync)),a(3),n("label",i(58,112,r.labels.description))("tooltip",i(59,114,r.tooltips.description)),a(3),n("label",i(61,116,r.labels.options))("tooltip",i(62,118,r.tooltips.options)),a(3),n("label",i(64,120,r.labels.optionsupsd))("tooltip",i(65,122,r.tooltips.optionsupsd)),a(4),n("ixRequiresRoles",r.requiredRoles))},dependencies:[se,H,ee,Y,z,K,Q,ve,J,X,te,ie,ne,Lt,ge,be,Z,V,W,A,O,L],styles:[".form-actions[_ngcontent-%COMP%]{padding:0 11px}.form-actions[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]{margin-right:5px}.two-columns[_ngcontent-%COMP%]{display:flex}@media (max-width: 767px){.two-columns[_ngcontent-%COMP%]{display:block}}
1.two-columns[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{display:block;width:50%}@media (max-width: 767px){.two-columns[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{width:100%}}.one-column[_ngcontent-%COMP%]{border-top:1px solid var(--lines)}.card[_ngcontent-%COMP%]{margin-left:auto;margin-right:auto;max-width:960px}\n/*# sourceMappingURL=service-ups.component-JB5KOTIR.css.map */"],changeDetection:0}),fe);nt=Pi([P()],nt);var Mi=function(s,o,e,r){var d=arguments.length,p=d<3?o:r===null?r=Object.getOwnPropertyDescriptor(o,e):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,o,e,r);else for(var _=s.length-1;_>=0;_--)(c=s[_])&&(p=(d<3?c(p):d>3?c(o,e,p):c(o,e))||p);return d>3&&p&&Object.defineProperty(o,e,p),p},_e,pi=(_e=class{get emptyConfig(){switch(!0){case this.loading:return De.Loading;case!!this.error:return De.Errors;case(!this.services.length&&!this.loading):return De.NoPageData;default:return De.NoSearchResults}}constructor(o,e,r,d,p,c,_,G,$,Se,Me){this.emptyService=o,this.servicesService=e,this.api=r,this.router=d,this.translate=p,this.cdr=c,this.slideIn=_,this.store$=G,this.urlOptions=$,this.errorHandler=Se,this.loader=Me,this.searchableElements=wt,this.columns=Vt([Qt({title:this.translate.instant("Name"),propertyName:"name"}),{type:ot,title:this.translate.instant("Running")},zt({title:this.translate.instant("Start Automatically"),propertyName:"enable",onRowToggle:S=>this.enableToggle(S),dynamicRequiredRoles:S=>b(this.servicesService.getRolesRequiredToManage(S.service))}),Kt({actions:[{iconName:"receipt_long",tooltip:this.translate.instant("Audit Logs"),hidden:S=>b(!this.hasLogs(S.service)),onClick:()=>this.router.navigate([this.auditLogsUrl()])},{iconName:"list",dynamicTooltip:S=>b(this.translate.instant("{name} Sessions",{name:ke.get(S.service)})),hidden:S=>b(!this.hasSessions(S.service)),onClick:S=>this.router.navigate(this.sessionsUrl(S.service))},{iconName:"edit",tooltip:this.translate.instant("Edit"),onClick:S=>this.configureService(S)}]})],{uniqueRowTag:S=>"service-"+S.name.replace(/\./g,""),ariaLabels:S=>[S.name,this.translate.instant("Service")]}),this.dataProvider=new Gt,this.filterString="",this.error=!1,this.loading=!0}ngOnInit(){this.getData()}onListFiltered(o){this.filterString=o,this.dataProvider.setFilter({list:this.services,query:o,columnKeys:["name"],preprocessMap:{name:e=>e.replace(/\./g,"")}})}getData(){this.loading=!0,this.error=!1,this.store$.pipe(ai,je(o=>o.map(e=>we(xe({},e),{name:ke.get(e.service)||e.service}))),g(this)).subscribe({next:o=>{this.services=o,this.onListFiltered(this.filterString),this.loading=!1,this.error=!1,this.cdr.markForCheck()},error:()=>{this.error=!0,this.loading=!1,this.cdr.markForCheck()}})}enableToggle(o){this.store$.dispatch(lt({service:we(xe({},o),{enable:!o.enable})})),this.api.call("service.update",[o.id,{enable:!o.enable}]).pipe(this.loader.withLoader(),ut(1),ct(e=>(this.errorHandler.showErrorModal(e),this.store$.dispatch(lt({service:o})),b(mt))),g(this)).subscribe()}configureService(o){switch(o.service){case w.Iscsi:this.slideIn.open(ni);break;case w.Ftp:this.slideIn.open(Ke,{wide:!0});break;case w.Nfs:this.slideIn.open(ti,{wide:!0});break;case w.Snmp:this.slideIn.open(et,{wide:!0});break;case w.Ups:this.slideIn.open(nt,{wide:!0});break;case w.Ssh:this.slideIn.open(it);break;case w.Cifs:this.slideIn.open(ii);break;case w.Smart:this.slideIn.open(Ze);break;default:break}}sessionsUrl(o){return o===w.Cifs?["/sharing","smb","status","sessions"]:o===w.Nfs?["/sharing","nfs","sessions"]:[]}hasSessions(o){return o===w.Cifs||o===w.Nfs}auditLogsUrl(){return this.urlOptions.buildUrl("/system/audit",{searchQuery:{isBasicQuery:!1,filters:[["service","=",jt.Smb]]}})}hasLogs(o){return o===w.Cifs}},_e.\u0275fac=function(e){return new(e||_e)(m(si),m(We),m(R),m(gt),m(N),m(D),m(Pt),m(yt),m(li),m(F),m(Ge))},_e.\u0275cmp=I({type:_e,selectors:[["ix-services"]],decls:7,vars:12,consts:[[3,"search","value","disabled"],[3,"ixUiSearch"],[1,"table",3,"ix-table-empty","emptyConfig"],["ix-table-head","",3,"columns","dataProvider"],["ix-table-body","",3,"columns","dataProvider","isLoading"]],template:function(e,r){e&1&&(u(0,"ix-page-header")(1,"ix-search-input1",0),x("search",function(p){return r.onListFiltered(p)}),f()(),u(2,"mat-card",1)(3,"ix-table",2),t(4,"async"),l(5,"thead",3)(6,"tbody",4),f()()),e&2&&(a(),n("value",r.filterString)("disabled",r.loading),a(),n("ixUiSearch",r.searchableElements.elements.services),a(),n("ix-table-empty",!i(4,10,r.dataProvider.currentPageCount$))("emptyConfig",r.emptyService.defaultEmptyConfig(r.emptyConfig)),a(2),n("columns",r.columns)("dataProvider",r.dataProvider),a(),n("columns",r.columns)("dataProvider",r.dataProvider)("isLoading",r.loading))},dependencies:[Ut,H,xt,$t,Yt,Xt,Jt,Ue,Ft],encapsulation:2,changeDetection:0}),_e);pi=Mi([P()],pi);export{pi as a};
2//# sourceMappingURL=chunk-TC4Y732O.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.