oK:!dZddlZddlZddlmZddlmZddlmZm Z ddl m Z ddl m Z ddlmZejeZd ZGd d eZdS) zBulk WAF set endpoint.N) Wordpress)ValidationError) RootEndpointsbind) hosting_panel)Scope) update_config c reZdZejZeddd d dedede edzd e fd Z dS) WordpressWafBulkEndpointszwordpress-pluginwafsetFNstatus all_usersusersreturncXK|r|td|s|td||stdtjstdtd||| t t jd{V}n%#t$r}td||d}~wwxYwg}g}g}|rt|} nQg} t |D]4} | |vr| | | | dd5|d kd td tttdzfffd t!d t#| t$D]l} fd| | | t$zD} t'j| d{V} | D]5\} }|| | | | |d6mgd|Dd|Dd|D}||||dS)Nz/Specify either --all-users or --users, not bothz%Specify either --all-users or --usersz--users must not be emptyzNWordPress Security Plugin is disabled. Enable it before changing WAF settings.z>AUDIT wordpress-plugin.waf.set status=%r all_users=%r users=%rz#Could not enumerate hosting users: zNot a hosting user)userreasonenabledurcK tjddii|d{V|dfS#t$r}|t|fcYd}~Sd}~wwxYw)N WORDPRESS waf_enabled)r)r _sink Exceptionstr)reself waf_values [/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/simple_rpc/wp_waf_bulk.py_apply_to_userz9WordpressWafBulkEndpoints.waf_set.._apply_to_userIs !#J =)"<= $w ! ! !#a&&y       !s$* AA A Arc&g|] }|Sr$).0rr"s r! z5WordpressWafBulkEndpoints.waf_set..Us0&'q!!cg|]}|ddd S) succeededrrrr$)r%rs r!r&z5WordpressWafBulkEndpoints.waf_set..`s2kR@@r'c2g|]}|dd|ddS)rskippedrr+r$)r%ss r!r&z5WordpressWafBulkEndpoints.waf_set..ds:6i1X;OOr'c2g|]}|dd|ddS)rfailedrr+r$)r%fs r!r&z5WordpressWafBulkEndpoints.waf_set..hs:6h!H+NNr')itemsr)r-r0)rrSECURITY_PLUGIN_ENABLEDloggerwarningrr HostingPanel get_usersrlistdictfromkeysappendrtuplerangelen_MAX_CONCURRENTasynciogather)rrrr panel_usersrr)r-r0 valid_usersribatchresultserrr2r"r s` @@r!waf_setz!WordpressWafBulkEndpoints.waf_setsL  *!A  KU]!"IJJ J  U !"=>> >0 !;   L        M$>$@$@$J$J$L$LLLLLLLMMKK   !9a99   "    P{++KKK]]5)) P P ##&&q))))NNA9M#N#NOOOOi'  !C !E#sTz/,B ! ! ! ! ! ! !q#k**O<< > >A+6q1;N7N+OE$NE2222222G! > >3;$$Q''''MM1"<"<====  >  "        "    s88B11 C;CC)FN) __name__ __module__ __qualname__rAV_IM360SCOPErrboolr8r9rHr$r'r!r r s NE T eU++ "& ] ] ] ] Cy4 ]  ] ] ] ,+] ] ] r'r )__doc__r@logging defence360agent.contracts.configrdefence360agent.rpc_toolsr defence360agent.rpc_tools.lookuprrdefence360agent.subsys.panelsrdefence360agent.utilsrdefence360agent.utils.configr getLoggerrIr4r?r r$r'r!rXs666666555555@@@@@@@@777777''''''666666  8 $ $a a a a a a a a a a r'