gitextract__08spewc/ ├── .gitattributes ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── build.yml │ ├── docker.yml │ └── polkit.yml ├── .gitignore ├── .gitmodules ├── .lgtm.yml ├── CHANGELOG.md ├── LICENSE ├── Makefile.am ├── README.adoc ├── RELEASE_PROCESS.md ├── VERSION ├── abi-ref/ │ └── libusbguard.so.abi ├── autogen.sh ├── configure.ac ├── doc/ │ └── man/ │ ├── .gitignore │ ├── example-allow-device.adoc │ ├── example-initial-policy.adoc │ ├── footer.adoc │ ├── usbguard-daemon.8.adoc │ ├── usbguard-daemon.conf.5.adoc │ ├── usbguard-dbus.8.adoc │ ├── usbguard-ldap.conf.5.adoc │ ├── usbguard-rules.conf.5.adoc │ └── usbguard.1.adoc ├── libusbguard.pc.in ├── m4/ │ ├── ax_check_compile_flag.m4 │ ├── ax_pthread.m4 │ └── libgcrypt.m4 ├── scripts/ │ ├── astyle.sh │ ├── bash_completion/ │ │ └── usbguard │ ├── copr-build-srpm.sh │ ├── docker/ │ │ ├── build_on_alpine_linux_3_21.Dockerfile │ │ ├── build_on_centos_8_2.Dockerfile │ │ ├── build_on_debian_buster_with_gcc_9_2.Dockerfile │ │ ├── build_on_ubuntu_22_04.Dockerfile │ │ └── build_on_ubuntu_25_04.Dockerfile │ ├── ldap/ │ │ ├── ldap.sh │ │ ├── schema2ldif.pl │ │ ├── setup.ldif │ │ ├── usbguard-policy.ldif │ │ ├── usbguard.ldif │ │ └── usbguard.schema │ ├── modeline.vim │ ├── reformat-sources.sh │ ├── rule-generator.sh │ ├── usb-descriptor-collect.sh │ └── usbguard-zsh-completion ├── src/ │ ├── .gitignore │ ├── CLI/ │ │ ├── IPCSignalWatcher.cpp │ │ ├── IPCSignalWatcher.hpp │ │ ├── PolicyGenerator.cpp │ │ ├── PolicyGenerator.hpp │ │ ├── usbguard-add-user.cpp │ │ ├── usbguard-add-user.hpp │ │ ├── usbguard-allow-device.cpp │ │ ├── usbguard-allow-device.hpp │ │ ├── usbguard-append-rule.cpp │ │ ├── usbguard-append-rule.hpp │ │ ├── usbguard-apply-device-policy.cpp │ │ ├── usbguard-apply-device-policy.hpp │ │ ├── usbguard-block-device.cpp │ │ ├── usbguard-block-device.hpp │ │ ├── usbguard-generate-policy.cpp │ │ ├── usbguard-generate-policy.hpp │ │ ├── usbguard-get-parameter.cpp │ │ ├── usbguard-get-parameter.hpp │ │ ├── usbguard-list-devices.cpp │ │ ├── usbguard-list-devices.hpp │ │ ├── usbguard-list-rules.cpp │ │ ├── usbguard-list-rules.hpp │ │ ├── usbguard-print-version.cpp │ │ ├── usbguard-print-version.hpp │ │ ├── usbguard-read-descriptor.cpp │ │ ├── usbguard-read-descriptor.hpp │ │ ├── usbguard-reject-device.cpp │ │ ├── usbguard-reject-device.hpp │ │ ├── usbguard-remove-rule.cpp │ │ ├── usbguard-remove-rule.hpp │ │ ├── usbguard-remove-user.cpp │ │ ├── usbguard-remove-user.hpp │ │ ├── usbguard-rule-parser.cpp │ │ ├── usbguard-set-parameter.cpp │ │ ├── usbguard-set-parameter.hpp │ │ ├── usbguard-watch.cpp │ │ ├── usbguard-watch.hpp │ │ ├── usbguard.cpp │ │ └── usbguard.hpp │ ├── Common/ │ │ ├── ByteOrder.hpp │ │ ├── FDInputStream.hpp │ │ ├── LDAPUtil.cpp │ │ ├── LDAPUtil.hpp │ │ ├── Thread.hpp │ │ ├── Utility.cpp │ │ └── Utility.hpp │ ├── DBus/ │ │ ├── .gitignore │ │ ├── DBusBridge.cpp │ │ ├── DBusBridge.hpp │ │ ├── DBusInterface.xml │ │ ├── README.adoc │ │ ├── gdbus-server.cpp │ │ ├── generate-documentation.sh │ │ ├── org.usbguard1.conf │ │ ├── org.usbguard1.policy │ │ ├── org.usbguard1.service.in │ │ └── usbguard-dbus.service.in │ ├── Daemon/ │ │ ├── Daemon.cpp │ │ ├── Daemon.hpp │ │ ├── FileAuditBackend.cpp │ │ ├── FileAuditBackend.hpp │ │ ├── FileRuleSet.cpp │ │ ├── FileRuleSet.hpp │ │ ├── LDAPHandler.cpp │ │ ├── LDAPHandler.hpp │ │ ├── LDAPRuleSet.cpp │ │ ├── LDAPRuleSet.hpp │ │ ├── LinuxAuditBackend.cpp │ │ ├── LinuxAuditBackend.hpp │ │ ├── NSHandler.cpp │ │ ├── NSHandler.hpp │ │ ├── RuleSetFactory.cpp │ │ ├── RuleSetFactory.hpp │ │ ├── Seccomp.c │ │ ├── Seccomp.h │ │ └── main.cpp │ ├── Library/ │ │ ├── AllowedMatchesCondition.cpp │ │ ├── AllowedMatchesCondition.hpp │ │ ├── Base64.cpp │ │ ├── Base64.hpp │ │ ├── ConfigFilePrivate.cpp │ │ ├── ConfigFilePrivate.hpp │ │ ├── DeviceBase.cpp │ │ ├── DeviceBase.hpp │ │ ├── DeviceManagerBase.cpp │ │ ├── DeviceManagerBase.hpp │ │ ├── DeviceManagerPrivate.cpp │ │ ├── DeviceManagerPrivate.hpp │ │ ├── DevicePrivate.cpp │ │ ├── DevicePrivate.hpp │ │ ├── FixedStateCondition.cpp │ │ ├── FixedStateCondition.hpp │ │ ├── Hash.cpp │ │ ├── Hash.hpp │ │ ├── IPC/ │ │ │ ├── .gitignore │ │ │ ├── Devices.proto │ │ │ ├── Exception.proto │ │ │ ├── Message.proto │ │ │ ├── Parameter.proto │ │ │ ├── Policy.proto │ │ │ └── Rule.proto │ │ ├── IPCClientPrivate.cpp │ │ ├── IPCClientPrivate.hpp │ │ ├── IPCPrivate.cpp │ │ ├── IPCPrivate.hpp │ │ ├── IPCServerPrivate.cpp │ │ ├── IPCServerPrivate.hpp │ │ ├── Init.cpp │ │ ├── KeyValueParserPrivate.cpp │ │ ├── KeyValueParserPrivate.hpp │ │ ├── LocaltimeCondition.cpp │ │ ├── LocaltimeCondition.hpp │ │ ├── RandomStateCondition.cpp │ │ ├── RandomStateCondition.hpp │ │ ├── RuleAppliedCondition.cpp │ │ ├── RuleAppliedCondition.hpp │ │ ├── RuleEvaluatedCondition.cpp │ │ ├── RuleEvaluatedCondition.hpp │ │ ├── RuleParser/ │ │ │ ├── Actions.hpp │ │ │ └── Grammar.hpp │ │ ├── RulePrivate.cpp │ │ ├── RulePrivate.hpp │ │ ├── SysFSDevice.cpp │ │ ├── SysFSDevice.hpp │ │ ├── UEvent.cpp │ │ ├── UEvent.hpp │ │ ├── UEventDeviceManager.cpp │ │ ├── UEventDeviceManager.hpp │ │ ├── UEventParser.cpp │ │ ├── UEventParser.hpp │ │ ├── UMockdevDeviceDefinition.cpp │ │ ├── UMockdevDeviceDefinition.hpp │ │ ├── UMockdevDeviceManager.cpp │ │ ├── UMockdevDeviceManager.hpp │ │ ├── Utility.cpp │ │ ├── Utility.hpp │ │ └── public/ │ │ └── usbguard/ │ │ ├── Audit.cpp │ │ ├── Audit.hpp │ │ ├── ConfigFile.cpp │ │ ├── ConfigFile.hpp │ │ ├── Device.cpp │ │ ├── Device.hpp │ │ ├── DeviceManager.cpp │ │ ├── DeviceManager.hpp │ │ ├── DeviceManagerHooks.cpp │ │ ├── DeviceManagerHooks.hpp │ │ ├── Exception.hpp │ │ ├── IPCClient.cpp │ │ ├── IPCClient.hpp │ │ ├── IPCServer.cpp │ │ ├── IPCServer.hpp │ │ ├── Interface.hpp │ │ ├── KeyValueParser.cpp │ │ ├── KeyValueParser.hpp │ │ ├── Logger.cpp │ │ ├── Logger.hpp │ │ ├── MemoryRuleSet.cpp │ │ ├── MemoryRuleSet.hpp │ │ ├── Policy.cpp │ │ ├── Policy.hpp │ │ ├── Predicates.hpp │ │ ├── Rule.cpp │ │ ├── Rule.hpp │ │ ├── RuleCondition.cpp │ │ ├── RuleCondition.hpp │ │ ├── RuleParser.cpp │ │ ├── RuleParser.hpp │ │ ├── RuleSet.cpp │ │ ├── RuleSet.hpp │ │ ├── Typedefs.cpp │ │ ├── Typedefs.hpp │ │ ├── USB.cpp │ │ ├── USB.hpp │ │ ├── USBGuard.cpp │ │ └── USBGuard.hpp │ ├── Tests/ │ │ ├── .gitignore │ │ ├── Fuzzers/ │ │ │ ├── Makefile.am │ │ │ ├── fuzzer-rules.cpp │ │ │ ├── fuzzer-uevent.cpp │ │ │ └── fuzzer-usb-descriptor.cpp │ │ ├── LDAP/ │ │ │ ├── Sanity/ │ │ │ │ └── ldap-nsswitch.sh │ │ │ ├── UseCase/ │ │ │ │ ├── ldap-test-1.sh │ │ │ │ ├── ldap-test-2.sh │ │ │ │ ├── ldap-test-3.sh │ │ │ │ ├── ldap-test-4.sh │ │ │ │ └── ldap-test-5.sh │ │ │ ├── ansible/ │ │ │ │ ├── hosts │ │ │ │ ├── playbook.yml │ │ │ │ └── roles/ │ │ │ │ └── bennojoy.openldap_server/ │ │ │ │ ├── README.md │ │ │ │ ├── defaults/ │ │ │ │ │ └── main.yml │ │ │ │ ├── files/ │ │ │ │ │ ├── ldap │ │ │ │ │ ├── slapd │ │ │ │ │ └── slapd_fedora │ │ │ │ ├── handlers/ │ │ │ │ │ └── main.yml │ │ │ │ ├── meta/ │ │ │ │ │ └── main.yml │ │ │ │ ├── tasks/ │ │ │ │ │ ├── configure_ldap.yml │ │ │ │ │ ├── install_ldap.yml │ │ │ │ │ └── main.yml │ │ │ │ ├── templates/ │ │ │ │ │ ├── domain.ldif │ │ │ │ │ ├── ldap.conf.j2 │ │ │ │ │ ├── slapd.conf.j2 │ │ │ │ │ ├── slapd.conf_ubuntu.j2 │ │ │ │ │ ├── slapd.fedora.ldif.j2 │ │ │ │ │ └── slapd.ubuntu.ldif.j2 │ │ │ │ └── vars/ │ │ │ │ ├── Debian.yml │ │ │ │ ├── RedHat.yml │ │ │ │ └── main.yml │ │ │ ├── ldap.sh │ │ │ ├── nsswitch.sh │ │ │ ├── setup.ldif │ │ │ ├── usbguard-policy.ldif │ │ │ ├── usbguard.ldif │ │ │ └── usbguard.schema │ │ ├── Makefile.am │ │ ├── Regression/ │ │ │ ├── github-PR209-config-parser.cpp │ │ │ ├── test_Rule_ghi113.cpp │ │ │ ├── test_Rule_ghi247.cpp │ │ │ └── test_Rule_ghi37.cpp │ │ ├── Rules/ │ │ │ ├── test-rules.bad │ │ │ ├── test-rules.file │ │ │ ├── test-rules.good │ │ │ └── test-rules.sh │ │ ├── Source/ │ │ │ ├── CheckScripts/ │ │ │ │ ├── code-style.sh │ │ │ │ ├── copyright.sh │ │ │ │ ├── private-with-build-config.sh │ │ │ │ ├── public-without-build-config.sh │ │ │ │ ├── spell-check.rws │ │ │ │ ├── spell-check.sh │ │ │ │ └── vim-modeline.sh │ │ │ └── check-driver.sh │ │ ├── USB/ │ │ │ ├── data/ │ │ │ │ └── 0001.out │ │ │ └── test-descriptor-parser.sh │ │ ├── Unit/ │ │ │ ├── test_Base64.cpp │ │ │ ├── test_IPCServer_AccessControl.cpp │ │ │ ├── test_Rule.cpp │ │ │ ├── test_RuleAttribute_id.cpp │ │ │ ├── test_RuleParser.cpp │ │ │ ├── test_UEvent.cpp │ │ │ ├── test_UEventParser.cpp │ │ │ ├── test_UMockdevDeviceDefinition.cpp │ │ │ ├── test_UMockdevDeviceDefinition.data.hpp │ │ │ └── test_Utility.cpp │ │ ├── UseCase/ │ │ │ ├── 000_executable.sh │ │ │ ├── 001_cli_policy.sh │ │ │ ├── 002_cli_devices.sh │ │ │ ├── 003_cli_devices_umockdev.sh │ │ │ ├── 004_daemonize.sh │ │ │ ├── 005_cli_devices_advanced.sh │ │ │ └── devices.umockdev │ │ ├── bash-testlib.sh │ │ ├── custom.supp │ │ └── main.cpp │ ├── ThirdParty/ │ │ └── xsl-stylesheets/ │ │ ├── VERSION.xsl │ │ ├── common/ │ │ │ ├── af.xml │ │ │ ├── am.xml │ │ │ ├── ar.xml │ │ │ ├── as.xml │ │ │ ├── ast.xml │ │ │ ├── autoidx-kimber.xsl │ │ │ ├── autoidx-kosek.xsl │ │ │ ├── az.xml │ │ │ ├── bg.xml │ │ │ ├── bn.xml │ │ │ ├── bn_in.xml │ │ │ ├── bs.xml │ │ │ ├── ca.xml │ │ │ ├── charmap.xml │ │ │ ├── charmap.xsl │ │ │ ├── common.xml │ │ │ ├── common.xsl │ │ │ ├── cs.xml │ │ │ ├── cy.xml │ │ │ ├── da.xml │ │ │ ├── de.xml │ │ │ ├── el.xml │ │ │ ├── en.xml │ │ │ ├── entities.ent │ │ │ ├── eo.xml │ │ │ ├── es.xml │ │ │ ├── et.xml │ │ │ ├── eu.xml │ │ │ ├── fa.xml │ │ │ ├── fi.xml │ │ │ ├── fr.xml │ │ │ ├── ga.xml │ │ │ ├── gentext.xsl │ │ │ ├── gl.xml │ │ │ ├── gu.xml │ │ │ ├── he.xml │ │ │ ├── hi.xml │ │ │ ├── hr.xml │ │ │ ├── hu.xml │ │ │ ├── id.xml │ │ │ ├── insertfile.xsl │ │ │ ├── is.xml │ │ │ ├── it.xml │ │ │ ├── ja.xml │ │ │ ├── ka.xml │ │ │ ├── kn.xml │ │ │ ├── ko.xml │ │ │ ├── ky.xml │ │ │ ├── l10n.dtd │ │ │ ├── l10n.xml │ │ │ ├── l10n.xsl │ │ │ ├── la.xml │ │ │ ├── labels.xsl │ │ │ ├── lt.xml │ │ │ ├── lv.xml │ │ │ ├── ml.xml │ │ │ ├── mn.xml │ │ │ ├── mr.xml │ │ │ ├── nb.xml │ │ │ ├── nds.xml │ │ │ ├── nl.xml │ │ │ ├── nn.xml │ │ │ ├── olink.xsl │ │ │ ├── or.xml │ │ │ ├── pa.xml │ │ │ ├── pi.xml │ │ │ ├── pi.xsl │ │ │ ├── pl.xml │ │ │ ├── pt.xml │ │ │ ├── pt_br.xml │ │ │ ├── refentry.xml │ │ │ ├── refentry.xsl │ │ │ ├── ro.xml │ │ │ ├── ru.xml │ │ │ ├── sk.xml │ │ │ ├── sl.xml │ │ │ ├── sq.xml │ │ │ ├── sr.xml │ │ │ ├── sr_Latn.xml │ │ │ ├── stripns.xsl │ │ │ ├── subtitles.xsl │ │ │ ├── sv.xml │ │ │ ├── ta.xml │ │ │ ├── table.xsl │ │ │ ├── targetdatabase.dtd │ │ │ ├── targets.xsl │ │ │ ├── te.xml │ │ │ ├── th.xml │ │ │ ├── titles.xsl │ │ │ ├── tl.xml │ │ │ ├── tr.xml │ │ │ ├── uk.xml │ │ │ ├── utility.xml │ │ │ ├── utility.xsl │ │ │ ├── vi.xml │ │ │ ├── xh.xml │ │ │ ├── zh.xml │ │ │ ├── zh_cn.xml │ │ │ └── zh_tw.xml │ │ ├── lib/ │ │ │ ├── dumpfragment.xsl │ │ │ └── lib.xsl │ │ └── xhtml-1_1/ │ │ ├── admon.xsl │ │ ├── annotations.xsl │ │ ├── autoidx-kimber.xsl │ │ ├── autoidx-kosek.xsl │ │ ├── autoidx-ng.xsl │ │ ├── autoidx.xsl │ │ ├── autotoc.xsl │ │ ├── biblio-iso690.xsl │ │ ├── biblio.xsl │ │ ├── block.xsl │ │ ├── callout.xsl │ │ ├── changebars.xsl │ │ ├── chunk-changebars.xsl │ │ ├── chunk-code.xsl │ │ ├── chunk-common.xsl │ │ ├── chunk.xsl │ │ ├── chunker.xsl │ │ ├── chunkfast.xsl │ │ ├── chunktoc.xsl │ │ ├── component.xsl │ │ ├── division.xsl │ │ ├── docbook.xsl │ │ ├── ebnf.xsl │ │ ├── footnote.xsl │ │ ├── formal.xsl │ │ ├── glossary.xsl │ │ ├── graphics.xsl │ │ ├── highlight.xsl │ │ ├── html-rtf.xsl │ │ ├── html.xsl │ │ ├── htmltbl.xsl │ │ ├── index.xsl │ │ ├── info.xsl │ │ ├── inline.xsl │ │ ├── keywords.xsl │ │ ├── lists.xsl │ │ ├── maketoc.xsl │ │ ├── manifest.xsl │ │ ├── math.xsl │ │ ├── oldchunker.xsl │ │ ├── onechunk.xsl │ │ ├── param.xsl │ │ ├── pi.xsl │ │ ├── profile-chunk-code.xsl │ │ ├── profile-chunk.xsl │ │ ├── profile-docbook.xsl │ │ ├── profile-onechunk.xsl │ │ ├── qandaset.xsl │ │ ├── refentry.xsl │ │ ├── sections.xsl │ │ ├── synop.xsl │ │ ├── table.xsl │ │ ├── task.xsl │ │ ├── titlepage.templates.xsl │ │ ├── titlepage.xsl │ │ ├── toc.xsl │ │ ├── verbatim.xsl │ │ └── xref.xsl │ ├── astylerc │ └── test_filesystem.cpp ├── usbguard-daemon.conf.in ├── usbguard-tmpfiles.conf └── usbguard.service.in