├── .envrc ├── .final_builds ├── jobs │ ├── auditd │ │ └── index.yml │ ├── ca_certs │ │ └── index.yml │ ├── disable_agent │ │ └── index.yml │ ├── enable_ipv6 │ │ └── index.yml │ ├── harden_sshd │ │ └── index.yml │ ├── iptables │ │ └── index.yml │ ├── limits │ │ └── index.yml │ ├── limits_not_recommended │ │ └── index.yml │ ├── login_banner │ │ └── index.yml │ ├── modprobe │ │ └── index.yml │ ├── monit │ │ └── index.yml │ ├── ntpdate │ │ └── index.yml │ ├── post-deploy-script │ │ └── index.yml │ ├── post-stop-script │ │ └── index.yml │ ├── pre-start-script │ │ └── index.yml │ ├── pre-stop-script │ │ └── index.yml │ ├── resolv │ │ └── index.yml │ ├── search_domain │ │ └── index.yml │ ├── sysctl │ │ └── index.yml │ ├── tcp_keepalive │ │ └── index.yml │ └── user_add │ │ └── index.yml └── license │ └── index.yml ├── .gitignore ├── LICENSE ├── NOTICE ├── README.md ├── ci ├── configure.sh ├── pipeline.yml └── tasks │ ├── run-acceptance-tests.sh │ └── run-acceptance-tests.yml ├── config ├── blobs.yml └── final.yml ├── jobs ├── auditd │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start ├── ca_certs │ ├── monit │ ├── spec │ └── templates │ │ ├── certs.erb │ │ └── pre-start.sh.erb ├── disable_agent │ ├── monit │ ├── spec │ └── templates │ │ └── post-start ├── harden_sshd │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start.sh.erb ├── iptables │ ├── monit │ ├── spec │ └── templates │ │ └── bin │ │ ├── ctl │ │ ├── disable.sh │ │ └── enable.sh ├── limits │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start.sh.erb ├── limits_not_recommended │ ├── monit │ ├── spec │ └── templates │ │ ├── limits.conf.erb │ │ └── pre-start.sh.erb ├── login_banner │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start.sh.erb ├── modprobe │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start.erb ├── monit │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start ├── ntpdate │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start.erb ├── post-deploy-script │ ├── monit │ ├── spec │ └── templates │ │ └── post-deploy.sh ├── post-stop-script │ ├── monit │ ├── spec │ └── templates │ │ └── post-stop.sh ├── pre-start-script │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start.sh ├── pre-stop-script │ ├── monit │ ├── spec │ └── templates │ │ └── pre-stop.sh ├── resolv │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start.sh.erb ├── sysctl │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start.sh.erb ├── tcp_keepalive │ ├── monit │ ├── spec │ └── templates │ │ └── pre-start.sh.erb └── user_add │ ├── monit │ ├── spec │ └── templates │ └── pre-start.sh.erb ├── manifests └── limits.yml ├── packages └── .gitkeep ├── releases └── os-conf │ ├── index.yml │ ├── os-conf-1.yml │ ├── os-conf-10.yml │ ├── os-conf-11.yml │ ├── os-conf-12.yml │ ├── os-conf-13.yml │ ├── os-conf-14.yml │ ├── os-conf-15.yml │ ├── os-conf-16.yml │ ├── os-conf-17.yml │ ├── os-conf-18.yml │ ├── os-conf-19.yml │ ├── os-conf-2.yml │ ├── os-conf-20.0.0.yml │ ├── os-conf-20.yml │ ├── os-conf-21.0.0.yml │ ├── os-conf-22.0.0.yml │ ├── os-conf-22.1.0.yml │ ├── os-conf-22.1.1.yml │ ├── os-conf-22.1.2.yml │ ├── os-conf-22.1.3.yml │ ├── os-conf-22.2.0.yml │ ├── os-conf-22.2.1.yml │ ├── os-conf-22.3.0.yml │ ├── os-conf-22.3.1.yml │ ├── os-conf-23.0.0.yml │ ├── os-conf-3.yml │ ├── os-conf-4.yml │ ├── os-conf-5.yml │ ├── os-conf-6.yml │ ├── os-conf-7.yml │ ├── os-conf-8.yml │ └── os-conf-9.yml ├── sbin └── test-acceptance.sh └── src ├── .gitkeep └── os-conf-acceptance-tests ├── assets └── manifest.yml ├── auditd_test.go ├── ca_certs_test.go ├── disable_agent_test.go ├── go.mod ├── go.sum ├── harden_sshd_test.go ├── limits_not_recommended_test.go ├── limits_test.go ├── login_banner_test.go ├── modprobe_test.go ├── monit_test.go ├── ntpdate_test.go ├── os_conf_acceptance_tests_suite_test.go ├── pre_start_script_test.go ├── resolv_test.go ├── sysctl_test.go ├── tcp_keepalive_test.go ├── tools └── tools.go ├── user_add_test.go └── vendor ├── github.com ├── Masterminds │ └── semver │ │ └── v3 │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Makefile │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── collection.go │ │ ├── constraints.go │ │ ├── doc.go │ │ └── version.go ├── go-logr │ └── logr │ │ ├── .golangci.yaml │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── context.go │ │ ├── context_noslog.go │ │ ├── context_slog.go │ │ ├── discard.go │ │ ├── funcr │ │ ├── funcr.go │ │ └── slogsink.go │ │ ├── logr.go │ │ ├── sloghandler.go │ │ ├── slogr.go │ │ └── slogsink.go ├── go-task │ └── slim-sprig │ │ └── v3 │ │ ├── .editorconfig │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── Taskfile.yml │ │ ├── crypto.go │ │ ├── date.go │ │ ├── defaults.go │ │ ├── dict.go │ │ ├── doc.go │ │ ├── functions.go │ │ ├── list.go │ │ ├── network.go │ │ ├── numeric.go │ │ ├── reflect.go │ │ ├── regex.go │ │ ├── strings.go │ │ └── url.go ├── google │ ├── go-cmp │ │ ├── LICENSE │ │ └── cmp │ │ │ ├── compare.go │ │ │ ├── export.go │ │ │ ├── internal │ │ │ ├── diff │ │ │ │ ├── debug_disable.go │ │ │ │ ├── debug_enable.go │ │ │ │ └── diff.go │ │ │ ├── flags │ │ │ │ └── flags.go │ │ │ ├── function │ │ │ │ └── func.go │ │ │ └── value │ │ │ │ ├── name.go │ │ │ │ ├── pointer.go │ │ │ │ └── sort.go │ │ │ ├── options.go │ │ │ ├── path.go │ │ │ ├── report.go │ │ │ ├── report_compare.go │ │ │ ├── report_references.go │ │ │ ├── report_reflect.go │ │ │ ├── report_slices.go │ │ │ ├── report_text.go │ │ │ └── report_value.go │ └── pprof │ │ ├── AUTHORS │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ └── profile │ │ ├── encode.go │ │ ├── filter.go │ │ ├── index.go │ │ ├── legacy_java_profile.go │ │ ├── legacy_profile.go │ │ ├── merge.go │ │ ├── profile.go │ │ ├── proto.go │ │ └── prune.go └── onsi │ ├── ginkgo │ └── v2 │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── RELEASING.md │ │ ├── config │ │ └── deprecated.go │ │ ├── core_dsl.go │ │ ├── decorator_dsl.go │ │ ├── deprecated_dsl.go │ │ ├── formatter │ │ ├── colorable_others.go │ │ ├── colorable_windows.go │ │ └── formatter.go │ │ ├── ginkgo │ │ ├── build │ │ │ └── build_command.go │ │ ├── command │ │ │ ├── abort.go │ │ │ ├── command.go │ │ │ └── program.go │ │ ├── generators │ │ │ ├── boostrap_templates.go │ │ │ ├── bootstrap_command.go │ │ │ ├── generate_command.go │ │ │ ├── generate_templates.go │ │ │ └── generators_common.go │ │ ├── internal │ │ │ ├── compile.go │ │ │ ├── gocovmerge.go │ │ │ ├── profiles_and_reports.go │ │ │ ├── run.go │ │ │ ├── test_suite.go │ │ │ ├── utils.go │ │ │ └── verify_version.go │ │ ├── labels │ │ │ └── labels_command.go │ │ ├── main.go │ │ ├── maxprocs.go │ │ ├── outline │ │ │ ├── ginkgo.go │ │ │ ├── import.go │ │ │ ├── outline.go │ │ │ └── outline_command.go │ │ ├── run │ │ │ └── run_command.go │ │ ├── unfocus │ │ │ └── unfocus_command.go │ │ └── watch │ │ │ ├── delta.go │ │ │ ├── delta_tracker.go │ │ │ ├── dependencies.go │ │ │ ├── package_hash.go │ │ │ ├── package_hashes.go │ │ │ ├── suite.go │ │ │ └── watch_command.go │ │ ├── ginkgo_cli_dependencies.go │ │ ├── ginkgo_t_dsl.go │ │ ├── internal │ │ ├── around_node.go │ │ ├── counter.go │ │ ├── failer.go │ │ ├── focus.go │ │ ├── global │ │ │ └── init.go │ │ ├── group.go │ │ ├── interrupt_handler │ │ │ ├── interrupt_handler.go │ │ │ ├── sigquit_swallower_unix.go │ │ │ └── sigquit_swallower_windows.go │ │ ├── node.go │ │ ├── ordering.go │ │ ├── output_interceptor.go │ │ ├── output_interceptor_unix.go │ │ ├── output_interceptor_wasm.go │ │ ├── output_interceptor_win.go │ │ ├── parallel_support │ │ │ ├── client_server.go │ │ │ ├── http_client.go │ │ │ ├── http_server.go │ │ │ ├── rpc_client.go │ │ │ ├── rpc_server.go │ │ │ └── server_handler.go │ │ ├── progress_report.go │ │ ├── progress_report_bsd.go │ │ ├── progress_report_unix.go │ │ ├── progress_report_wasm.go │ │ ├── progress_report_win.go │ │ ├── progress_reporter_manager.go │ │ ├── report_entry.go │ │ ├── reporters │ │ │ ├── gojson.go │ │ │ ├── gojson_event_writer.go │ │ │ └── gojson_reporter.go │ │ ├── spec.go │ │ ├── spec_context.go │ │ ├── suite.go │ │ ├── testingtproxy │ │ │ └── testing_t_proxy.go │ │ ├── tree.go │ │ └── writer.go │ │ ├── reporters │ │ ├── default_reporter.go │ │ ├── deprecated_reporter.go │ │ ├── gojson_report.go │ │ ├── json_report.go │ │ ├── junit_report.go │ │ ├── reporter.go │ │ └── teamcity_report.go │ │ ├── reporting_dsl.go │ │ ├── table_dsl.go │ │ └── types │ │ ├── around_node.go │ │ ├── code_location.go │ │ ├── config.go │ │ ├── deprecated_types.go │ │ ├── deprecation_support.go │ │ ├── enum_support.go │ │ ├── errors.go │ │ ├── file_filter.go │ │ ├── flags.go │ │ ├── label_filter.go │ │ ├── report_entry.go │ │ ├── semver_filter.go │ │ ├── types.go │ │ └── version.go │ └── gomega │ ├── .gitignore │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── README.md │ ├── RELEASING.md │ ├── format │ └── format.go │ ├── gbytes │ ├── buffer.go │ ├── io_wrappers.go │ └── say_matcher.go │ ├── gexec │ ├── build.go │ ├── exit_matcher.go │ ├── prefixed_writer.go │ └── session.go │ ├── gomega_dsl.go │ ├── internal │ ├── assertion.go │ ├── async_assertion.go │ ├── duration_bundle.go │ ├── gomega.go │ ├── gutil │ │ ├── post_ioutil.go │ │ └── using_ioutil.go │ ├── polling_signal_error.go │ └── vetoptdesc.go │ ├── matchers.go │ ├── matchers │ ├── and.go │ ├── assignable_to_type_of_matcher.go │ ├── attributes_slice.go │ ├── be_a_directory.go │ ├── be_a_regular_file.go │ ├── be_an_existing_file.go │ ├── be_closed_matcher.go │ ├── be_comparable_to_matcher.go │ ├── be_element_of_matcher.go │ ├── be_empty_matcher.go │ ├── be_equivalent_to_matcher.go │ ├── be_false_matcher.go │ ├── be_identical_to.go │ ├── be_key_of_matcher.go │ ├── be_nil_matcher.go │ ├── be_numerically_matcher.go │ ├── be_sent_matcher.go │ ├── be_temporally_matcher.go │ ├── be_true_matcher.go │ ├── be_zero_matcher.go │ ├── consist_of.go │ ├── contain_element_matcher.go │ ├── contain_elements_matcher.go │ ├── contain_substring_matcher.go │ ├── equal_matcher.go │ ├── have_cap_matcher.go │ ├── have_each_matcher.go │ ├── have_exact_elements.go │ ├── have_existing_field_matcher.go │ ├── have_field.go │ ├── have_http_body_matcher.go │ ├── have_http_header_with_value_matcher.go │ ├── have_http_status_matcher.go │ ├── have_key_matcher.go │ ├── have_key_with_value_matcher.go │ ├── have_len_matcher.go │ ├── have_occurred_matcher.go │ ├── have_prefix_matcher.go │ ├── have_suffix_matcher.go │ ├── have_value.go │ ├── internal │ │ └── miter │ │ │ ├── type_support_iter.go │ │ │ └── type_support_noiter.go │ ├── match_error_matcher.go │ ├── match_json_matcher.go │ ├── match_regexp_matcher.go │ ├── match_xml_matcher.go │ ├── match_yaml_matcher.go │ ├── not.go │ ├── or.go │ ├── panic_matcher.go │ ├── receive_matcher.go │ ├── satisfy_matcher.go │ ├── semi_structured_data_support.go │ ├── succeed_matcher.go │ ├── support │ │ └── goraph │ │ │ ├── bipartitegraph │ │ │ ├── bipartitegraph.go │ │ │ └── bipartitegraphmatching.go │ │ │ ├── edge │ │ │ └── edge.go │ │ │ ├── node │ │ │ └── node.go │ │ │ └── util │ │ │ └── util.go │ ├── type_support.go │ └── with_transform.go │ └── types │ └── types.go ├── go.uber.org └── automaxprocs │ ├── .codecov.yml │ ├── .gitignore │ ├── CHANGELOG.md │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── automaxprocs.go │ ├── internal │ ├── cgroups │ │ ├── cgroup.go │ │ ├── cgroups.go │ │ ├── cgroups2.go │ │ ├── doc.go │ │ ├── errors.go │ │ ├── mountpoint.go │ │ └── subsys.go │ └── runtime │ │ ├── cpu_quota_linux.go │ │ ├── cpu_quota_unsupported.go │ │ └── runtime.go │ └── maxprocs │ ├── maxprocs.go │ └── version.go ├── go.yaml.in └── yaml │ └── v3 │ ├── LICENSE │ ├── NOTICE │ ├── README.md │ ├── apic.go │ ├── decode.go │ ├── emitterc.go │ ├── encode.go │ ├── parserc.go │ ├── readerc.go │ ├── resolve.go │ ├── scannerc.go │ ├── sorter.go │ ├── writerc.go │ ├── yaml.go │ ├── yamlh.go │ └── yamlprivateh.go ├── golang.org └── x │ ├── mod │ ├── LICENSE │ ├── PATENTS │ └── semver │ │ └── semver.go │ ├── net │ ├── LICENSE │ ├── PATENTS │ └── html │ │ ├── atom │ │ ├── atom.go │ │ └── table.go │ │ ├── charset │ │ └── charset.go │ │ ├── const.go │ │ ├── doc.go │ │ ├── doctype.go │ │ ├── entity.go │ │ ├── escape.go │ │ ├── foreign.go │ │ ├── iter.go │ │ ├── node.go │ │ ├── parse.go │ │ ├── render.go │ │ └── token.go │ ├── sync │ ├── LICENSE │ ├── PATENTS │ └── errgroup │ │ └── errgroup.go │ ├── sys │ ├── LICENSE │ ├── PATENTS │ └── unix │ │ ├── .gitignore │ │ ├── README.md │ │ ├── affinity_linux.go │ │ ├── aliases.go │ │ ├── asm_aix_ppc64.s │ │ ├── asm_bsd_386.s │ │ ├── asm_bsd_amd64.s │ │ ├── asm_bsd_arm.s │ │ ├── asm_bsd_arm64.s │ │ ├── asm_bsd_ppc64.s │ │ ├── asm_bsd_riscv64.s │ │ ├── asm_linux_386.s │ │ ├── asm_linux_amd64.s │ │ ├── asm_linux_arm.s │ │ ├── asm_linux_arm64.s │ │ ├── asm_linux_loong64.s │ │ ├── asm_linux_mips64x.s │ │ ├── asm_linux_mipsx.s │ │ ├── asm_linux_ppc64x.s │ │ ├── asm_linux_riscv64.s │ │ ├── asm_linux_s390x.s │ │ ├── asm_openbsd_mips64.s │ │ ├── asm_solaris_amd64.s │ │ ├── asm_zos_s390x.s │ │ ├── auxv.go │ │ ├── auxv_unsupported.go │ │ ├── bluetooth_linux.go │ │ ├── bpxsvc_zos.go │ │ ├── bpxsvc_zos.s │ │ ├── cap_freebsd.go │ │ ├── constants.go │ │ ├── dev_aix_ppc.go │ │ ├── dev_aix_ppc64.go │ │ ├── dev_darwin.go │ │ ├── dev_dragonfly.go │ │ ├── dev_freebsd.go │ │ ├── dev_linux.go │ │ ├── dev_netbsd.go │ │ ├── dev_openbsd.go │ │ ├── dev_zos.go │ │ ├── dirent.go │ │ ├── endian_big.go │ │ ├── endian_little.go │ │ ├── env_unix.go │ │ ├── fcntl.go │ │ ├── fcntl_darwin.go │ │ ├── fcntl_linux_32bit.go │ │ ├── fdset.go │ │ ├── gccgo.go │ │ ├── gccgo_c.c │ │ ├── gccgo_linux_amd64.go │ │ ├── ifreq_linux.go │ │ ├── ioctl_linux.go │ │ ├── ioctl_signed.go │ │ ├── ioctl_unsigned.go │ │ ├── ioctl_zos.go │ │ ├── mkall.sh │ │ ├── mkerrors.sh │ │ ├── mmap_nomremap.go │ │ ├── mremap.go │ │ ├── pagesize_unix.go │ │ ├── pledge_openbsd.go │ │ ├── ptrace_darwin.go │ │ ├── ptrace_ios.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── readdirent_getdents.go │ │ ├── readdirent_getdirentries.go │ │ ├── sockcmsg_dragonfly.go │ │ ├── sockcmsg_linux.go │ │ ├── sockcmsg_unix.go │ │ ├── sockcmsg_unix_other.go │ │ ├── sockcmsg_zos.go │ │ ├── symaddr_zos_s390x.s │ │ ├── syscall.go │ │ ├── syscall_aix.go │ │ ├── syscall_aix_ppc.go │ │ ├── syscall_aix_ppc64.go │ │ ├── syscall_bsd.go │ │ ├── syscall_darwin.go │ │ ├── syscall_darwin_amd64.go │ │ ├── syscall_darwin_arm64.go │ │ ├── syscall_darwin_libSystem.go │ │ ├── syscall_dragonfly.go │ │ ├── syscall_dragonfly_amd64.go │ │ ├── syscall_freebsd.go │ │ ├── syscall_freebsd_386.go │ │ ├── syscall_freebsd_amd64.go │ │ ├── syscall_freebsd_arm.go │ │ ├── syscall_freebsd_arm64.go │ │ ├── syscall_freebsd_riscv64.go │ │ ├── syscall_hurd.go │ │ ├── syscall_hurd_386.go │ │ ├── syscall_illumos.go │ │ ├── syscall_linux.go │ │ ├── syscall_linux_386.go │ │ ├── syscall_linux_alarm.go │ │ ├── syscall_linux_amd64.go │ │ ├── syscall_linux_amd64_gc.go │ │ ├── syscall_linux_arm.go │ │ ├── syscall_linux_arm64.go │ │ ├── syscall_linux_gc.go │ │ ├── syscall_linux_gc_386.go │ │ ├── syscall_linux_gc_arm.go │ │ ├── syscall_linux_gccgo_386.go │ │ ├── syscall_linux_gccgo_arm.go │ │ ├── syscall_linux_loong64.go │ │ ├── syscall_linux_mips64x.go │ │ ├── syscall_linux_mipsx.go │ │ ├── syscall_linux_ppc.go │ │ ├── syscall_linux_ppc64x.go │ │ ├── syscall_linux_riscv64.go │ │ ├── syscall_linux_s390x.go │ │ ├── syscall_linux_sparc64.go │ │ ├── syscall_netbsd.go │ │ ├── syscall_netbsd_386.go │ │ ├── syscall_netbsd_amd64.go │ │ ├── syscall_netbsd_arm.go │ │ ├── syscall_netbsd_arm64.go │ │ ├── syscall_openbsd.go │ │ ├── syscall_openbsd_386.go │ │ ├── syscall_openbsd_amd64.go │ │ ├── syscall_openbsd_arm.go │ │ ├── syscall_openbsd_arm64.go │ │ ├── syscall_openbsd_libc.go │ │ ├── syscall_openbsd_mips64.go │ │ ├── syscall_openbsd_ppc64.go │ │ ├── syscall_openbsd_riscv64.go │ │ ├── syscall_solaris.go │ │ ├── syscall_solaris_amd64.go │ │ ├── syscall_unix.go │ │ ├── syscall_unix_gc.go │ │ ├── syscall_unix_gc_ppc64x.go │ │ ├── syscall_zos_s390x.go │ │ ├── sysvshm_linux.go │ │ ├── sysvshm_unix.go │ │ ├── sysvshm_unix_other.go │ │ ├── timestruct.go │ │ ├── unveil_openbsd.go │ │ ├── vgetrandom_linux.go │ │ ├── vgetrandom_unsupported.go │ │ ├── xattr_bsd.go │ │ ├── zerrors_aix_ppc.go │ │ ├── zerrors_aix_ppc64.go │ │ ├── zerrors_darwin_amd64.go │ │ ├── zerrors_darwin_arm64.go │ │ ├── zerrors_dragonfly_amd64.go │ │ ├── zerrors_freebsd_386.go │ │ ├── zerrors_freebsd_amd64.go │ │ ├── zerrors_freebsd_arm.go │ │ ├── zerrors_freebsd_arm64.go │ │ ├── zerrors_freebsd_riscv64.go │ │ ├── zerrors_linux.go │ │ ├── zerrors_linux_386.go │ │ ├── zerrors_linux_amd64.go │ │ ├── zerrors_linux_arm.go │ │ ├── zerrors_linux_arm64.go │ │ ├── zerrors_linux_loong64.go │ │ ├── zerrors_linux_mips.go │ │ ├── zerrors_linux_mips64.go │ │ ├── zerrors_linux_mips64le.go │ │ ├── zerrors_linux_mipsle.go │ │ ├── zerrors_linux_ppc.go │ │ ├── zerrors_linux_ppc64.go │ │ ├── zerrors_linux_ppc64le.go │ │ ├── zerrors_linux_riscv64.go │ │ ├── zerrors_linux_s390x.go │ │ ├── zerrors_linux_sparc64.go │ │ ├── zerrors_netbsd_386.go │ │ ├── zerrors_netbsd_amd64.go │ │ ├── zerrors_netbsd_arm.go │ │ ├── zerrors_netbsd_arm64.go │ │ ├── zerrors_openbsd_386.go │ │ ├── zerrors_openbsd_amd64.go │ │ ├── zerrors_openbsd_arm.go │ │ ├── zerrors_openbsd_arm64.go │ │ ├── zerrors_openbsd_mips64.go │ │ ├── zerrors_openbsd_ppc64.go │ │ ├── zerrors_openbsd_riscv64.go │ │ ├── zerrors_solaris_amd64.go │ │ ├── zerrors_zos_s390x.go │ │ ├── zptrace_armnn_linux.go │ │ ├── zptrace_linux_arm64.go │ │ ├── zptrace_mipsnn_linux.go │ │ ├── zptrace_mipsnnle_linux.go │ │ ├── zptrace_x86_linux.go │ │ ├── zsymaddr_zos_s390x.s │ │ ├── zsyscall_aix_ppc.go │ │ ├── zsyscall_aix_ppc64.go │ │ ├── zsyscall_aix_ppc64_gc.go │ │ ├── zsyscall_aix_ppc64_gccgo.go │ │ ├── zsyscall_darwin_amd64.go │ │ ├── zsyscall_darwin_amd64.s │ │ ├── zsyscall_darwin_arm64.go │ │ ├── zsyscall_darwin_arm64.s │ │ ├── zsyscall_dragonfly_amd64.go │ │ ├── zsyscall_freebsd_386.go │ │ ├── zsyscall_freebsd_amd64.go │ │ ├── zsyscall_freebsd_arm.go │ │ ├── zsyscall_freebsd_arm64.go │ │ ├── zsyscall_freebsd_riscv64.go │ │ ├── zsyscall_illumos_amd64.go │ │ ├── zsyscall_linux.go │ │ ├── zsyscall_linux_386.go │ │ ├── zsyscall_linux_amd64.go │ │ ├── zsyscall_linux_arm.go │ │ ├── zsyscall_linux_arm64.go │ │ ├── zsyscall_linux_loong64.go │ │ ├── zsyscall_linux_mips.go │ │ ├── zsyscall_linux_mips64.go │ │ ├── zsyscall_linux_mips64le.go │ │ ├── zsyscall_linux_mipsle.go │ │ ├── zsyscall_linux_ppc.go │ │ ├── zsyscall_linux_ppc64.go │ │ ├── zsyscall_linux_ppc64le.go │ │ ├── zsyscall_linux_riscv64.go │ │ ├── zsyscall_linux_s390x.go │ │ ├── zsyscall_linux_sparc64.go │ │ ├── zsyscall_netbsd_386.go │ │ ├── zsyscall_netbsd_amd64.go │ │ ├── zsyscall_netbsd_arm.go │ │ ├── zsyscall_netbsd_arm64.go │ │ ├── zsyscall_openbsd_386.go │ │ ├── zsyscall_openbsd_386.s │ │ ├── zsyscall_openbsd_amd64.go │ │ ├── zsyscall_openbsd_amd64.s │ │ ├── zsyscall_openbsd_arm.go │ │ ├── zsyscall_openbsd_arm.s │ │ ├── zsyscall_openbsd_arm64.go │ │ ├── zsyscall_openbsd_arm64.s │ │ ├── zsyscall_openbsd_mips64.go │ │ ├── zsyscall_openbsd_mips64.s │ │ ├── zsyscall_openbsd_ppc64.go │ │ ├── zsyscall_openbsd_ppc64.s │ │ ├── zsyscall_openbsd_riscv64.go │ │ ├── zsyscall_openbsd_riscv64.s │ │ ├── zsyscall_solaris_amd64.go │ │ ├── zsyscall_zos_s390x.go │ │ ├── zsysctl_openbsd_386.go │ │ ├── zsysctl_openbsd_amd64.go │ │ ├── zsysctl_openbsd_arm.go │ │ ├── zsysctl_openbsd_arm64.go │ │ ├── zsysctl_openbsd_mips64.go │ │ ├── zsysctl_openbsd_ppc64.go │ │ ├── zsysctl_openbsd_riscv64.go │ │ ├── zsysnum_darwin_amd64.go │ │ ├── zsysnum_darwin_arm64.go │ │ ├── zsysnum_dragonfly_amd64.go │ │ ├── zsysnum_freebsd_386.go │ │ ├── zsysnum_freebsd_amd64.go │ │ ├── zsysnum_freebsd_arm.go │ │ ├── zsysnum_freebsd_arm64.go │ │ ├── zsysnum_freebsd_riscv64.go │ │ ├── zsysnum_linux_386.go │ │ ├── zsysnum_linux_amd64.go │ │ ├── zsysnum_linux_arm.go │ │ ├── zsysnum_linux_arm64.go │ │ ├── zsysnum_linux_loong64.go │ │ ├── zsysnum_linux_mips.go │ │ ├── zsysnum_linux_mips64.go │ │ ├── zsysnum_linux_mips64le.go │ │ ├── zsysnum_linux_mipsle.go │ │ ├── zsysnum_linux_ppc.go │ │ ├── zsysnum_linux_ppc64.go │ │ ├── zsysnum_linux_ppc64le.go │ │ ├── zsysnum_linux_riscv64.go │ │ ├── zsysnum_linux_s390x.go │ │ ├── zsysnum_linux_sparc64.go │ │ ├── zsysnum_netbsd_386.go │ │ ├── zsysnum_netbsd_amd64.go │ │ ├── zsysnum_netbsd_arm.go │ │ ├── zsysnum_netbsd_arm64.go │ │ ├── zsysnum_openbsd_386.go │ │ ├── zsysnum_openbsd_amd64.go │ │ ├── zsysnum_openbsd_arm.go │ │ ├── zsysnum_openbsd_arm64.go │ │ ├── zsysnum_openbsd_mips64.go │ │ ├── zsysnum_openbsd_ppc64.go │ │ ├── zsysnum_openbsd_riscv64.go │ │ ├── zsysnum_zos_s390x.go │ │ ├── ztypes_aix_ppc.go │ │ ├── ztypes_aix_ppc64.go │ │ ├── ztypes_darwin_amd64.go │ │ ├── ztypes_darwin_arm64.go │ │ ├── ztypes_dragonfly_amd64.go │ │ ├── ztypes_freebsd_386.go │ │ ├── ztypes_freebsd_amd64.go │ │ ├── ztypes_freebsd_arm.go │ │ ├── ztypes_freebsd_arm64.go │ │ ├── ztypes_freebsd_riscv64.go │ │ ├── ztypes_linux.go │ │ ├── ztypes_linux_386.go │ │ ├── ztypes_linux_amd64.go │ │ ├── ztypes_linux_arm.go │ │ ├── ztypes_linux_arm64.go │ │ ├── ztypes_linux_loong64.go │ │ ├── ztypes_linux_mips.go │ │ ├── ztypes_linux_mips64.go │ │ ├── ztypes_linux_mips64le.go │ │ ├── ztypes_linux_mipsle.go │ │ ├── ztypes_linux_ppc.go │ │ ├── ztypes_linux_ppc64.go │ │ ├── ztypes_linux_ppc64le.go │ │ ├── ztypes_linux_riscv64.go │ │ ├── ztypes_linux_s390x.go │ │ ├── ztypes_linux_sparc64.go │ │ ├── ztypes_netbsd_386.go │ │ ├── ztypes_netbsd_amd64.go │ │ ├── ztypes_netbsd_arm.go │ │ ├── ztypes_netbsd_arm64.go │ │ ├── ztypes_openbsd_386.go │ │ ├── ztypes_openbsd_amd64.go │ │ ├── ztypes_openbsd_arm.go │ │ ├── ztypes_openbsd_arm64.go │ │ ├── ztypes_openbsd_mips64.go │ │ ├── ztypes_openbsd_ppc64.go │ │ ├── ztypes_openbsd_riscv64.go │ │ ├── ztypes_solaris_amd64.go │ │ └── ztypes_zos_s390x.go │ ├── text │ ├── LICENSE │ ├── PATENTS │ ├── encoding │ │ ├── charmap │ │ │ ├── charmap.go │ │ │ └── tables.go │ │ ├── encoding.go │ │ ├── htmlindex │ │ │ ├── htmlindex.go │ │ │ ├── map.go │ │ │ └── tables.go │ │ ├── internal │ │ │ ├── identifier │ │ │ │ ├── identifier.go │ │ │ │ └── mib.go │ │ │ └── internal.go │ │ ├── japanese │ │ │ ├── all.go │ │ │ ├── eucjp.go │ │ │ ├── iso2022jp.go │ │ │ ├── shiftjis.go │ │ │ └── tables.go │ │ ├── korean │ │ │ ├── euckr.go │ │ │ └── tables.go │ │ ├── simplifiedchinese │ │ │ ├── all.go │ │ │ ├── gbk.go │ │ │ ├── hzgb2312.go │ │ │ └── tables.go │ │ ├── traditionalchinese │ │ │ ├── big5.go │ │ │ └── tables.go │ │ └── unicode │ │ │ ├── override.go │ │ │ └── unicode.go │ ├── internal │ │ ├── language │ │ │ ├── common.go │ │ │ ├── compact.go │ │ │ ├── compact │ │ │ │ ├── compact.go │ │ │ │ ├── language.go │ │ │ │ ├── parents.go │ │ │ │ ├── tables.go │ │ │ │ └── tags.go │ │ │ ├── compose.go │ │ │ ├── coverage.go │ │ │ ├── language.go │ │ │ ├── lookup.go │ │ │ ├── match.go │ │ │ ├── parse.go │ │ │ ├── tables.go │ │ │ └── tags.go │ │ ├── tag │ │ │ └── tag.go │ │ └── utf8internal │ │ │ └── utf8internal.go │ ├── language │ │ ├── coverage.go │ │ ├── doc.go │ │ ├── language.go │ │ ├── match.go │ │ ├── parse.go │ │ ├── tables.go │ │ └── tags.go │ ├── runes │ │ ├── cond.go │ │ └── runes.go │ └── transform │ │ └── transform.go │ └── tools │ ├── LICENSE │ ├── PATENTS │ ├── cover │ └── profile.go │ ├── go │ ├── ast │ │ ├── edge │ │ │ └── edge.go │ │ └── inspector │ │ │ ├── cursor.go │ │ │ ├── inspector.go │ │ │ ├── iter.go │ │ │ ├── typeof.go │ │ │ └── walk.go │ ├── gcexportdata │ │ ├── gcexportdata.go │ │ └── importer.go │ ├── packages │ │ ├── doc.go │ │ ├── external.go │ │ ├── golist.go │ │ ├── golist_overlay.go │ │ ├── loadmode_string.go │ │ ├── packages.go │ │ └── visit.go │ └── types │ │ ├── objectpath │ │ └── objectpath.go │ │ └── typeutil │ │ ├── callee.go │ │ ├── imports.go │ │ ├── map.go │ │ ├── methodsetcache.go │ │ └── ui.go │ └── internal │ ├── aliases │ ├── aliases.go │ └── aliases_go122.go │ ├── event │ ├── core │ │ ├── event.go │ │ ├── export.go │ │ └── fast.go │ ├── doc.go │ ├── event.go │ ├── keys │ │ ├── keys.go │ │ ├── standard.go │ │ └── util.go │ └── label │ │ └── label.go │ ├── gcimporter │ ├── bimport.go │ ├── exportdata.go │ ├── gcimporter.go │ ├── iexport.go │ ├── iimport.go │ ├── iimport_go122.go │ ├── predeclared.go │ ├── support.go │ └── ureader_yes.go │ ├── gocommand │ ├── invoke.go │ ├── invoke_notunix.go │ ├── invoke_unix.go │ ├── vendor.go │ └── version.go │ ├── packagesinternal │ └── packages.go │ ├── pkgbits │ ├── codes.go │ ├── decoder.go │ ├── doc.go │ ├── encoder.go │ ├── flags.go │ ├── reloc.go │ ├── support.go │ ├── sync.go │ ├── syncmarker_string.go │ └── version.go │ ├── stdlib │ ├── deps.go │ ├── import.go │ ├── manifest.go │ └── stdlib.go │ ├── typeparams │ ├── common.go │ ├── coretype.go │ ├── free.go │ ├── normalize.go │ ├── termlist.go │ └── typeterm.go │ ├── typesinternal │ ├── classify_call.go │ ├── element.go │ ├── errorcode.go │ ├── errorcode_string.go │ ├── qualifier.go │ ├── recv.go │ ├── toonew.go │ ├── types.go │ ├── varkind.go │ └── zerovalue.go │ └── versions │ ├── features.go │ ├── gover.go │ ├── types.go │ └── versions.go └── modules.txt /.envrc: -------------------------------------------------------------------------------- 1 | export GOPATH=$PWD 2 | mkdir -p $GOPATH/bin 3 | export PATH=$GOPATH/bin:$PATH 4 | -------------------------------------------------------------------------------- /.final_builds/jobs/auditd/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 10299ca2f0251157c7e106b036d217e489fed8bc: 3 | version: 10299ca2f0251157c7e106b036d217e489fed8bc 4 | blobstore_id: adb04084-a455-47a0-7e54-ad6fe3bae921 5 | sha1: 42bd9f019a5b2d483218b242be74d2d12db67bb7 6 | 787f2aaf82c9f65cc865dc90ac1f453939405363: 7 | version: 787f2aaf82c9f65cc865dc90ac1f453939405363 8 | blobstore_id: 7695d376-50f7-4264-4912-6899e9b3c3e7 9 | sha1: 7327c82c682a7141ddd217243556ef680f1d625d 10 | 85c4c1c110a27c8b6330c3fa8d4863c8ac209813964e0138b767dd2b4f971185: 11 | version: 85c4c1c110a27c8b6330c3fa8d4863c8ac209813964e0138b767dd2b4f971185 12 | blobstore_id: dd57ecd4-2862-4946-648c-06afa3b733a3 13 | sha1: sha256:4700243947e2ec6d2016b2f34e41c41b30da97655b9d7a4ac99d97f7905017ce 14 | d7d7505e83e43462a60d04516185df4c203c0a58: 15 | version: d7d7505e83e43462a60d04516185df4c203c0a58 16 | blobstore_id: 3d7349b0-058c-4387-70e2-4bcf564449e2 17 | sha1: ce32880f9a9faf3979b9582ea50bc3a62c41d23c 18 | format-version: "2" 19 | -------------------------------------------------------------------------------- /.final_builds/jobs/ca_certs/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 48424b102b88233b3d7785fba40dc9a41862398d: 3 | version: 48424b102b88233b3d7785fba40dc9a41862398d 4 | blobstore_id: 1b951013-5d91-41ac-46a0-952b3e7c5003 5 | sha1: 8a8d627ee726c566fde61866bddfbec4e8371c20 6 | 5b9babf40d3805c0f9d22fdb929facafc0b9bf8957f6f3624ebe9080e1ea3074: 7 | version: 5b9babf40d3805c0f9d22fdb929facafc0b9bf8957f6f3624ebe9080e1ea3074 8 | blobstore_id: 6278d584-ea3c-4bef-4738-23465ad1f64b 9 | sha1: sha256:69e5c0084f3d0a48a0c8bb35642a694e748c02740d09189a5b3560dd8378f1be 10 | b80725fed017fedeb1a25132007d523b086aa1fe: 11 | version: b80725fed017fedeb1a25132007d523b086aa1fe 12 | blobstore_id: a2a95bbd-b595-4d35-4ca1-10b5ef79d3e2 13 | sha1: 59ea8010821d5ef38a6b3865459028f8ce8d29c2 14 | c72af56d2bbcd250497d835fab47b93d97acedca: 15 | version: c72af56d2bbcd250497d835fab47b93d97acedca 16 | blobstore_id: cb76c0b5-fb28-4558-77f6-a1b6e51718b6 17 | sha1: 6509e17936399caf90449db8afa0b50389caca08 18 | format-version: "2" 19 | -------------------------------------------------------------------------------- /.final_builds/jobs/disable_agent/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 04d8f9bd5d343057f49cf206defb8b320ef28650: 3 | version: 04d8f9bd5d343057f49cf206defb8b320ef28650 4 | blobstore_id: 8f03456e-0ce6-485c-71d6-fa44fcfabf2c 5 | sha1: 781c95ecd90b62cbf05b29a3509ae6d509a57985 6 | 1ae7348ec77f0cee4a0958495405956bca655e4a: 7 | version: 1ae7348ec77f0cee4a0958495405956bca655e4a 8 | blobstore_id: 63854cee-fd69-425c-741f-d3d62a5e08a6 9 | sha1: 14d9de71b8a43c622f6f9e972adb566a46af55fb 10 | 7138085404a3442d3d0b6315287d0d9698ff119a: 11 | version: 7138085404a3442d3d0b6315287d0d9698ff119a 12 | blobstore_id: 7ee89921-5317-42f6-5d26-3238f94acb14 13 | sha1: 47d91d3d3f1f912ea1638965a44537ce23321037 14 | e4ea44eaa40ffb66bdd03c1f84ad1592b3cdf417: 15 | version: e4ea44eaa40ffb66bdd03c1f84ad1592b3cdf417 16 | blobstore_id: 8221bc3c-2520-4ea7-433c-45cd67f58ce5 17 | sha1: 024476f6c62e02217df91779fe716bd9e3f8d94f 18 | f568f6dc59616f8cc94a87d604721fc4d0c6d40d180149537cad6063d92ee8e4: 19 | version: f568f6dc59616f8cc94a87d604721fc4d0c6d40d180149537cad6063d92ee8e4 20 | blobstore_id: 9af56ab2-7800-4844-75aa-b545f617f56b 21 | sha1: sha256:ee8a97a8dc3a127c8fa4786feaf255b904018464a1d9d87b184927251158964a 22 | format-version: "2" 23 | -------------------------------------------------------------------------------- /.final_builds/jobs/enable_ipv6/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 05dbeb548579bc5ff9245cbd91e81c740ea3144c: 3 | version: 05dbeb548579bc5ff9245cbd91e81c740ea3144c 4 | blobstore_id: 475d0c11-736d-4fbf-51a0-b69f0885f088 5 | sha1: 297b818096d5d0a690b5392fe30e4baf247e924c 6 | format-version: "2" 7 | -------------------------------------------------------------------------------- /.final_builds/jobs/harden_sshd/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 0bd419ba365ab1e24515ae79f7dcc0305b041ca0de38c884aa5caf6c33bd6d17: 3 | version: 0bd419ba365ab1e24515ae79f7dcc0305b041ca0de38c884aa5caf6c33bd6d17 4 | blobstore_id: 25fb10f4-044a-4a92-4345-1c27d2705c0c 5 | sha1: sha256:ae9f24a520455811dd16b97b557bcea4e9aec16fcaef0782b15ced94e0bc4994 6 | 4103a0c2ad07382e5c82ae6cc03eb7df7817f8d614be4520bbf11cfe9ebd7af7: 7 | version: 4103a0c2ad07382e5c82ae6cc03eb7df7817f8d614be4520bbf11cfe9ebd7af7 8 | blobstore_id: 8b02732d-44c8-47ef-543c-55b939faab83 9 | sha1: sha256:e457881586ae196c7908ac3d838dcf82526938c07478ac8d50600269453d77d5 10 | 4d0050ef1d0bcbc668c03679648196a3ab95d94d: 11 | version: 4d0050ef1d0bcbc668c03679648196a3ab95d94d 12 | blobstore_id: f0853f2a-dff5-419b-7e83-c2d41ace3f8a 13 | sha1: 354de053909d233e7dba6932acca1823fb863c59 14 | 623f71dab0946696e3681b0bae8b82d5b493fc58: 15 | version: 623f71dab0946696e3681b0bae8b82d5b493fc58 16 | blobstore_id: ad2332f5-bb7d-4a6b-63ff-fd14bce2318e 17 | sha1: 477cc901cc643fa20da0825513d712b06fc57122 18 | format-version: "2" 19 | -------------------------------------------------------------------------------- /.final_builds/jobs/iptables/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 3008eeb14486aab40365ce0edb2f4763a8e08548bff67ad37796a1bb2f74f6ab: 3 | version: 3008eeb14486aab40365ce0edb2f4763a8e08548bff67ad37796a1bb2f74f6ab 4 | blobstore_id: 1558188d-8951-4f92-4767-704fb5c0ea97 5 | sha1: sha256:52788e08f69ac14f0bac433207545159ce29f4bc27dfc63730f669df0f7f0426 6 | format-version: "2" 7 | -------------------------------------------------------------------------------- /.final_builds/jobs/limits/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 5494f3eade356d116e1566c9b58615e103f47897: 3 | version: 5494f3eade356d116e1566c9b58615e103f47897 4 | blobstore_id: 7dd22dcf-0637-4a1c-71ce-0c6f4e6ec32f 5 | sha1: 2668b53ecb06f5d97aeb174250e283aa5dfe3152 6 | 9d1b1251f35bde8e4709e5d514fabe8b78d6f8e4e9069f3ea47d478b24b8cae8: 7 | version: 9d1b1251f35bde8e4709e5d514fabe8b78d6f8e4e9069f3ea47d478b24b8cae8 8 | blobstore_id: 5e5dddfc-b915-43ee-7b4d-273ab87dbca7 9 | sha1: sha256:6b8a1501a65bf30ceb340438460b65202f0c37a4b062c90517ecfa9ce208745f 10 | b3a0d25fef82d290c4751f3798f533c26b87e210: 11 | version: b3a0d25fef82d290c4751f3798f533c26b87e210 12 | blobstore_id: aa6d0229-9b42-4141-642e-62f5a3665353 13 | sha1: e644f6d01428b8cc59a9142c7638cfdc0fa88608 14 | format-version: "2" 15 | -------------------------------------------------------------------------------- /.final_builds/jobs/limits_not_recommended/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | b252dcf3f6ad2d2f69db30b87857cc326c8539ec: 3 | version: b252dcf3f6ad2d2f69db30b87857cc326c8539ec 4 | blobstore_id: acb949a5-8cd7-415e-6d20-e6dab92c6d08 5 | sha1: 992733f202bb44ae09c97b7f8a7ef9afc9c19793 6 | d4df0b46224e997ec46e8c1673ae8b5473bd9e5262bd8934bf4f4b7c11d597d1: 7 | version: d4df0b46224e997ec46e8c1673ae8b5473bd9e5262bd8934bf4f4b7c11d597d1 8 | blobstore_id: 6ce83a2a-0d22-42a6-58e8-3c651122fccd 9 | sha1: sha256:ed4cdcc6e43f839e6e3a24709a27fc30dec6231dc198e6e31dcb9c921bf80e07 10 | e039b1b7c85c2d9edd13647e405a7ec2ba9b1a66: 11 | version: e039b1b7c85c2d9edd13647e405a7ec2ba9b1a66 12 | blobstore_id: ec0d3df9-62f4-4f61-65cd-93bdbf657d87 13 | sha1: abab97d7a37c6c92ca0df5159e2ed5cef2c908d5 14 | format-version: "2" 15 | -------------------------------------------------------------------------------- /.final_builds/jobs/login_banner/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 26a0e09d2f40a39f93737a086f6cde1b64606695beda9135b9424066f1c1ae6d: 3 | version: 26a0e09d2f40a39f93737a086f6cde1b64606695beda9135b9424066f1c1ae6d 4 | blobstore_id: a87a6a5a-fdde-4931-7b26-d8a07af44ab7 5 | sha1: sha256:6fd7c2a1124bce44f68427e4678d59fb3b89320e29976a9289a4ece2c2d53e00 6 | 69f84e520b5ce9752f063f18d393e7f607bfdfc3: 7 | version: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 8 | blobstore_id: 2660a9f3-f9e3-42df-a16d-5883a422ed4a 9 | sha1: 29cd627a6241c110b6caec1ef4e4cdeefca63bfe 10 | 83fdcd1fa5df70c0bda867b3b873f6c4fdf64a90: 11 | version: 83fdcd1fa5df70c0bda867b3b873f6c4fdf64a90 12 | blobstore_id: 778ca308-31e8-48d0-696e-28704f7c39f6 13 | sha1: 8ca8695fcedfb0ecb9b50cc9fd02a348bc61c153 14 | e7eb172db4d4bb329aeff991e0384da161f3c687: 15 | version: e7eb172db4d4bb329aeff991e0384da161f3c687 16 | blobstore_id: 41e73872-9b60-40ef-53dd-c50365b80b1e 17 | sha1: 7dccc033bb97ffceb0b41c4651312d813b0c918d 18 | format-version: "2" 19 | -------------------------------------------------------------------------------- /.final_builds/jobs/modprobe/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 67949dedea70aa9f50c3a7aed6533452c2f17244: 3 | version: 67949dedea70aa9f50c3a7aed6533452c2f17244 4 | blobstore_id: d74f68bc-10f3-43b3-6ec1-06e2af9dc0c2 5 | sha1: e21c97de877c83384f70deddbefe9ba3effe5759 6 | d5a587d5e1fee58a804fbefc3270a70eacc2b99a5f6a4dc3b248f7e02fc0ce35: 7 | version: d5a587d5e1fee58a804fbefc3270a70eacc2b99a5f6a4dc3b248f7e02fc0ce35 8 | blobstore_id: 14d376d2-3022-41dd-763a-0622070a7466 9 | sha1: sha256:edd1585da695297855ea57e67635fe1c7145389d326e97fee5db46a58cd53b3b 10 | format-version: "2" 11 | -------------------------------------------------------------------------------- /.final_builds/jobs/monit/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 18993a3f4b4326685cc9a67fed330f2634257eb44e13505eea08bfc0f89c35e3: 3 | version: 18993a3f4b4326685cc9a67fed330f2634257eb44e13505eea08bfc0f89c35e3 4 | blobstore_id: fef4d1e9-0866-45d9-5c04-0331b71c9f99 5 | sha1: sha256:eb65093aece08ec56b24109be9990d2334021624359edd2dd7f2c2dd6116b632 6 | f47966bcc7c0ecc76660ae57132b603a9e203eb6: 7 | version: f47966bcc7c0ecc76660ae57132b603a9e203eb6 8 | blobstore_id: ffb63594-29fe-4de1-490d-cc5624b4ac8a 9 | sha1: 720e2d807051d7d7baf16554abd3e8a8354ccf49 10 | format-version: "2" 11 | -------------------------------------------------------------------------------- /.final_builds/jobs/ntpdate/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 01b0faa06a49758112316190cceb2d3e6afe6792: 3 | version: 01b0faa06a49758112316190cceb2d3e6afe6792 4 | blobstore_id: 7cdbab2c-5ed8-4d89-7630-d5bd39477928 5 | sha1: 9172ac901ab265239b64af89bb6c6b3eac760933 6 | 447c3333d471665012bf8ef769172c2c353bc6c6a4ce03655c956fba5a23a6d7: 7 | version: 447c3333d471665012bf8ef769172c2c353bc6c6a4ce03655c956fba5a23a6d7 8 | blobstore_id: dc16d046-adf6-46bb-56a0-5e4c41da681e 9 | sha1: sha256:bfa437e6c979267f37096d5a057205a2f24973867f85017d7f54a2214ac0cb41 10 | 5b985204928c63cc0d5766c03a21d280a86a188e: 11 | version: 5b985204928c63cc0d5766c03a21d280a86a188e 12 | blobstore_id: f49c34d6-d531-4afa-4793-563a08070075 13 | sha1: 1873f5b8dd259726f9b74b48198ab2db55355186 14 | format-version: "2" 15 | -------------------------------------------------------------------------------- /.final_builds/jobs/post-deploy-script/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 511b6bf3385b378c009073f358953cc0f62b952af1b9ddf5855f5aea13176cde: 3 | version: 511b6bf3385b378c009073f358953cc0f62b952af1b9ddf5855f5aea13176cde 4 | blobstore_id: 437e36a2-377b-4a9d-68ce-b23cdb2eb18f 5 | sha1: sha256:6b6e3dcc5710dbf52aec0f7d60bcf2c7a391ff1d2ecc4d9d25288fb183aee74a 6 | e6a145c21b60a8b58fe4927c5709760997113b7d: 7 | version: e6a145c21b60a8b58fe4927c5709760997113b7d 8 | blobstore_id: 31d94567-6d1c-40e2-573e-1156616eb1ef 9 | sha1: 75cfe6540444421dcb399550f923dc8f69384e84 10 | format-version: "2" 11 | -------------------------------------------------------------------------------- /.final_builds/jobs/post-stop-script/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 7242d3dbe1eabb4fcfc99dd14647537f0c4961d282dc21acee7ddc882928ac3e: 3 | version: 7242d3dbe1eabb4fcfc99dd14647537f0c4961d282dc21acee7ddc882928ac3e 4 | blobstore_id: 81d3d7e1-dcb2-4d5f-716d-bf6eadaf71e2 5 | sha1: sha256:3890da2b801b3acb3bf636e929c592534a6a9e26281f787aecd45f3af8625559 6 | format-version: "2" 7 | -------------------------------------------------------------------------------- /.final_builds/jobs/pre-start-script/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 399cb665640a786ceb3e91c819da4a4fd28e11be0a6480ba9f9dd47bc8b5ffb0: 3 | version: 399cb665640a786ceb3e91c819da4a4fd28e11be0a6480ba9f9dd47bc8b5ffb0 4 | blobstore_id: 297d77e2-22a5-471e-6708-7c36c9e92253 5 | sha1: sha256:a67667a2ad0eb878b85658c48539ca70888df385d2dec4b0b81fc4709ea84d3e 6 | b668e5b762603ff8880779e956366e3890c78bab: 7 | version: b668e5b762603ff8880779e956366e3890c78bab 8 | blobstore_id: e3e9821f-4831-4c8f-4077-5fe8da4ad420 9 | sha1: a4d7be05587d53be8af3a42068ccc3b7b1bc703d 10 | c380cebc1e110542b932157d76b880c8c07c03a2: 11 | version: c380cebc1e110542b932157d76b880c8c07c03a2 12 | blobstore_id: 2cd8db80-50f7-4abc-5083-154651df38aa 13 | sha1: 96410796b5ff6a6f5adeb1083d5d13de2ec5b7aa 14 | format-version: "2" 15 | -------------------------------------------------------------------------------- /.final_builds/jobs/pre-stop-script/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 8d7875d6a4533614545da772c8d42912de6000c0e8ee481b038631cf4f316a7e: 3 | version: 8d7875d6a4533614545da772c8d42912de6000c0e8ee481b038631cf4f316a7e 4 | blobstore_id: 3518b6f7-bdab-4fd7-7a4c-e28d33683fc5 5 | sha1: sha256:f0c032bf967c3afe5ace36a6a08799b266aac8a84f346c58969d80cd976bf861 6 | format-version: "2" 7 | -------------------------------------------------------------------------------- /.final_builds/jobs/resolv/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 22a8ff494269077f5f0ff26516725d5079ec0d40: 3 | version: 22a8ff494269077f5f0ff26516725d5079ec0d40 4 | blobstore_id: bb6fd993-db63-4620-699d-907780540921 5 | sha1: 872cbf01571548d5f370831b794d575eec5f21e3 6 | ed8bc2a39be9abb9495e8e5bb207b5ef9f0ca9687d125a55a677003d1a0a3161: 7 | version: ed8bc2a39be9abb9495e8e5bb207b5ef9f0ca9687d125a55a677003d1a0a3161 8 | blobstore_id: dc6ac588-fcbf-48d1-7a8f-cc180246f456 9 | sha1: sha256:9ef948205ec538170037674f1f44ab2ef27b3858acdd62b3202d51fd309bafd2 10 | format-version: "2" 11 | -------------------------------------------------------------------------------- /.final_builds/jobs/search_domain/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | e6e8b285838d02c2d9c1b8c5df16d7977b0532e8: 3 | version: e6e8b285838d02c2d9c1b8c5df16d7977b0532e8 4 | blobstore_id: 329eabaa-8112-4e2e-7380-a602b6028d98 5 | sha1: 32a0ee7e7d1e9938abda4708fa6461b49bbc6bec 6 | format-version: "2" 7 | -------------------------------------------------------------------------------- /.final_builds/jobs/sysctl/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 9d3697e44c8707deaa4684f99443e0083573850c4ac3c38c8bc7ad50d1d23e25: 3 | version: 9d3697e44c8707deaa4684f99443e0083573850c4ac3c38c8bc7ad50d1d23e25 4 | blobstore_id: 9210d31f-72b7-4579-4b40-1d0a92ab5807 5 | sha1: sha256:60f6aeba699d1353846fa3b781a6b79b599a89975074bb8c69fb96e37ae842af 6 | d0115e7951d3c221c2e482cc61d45f6dc4ef7fc9: 7 | version: d0115e7951d3c221c2e482cc61d45f6dc4ef7fc9 8 | blobstore_id: d9565a43-7f02-43f3-6b75-c3cd601c77f4 9 | sha1: fe67612a6d202dab136eba2867eedf47c6ead1e9 10 | format-version: "2" 11 | -------------------------------------------------------------------------------- /.final_builds/jobs/tcp_keepalive/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 2deb76c6a97ba38bc260cf629efa0f765052f686: 3 | version: 2deb76c6a97ba38bc260cf629efa0f765052f686 4 | blobstore_id: 07e5a829-1adc-4ec5-ac8a-d7ffc295c6f6 5 | sha1: e41a630891f3f4756436b8ca894c34cdd3bc3206 6 | 349cd12d785bc16c42efef4d52d14aff946baf0e75aae8c2e53aab7ddad4c865: 7 | version: 349cd12d785bc16c42efef4d52d14aff946baf0e75aae8c2e53aab7ddad4c865 8 | blobstore_id: 2f535def-8618-4d4a-43ba-87ee8d33b9f1 9 | sha1: sha256:ac2cc8c930065436011f29fb55502639ddb9d406f9929321b6df22c8cfb0c571 10 | 526757dd3bbc30b0efab328b60faf74cf77d8642: 11 | version: 526757dd3bbc30b0efab328b60faf74cf77d8642 12 | blobstore_id: 31c555bf-e6f9-478e-a043-f7a9699c84e6 13 | sha1: 2658b1a1f75df47b88564394e4f9f8c414107f5d 14 | 83b2678aa276fd5f8e01068794e813d639a3adff: 15 | version: 83b2678aa276fd5f8e01068794e813d639a3adff 16 | blobstore_id: 7b5e147d-bf40-45f7-6e11-40e3633b98eb 17 | sha1: f2bd48a641530929553af0da625e51ee903c51a8 18 | f8062f5cb07cb29df43b007948ae05515e69fa2b: 19 | version: f8062f5cb07cb29df43b007948ae05515e69fa2b 20 | blobstore_id: 9e87243f-ce36-4427-7bee-472dd5651336 21 | sha1: bba16070c0dc722e3eb7c1aec3dc558d656348fa 22 | format-version: "2" 23 | -------------------------------------------------------------------------------- /.final_builds/license/index.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | 30b64a20e5520bee77bc283c773b839f7bdf3d86: 3 | version: 30b64a20e5520bee77bc283c773b839f7bdf3d86 4 | blobstore_id: 430c25db-3c68-4d9e-996f-0229ed0543ab 5 | sha1: 4e3da22aec5530269a747ece37d2c30d8f2c838d 6 | 8ae23dc2d19b33738a229f1f9c92e83701258ec1: 7 | version: 8ae23dc2d19b33738a229f1f9c92e83701258ec1 8 | blobstore_id: 7060e911-de10-415b-678d-e1131b863f6d 9 | sha1: aeacad3d469ac91c31bd59dfe8a357589bee3eb8 10 | 8e4174f96e7d8edb37c82965f0c61222e80a5ea2992f55f1e7cc7f4ef800600c: 11 | version: 8e4174f96e7d8edb37c82965f0c61222e80a5ea2992f55f1e7cc7f4ef800600c 12 | blobstore_id: 5fb1c38c-8858-4980-68cd-976bbc6a9a29 13 | sha1: sha256:04c3b4248f79a27f6a9a3e1c4a2e762ec7058e30b4661d75f0a1670a64501540 14 | format-version: "2" 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | config/dev.yml 2 | config/private.yml 3 | releases/*.tgz 4 | releases/**/*.tgz 5 | dev_releases 6 | .blobs 7 | blobs 8 | .dev_builds 9 | .idea 10 | .DS_Store 11 | .final_builds/jobs/**/*.tgz 12 | .final_builds/packages/**/*.tgz 13 | *.swp 14 | *~ 15 | *# 16 | #* 17 | pkg 18 | bin 19 | *.tgz 20 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015-Present CloudFoundry.org Foundation, Inc. All Rights Reserved. 2 | 3 | This project contains software that is Copyright (c) 2012-2015 Pivotal Software, Inc. 4 | 5 | This project is licensed to you under the Apache License, Version 2.0 (the "License"). 6 | You may not use this project except in compliance with the License. 7 | 8 | This project may include a number of subcomponents with separate copyright notices 9 | and license terms. Your use of these subcomponents is subject to the terms and 10 | conditions of the subcomponent's license, as noted in the LICENSE file. 11 | -------------------------------------------------------------------------------- /ci/configure.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu 4 | 5 | dir="$(dirname "$0")" 6 | 7 | FLY="${FLY_CLI:-fly}" 8 | 9 | "$FLY" -t "${CONCOURSE_TARGET:-bosh-ecosystem}" \ 10 | sp -p os-conf-release \ 11 | -c "$dir/pipeline.yml" 12 | 13 | -------------------------------------------------------------------------------- /ci/tasks/run-acceptance-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -exuo pipefail 4 | 5 | export GOPATH="${PWD}/os-conf-release" 6 | export PATH="${GOPATH}/bin:$PATH" 7 | 8 | apt-get update 9 | apt-get install -y netcat-openbsd 10 | 11 | if [ -n "$BOSH_JUMPBOX_PRIVATE_KEY" ]; then 12 | jumpbox_url=${BOSH_JUMPBOX_URL:-${BOSH_JUMPBOX_IP}:22} 13 | jumpbox_private_key_path=$(mktemp) 14 | chmod 600 ${jumpbox_private_key_path} 15 | echo "${BOSH_JUMPBOX_PRIVATE_KEY}" > ${jumpbox_private_key_path} 16 | 17 | export BOSH_ALL_PROXY="ssh+socks5://${BOSH_JUMPBOX_USER}@${jumpbox_url}?private-key=${jumpbox_private_key_path}" 18 | fi 19 | 20 | bosh upload-stemcell ${PWD}/stemcell/*.tgz 21 | bosh create-release --dir ${PWD}/os-conf-release --timestamp-version --tarball=release.tgz 22 | bosh upload-release release.tgz 23 | 24 | export BOSH_BINARY_PATH=$(which bosh) 25 | 26 | pushd "${PWD}/os-conf-release/src/os-conf-acceptance-tests" 27 | go run github.com/onsi/ginkgo/v2/ginkgo -v 28 | popd 29 | -------------------------------------------------------------------------------- /ci/tasks/run-acceptance-tests.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | inputs: 5 | - name: stemcell 6 | - name: os-conf-release 7 | 8 | params: 9 | BOSH_CLIENT: ~ 10 | BOSH_CLIENT_SECRET: ~ 11 | BOSH_CA_CERT: ~ 12 | BOSH_DEPLOYMENT: ~ 13 | BOSH_ENVIRONMENT: ~ 14 | BOSH_JUMPBOX_IP: ~ 15 | BOSH_JUMPBOX_PRIVATE_KEY: ~ 16 | BOSH_JUMPBOX_USER: ~ 17 | BOSH_STEMCELL_OS: ~ 18 | BOSH_STEMCELL_NAME: ~ 19 | 20 | run: 21 | path: os-conf-release/ci/tasks/run-acceptance-tests.sh 22 | -------------------------------------------------------------------------------- /config/blobs.yml: -------------------------------------------------------------------------------- 1 | --- {} 2 | -------------------------------------------------------------------------------- /config/final.yml: -------------------------------------------------------------------------------- 1 | --- 2 | final_name: os-conf 3 | blobstore: 4 | provider: gcs 5 | options: 6 | bucket_name: os-conf-blobs 7 | -------------------------------------------------------------------------------- /jobs/auditd/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/auditd/monit -------------------------------------------------------------------------------- /jobs/auditd/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: auditd 3 | 4 | templates: 5 | pre-start: bin/pre-start 6 | 7 | packages: [] 8 | 9 | properties: 10 | rules: 11 | description: Array of auditd rules to add. Note that this job does not update rules after rules are installed for the first time. Removal of a job does not remove rules. For new rules to be applied you must force VM recreation. This behaviour is due to auditd going into its immutable state. 12 | default: [] 13 | example: 14 | - "-a always,exit -F perm=x -F auid>=500 -F auid!=4294967295 -F path=/usr/bin/who -k privileged" 15 | pre_start_delay: 16 | description: The number of seconds to delay running the pre-start script. This can be used, for example, to avoid a race condition with other pre-start scripts, such as IPsec's, that can prevent auditd From starting 17 | default: 0 18 | example: 30 19 | -------------------------------------------------------------------------------- /jobs/auditd/templates/pre-start: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -xeu -o pipefail 4 | 5 | date 6 | echo Delaying start for '<%= p("pre_start_delay") %>' seconds 7 | sleep '<%= p("pre_start_delay") %>' 8 | date 9 | 10 | if ! grep -e '^-e 2$' /etc/audit/rules.d/audit.rules -q; then 11 | echo ' 12 | # Custom rules; added by auditd job (os-conf-release) 13 | <% p("rules").each do |rule| %> 14 | <%= rule %> 15 | <% end %> 16 | ' >> /etc/audit/rules.d/audit.rules 17 | 18 | echo ' 19 | # Make audit rules immutable; added by auditd job (os-conf-release) 20 | -e 2' >> /etc/audit/rules.d/audit.rules 21 | 22 | # If auditd has trouble coming up, (e.g. `ENOBUFS`), we try for 5 minutes 23 | # before giving up 24 | COUNT=0 25 | service auditd stop 26 | while ! service auditd status && [ $COUNT -lt 10 ]; do 27 | service auditd restart 28 | COUNT=$(( COUNT + 1 )) 29 | sleep 30 30 | done 31 | if [ $COUNT -ge 10 ]; then 32 | echo "Could not start auditd; tried $COUNT times. Check auditd logs" 33 | exit 1 34 | fi 35 | fi 36 | -------------------------------------------------------------------------------- /jobs/ca_certs/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/ca_certs/monit -------------------------------------------------------------------------------- /jobs/ca_certs/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: ca_certs 3 | 4 | templates: 5 | certs.erb: config/certs.crt 6 | pre-start.sh.erb: bin/pre-start 7 | 8 | properties: 9 | delete_system_certs: 10 | description: "Flag to delete the default trusted certificate store" 11 | default: false 12 | certs: 13 | description: "Concatenated set of certificates in PEM format" 14 | default: "" 15 | example: | 16 | -----BEGIN CERTIFICATE----- 17 | MIIClTCCAf4CCQDc6hJtvGB8RjANBgkqhkiG9w0BAQUFADCBjjELMAk... 18 | -----END CERTIFICATE----- 19 | -----BEGIN CERTIFICATE----- 20 | MIIClTCCAf4CCQDc6hJtvGB8RjANBgkqhkiG9w0BAQUFADCBjjELMAk... 21 | -----END CERTIFICATE----- 22 | cert_list: 23 | description: "Array of concatenated set of certificates in PEM format" 24 | default: [] 25 | example: 26 | - | 27 | -----BEGIN CERTIFICATE----- 28 | MIIClTCCAf4CCQDc6hJtvGB8RjANBgkqhkiG9w0BAQUFADCBjjELMAk... 29 | -----END CERTIFICATE----- 30 | - | 31 | -----BEGIN CERTIFICATE----- 32 | MIIClTCCAf4CCQDc6hJtvGB8RjANBgkqhkiG9w0BAQUFADCBjjELMAk... 33 | -----END CERTIFICATE----- 34 | -------------------------------------------------------------------------------- /jobs/ca_certs/templates/certs.erb: -------------------------------------------------------------------------------- 1 | <%= p("certs", "") %> 2 | <% p("cert_list", []).each do |cert| %> 3 | <%= cert %> 4 | <% end %> 5 | -------------------------------------------------------------------------------- /jobs/disable_agent/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/disable_agent/monit -------------------------------------------------------------------------------- /jobs/disable_agent/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: disable_agent 3 | 4 | templates: 5 | post-start: bin/post-start 6 | 7 | properties: 8 | wait_before_killing: 9 | description: "Seconds to wait before shutting off the agent" 10 | default: 300 11 | -------------------------------------------------------------------------------- /jobs/disable_agent/templates/post-start: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "`date`: Queued disable agent" 4 | 5 | ( 6 | echo "`date`: In 60 secs..." 7 | sleep <%= p("wait_before_killing") %> 8 | 9 | echo "`date`: Stopping bosh-agent permanently" 10 | sv stop agent 11 | 12 | echo "`date`: Killing bosh-agent just in case" 13 | sv kill agent 14 | 15 | mv /var/vcap/bosh/bin/bosh-agent{,-os-conf-disabled} 16 | ) & 17 | 18 | disown 19 | 20 | exit 0 21 | -------------------------------------------------------------------------------- /jobs/harden_sshd/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/harden_sshd/monit -------------------------------------------------------------------------------- /jobs/harden_sshd/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: harden_sshd 3 | 4 | templates: 5 | pre-start.sh.erb: bin/pre-start 6 | 7 | properties: 8 | allow_tcp_forwarding: 9 | description: Specifies whether TCP forwarding is permitted 10 | default: false 11 | allow_stream_local_forwarding: 12 | description: Specifies whether forwarding Unix domain sockets is permitted 13 | default: false 14 | gateway_ports: 15 | description: Specifies whether remote hosts are allowed to connect to ports forwarded for the client 16 | default: false 17 | permit_tunnel: 18 | description: Specifies whether tun(4) device forwarding is allowed 19 | default: false 20 | -------------------------------------------------------------------------------- /jobs/harden_sshd/templates/pre-start.sh.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sshd_version=$(nc localhost 22 -w1) 4 | 5 | <% unless p('allow_tcp_forwarding') %> 6 | sed "/^ *AllowTcpForwarding/d" -i /etc/ssh/sshd_config 7 | echo 'AllowTcpForwarding no' >> /etc/ssh/sshd_config 8 | <% end %> 9 | 10 | <% unless p('allow_stream_local_forwarding') %> 11 | if [[ $(echo "${sshd_version}" | sed 's#.*OpenSSH_\([0-9]*\)\..*#\1#g') -gt 6 ]]; then 12 | sed "/^ *AllowStreamLocalForwarding/d" -i /etc/ssh/sshd_config 13 | echo 'AllowStreamLocalForwarding no' >> /etc/ssh/sshd_config 14 | fi 15 | <% end %> 16 | 17 | <% unless p('gateway_ports') %> 18 | sed "/^ *GatewayPorts/d" -i /etc/ssh/sshd_config 19 | echo 'GatewayPorts no' >> /etc/ssh/sshd_config 20 | <% end %> 21 | 22 | <% unless p('permit_tunnel') %> 23 | sed "/^ *PermitTunnel/d" -i /etc/ssh/sshd_config 24 | echo 'PermitTunnel no' >> /etc/ssh/sshd_config 25 | <% end %> 26 | 27 | if command -v systemctl &> /dev/null; then 28 | systemctl restart ssh 29 | else 30 | /etc/init.d/ssh restart 31 | fi 32 | -------------------------------------------------------------------------------- /jobs/iptables/monit: -------------------------------------------------------------------------------- 1 | check file iptables 2 | with path /var/vcap/sys/run/iptables/iptables.check 3 | start program "/var/vcap/jobs/iptables/bin/ctl start" 4 | stop program "/var/vcap/jobs/iptables/bin/ctl stop" 5 | group vcap 6 | -------------------------------------------------------------------------------- /jobs/iptables/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: iptables 3 | 4 | templates: 5 | bin/ctl: bin/ctl 6 | bin/enable.sh: bin/enable.sh 7 | bin/disable.sh: bin/disable.sh 8 | 9 | properties: 10 | iptables: 11 | description: "Map of rules per chain per table to apply in iptables" 12 | default: {} 13 | example: 14 | nat: # one of: nat, filter, raw, mangle, security 15 | POSTROUTING: # a valid chain 16 | - -s 10.244.0.0/24 -j MASQUERADE 17 | -------------------------------------------------------------------------------- /jobs/iptables/templates/bin/ctl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e -u 4 | 5 | mkdir -p /var/vcap/sys/run/iptables 6 | 7 | case $1 in 8 | 9 | start) 10 | /var/vcap/jobs/iptables/bin/enable.sh 11 | touch /var/vcap/sys/run/iptables/iptables.check 12 | ;; 13 | 14 | stop) 15 | /var/vcap/jobs/iptables/bin/disable.sh 16 | rm /var/vcap/sys/run/iptables/iptables.check 17 | ;; 18 | *) 19 | 20 | esac 21 | 22 | exit 0 23 | -------------------------------------------------------------------------------- /jobs/iptables/templates/bin/disable.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | <% p("iptables").each do |table, chains| 4 | chains.each do |chain, rules| %> 5 | 6 | iptables -t "<%= table %>" -F "pfbr-custom-<%= chain %>" 7 | 8 | <% end %> 9 | <% end %> 10 | -------------------------------------------------------------------------------- /jobs/iptables/templates/bin/enable.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | function setup_chain { 6 | table=$1 7 | orig_chain=$2 8 | target_chain=$3 9 | 10 | if ! iptables -t "${table}" -L "${target_chain}" >/dev/null 2>&1; then 11 | iptables -t "${table}" -N "${target_chain}" 12 | fi 13 | 14 | if ! iptables -t "${table}" -C "${orig_chain}" -j "${target_chain}" 2>/dev/null; then 15 | iptables -t "${table}" -A "${orig_chain}" -j "${target_chain}" 16 | fi 17 | } 18 | 19 | <% p("iptables").each do |table, chains| 20 | chains.each do |chain, rules| %> 21 | 22 | setup_chain "<%= table %>" "<%= chain %>" "pfbr-custom-<%= chain %>" 23 | 24 | <% rules.each do |rule| %> 25 | iptables -t "${table}" -A "pfbr-custom-<%= chain %>" <%= rule %> 26 | <% end %> 27 | 28 | <% end %> 29 | <% end %> 30 | -------------------------------------------------------------------------------- /jobs/limits/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/limits/monit -------------------------------------------------------------------------------- /jobs/limits/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: limits 3 | 4 | templates: 5 | pre-start.sh.erb: bin/pre-start 6 | 7 | properties: 8 | nofile.soft: 9 | description: | 10 | Modifies the soft max number of open files. Linux defaults to 1024. 11 | example: 16384 12 | default: 16384 13 | nofile.hard: 14 | description: | 15 | Modifies the hard max number of open files. Linux defaults to 4096. 16 | It needs to be greater or equal to the soft limit 17 | example: 16384 18 | default: 16384 -------------------------------------------------------------------------------- /jobs/limits/templates/pre-start.sh.erb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -ex 4 | 5 | NEW_NOFILE="DefaultLimitNOFILE=<%= p("nofile.soft") %>:<%= p("nofile.hard") %>" 6 | LINE=$(grep -nE '^DefaultLimitNOFILE=' /etc/systemd/system.conf | tail -1 | awk -F: '{print $1}') 7 | if [[ -n "$LINE" ]]; then 8 | sed -i "${LINE}s/.*/$NEW_NOFILE/" /etc/systemd/system.conf 9 | else 10 | echo "$NEW_NOFILE" >> /etc/systemd/system.conf 11 | fi 12 | systemctl daemon-reload 13 | 14 | pid=$(pgrep monit | awk '{print $1}') 15 | 16 | if command -v prlimit >/dev/null 2>&1; then 17 | while [[ $pid -gt 1 ]]; do 18 | prlimit --pid "$pid" --nofile=<%= p("nofile.soft") %>:<%= p("nofile.hard") %> 19 | pid=$(ps -o ppid:1= -p "$pid") 20 | done 21 | else 22 | >&2 echo "Failed to set limits because command 'prlimit' is not available" 23 | fi 24 | -------------------------------------------------------------------------------- /jobs/limits_not_recommended/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/limits_not_recommended/monit -------------------------------------------------------------------------------- /jobs/limits_not_recommended/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: limits_not_recommended 3 | 4 | description: | 5 | This job is not recommended. Firstly, it blindly copies in a configuration 6 | file with no error-checking, potentially causing deployment failures. 7 | Secondly, it encourages the increase of system limits to work around 8 | broken BOSH jobs, when effort is better spent fixing the BOSH jobs (e.g. 9 | increasing `nofile` to get around a faulty long-running BOSH job that leaks file 10 | descriptors and finally fails). 11 | 12 | templates: 13 | pre-start.sh.erb: bin/pre-start 14 | limits.conf.erb: etc/limits.conf 15 | 16 | properties: 17 | limits_systemd_default_nofile: 18 | description: | 19 | Ubuntu xenial needs this set for systemd.conf, DefaultLimitNOFILE 20 | All limits.conf and limit.d settings are ignored. 21 | limits_conf: 22 | description: | 23 | Linux `limits.conf` file https://linux.die.net/man/5/limits.conf' 24 | Does not overwrite the existing limits.conf file; instead, it installs 25 | a secondary limits.conf file in `/etc/security/limits.d/`. 26 | default: '' 27 | example: | 28 | vcap soft nofile 16384 29 | vcap hard nofile 16384 30 | -------------------------------------------------------------------------------- /jobs/limits_not_recommended/templates/limits.conf.erb: -------------------------------------------------------------------------------- 1 | # Do not edit this file; it will be overwritten. 2 | # Created by BOSH job "limits" 3 | <%= p('limits_conf') %> 4 | -------------------------------------------------------------------------------- /jobs/limits_not_recommended/templates/pre-start.sh.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ex 4 | 5 | cp -f /var/vcap/jobs/limits_not_recommended/etc/limits.conf /etc/security/limits.d/61-bosh-os-conf.conf 6 | 7 | <% if_p("limits_systemd_default_nofile") do | limit_nofile| %> 8 | echo "DefaultLimitNOFILE=<%= p("limits_systemd_default_nofile") %>" >> /etc/systemd/system.conf 9 | <% end %> 10 | -------------------------------------------------------------------------------- /jobs/login_banner/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/login_banner/monit -------------------------------------------------------------------------------- /jobs/login_banner/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: login_banner 3 | 4 | templates: 5 | pre-start.sh.erb: bin/pre-start 6 | 7 | properties: 8 | login_banner.text: 9 | description: Login banner text 10 | -------------------------------------------------------------------------------- /jobs/login_banner/templates/pre-start.sh.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ex 4 | 5 | cat << 'EOF' > /etc/issue.net 6 | <%= p('login_banner.text') %> 7 | EOF 8 | -------------------------------------------------------------------------------- /jobs/modprobe/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/modprobe/monit -------------------------------------------------------------------------------- /jobs/modprobe/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: modprobe 3 | 4 | templates: 5 | pre-start.erb: bin/pre-start 6 | 7 | properties: 8 | modules: 9 | default: [] 10 | description: List of kernel modules to be loaded (modprobed) 11 | example: 12 | modules: 13 | - aufs 14 | - speedstep-lib 15 | 16 | -------------------------------------------------------------------------------- /jobs/modprobe/templates/pre-start.erb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | <% p('modules').each do |m| %> 4 | modprobe <%= m %> || true 5 | <% end %> 6 | -------------------------------------------------------------------------------- /jobs/monit/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/monit/monit -------------------------------------------------------------------------------- /jobs/monit/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: monit 3 | 4 | templates: 5 | pre-start: bin/pre-start 6 | 7 | properties: 8 | reload_after_start: 9 | description: "Reload monit to potentially resolve monit flakiness during startup" 10 | default: false 11 | -------------------------------------------------------------------------------- /jobs/monit/templates/pre-start: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | <% if p("reload_after_start") %> 4 | 5 | echo "`date`: Queued monit reload" 6 | 7 | ( 8 | export PATH=/var/vcap/bosh/bin/:$PATH 9 | 10 | echo "`date`: Reloading monit..." 11 | sleep 60; monit reload 12 | echo "`date`: Reloading monit..." 13 | sleep 60; monit reload 14 | echo "`date`: Reloading monit..." 15 | sleep 60; monit reload 16 | echo "`date`: Reloading monit..." 17 | sleep 60; monit reload 18 | echo "`date`: Reloading monit..." 19 | sleep 60; monit reload 20 | echo "`date`: Reloading monit..." 21 | sleep 60; monit reload 22 | echo "`date`: Reloading monit..." 23 | sleep 60; monit reload 24 | echo "`date`: Reloading monit..." 25 | sleep 60; monit reload 26 | echo "`date`: Reloading monit..." 27 | sleep 60; monit reload 28 | echo "`date`: Reloading monit..." 29 | sleep 60; monit reload 30 | echo "`date`: Reloading monit..." 31 | sleep 60; monit reload 32 | ) & 33 | 34 | disown 35 | 36 | <% end %> 37 | 38 | exit 0 39 | -------------------------------------------------------------------------------- /jobs/ntpdate/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/ntpdate/monit -------------------------------------------------------------------------------- /jobs/ntpdate/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: ntpdate 3 | 4 | templates: 5 | pre-start.erb: bin/pre-start 6 | 7 | properties: 8 | unprivileged_port: 9 | description: "Direct ntpdate to use an unprivileged port for outgoing packets." 10 | default: false 11 | -------------------------------------------------------------------------------- /jobs/ntpdate/templates/pre-start.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | <% if p("unprivileged_port") %> 6 | if [[ -f "/var/vcap/bosh/bin/ntpdate" ]]; then 7 | sed -i 's~/usr/sbin/ntpdate \$~/usr/sbin/ntpdate -u $~' /var/vcap/bosh/bin/ntpdate 8 | fi 9 | 10 | if [[ -f "/var/vcap/bosh/bin/sync-time" ]]; then 11 | sed -i 's~/usr/sbin/ntpdate \$~/usr/sbin/ntpdate -u $~' /var/vcap/bosh/bin/sync-time 12 | fi 13 | <% end %> 14 | -------------------------------------------------------------------------------- /jobs/post-deploy-script/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/post-deploy-script/monit -------------------------------------------------------------------------------- /jobs/post-deploy-script/spec: -------------------------------------------------------------------------------- 1 | name: post-deploy-script 2 | 3 | templates: 4 | post-deploy.sh: bin/post-deploy 5 | 6 | packages: [] 7 | 8 | properties: 9 | script: 10 | description: Script that is run during post-deploy to allow additional setup of environment, run as root user. 11 | example: |- 12 | #!/bin/bash 13 | apt-get update && apt-get install wget git tmux -y 14 | -------------------------------------------------------------------------------- /jobs/post-deploy-script/templates/post-deploy.sh: -------------------------------------------------------------------------------- 1 | <%= p('script') %> 2 | -------------------------------------------------------------------------------- /jobs/post-stop-script/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/post-stop-script/monit -------------------------------------------------------------------------------- /jobs/post-stop-script/spec: -------------------------------------------------------------------------------- 1 | name: post-stop-script 2 | 3 | templates: 4 | post-stop.sh: bin/post-stop 5 | 6 | packages: [] 7 | 8 | properties: 9 | script: 10 | description: Script that is run during post-stop to allow additional setup of environment, run as root user. 11 | example: |- 12 | #!/bin/bash 13 | echo "Sleeping for 20 seconds" 14 | sleep 20 15 | echo "Done sleeping for 20 seconds" 16 | -------------------------------------------------------------------------------- /jobs/post-stop-script/templates/post-stop.sh: -------------------------------------------------------------------------------- 1 | <%= p('script') %> 2 | -------------------------------------------------------------------------------- /jobs/pre-start-script/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/pre-start-script/monit -------------------------------------------------------------------------------- /jobs/pre-start-script/spec: -------------------------------------------------------------------------------- 1 | name: pre-start-script 2 | 3 | templates: 4 | pre-start.sh: bin/pre-start 5 | 6 | packages: [] 7 | 8 | properties: 9 | script: 10 | description: Script that is run during pre-start to allow additional setup of environment, run as root user. 11 | example: |- 12 | #!/bin/bash 13 | apt-get update && apt-get install wget git tmux -y 14 | -------------------------------------------------------------------------------- /jobs/pre-start-script/templates/pre-start.sh: -------------------------------------------------------------------------------- 1 | <%= p('script') %> 2 | -------------------------------------------------------------------------------- /jobs/pre-stop-script/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/pre-stop-script/monit -------------------------------------------------------------------------------- /jobs/pre-stop-script/spec: -------------------------------------------------------------------------------- 1 | name: pre-stop-script 2 | 3 | templates: 4 | pre-stop.sh: bin/pre-stop 5 | 6 | packages: [] 7 | 8 | properties: 9 | script: 10 | description: Script that is run during pre-stop to allow additional setup of environment, run as root user. 11 | example: |- 12 | #!/bin/bash 13 | apt-get update && apt-get install wget git tmux -y 14 | -------------------------------------------------------------------------------- /jobs/pre-stop-script/templates/pre-stop.sh: -------------------------------------------------------------------------------- 1 | <%= p('script') %> 2 | -------------------------------------------------------------------------------- /jobs/resolv/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/resolv/monit -------------------------------------------------------------------------------- /jobs/resolv/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: resolv 3 | 4 | templates: 5 | pre-start.sh.erb: bin/pre-start 6 | 7 | properties: 8 | search: 9 | description: Set search domain 10 | example: "pivotal.io" 11 | 12 | options: 13 | description: Set options set 14 | default: [] 15 | example: 16 | - rotate 17 | - timeout:1 18 | -------------------------------------------------------------------------------- /jobs/resolv/templates/pre-start.sh.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ex 4 | 5 | sed -i '/^search/d' /etc/resolvconf/resolv.conf.d/tail 6 | sed -i '/^options/d' /etc/resolvconf/resolv.conf.d/tail 7 | 8 | <% if_p("search") do |domain| %> 9 | echo "search <%= domain %>" >> /etc/resolvconf/resolv.conf.d/tail 10 | <% end %> 11 | 12 | <% p("options").each do | option | %> 13 | echo "options <%= option %>" >> /etc/resolvconf/resolv.conf.d/tail 14 | <% end %> 15 | 16 | /sbin/resolvconf -u 17 | -------------------------------------------------------------------------------- /jobs/sysctl/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/sysctl/monit -------------------------------------------------------------------------------- /jobs/sysctl/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: sysctl 3 | 4 | templates: 5 | pre-start.sh.erb: bin/pre-start 6 | 7 | properties: 8 | sysctl: 9 | description: Array of sysctls to be applied; each sysctl should be in the form "sysctlname=value" 10 | example: 11 | - vm.swappiness=10 12 | - net.core.somaxconn=1024 13 | 14 | sysctl_conf_prefix: 15 | description: Prefix to be used for the file placed in /etc/sysctl.d. Can be used to change the priority of the applied sysctls 16 | default: "71" 17 | -------------------------------------------------------------------------------- /jobs/sysctl/templates/pre-start.sh.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ex 4 | 5 | # store the custom sysctl in sysctl.d so that they automatically go into effect at boot 6 | cat > /etc/sysctl.d/<%= p("sysctl_conf_prefix") %>-bosh-os-conf-sysctl.conf < 9 | EOF 10 | 11 | # reapply all sysctls now (including the ones we just stored above) 12 | sysctl --system 13 | -------------------------------------------------------------------------------- /jobs/tcp_keepalive/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/tcp_keepalive/monit -------------------------------------------------------------------------------- /jobs/tcp_keepalive/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: tcp_keepalive 3 | 4 | templates: 5 | pre-start.sh.erb: bin/pre-start 6 | 7 | properties: 8 | tcp_keepalive.time: 9 | description: The interval between the last data packet sent and the first keepalive probe (seconds). 10 | default: 120 11 | 12 | tcp_keepalive.interval: 13 | description: The interval between subsequential keepalive probes, regardless of what the connection has exchanged in the meantime (seconds). 14 | default: 30 15 | 16 | tcp_keepalive.probes: 17 | description: The number of unacknowledged probes to send before considering the connection dead and notifying the application layer. 18 | default: 8 19 | -------------------------------------------------------------------------------- /jobs/tcp_keepalive/templates/pre-start.sh.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ex 4 | 5 | # In case VM is restarted 6 | cat > /etc/sysctl.d/70-bosh-tcp-keepalive.conf < 8 | net.ipv4.tcp_keepalive_intvl=<%= p('tcp_keepalive.interval') %> 9 | net.ipv4.tcp_keepalive_probes=<%= p('tcp_keepalive.probes') %> 10 | EOF 11 | 12 | sysctl --system 13 | 14 | -------------------------------------------------------------------------------- /jobs/user_add/monit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/jobs/user_add/monit -------------------------------------------------------------------------------- /jobs/user_add/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: user_add 3 | 4 | templates: 5 | pre-start.sh.erb: bin/pre-start 6 | 7 | properties: 8 | persistent_homes: 9 | description: | 10 | If set to true, user home directories are created on persistent storage 11 | in /var/vcap/store/home. 12 | default: false 13 | users: 14 | description: | 15 | Array of user hashes. Each user should specify a `name` attribute. Each user 16 | should also provide `crypted_password` and/or `public_key`. Users will 17 | not be deleted if they are removed from this list after a successful update. 18 | All of the authorized keys for the users will be overwritten with the public 19 | key you specify. 20 | example: 21 | users: 22 | - name: user1 23 | public_key: ssh-rsa AAAA ... 24 | - name: user2 25 | # mkpasswd -m sha-512 26 | crypted_password: $6$saltysalt$eF06vmEKaMhOr8jcnyfJJGuaU/Khq3DpH4M/7T.ziGNjhEEv3o9tgaX5VciMGAbgfE0CH9XrcpHi9kgmVv1Z2. 27 | - name: rbash 28 | shell: /bin/rbash 29 | - name: nosudo 30 | sudo: false 31 | -------------------------------------------------------------------------------- /manifests/limits.yml: -------------------------------------------------------------------------------- 1 | name: limits 2 | 3 | releases: 4 | - name: os-conf 5 | version: latest 6 | 7 | stemcells: 8 | - alias: default 9 | os: ubuntu-trusty 10 | version: latest 11 | 12 | instance_groups: 13 | - name: limits-ubuntu 14 | instances: 1 15 | networks: 16 | - name: default 17 | vm_type: default 18 | stemcell: default 19 | jobs: 20 | - release: os-conf 21 | name: limits_not_recommended 22 | - release: os-conf 23 | name: user_add 24 | properties: 25 | limits_conf: | 26 | small_limits soft nofile 1024 27 | small_limits hard nofile 4096 28 | big_limits soft nofile 16384 29 | big_limits hard nofile 16384 30 | users: 31 | - name: small_limits 32 | crypted_password: "$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/" 33 | - name: big_limits 34 | crypted_password: "$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/" 35 | 36 | update: 37 | canaries: 1 38 | max_in_flight: 10 39 | canary_watch_time: 1000-30000 40 | update_watch_time: 1000-30000 41 | -------------------------------------------------------------------------------- /packages/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/packages/.gitkeep -------------------------------------------------------------------------------- /releases/os-conf/os-conf-1.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: [] 3 | jobs: 4 | - name: login_banner 5 | version: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 6 | fingerprint: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 7 | sha1: 29cd627a6241c110b6caec1ef4e4cdeefca63bfe 8 | license: 9 | version: 30b64a20e5520bee77bc283c773b839f7bdf3d86 10 | fingerprint: 30b64a20e5520bee77bc283c773b839f7bdf3d86 11 | sha1: 4e3da22aec5530269a747ece37d2c30d8f2c838d 12 | commit_hash: 4c6e6cb0 13 | uncommitted_changes: true 14 | name: os-conf 15 | version: '1' 16 | -------------------------------------------------------------------------------- /releases/os-conf/os-conf-2.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: [] 3 | jobs: 4 | - name: login_banner 5 | version: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 6 | fingerprint: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 7 | sha1: 29cd627a6241c110b6caec1ef4e4cdeefca63bfe 8 | - name: tcp_keepalive 9 | version: 526757dd3bbc30b0efab328b60faf74cf77d8642 10 | fingerprint: 526757dd3bbc30b0efab328b60faf74cf77d8642 11 | sha1: 2658b1a1f75df47b88564394e4f9f8c414107f5d 12 | license: 13 | version: 30b64a20e5520bee77bc283c773b839f7bdf3d86 14 | fingerprint: 30b64a20e5520bee77bc283c773b839f7bdf3d86 15 | sha1: 4e3da22aec5530269a747ece37d2c30d8f2c838d 16 | commit_hash: 87ba8c52 17 | uncommitted_changes: true 18 | name: os-conf 19 | version: '2' 20 | -------------------------------------------------------------------------------- /releases/os-conf/os-conf-3.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: [] 3 | jobs: 4 | - name: login_banner 5 | version: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 6 | fingerprint: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 7 | sha1: 29cd627a6241c110b6caec1ef4e4cdeefca63bfe 8 | - name: tcp_keepalive 9 | version: 2deb76c6a97ba38bc260cf629efa0f765052f686 10 | fingerprint: 2deb76c6a97ba38bc260cf629efa0f765052f686 11 | sha1: e41a630891f3f4756436b8ca894c34cdd3bc3206 12 | license: 13 | version: 30b64a20e5520bee77bc283c773b839f7bdf3d86 14 | fingerprint: 30b64a20e5520bee77bc283c773b839f7bdf3d86 15 | sha1: 4e3da22aec5530269a747ece37d2c30d8f2c838d 16 | commit_hash: eb588082 17 | uncommitted_changes: true 18 | name: os-conf 19 | version: '3' 20 | -------------------------------------------------------------------------------- /releases/os-conf/os-conf-4.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: [] 3 | jobs: 4 | - name: login_banner 5 | version: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 6 | fingerprint: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 7 | sha1: 29cd627a6241c110b6caec1ef4e4cdeefca63bfe 8 | - name: tcp_keepalive 9 | version: 2deb76c6a97ba38bc260cf629efa0f765052f686 10 | fingerprint: 2deb76c6a97ba38bc260cf629efa0f765052f686 11 | sha1: e41a630891f3f4756436b8ca894c34cdd3bc3206 12 | - name: user_add 13 | version: 555870ee87ab15036914685716cc1b74d4afda8a 14 | fingerprint: 555870ee87ab15036914685716cc1b74d4afda8a 15 | sha1: 3f819a560d5491614921baddfcf4c02f7f8c7dd0 16 | license: 17 | version: 30b64a20e5520bee77bc283c773b839f7bdf3d86 18 | fingerprint: 30b64a20e5520bee77bc283c773b839f7bdf3d86 19 | sha1: 4e3da22aec5530269a747ece37d2c30d8f2c838d 20 | commit_hash: b5f0e0cc 21 | uncommitted_changes: true 22 | name: os-conf 23 | version: '4' 24 | -------------------------------------------------------------------------------- /releases/os-conf/os-conf-5.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: [] 3 | jobs: 4 | - name: login_banner 5 | version: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 6 | fingerprint: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 7 | sha1: 29cd627a6241c110b6caec1ef4e4cdeefca63bfe 8 | - name: tcp_keepalive 9 | version: 2deb76c6a97ba38bc260cf629efa0f765052f686 10 | fingerprint: 2deb76c6a97ba38bc260cf629efa0f765052f686 11 | sha1: e41a630891f3f4756436b8ca894c34cdd3bc3206 12 | - name: user_add 13 | version: 154f22ec3c0212454c862c7c4c7b603cd4a2c55b 14 | fingerprint: 154f22ec3c0212454c862c7c4c7b603cd4a2c55b 15 | sha1: 74bcb16036f27ccc5351a93effbbb3b0b37aff90 16 | license: 17 | version: 30b64a20e5520bee77bc283c773b839f7bdf3d86 18 | fingerprint: 30b64a20e5520bee77bc283c773b839f7bdf3d86 19 | sha1: 4e3da22aec5530269a747ece37d2c30d8f2c838d 20 | commit_hash: 77fb6568 21 | uncommitted_changes: true 22 | name: os-conf 23 | version: '5' 24 | -------------------------------------------------------------------------------- /releases/os-conf/os-conf-6.yml: -------------------------------------------------------------------------------- 1 | --- 2 | packages: [] 3 | jobs: 4 | - name: login_banner 5 | version: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 6 | fingerprint: 69f84e520b5ce9752f063f18d393e7f607bfdfc3 7 | sha1: 29cd627a6241c110b6caec1ef4e4cdeefca63bfe 8 | - name: tcp_keepalive 9 | version: 2deb76c6a97ba38bc260cf629efa0f765052f686 10 | fingerprint: 2deb76c6a97ba38bc260cf629efa0f765052f686 11 | sha1: e41a630891f3f4756436b8ca894c34cdd3bc3206 12 | - name: user_add 13 | version: 9506661cfe387fa4dfb984708360771e6c0b444f 14 | fingerprint: 9506661cfe387fa4dfb984708360771e6c0b444f 15 | sha1: ca167abe78405fa471651c883621430af9dde482 16 | license: 17 | version: 30b64a20e5520bee77bc283c773b839f7bdf3d86 18 | fingerprint: 30b64a20e5520bee77bc283c773b839f7bdf3d86 19 | sha1: 4e3da22aec5530269a747ece37d2c30d8f2c838d 20 | commit_hash: 3ad47cab 21 | uncommitted_changes: true 22 | name: os-conf 23 | version: '6' 24 | -------------------------------------------------------------------------------- /releases/os-conf/os-conf-7.yml: -------------------------------------------------------------------------------- 1 | name: os-conf 2 | version: "7" 3 | commit_hash: 3acdaf3 4 | uncommitted_changes: false 5 | packages: [] 6 | jobs: 7 | - name: login_banner 8 | version: 83fdcd1fa5df70c0bda867b3b873f6c4fdf64a90 9 | fingerprint: 83fdcd1fa5df70c0bda867b3b873f6c4fdf64a90 10 | sha1: 8ca8695fcedfb0ecb9b50cc9fd02a348bc61c153 11 | - name: search_domain 12 | version: e6e8b285838d02c2d9c1b8c5df16d7977b0532e8 13 | fingerprint: e6e8b285838d02c2d9c1b8c5df16d7977b0532e8 14 | sha1: 32a0ee7e7d1e9938abda4708fa6461b49bbc6bec 15 | - name: tcp_keepalive 16 | version: f8062f5cb07cb29df43b007948ae05515e69fa2b 17 | fingerprint: f8062f5cb07cb29df43b007948ae05515e69fa2b 18 | sha1: bba16070c0dc722e3eb7c1aec3dc558d656348fa 19 | - name: user_add 20 | version: 6f2bed2c24bb639fb2b4e3f61752468fc5b12ba7 21 | fingerprint: 6f2bed2c24bb639fb2b4e3f61752468fc5b12ba7 22 | sha1: a70445483d150bd164e386f2d1fb85e799dd6859 23 | license: 24 | version: 30b64a20e5520bee77bc283c773b839f7bdf3d86 25 | fingerprint: 30b64a20e5520bee77bc283c773b839f7bdf3d86 26 | sha1: 4e3da22aec5530269a747ece37d2c30d8f2c838d 27 | -------------------------------------------------------------------------------- /releases/os-conf/os-conf-8.yml: -------------------------------------------------------------------------------- 1 | name: os-conf 2 | version: "8" 3 | commit_hash: "7003569" 4 | uncommitted_changes: false 5 | packages: [] 6 | jobs: 7 | - name: limits_not_recommended 8 | version: e039b1b7c85c2d9edd13647e405a7ec2ba9b1a66 9 | fingerprint: e039b1b7c85c2d9edd13647e405a7ec2ba9b1a66 10 | sha1: abab97d7a37c6c92ca0df5159e2ed5cef2c908d5 11 | - name: login_banner 12 | version: 83fdcd1fa5df70c0bda867b3b873f6c4fdf64a90 13 | fingerprint: 83fdcd1fa5df70c0bda867b3b873f6c4fdf64a90 14 | sha1: 8ca8695fcedfb0ecb9b50cc9fd02a348bc61c153 15 | - name: search_domain 16 | version: e6e8b285838d02c2d9c1b8c5df16d7977b0532e8 17 | fingerprint: e6e8b285838d02c2d9c1b8c5df16d7977b0532e8 18 | sha1: 32a0ee7e7d1e9938abda4708fa6461b49bbc6bec 19 | - name: tcp_keepalive 20 | version: f8062f5cb07cb29df43b007948ae05515e69fa2b 21 | fingerprint: f8062f5cb07cb29df43b007948ae05515e69fa2b 22 | sha1: bba16070c0dc722e3eb7c1aec3dc558d656348fa 23 | - name: user_add 24 | version: dbca6c2f968d84a573d67076845645d77a4e71a2 25 | fingerprint: dbca6c2f968d84a573d67076845645d77a4e71a2 26 | sha1: 5073e68eb7763317ab64424722498702e9feec29 27 | license: 28 | version: 30b64a20e5520bee77bc283c773b839f7bdf3d86 29 | fingerprint: 30b64a20e5520bee77bc283c773b839f7bdf3d86 30 | sha1: 4e3da22aec5530269a747ece37d2c30d8f2c838d 31 | -------------------------------------------------------------------------------- /sbin/test-acceptance.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" 6 | 7 | export BOSH_BINARY_PATH=${BOSH_BINARY_PATH:-/usr/local/bin/bosh} 8 | export BOSH_DEPLOYMENT=${BOSH_DEPLOYMENT:-os-conf-bionic} 9 | export BOSH_STEMCELL=${BOSH_STEMCELL:-ubuntu-bionic} 10 | 11 | if [ -z ${BBL_STATE_DIR} ]; then 12 | echo "'BBL_STATE_DIR' not set. You need to specify the path to the 'bbl-state.json' of a working bbl environment." 13 | exit 1 14 | fi 15 | 16 | if [ -z ${STEMCELL} ]; then 17 | echo "'STEMCELL' not set. You need to specify the path to a stemcell of type '${BOSH_STEMCELL}'." 18 | exit 1 19 | fi 20 | 21 | 22 | eval "$(bbl --state-dir "${BBL_STATE_DIR}" print-env)" 23 | 24 | bosh upload-stemcell $STEMCELL 25 | bosh create-release --dir ${BASEDIR} --timestamp-version --tarball=release.tgz --force 26 | bosh upload-release release.tgz 27 | 28 | 29 | pushd "${BASEDIR}/src/os-conf-acceptance-tests" 30 | go run github.com/onsi/ginkgo/ginkgo -v 31 | popd 32 | -------------------------------------------------------------------------------- /src/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudfoundry/os-conf-release/0d34bf340b939aec8fe8703d4dbae5beaf7dde84/src/.gitkeep -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/auditd_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gexec" 9 | ) 10 | 11 | var _ = Describe("AuditD", func() { 12 | It("allows users to set auditd rules", func() { 13 | session := boshSSH("os-conf/0", "sudo grep auditd_test_rule /etc/audit/rules.d/audit.rules") 14 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 15 | }) 16 | }) 17 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/disable_agent_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "os/exec" 5 | "time" 6 | 7 | . "github.com/onsi/ginkgo/v2" 8 | . "github.com/onsi/gomega" 9 | "github.com/onsi/gomega/gexec" 10 | ) 11 | 12 | var _ = Describe("DisableAgent", func() { 13 | XIt("kills the agent after a timeout", func() { 14 | Eventually(func() string { 15 | cmd := exec.Command( 16 | boshBinaryPath, 17 | "-d", 18 | deploymentName, 19 | "vms", 20 | ) 21 | 22 | session, err := gexec.Start(cmd, GinkgoWriter, GinkgoWriter) 23 | Expect(err).NotTo(HaveOccurred()) 24 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 25 | 26 | return string(session.Out.Contents()) 27 | }, 60*time.Second).Should(MatchRegexp("unresponsive-agent/[\\w-]+\\s+unresponsive agent")) 28 | }) 29 | }) 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/cloudfoundry/os-conf-release/src/os-conf-acceptance-tests 2 | 3 | go 1.23.0 4 | 5 | require ( 6 | github.com/onsi/ginkgo/v2 v2.27.1 7 | github.com/onsi/gomega v1.38.2 8 | ) 9 | 10 | require ( 11 | github.com/Masterminds/semver/v3 v3.4.0 // indirect 12 | github.com/go-logr/logr v1.4.3 // indirect 13 | github.com/go-task/slim-sprig/v3 v3.0.0 // indirect 14 | github.com/google/go-cmp v0.7.0 // indirect 15 | github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5 // indirect 16 | go.uber.org/automaxprocs v1.6.0 // indirect 17 | go.yaml.in/yaml/v3 v3.0.4 // indirect 18 | golang.org/x/mod v0.27.0 // indirect 19 | golang.org/x/net v0.43.0 // indirect 20 | golang.org/x/sync v0.16.0 // indirect 21 | golang.org/x/sys v0.35.0 // indirect 22 | golang.org/x/text v0.28.0 // indirect 23 | golang.org/x/tools v0.36.0 // indirect 24 | ) 25 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/harden_sshd_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gbytes" 9 | "github.com/onsi/gomega/gexec" 10 | ) 11 | 12 | var _ = Describe("HardenSshd", func() { 13 | It("hardens the sshd", func() { 14 | By("disabeling port forwarding", func() { 15 | session := boshSSH("os-conf/0", "sudo sshd -T | sort") 16 | if boshStemcellOS != "ubuntu-trusty" { 17 | Eventually(session, 30*time.Second).Should(gbytes.Say("allowstreamlocalforwarding no")) 18 | } 19 | Eventually(session, 30*time.Second).Should(gbytes.Say("allowtcpforwarding no")) 20 | Eventually(session, 30*time.Second).Should(gbytes.Say("gatewayports no")) 21 | Eventually(session, 30*time.Second).Should(gbytes.Say("permittunnel no")) 22 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 23 | }) 24 | }) 25 | }) 26 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/limits_not_recommended_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gbytes" 9 | "github.com/onsi/gomega/gexec" 10 | ) 11 | 12 | var _ = Describe("LimitsNotRecommended", func() { 13 | It("allows users to set security configuration", func() { 14 | session := boshSSH("os-conf/0", "sudo cat /etc/security/limits.d/61-bosh-os-conf.conf") 15 | Eventually(session, 30*time.Second).Should(gbytes.Say("\\* soft nofile 60000")) 16 | Eventually(session, 30*time.Second).Should(gbytes.Say("\\* hard nofile 100000")) 17 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 18 | 19 | session = boshSSH("os-conf/0", "ulimit -n") 20 | Eventually(session, 30*time.Second).Should(gbytes.Say("60000")) 21 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 22 | 23 | session = boshSSH("os-conf/0", "ulimit -n 100000") 24 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 25 | 26 | session = boshSSH("os-conf/0", "ulimit -n 100001") 27 | Eventually(session, 30*time.Second).Should(gexec.Exit(1)) 28 | }) 29 | }) 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/login_banner_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gbytes" 9 | "github.com/onsi/gomega/gexec" 10 | ) 11 | 12 | var _ = Describe("LoginBanner", func() { 13 | It("sets the login banner", func() { 14 | session := boshSSH("os-conf/0", "exit 0") 15 | Eventually(session, 30*time.Second).Should(gbytes.Say("Jim was here.")) 16 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 17 | }) 18 | }) 19 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/modprobe_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gbytes" 9 | "github.com/onsi/gomega/gexec" 10 | ) 11 | 12 | var _ = Describe("Modprobe", func() { 13 | It("enables the kernel modules specified", func() { 14 | session := boshSSH("os-conf/0", "lsmod") 15 | Eventually(session, 30*time.Second).Should(gbytes.Say("lp")) 16 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 17 | }) 18 | }) 19 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/monit_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gexec" 9 | ) 10 | 11 | var _ = Describe("Monit", func() { 12 | It("reloads monit at least once after start", func() { 13 | Eventually(func() string { 14 | session := boshSSH("os-conf/0", "sudo cat /var/vcap/monit/monit.log") 15 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 16 | return string(session.Out.Contents()) 17 | }, 60*time.Second).Should(ContainSubstring("Reinitializing monit daemon")) 18 | }) 19 | }) 20 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/ntpdate_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gbytes" 9 | "github.com/onsi/gomega/gexec" 10 | ) 11 | 12 | var _ = Describe("NTPDate", func() { 13 | BeforeEach(func() { 14 | if boshStemcellOS != "ubuntu-trusty" { 15 | Skip("Only Trusty Stemcells use ntpdate") 16 | } 17 | }) 18 | 19 | It("allows using an unprivileged_port", func() { 20 | session := boshSSH("os-conf/0", "sudo cat /var/vcap/bosh/bin/sync-time") 21 | Eventually(session, 30*time.Second).Should(gbytes.Say("/usr/sbin/ntpdate -u")) 22 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/pre_start_script_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gbytes" 9 | "github.com/onsi/gomega/gexec" 10 | ) 11 | 12 | var _ = Describe("PreStartScript", func() { 13 | It("allows users to execute an arbitrary script in pre-start", func() { 14 | session := boshSSH("os-conf/0", "sudo cat /var/vcap/sys/log/pre-start-script/stdout.log") 15 | Eventually(session, 30*time.Second).Should(gbytes.Say("Arbitrary pre start script executed.")) 16 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 17 | }) 18 | }) 19 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/resolv_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gbytes" 9 | "github.com/onsi/gomega/gexec" 10 | ) 11 | 12 | var _ = Describe("Resolv", func() { 13 | It("allows users to set options and serach domain", func() { 14 | session := boshSSH("os-conf/0", "sudo cat /etc/resolv.conf") 15 | Eventually(session, 30*time.Second).Should(gbytes.Say("search pivotal.io")) 16 | Eventually(session, 30*time.Second).Should(gbytes.Say("options rotate")) 17 | Eventually(session, 30*time.Second).Should(gbytes.Say("options timeout:1")) 18 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 19 | }) 20 | }) 21 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/sysctl_test.go: -------------------------------------------------------------------------------- 1 | package os_conf_acceptance_tests_test 2 | 3 | import ( 4 | "time" 5 | 6 | . "github.com/onsi/ginkgo/v2" 7 | . "github.com/onsi/gomega" 8 | "github.com/onsi/gomega/gbytes" 9 | "github.com/onsi/gomega/gexec" 10 | ) 11 | 12 | var _ = Describe("Sysctl", func() { 13 | It("allows users to set arbitrary systcl values", func() { 14 | session := boshSSH("os-conf/0", "sudo cat /etc/sysctl.d/72-bosh-os-conf-sysctl.conf") 15 | Eventually(session, 30*time.Second).Should(gbytes.Say("vm.swappiness=10")) 16 | Eventually(session, 30*time.Second).Should(gbytes.Say("net.core.somaxconn=1024")) 17 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 18 | 19 | session = boshSSH("os-conf/0", "sudo sysctl vm.swappiness") 20 | Eventually(session, 30*time.Second).Should(gbytes.Say("vm.swappiness = 10")) 21 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 22 | 23 | session = boshSSH("os-conf/0", "sudo sysctl net.core.somaxconn") 24 | Eventually(session, 30*time.Second).Should(gbytes.Say("net.core.somaxconn = 1024")) 25 | Eventually(session, 30*time.Second).Should(gexec.Exit(0)) 26 | }) 27 | }) 28 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/tools/tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | // +build tools 3 | 4 | package tools 5 | 6 | import ( 7 | _ "github.com/onsi/ginkgo/v2/ginkgo" // comment to make golint happy 8 | ) 9 | 10 | // This file imports packages that are used when running go generate, or used 11 | // during the development process but not otherwise depended on by built code. 12 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/Masterminds/semver/v3/.gitignore: -------------------------------------------------------------------------------- 1 | _fuzz/ -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/Masterminds/semver/v3/.golangci.yml: -------------------------------------------------------------------------------- 1 | run: 2 | deadline: 2m 3 | 4 | linters: 5 | disable-all: true 6 | enable: 7 | - misspell 8 | - govet 9 | - staticcheck 10 | - errcheck 11 | - unparam 12 | - ineffassign 13 | - nakedret 14 | - gocyclo 15 | - dupl 16 | - goimports 17 | - revive 18 | - gosec 19 | - gosimple 20 | - typecheck 21 | - unused 22 | 23 | linters-settings: 24 | gofmt: 25 | simplify: true 26 | dupl: 27 | threshold: 600 28 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/Masterminds/semver/v3/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2014-2019, Matt Butcher and Matt Farina 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/Masterminds/semver/v3/Makefile: -------------------------------------------------------------------------------- 1 | GOPATH=$(shell go env GOPATH) 2 | GOLANGCI_LINT=$(GOPATH)/bin/golangci-lint 3 | 4 | .PHONY: lint 5 | lint: $(GOLANGCI_LINT) 6 | @echo "==> Linting codebase" 7 | @$(GOLANGCI_LINT) run 8 | 9 | .PHONY: test 10 | test: 11 | @echo "==> Running tests" 12 | GO111MODULE=on go test -v 13 | 14 | .PHONY: test-cover 15 | test-cover: 16 | @echo "==> Running Tests with coverage" 17 | GO111MODULE=on go test -cover . 18 | 19 | .PHONY: fuzz 20 | fuzz: 21 | @echo "==> Running Fuzz Tests" 22 | go env GOCACHE 23 | go test -fuzz=FuzzNewVersion -fuzztime=15s . 24 | go test -fuzz=FuzzStrictNewVersion -fuzztime=15s . 25 | go test -fuzz=FuzzNewConstraint -fuzztime=15s . 26 | 27 | $(GOLANGCI_LINT): 28 | # Install golangci-lint. The configuration for it is in the .golangci.yml 29 | # file in the root of the repository 30 | echo ${GOPATH} 31 | curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOPATH)/bin v1.56.2 32 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/Masterminds/semver/v3/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | The following versions of semver are currently supported: 6 | 7 | | Version | Supported | 8 | | ------- | ------------------ | 9 | | 3.x | :white_check_mark: | 10 | | 2.x | :x: | 11 | | 1.x | :x: | 12 | 13 | Fixes are only released for the latest minor version in the form of a patch release. 14 | 15 | ## Reporting a Vulnerability 16 | 17 | You can privately disclose a vulnerability through GitHubs 18 | [private vulnerability reporting](https://github.com/Masterminds/semver/security/advisories) 19 | mechanism. 20 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/Masterminds/semver/v3/collection.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | // Collection is a collection of Version instances and implements the sort 4 | // interface. See the sort package for more details. 5 | // https://golang.org/pkg/sort/ 6 | type Collection []*Version 7 | 8 | // Len returns the length of a collection. The number of Version instances 9 | // on the slice. 10 | func (c Collection) Len() int { 11 | return len(c) 12 | } 13 | 14 | // Less is needed for the sort interface to compare two Version objects on the 15 | // slice. If checks if one is less than the other. 16 | func (c Collection) Less(i, j int) bool { 17 | return c[i].LessThan(c[j]) 18 | } 19 | 20 | // Swap is needed for the sort interface to replace the Version objects 21 | // at two different positions in the slice. 22 | func (c Collection) Swap(i, j int) { 23 | c[i], c[j] = c[j], c[i] 24 | } 25 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-logr/logr/.golangci.yaml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | 3 | run: 4 | timeout: 1m 5 | tests: true 6 | 7 | linters: 8 | default: none 9 | enable: # please keep this alphabetized 10 | - asasalint 11 | - asciicheck 12 | - copyloopvar 13 | - dupl 14 | - errcheck 15 | - forcetypeassert 16 | - goconst 17 | - gocritic 18 | - govet 19 | - ineffassign 20 | - misspell 21 | - musttag 22 | - revive 23 | - staticcheck 24 | - unused 25 | 26 | issues: 27 | max-issues-per-linter: 0 28 | max-same-issues: 10 29 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-logr/logr/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | ## v1.0.0-rc1 4 | 5 | This is the first logged release. Major changes (including breaking changes) 6 | have occurred since earlier tags. 7 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-logr/logr/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Logr is open to pull-requests, provided they fit within the intended scope of 4 | the project. Specifically, this library aims to be VERY small and minimalist, 5 | with no external dependencies. 6 | 7 | ## Compatibility 8 | 9 | This project intends to follow [semantic versioning](http://semver.org) and 10 | is very strict about compatibility. Any proposed changes MUST follow those 11 | rules. 12 | 13 | ## Performance 14 | 15 | As a logging library, logr must be as light-weight as possible. Any proposed 16 | code change must include results of running the [benchmark](./benchmark) 17 | before and after the change. 18 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-logr/logr/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | If you have discovered a security vulnerability in this project, please report it 4 | privately. **Do not disclose it as a public issue.** This gives us time to work with you 5 | to fix the issue before public exposure, reducing the chance that the exploit will be 6 | used before a patch is released. 7 | 8 | You may submit the report in the following ways: 9 | 10 | - send an email to go-logr-security@googlegroups.com 11 | - send us a [private vulnerability report](https://github.com/go-logr/logr/security/advisories/new) 12 | 13 | Please provide the following information in your report: 14 | 15 | - A description of the vulnerability and its impact 16 | - How to reproduce the issue 17 | 18 | We ask that you give us 90 days to work on a fix before public exposure. 19 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-logr/logr/context.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2023 The logr Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package logr 18 | 19 | // contextKey is how we find Loggers in a context.Context. With Go < 1.21, 20 | // the value is always a Logger value. With Go >= 1.21, the value can be a 21 | // Logger value or a slog.Logger pointer. 22 | type contextKey struct{} 23 | 24 | // notFoundError exists to carry an IsNotFound method. 25 | type notFoundError struct{} 26 | 27 | func (notFoundError) Error() string { 28 | return "no logr.Logger was present" 29 | } 30 | 31 | func (notFoundError) IsNotFound() bool { 32 | return true 33 | } 34 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-logr/logr/discard.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2020 The logr Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package logr 18 | 19 | // Discard returns a Logger that discards all messages logged to it. It can be 20 | // used whenever the caller is not interested in the logs. Logger instances 21 | // produced by this function always compare as equal. 22 | func Discard() Logger { 23 | return New(nil) 24 | } 25 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-task/slim-sprig/v3/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | insert_final_newline = true 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | indent_style = tab 10 | indent_size = 8 11 | 12 | [*.{md,yml,yaml,json}] 13 | indent_style = space 14 | indent_size = 2 15 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-task/slim-sprig/v3/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-task/slim-sprig/v3/.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | /.glide 3 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-task/slim-sprig/v3/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2013-2020 Masterminds 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml: -------------------------------------------------------------------------------- 1 | # https://taskfile.dev 2 | 3 | version: '3' 4 | 5 | tasks: 6 | default: 7 | cmds: 8 | - task: test 9 | 10 | test: 11 | cmds: 12 | - go test -v . 13 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-task/slim-sprig/v3/crypto.go: -------------------------------------------------------------------------------- 1 | package sprig 2 | 3 | import ( 4 | "crypto/sha1" 5 | "crypto/sha256" 6 | "encoding/hex" 7 | "fmt" 8 | "hash/adler32" 9 | ) 10 | 11 | func sha256sum(input string) string { 12 | hash := sha256.Sum256([]byte(input)) 13 | return hex.EncodeToString(hash[:]) 14 | } 15 | 16 | func sha1sum(input string) string { 17 | hash := sha1.Sum([]byte(input)) 18 | return hex.EncodeToString(hash[:]) 19 | } 20 | 21 | func adler32sum(input string) string { 22 | hash := adler32.Checksum([]byte(input)) 23 | return fmt.Sprintf("%d", hash) 24 | } 25 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-task/slim-sprig/v3/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package sprig provides template functions for Go. 3 | 4 | This package contains a number of utility functions for working with data 5 | inside of Go `html/template` and `text/template` files. 6 | 7 | To add these functions, use the `template.Funcs()` method: 8 | 9 | t := templates.New("foo").Funcs(sprig.FuncMap()) 10 | 11 | Note that you should add the function map before you parse any template files. 12 | 13 | In several cases, Sprig reverses the order of arguments from the way they 14 | appear in the standard library. This is to make it easier to pipe 15 | arguments into functions. 16 | 17 | See http://masterminds.github.io/sprig/ for more detailed documentation on each of the available functions. 18 | */ 19 | package sprig 20 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-task/slim-sprig/v3/network.go: -------------------------------------------------------------------------------- 1 | package sprig 2 | 3 | import ( 4 | "math/rand" 5 | "net" 6 | ) 7 | 8 | func getHostByName(name string) string { 9 | addrs, _ := net.LookupHost(name) 10 | //TODO: add error handing when release v3 comes out 11 | return addrs[rand.Intn(len(addrs))] 12 | } 13 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/go-task/slim-sprig/v3/reflect.go: -------------------------------------------------------------------------------- 1 | package sprig 2 | 3 | import ( 4 | "fmt" 5 | "reflect" 6 | ) 7 | 8 | // typeIs returns true if the src is the type named in target. 9 | func typeIs(target string, src interface{}) bool { 10 | return target == typeOf(src) 11 | } 12 | 13 | func typeIsLike(target string, src interface{}) bool { 14 | t := typeOf(src) 15 | return target == t || "*"+target == t 16 | } 17 | 18 | func typeOf(src interface{}) string { 19 | return fmt.Sprintf("%T", src) 20 | } 21 | 22 | func kindIs(target string, src interface{}) bool { 23 | return target == kindOf(src) 24 | } 25 | 26 | func kindOf(src interface{}) string { 27 | return reflect.ValueOf(src).Kind().String() 28 | } 29 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !cmp_debug 6 | // +build !cmp_debug 7 | 8 | package diff 9 | 10 | var debug debugger 11 | 12 | type debugger struct{} 13 | 14 | func (debugger) Begin(_, _ int, f EqualFunc, _, _ *EditScript) EqualFunc { 15 | return f 16 | } 17 | func (debugger) Update() {} 18 | func (debugger) Finish() {} 19 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/google/go-cmp/cmp/internal/flags/flags.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package flags 6 | 7 | // Deterministic controls whether the output of Diff should be deterministic. 8 | // This is only used for testing. 9 | var Deterministic bool 10 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/google/go-cmp/cmp/internal/value/pointer.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package value 6 | 7 | import ( 8 | "reflect" 9 | "unsafe" 10 | ) 11 | 12 | // Pointer is an opaque typed pointer and is guaranteed to be comparable. 13 | type Pointer struct { 14 | p unsafe.Pointer 15 | t reflect.Type 16 | } 17 | 18 | // PointerOf returns a Pointer from v, which must be a 19 | // reflect.Ptr, reflect.Slice, or reflect.Map. 20 | func PointerOf(v reflect.Value) Pointer { 21 | // The proper representation of a pointer is unsafe.Pointer, 22 | // which is necessary if the GC ever uses a moving collector. 23 | return Pointer{unsafe.Pointer(v.Pointer()), v.Type()} 24 | } 25 | 26 | // IsNil reports whether the pointer is nil. 27 | func (p Pointer) IsNil() bool { 28 | return p.p == nil 29 | } 30 | 31 | // Uintptr returns the pointer as a uintptr. 32 | func (p Pointer) Uintptr() uintptr { 33 | return uintptr(p.p) 34 | } 35 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/google/pprof/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of pprof authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | # Names should be added to this file as: 5 | # Name or Organization 6 | # The email address is not required for organizations. 7 | Google Inc. -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/google/pprof/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # People who have agreed to one of the CLAs and can contribute patches. 2 | # The AUTHORS file lists the copyright holders; this file 3 | # lists people. For example, Google employees are listed here 4 | # but not in AUTHORS, because Google holds the copyright. 5 | # 6 | # https://developers.google.com/open-source/cla/individual 7 | # https://developers.google.com/open-source/cla/corporate 8 | # 9 | # Names should be added to this file as: 10 | # Name 11 | Raul Silvera 12 | Tipp Moseley 13 | Hyoun Kyu Cho 14 | Martin Spier 15 | Taco de Wolff 16 | Andrew Hunter 17 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | TODO 3 | tmp/**/* 4 | *.coverprofile 5 | .vscode 6 | .idea/ 7 | *.log 8 | *.test -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Ginkgo 2 | 3 | Your contributions to Ginkgo are essential for its long-term maintenance and improvement. 4 | 5 | - Please **open an issue first** - describe what problem you are trying to solve and give the community a forum for input and feedback ahead of investing time in writing code! 6 | - Ensure adequate test coverage: 7 | - When adding to the Ginkgo library, add unit and/or integration tests (under the `integration` folder). 8 | - When adding to the Ginkgo CLI, note that there are very few unit tests. Please add an integration test. 9 | - Run `make` or: 10 | - Install ginkgo locally via `go install ./...` 11 | - Make sure all the tests succeed via `ginkgo -r -p` 12 | - Vet your changes via `go vet ./...` 13 | - Update the documentation. Ginkgo uses `godoc` comments and documentation in `docs/index.md`. You can run `bundle && bundle exec jekyll serve` in the `docs` directory to preview your changes. 14 | 15 | Thanks for supporting Ginkgo! 16 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2014 Onsi Fakhouri 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/Makefile: -------------------------------------------------------------------------------- 1 | # default task since it's first 2 | .PHONY: all 3 | all: vet test 4 | 5 | .PHONY: test 6 | test: 7 | go run github.com/onsi/ginkgo/v2/ginkgo -r -p -randomize-all -keep-going 8 | 9 | .PHONY: vet 10 | vet: 11 | go vet ./... 12 | 13 | .PHONY: update-deps 14 | update-deps: 15 | go get -u ./... 16 | go mod tidy -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/RELEASING.md: -------------------------------------------------------------------------------- 1 | A Ginkgo release is a tagged git sha and a GitHub release. To cut a release: 2 | 3 | 1. Ensure CHANGELOG.md is up to date. 4 | - Use 5 | ```bash 6 | LAST_VERSION=$(git tag --sort=version:refname | tail -n1) 7 | CHANGES=$(git log --pretty=format:'- %s [%h]' HEAD...$LAST_VERSION) 8 | echo -e "## NEXT\n\n$CHANGES\n\n### Features\n\n### Fixes\n\n### Maintenance\n\n$(cat CHANGELOG.md)" > CHANGELOG.md 9 | ``` 10 | to update the changelog 11 | - Categorize the changes into 12 | - Breaking Changes (requires a major version) 13 | - New Features (minor version) 14 | - Fixes (fix version) 15 | - Maintenance (which in general should not be mentioned in `CHANGELOG.md` as they have no user impact) 16 | 1. Update `VERSION` in `types/version.go` 17 | 1. Commit, push, and release: 18 | ``` 19 | git commit -m "vM.m.p" 20 | git push 21 | gh release create "vM.m.p" 22 | git fetch --tags origin master 23 | ``` -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.go: -------------------------------------------------------------------------------- 1 | package generators 2 | 3 | var specText = `{{.BuildTags}} 4 | package {{.Package}} 5 | 6 | import ( 7 | {{.GinkgoImport}} 8 | {{.GomegaImport}} 9 | 10 | {{if .ImportPackage}}"{{.PackageImportPath}}"{{end}} 11 | ) 12 | 13 | var _ = {{.GinkgoPackage}}Describe("{{.Subject}}", func() { 14 | 15 | }) 16 | ` 17 | 18 | var agoutiSpecText = `{{.BuildTags}} 19 | package {{.Package}} 20 | 21 | import ( 22 | {{.GinkgoImport}} 23 | {{.GomegaImport}} 24 | "github.com/sclevine/agouti" 25 | . "github.com/sclevine/agouti/matchers" 26 | 27 | {{if .ImportPackage}}"{{.PackageImportPath}}"{{end}} 28 | ) 29 | 30 | var _ = {{.GinkgoPackage}}Describe("{{.Subject}}", func() { 31 | var page *agouti.Page 32 | 33 | {{.GinkgoPackage}}BeforeEach(func() { 34 | var err error 35 | page, err = agoutiDriver.NewPage() 36 | {{.GomegaPackage}}Expect(err).NotTo({{.GomegaPackage}}HaveOccurred()) 37 | }) 38 | 39 | {{.GinkgoPackage}}AfterEach(func() { 40 | {{.GomegaPackage}}Expect(page.Destroy()).To({{.GomegaPackage}}Succeed()) 41 | }) 42 | }) 43 | ` 44 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/ginkgo/maxprocs.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.25 2 | // +build !go1.25 3 | 4 | package main 5 | 6 | import ( 7 | _ "go.uber.org/automaxprocs" 8 | ) 9 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.go: -------------------------------------------------------------------------------- 1 | package watch 2 | 3 | import "sort" 4 | 5 | type Delta struct { 6 | ModifiedPackages []string 7 | 8 | NewSuites []*Suite 9 | RemovedSuites []*Suite 10 | modifiedSuites []*Suite 11 | } 12 | 13 | type DescendingByDelta []*Suite 14 | 15 | func (a DescendingByDelta) Len() int { return len(a) } 16 | func (a DescendingByDelta) Swap(i, j int) { a[i], a[j] = a[j], a[i] } 17 | func (a DescendingByDelta) Less(i, j int) bool { return a[i].Delta() > a[j].Delta() } 18 | 19 | func (d Delta) ModifiedSuites() []*Suite { 20 | sort.Sort(DescendingByDelta(d.modifiedSuites)) 21 | return d.modifiedSuites 22 | } 23 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.go: -------------------------------------------------------------------------------- 1 | //go:build ginkgoclidependencies 2 | // +build ginkgoclidependencies 3 | 4 | package ginkgo 5 | 6 | import ( 7 | _ "github.com/onsi/ginkgo/v2/ginkgo" 8 | ) 9 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/around_node.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | import ( 4 | "github.com/onsi/ginkgo/v2/types" 5 | ) 6 | 7 | func ComputeAroundNodes(specs Specs) Specs { 8 | out := Specs{} 9 | for _, spec := range specs { 10 | nodes := Nodes{} 11 | currentNestingLevel := 0 12 | aroundNodes := types.AroundNodes{} 13 | nestingLevelIndices := []int{} 14 | for _, node := range spec.Nodes { 15 | switch node.NodeType { 16 | case types.NodeTypeContainer: 17 | currentNestingLevel = node.NestingLevel + 1 18 | nestingLevelIndices = append(nestingLevelIndices, len(aroundNodes)) 19 | aroundNodes = aroundNodes.Append(node.AroundNodes...) 20 | nodes = append(nodes, node) 21 | default: 22 | if currentNestingLevel > node.NestingLevel { 23 | currentNestingLevel = node.NestingLevel 24 | aroundNodes = aroundNodes[:nestingLevelIndices[currentNestingLevel]] 25 | } 26 | node.AroundNodes = types.AroundNodes{}.Append(aroundNodes...).Append(node.AroundNodes...) 27 | nodes = append(nodes, node) 28 | } 29 | } 30 | spec.Nodes = nodes 31 | out = append(out, spec) 32 | } 33 | return out 34 | } 35 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/counter.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | func MakeIncrementingIndexCounter() func() (int, error) { 4 | idx := -1 5 | return func() (int, error) { 6 | idx += 1 7 | return idx, nil 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/global/init.go: -------------------------------------------------------------------------------- 1 | package global 2 | 3 | import ( 4 | "github.com/onsi/ginkgo/v2/internal" 5 | ) 6 | 7 | var Suite *internal.Suite 8 | var Failer *internal.Failer 9 | var backupSuite *internal.Suite 10 | 11 | func init() { 12 | InitializeGlobals() 13 | } 14 | 15 | func InitializeGlobals() { 16 | Failer = internal.NewFailer() 17 | Suite = internal.NewSuite() 18 | } 19 | 20 | func PushClone() error { 21 | var err error 22 | backupSuite, err = Suite.Clone() 23 | return err 24 | } 25 | 26 | func PopClone() { 27 | Suite = backupSuite 28 | } 29 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.go: -------------------------------------------------------------------------------- 1 | //go:build freebsd || openbsd || netbsd || dragonfly || darwin || linux || solaris 2 | // +build freebsd openbsd netbsd dragonfly darwin linux solaris 3 | 4 | package interrupt_handler 5 | 6 | import ( 7 | "os" 8 | "os/signal" 9 | "syscall" 10 | ) 11 | 12 | func SwallowSigQuit() { 13 | c := make(chan os.Signal, 1024) 14 | signal.Notify(c, syscall.SIGQUIT) 15 | } 16 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | // +build windows 3 | 4 | package interrupt_handler 5 | 6 | func SwallowSigQuit() { 7 | //noop 8 | } 9 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.go: -------------------------------------------------------------------------------- 1 | //go:build wasm 2 | 3 | package internal 4 | 5 | func NewOutputInterceptor() OutputInterceptor { 6 | return &NoopOutputInterceptor{} 7 | } 8 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package internal 4 | 5 | func NewOutputInterceptor() OutputInterceptor { 6 | return NewOSGlobalReassigningOutputInterceptor() 7 | } 8 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build freebsd || openbsd || netbsd || darwin || dragonfly 2 | // +build freebsd openbsd netbsd darwin dragonfly 3 | 4 | package internal 5 | 6 | import ( 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | var PROGRESS_SIGNALS = []os.Signal{syscall.SIGINFO, syscall.SIGUSR1} 12 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.go: -------------------------------------------------------------------------------- 1 | //go:build linux || solaris 2 | // +build linux solaris 3 | 4 | package internal 5 | 6 | import ( 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | var PROGRESS_SIGNALS = []os.Signal{syscall.SIGUSR1} 12 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.go: -------------------------------------------------------------------------------- 1 | //go:build wasm 2 | 3 | package internal 4 | 5 | import ( 6 | "os" 7 | "syscall" 8 | ) 9 | 10 | var PROGRESS_SIGNALS = []os.Signal{syscall.SIGUSR1} 11 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | // +build windows 3 | 4 | package internal 5 | 6 | import "os" 7 | 8 | var PROGRESS_SIGNALS = []os.Signal{} 9 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/internal/report_entry.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | import ( 4 | "time" 5 | 6 | "github.com/onsi/ginkgo/v2/types" 7 | ) 8 | 9 | type ReportEntry = types.ReportEntry 10 | 11 | func NewReportEntry(name string, cl types.CodeLocation, args ...any) (ReportEntry, error) { 12 | out := ReportEntry{ 13 | Visibility: types.ReportEntryVisibilityAlways, 14 | Name: name, 15 | Location: cl, 16 | Time: time.Now(), 17 | } 18 | var didSetValue = false 19 | for _, arg := range args { 20 | switch x := arg.(type) { 21 | case types.ReportEntryVisibility: 22 | out.Visibility = x 23 | case types.CodeLocation: 24 | out.Location = x 25 | case Offset: 26 | out.Location = types.NewCodeLocation(2 + int(x)) 27 | case time.Time: 28 | out.Time = x 29 | default: 30 | if didSetValue { 31 | return ReportEntry{}, types.GinkgoErrors.TooManyReportEntryValues(out.Location, arg) 32 | } 33 | out.Value = types.WrapEntryValue(arg) 34 | didSetValue = true 35 | } 36 | } 37 | 38 | return out, nil 39 | } 40 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/reporters/reporter.go: -------------------------------------------------------------------------------- 1 | package reporters 2 | 3 | import ( 4 | "github.com/onsi/ginkgo/v2/types" 5 | ) 6 | 7 | type Reporter interface { 8 | SuiteWillBegin(report types.Report) 9 | WillRun(report types.SpecReport) 10 | DidRun(report types.SpecReport) 11 | SuiteDidEnd(report types.Report) 12 | 13 | //Timeline emission 14 | EmitFailure(state types.SpecState, failure types.Failure) 15 | EmitProgressReport(progressReport types.ProgressReport) 16 | EmitReportEntry(entry types.ReportEntry) 17 | EmitSpecEvent(event types.SpecEvent) 18 | } 19 | 20 | type NoopReporter struct{} 21 | 22 | func (n NoopReporter) SuiteWillBegin(report types.Report) {} 23 | func (n NoopReporter) WillRun(report types.SpecReport) {} 24 | func (n NoopReporter) DidRun(report types.SpecReport) {} 25 | func (n NoopReporter) SuiteDidEnd(report types.Report) {} 26 | func (n NoopReporter) EmitFailure(state types.SpecState, failure types.Failure) {} 27 | func (n NoopReporter) EmitProgressReport(progressReport types.ProgressReport) {} 28 | func (n NoopReporter) EmitReportEntry(entry types.ReportEntry) {} 29 | func (n NoopReporter) EmitSpecEvent(event types.SpecEvent) {} 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/types/enum_support.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import "encoding/json" 4 | 5 | type EnumSupport struct { 6 | toString map[uint]string 7 | toEnum map[string]uint 8 | maxEnum uint 9 | } 10 | 11 | func NewEnumSupport(toString map[uint]string) EnumSupport { 12 | toEnum, maxEnum := map[string]uint{}, uint(0) 13 | for k, v := range toString { 14 | toEnum[v] = k 15 | if maxEnum < k { 16 | maxEnum = k 17 | } 18 | } 19 | return EnumSupport{toString: toString, toEnum: toEnum, maxEnum: maxEnum} 20 | } 21 | 22 | func (es EnumSupport) String(e uint) string { 23 | if e > es.maxEnum { 24 | return es.toString[0] 25 | } 26 | return es.toString[e] 27 | } 28 | 29 | func (es EnumSupport) UnmarshJSON(b []byte) (uint, error) { 30 | var dec string 31 | if err := json.Unmarshal(b, &dec); err != nil { 32 | return 0, err 33 | } 34 | out := es.toEnum[dec] // if we miss we get 0 which is what we want anyway 35 | return out, nil 36 | } 37 | 38 | func (es EnumSupport) MarshJSON(e uint) ([]byte, error) { 39 | if e == 0 || e > es.maxEnum { 40 | return json.Marshal(nil) 41 | } 42 | return json.Marshal(es.toString[e]) 43 | } 44 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/ginkgo/v2/types/version.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | const VERSION = "2.27.1" 4 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.test 3 | . 4 | .idea 5 | gomega.iml 6 | TODO 7 | .vscode -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Gomega 2 | 3 | Your contributions to Gomega are essential for its long-term maintenance and improvement. To make a contribution: 4 | 5 | - Please **open an issue first** - describe what problem you are trying to solve and give the community a forum for input and feedback ahead of investing time in writing code! 6 | - Ensure adequate test coverage: 7 | - Make sure to add appropriate unit tests 8 | - Please run all tests locally (`ginkgo -r -p`) and make sure they go green before submitting the PR 9 | - Please run following linter locally `go vet ./...` and make sure output does not contain any warnings 10 | - Update the documentation. In addition to standard `godoc` comments Gomega has extensive documentation on the `gh-pages` branch. If relevant, please submit a docs PR to that branch alongside your code PR. 11 | 12 | If you're a committer, check out RELEASING.md to learn how to cut a release. 13 | 14 | Thanks for supporting Gomega! 15 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2014 Onsi Fakhouri 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/README.md: -------------------------------------------------------------------------------- 1 | ![Gomega: Ginkgo's Preferred Matcher Library](http://onsi.github.io/gomega/images/gomega.png) 2 | 3 | [![test](https://github.com/onsi/gomega/actions/workflows/test.yml/badge.svg)](https://github.com/onsi/gomega/actions/workflows/test.yml) 4 | 5 | Jump straight to the [docs](http://onsi.github.io/gomega/) to learn about Gomega, including a list of [all available matchers](http://onsi.github.io/gomega/#provided-matchers). 6 | 7 | If you have a question, comment, bug report, feature request, etc. please open a GitHub issue. 8 | 9 | ## [Ginkgo](http://github.com/onsi/ginkgo): a BDD Testing Framework for Golang 10 | 11 | Learn more about Ginkgo [here](http://onsi.github.io/ginkgo/) 12 | 13 | ## Community Matchers 14 | 15 | A collection of community matchers is available on the [wiki](https://github.com/onsi/gomega/wiki). 16 | 17 | ## License 18 | 19 | Gomega is MIT-Licensed 20 | 21 | The `ConsistOf` matcher uses [goraph](https://github.com/amitkgupta/goraph) which is embedded in the source to simplify distribution. goraph has an MIT license. 22 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/RELEASING.md: -------------------------------------------------------------------------------- 1 | A Gomega release is a tagged sha and a GitHub release. To cut a release: 2 | 3 | 1. Ensure CHANGELOG.md is up to date. 4 | - Use 5 | ```bash 6 | LAST_VERSION=$(git tag --sort=version:refname | tail -n1) 7 | CHANGES=$(git log --pretty=format:'- %s [%h]' HEAD...$LAST_VERSION) 8 | echo -e "## NEXT\n\n$CHANGES\n\n### Features\n\n### Fixes\n\n### Maintenance\n\n$(cat CHANGELOG.md)" > CHANGELOG.md 9 | ``` 10 | to update the changelog 11 | - Categorize the changes into 12 | - Breaking Changes (requires a major version) 13 | - New Features (minor version) 14 | - Fixes (fix version) 15 | - Maintenance (which in general should not be mentioned in `CHANGELOG.md` as they have no user impact) 16 | 1. Update GOMEGA_VERSION in `gomega_dsl.go` 17 | 1. Commit, push, and release: 18 | ``` 19 | git commit -m "vM.m.p" 20 | git push 21 | gh release create "vM.m.p" 22 | git fetch --tags origin master 23 | ``` -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/internal/gutil/post_ioutil.go: -------------------------------------------------------------------------------- 1 | //go:build go1.16 2 | // +build go1.16 3 | 4 | // Package gutil is a replacement for ioutil, which should not be used in new 5 | // code as of Go 1.16. With Go 1.16 and higher, this implementation 6 | // uses the ioutil replacement functions in "io" and "os" with some 7 | // Gomega specifics. This means that we should not get deprecation warnings 8 | // for ioutil when they are added. 9 | package gutil 10 | 11 | import ( 12 | "io" 13 | "os" 14 | ) 15 | 16 | func NopCloser(r io.Reader) io.ReadCloser { 17 | return io.NopCloser(r) 18 | } 19 | 20 | func ReadAll(r io.Reader) ([]byte, error) { 21 | return io.ReadAll(r) 22 | } 23 | 24 | func ReadDir(dirname string) ([]string, error) { 25 | entries, err := os.ReadDir(dirname) 26 | if err != nil { 27 | return nil, err 28 | } 29 | 30 | var names []string 31 | for _, entry := range entries { 32 | names = append(names, entry.Name()) 33 | } 34 | 35 | return names, nil 36 | } 37 | 38 | func ReadFile(filename string) ([]byte, error) { 39 | return os.ReadFile(filename) 40 | } 41 | 42 | func MkdirTemp(dir, pattern string) (string, error) { 43 | return os.MkdirTemp(dir, pattern) 44 | } 45 | 46 | func WriteFile(filename string, data []byte) error { 47 | return os.WriteFile(filename, data, 0644) 48 | } 49 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/internal/gutil/using_ioutil.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.16 2 | // +build !go1.16 3 | 4 | // Package gutil is a replacement for ioutil, which should not be used in new 5 | // code as of Go 1.16. With Go 1.15 and lower, this implementation 6 | // uses the ioutil functions, meaning that although Gomega is not officially 7 | // supported on these versions, it is still likely to work. 8 | package gutil 9 | 10 | import ( 11 | "io" 12 | "io/ioutil" 13 | ) 14 | 15 | func NopCloser(r io.Reader) io.ReadCloser { 16 | return ioutil.NopCloser(r) 17 | } 18 | 19 | func ReadAll(r io.Reader) ([]byte, error) { 20 | return ioutil.ReadAll(r) 21 | } 22 | 23 | func ReadDir(dirname string) ([]string, error) { 24 | files, err := ioutil.ReadDir(dirname) 25 | if err != nil { 26 | return nil, err 27 | } 28 | 29 | var names []string 30 | for _, file := range files { 31 | names = append(names, file.Name()) 32 | } 33 | 34 | return names, nil 35 | } 36 | 37 | func ReadFile(filename string) ([]byte, error) { 38 | return ioutil.ReadFile(filename) 39 | } 40 | 41 | func MkdirTemp(dir, pattern string) (string, error) { 42 | return ioutil.TempDir(dir, pattern) 43 | } 44 | 45 | func WriteFile(filename string, data []byte) error { 46 | return ioutil.WriteFile(filename, data, 0644) 47 | } 48 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/internal/vetoptdesc.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/onsi/gomega/types" 7 | ) 8 | 9 | // vetOptionalDescription vets the optional description args: if it finds any 10 | // Gomega matcher at the beginning it panics. This allows for rendering Gomega 11 | // matchers as part of an optional Description, as long as they're not in the 12 | // first slot. 13 | func vetOptionalDescription(assertion string, optionalDescription ...any) { 14 | if len(optionalDescription) == 0 { 15 | return 16 | } 17 | if _, isGomegaMatcher := optionalDescription[0].(types.GomegaMatcher); isGomegaMatcher { 18 | panic(fmt.Sprintf("%s has a GomegaMatcher as the first element of optionalDescription.\n\t"+ 19 | "Do you mean to use And/Or/SatisfyAll/SatisfyAny to combine multiple matchers?", 20 | assertion)) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/attributes_slice.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "encoding/xml" 5 | "strings" 6 | ) 7 | 8 | type attributesSlice []xml.Attr 9 | 10 | func (attrs attributesSlice) Len() int { return len(attrs) } 11 | func (attrs attributesSlice) Less(i, j int) bool { 12 | return strings.Compare(attrs[i].Name.Local, attrs[j].Name.Local) == -1 13 | } 14 | func (attrs attributesSlice) Swap(i, j int) { attrs[i], attrs[j] = attrs[j], attrs[i] } 15 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/be_an_existing_file.go: -------------------------------------------------------------------------------- 1 | // untested sections: 3 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | "os" 8 | 9 | "github.com/onsi/gomega/format" 10 | ) 11 | 12 | type BeAnExistingFileMatcher struct { 13 | expected any 14 | } 15 | 16 | func (matcher *BeAnExistingFileMatcher) Match(actual any) (success bool, err error) { 17 | actualFilename, ok := actual.(string) 18 | if !ok { 19 | return false, fmt.Errorf("BeAnExistingFileMatcher matcher expects a file path") 20 | } 21 | 22 | if _, err = os.Stat(actualFilename); err != nil { 23 | switch { 24 | case os.IsNotExist(err): 25 | return false, nil 26 | default: 27 | return false, err 28 | } 29 | } 30 | 31 | return true, nil 32 | } 33 | 34 | func (matcher *BeAnExistingFileMatcher) FailureMessage(actual any) (message string) { 35 | return format.Message(actual, "to exist") 36 | } 37 | 38 | func (matcher *BeAnExistingFileMatcher) NegatedFailureMessage(actual any) (message string) { 39 | return format.Message(actual, "not to exist") 40 | } 41 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/be_element_of_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 1 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | "reflect" 8 | 9 | "github.com/onsi/gomega/format" 10 | ) 11 | 12 | type BeElementOfMatcher struct { 13 | Elements []any 14 | } 15 | 16 | func (matcher *BeElementOfMatcher) Match(actual any) (success bool, err error) { 17 | if reflect.TypeOf(actual) == nil { 18 | return false, fmt.Errorf("BeElement matcher expects actual to be typed") 19 | } 20 | 21 | var lastError error 22 | for _, m := range flatten(matcher.Elements) { 23 | matcher := &EqualMatcher{Expected: m} 24 | success, err := matcher.Match(actual) 25 | if err != nil { 26 | lastError = err 27 | continue 28 | } 29 | if success { 30 | return true, nil 31 | } 32 | } 33 | 34 | return false, lastError 35 | } 36 | 37 | func (matcher *BeElementOfMatcher) FailureMessage(actual any) (message string) { 38 | return format.Message(actual, "to be an element of", presentable(matcher.Elements)) 39 | } 40 | 41 | func (matcher *BeElementOfMatcher) NegatedFailureMessage(actual any) (message string) { 42 | return format.Message(actual, "not to be an element of", presentable(matcher.Elements)) 43 | } 44 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/be_equivalent_to_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | "reflect" 8 | 9 | "github.com/onsi/gomega/format" 10 | ) 11 | 12 | type BeEquivalentToMatcher struct { 13 | Expected any 14 | } 15 | 16 | func (matcher *BeEquivalentToMatcher) Match(actual any) (success bool, err error) { 17 | if actual == nil && matcher.Expected == nil { 18 | return false, fmt.Errorf("Both actual and expected must not be nil.") 19 | } 20 | 21 | convertedActual := actual 22 | 23 | if actual != nil && matcher.Expected != nil && reflect.TypeOf(actual).ConvertibleTo(reflect.TypeOf(matcher.Expected)) { 24 | convertedActual = reflect.ValueOf(actual).Convert(reflect.TypeOf(matcher.Expected)).Interface() 25 | } 26 | 27 | return reflect.DeepEqual(convertedActual, matcher.Expected), nil 28 | } 29 | 30 | func (matcher *BeEquivalentToMatcher) FailureMessage(actual any) (message string) { 31 | return format.Message(actual, "to be equivalent to", matcher.Expected) 32 | } 33 | 34 | func (matcher *BeEquivalentToMatcher) NegatedFailureMessage(actual any) (message string) { 35 | return format.Message(actual, "not to be equivalent to", matcher.Expected) 36 | } 37 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/be_false_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/onsi/gomega/format" 9 | ) 10 | 11 | type BeFalseMatcher struct { 12 | Reason string 13 | } 14 | 15 | func (matcher *BeFalseMatcher) Match(actual any) (success bool, err error) { 16 | if !isBool(actual) { 17 | return false, fmt.Errorf("Expected a boolean. Got:\n%s", format.Object(actual, 1)) 18 | } 19 | 20 | return actual == false, nil 21 | } 22 | 23 | func (matcher *BeFalseMatcher) FailureMessage(actual any) (message string) { 24 | if matcher.Reason == "" { 25 | return format.Message(actual, "to be false") 26 | } else { 27 | return matcher.Reason 28 | } 29 | } 30 | 31 | func (matcher *BeFalseMatcher) NegatedFailureMessage(actual any) (message string) { 32 | if matcher.Reason == "" { 33 | return format.Message(actual, "not to be false") 34 | } else { 35 | return fmt.Sprintf(`Expected not false but got false\nNegation of "%s" failed`, matcher.Reason) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/be_identical_to.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | "runtime" 8 | 9 | "github.com/onsi/gomega/format" 10 | ) 11 | 12 | type BeIdenticalToMatcher struct { 13 | Expected any 14 | } 15 | 16 | func (matcher *BeIdenticalToMatcher) Match(actual any) (success bool, matchErr error) { 17 | if actual == nil && matcher.Expected == nil { 18 | return false, fmt.Errorf("Refusing to compare to .\nBe explicit and use BeNil() instead. This is to avoid mistakes where both sides of an assertion are erroneously uninitialized.") 19 | } 20 | 21 | defer func() { 22 | if r := recover(); r != nil { 23 | if _, ok := r.(runtime.Error); ok { 24 | success = false 25 | matchErr = nil 26 | } 27 | } 28 | }() 29 | 30 | return actual == matcher.Expected, nil 31 | } 32 | 33 | func (matcher *BeIdenticalToMatcher) FailureMessage(actual any) string { 34 | return format.Message(actual, "to be identical to", matcher.Expected) 35 | } 36 | 37 | func (matcher *BeIdenticalToMatcher) NegatedFailureMessage(actual any) string { 38 | return format.Message(actual, "not to be identical to", matcher.Expected) 39 | } 40 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/be_key_of_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | "reflect" 6 | 7 | "github.com/onsi/gomega/format" 8 | ) 9 | 10 | type BeKeyOfMatcher struct { 11 | Map any 12 | } 13 | 14 | func (matcher *BeKeyOfMatcher) Match(actual any) (success bool, err error) { 15 | if !isMap(matcher.Map) { 16 | return false, fmt.Errorf("BeKeyOf matcher needs expected to be a map type") 17 | } 18 | 19 | if reflect.TypeOf(actual) == nil { 20 | return false, fmt.Errorf("BeKeyOf matcher expects actual to be typed") 21 | } 22 | 23 | var lastError error 24 | for _, key := range reflect.ValueOf(matcher.Map).MapKeys() { 25 | matcher := &EqualMatcher{Expected: key.Interface()} 26 | success, err := matcher.Match(actual) 27 | if err != nil { 28 | lastError = err 29 | continue 30 | } 31 | if success { 32 | return true, nil 33 | } 34 | } 35 | 36 | return false, lastError 37 | } 38 | 39 | func (matcher *BeKeyOfMatcher) FailureMessage(actual any) (message string) { 40 | return format.Message(actual, "to be a key of", presentable(valuesOf(matcher.Map))) 41 | } 42 | 43 | func (matcher *BeKeyOfMatcher) NegatedFailureMessage(actual any) (message string) { 44 | return format.Message(actual, "not to be a key of", presentable(valuesOf(matcher.Map))) 45 | } 46 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/be_nil_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import "github.com/onsi/gomega/format" 6 | 7 | type BeNilMatcher struct { 8 | } 9 | 10 | func (matcher *BeNilMatcher) Match(actual any) (success bool, err error) { 11 | return isNil(actual), nil 12 | } 13 | 14 | func (matcher *BeNilMatcher) FailureMessage(actual any) (message string) { 15 | return format.Message(actual, "to be nil") 16 | } 17 | 18 | func (matcher *BeNilMatcher) NegatedFailureMessage(actual any) (message string) { 19 | return format.Message(actual, "not to be nil") 20 | } 21 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/be_true_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/onsi/gomega/format" 9 | ) 10 | 11 | type BeTrueMatcher struct { 12 | Reason string 13 | } 14 | 15 | func (matcher *BeTrueMatcher) Match(actual any) (success bool, err error) { 16 | if !isBool(actual) { 17 | return false, fmt.Errorf("Expected a boolean. Got:\n%s", format.Object(actual, 1)) 18 | } 19 | 20 | return actual.(bool), nil 21 | } 22 | 23 | func (matcher *BeTrueMatcher) FailureMessage(actual any) (message string) { 24 | if matcher.Reason == "" { 25 | return format.Message(actual, "to be true") 26 | } else { 27 | return matcher.Reason 28 | } 29 | } 30 | 31 | func (matcher *BeTrueMatcher) NegatedFailureMessage(actual any) (message string) { 32 | if matcher.Reason == "" { 33 | return format.Message(actual, "not to be true") 34 | } else { 35 | return fmt.Sprintf(`Expected not true but got true\nNegation of "%s" failed`, matcher.Reason) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/be_zero_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "reflect" 5 | 6 | "github.com/onsi/gomega/format" 7 | ) 8 | 9 | type BeZeroMatcher struct { 10 | } 11 | 12 | func (matcher *BeZeroMatcher) Match(actual any) (success bool, err error) { 13 | if actual == nil { 14 | return true, nil 15 | } 16 | zeroValue := reflect.Zero(reflect.TypeOf(actual)).Interface() 17 | 18 | return reflect.DeepEqual(zeroValue, actual), nil 19 | 20 | } 21 | 22 | func (matcher *BeZeroMatcher) FailureMessage(actual any) (message string) { 23 | return format.Message(actual, "to be zero-valued") 24 | } 25 | 26 | func (matcher *BeZeroMatcher) NegatedFailureMessage(actual any) (message string) { 27 | return format.Message(actual, "not to be zero-valued") 28 | } 29 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/contain_substring_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | "strings" 8 | 9 | "github.com/onsi/gomega/format" 10 | ) 11 | 12 | type ContainSubstringMatcher struct { 13 | Substr string 14 | Args []any 15 | } 16 | 17 | func (matcher *ContainSubstringMatcher) Match(actual any) (success bool, err error) { 18 | actualString, ok := toString(actual) 19 | if !ok { 20 | return false, fmt.Errorf("ContainSubstring matcher requires a string or stringer. Got:\n%s", format.Object(actual, 1)) 21 | } 22 | 23 | return strings.Contains(actualString, matcher.stringToMatch()), nil 24 | } 25 | 26 | func (matcher *ContainSubstringMatcher) stringToMatch() string { 27 | stringToMatch := matcher.Substr 28 | if len(matcher.Args) > 0 { 29 | stringToMatch = fmt.Sprintf(matcher.Substr, matcher.Args...) 30 | } 31 | return stringToMatch 32 | } 33 | 34 | func (matcher *ContainSubstringMatcher) FailureMessage(actual any) (message string) { 35 | return format.Message(actual, "to contain substring", matcher.stringToMatch()) 36 | } 37 | 38 | func (matcher *ContainSubstringMatcher) NegatedFailureMessage(actual any) (message string) { 39 | return format.Message(actual, "not to contain substring", matcher.stringToMatch()) 40 | } 41 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/have_cap_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/onsi/gomega/format" 9 | ) 10 | 11 | type HaveCapMatcher struct { 12 | Count int 13 | } 14 | 15 | func (matcher *HaveCapMatcher) Match(actual any) (success bool, err error) { 16 | length, ok := capOf(actual) 17 | if !ok { 18 | return false, fmt.Errorf("HaveCap matcher expects a array/channel/slice. Got:\n%s", format.Object(actual, 1)) 19 | } 20 | 21 | return length == matcher.Count, nil 22 | } 23 | 24 | func (matcher *HaveCapMatcher) FailureMessage(actual any) (message string) { 25 | return fmt.Sprintf("Expected\n%s\nto have capacity %d", format.Object(actual, 1), matcher.Count) 26 | } 27 | 28 | func (matcher *HaveCapMatcher) NegatedFailureMessage(actual any) (message string) { 29 | return fmt.Sprintf("Expected\n%s\nnot to have capacity %d", format.Object(actual, 1), matcher.Count) 30 | } 31 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/have_existing_field_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "errors" 5 | "fmt" 6 | 7 | "github.com/onsi/gomega/format" 8 | ) 9 | 10 | type HaveExistingFieldMatcher struct { 11 | Field string 12 | } 13 | 14 | func (matcher *HaveExistingFieldMatcher) Match(actual any) (success bool, err error) { 15 | // we don't care about the field's actual value, just about any error in 16 | // trying to find the field (or method). 17 | _, err = extractField(actual, matcher.Field, "HaveExistingField") 18 | if err == nil { 19 | return true, nil 20 | } 21 | var mferr missingFieldError 22 | if errors.As(err, &mferr) { 23 | // missing field errors aren't errors in this context, but instead 24 | // unsuccessful matches. 25 | return false, nil 26 | } 27 | return false, err 28 | } 29 | 30 | func (matcher *HaveExistingFieldMatcher) FailureMessage(actual any) (message string) { 31 | return fmt.Sprintf("Expected\n%s\nto have field '%s'", format.Object(actual, 1), matcher.Field) 32 | } 33 | 34 | func (matcher *HaveExistingFieldMatcher) NegatedFailureMessage(actual any) (message string) { 35 | return fmt.Sprintf("Expected\n%s\nnot to have field '%s'", format.Object(actual, 1), matcher.Field) 36 | } 37 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/have_len_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/onsi/gomega/format" 7 | ) 8 | 9 | type HaveLenMatcher struct { 10 | Count int 11 | } 12 | 13 | func (matcher *HaveLenMatcher) Match(actual any) (success bool, err error) { 14 | length, ok := lengthOf(actual) 15 | if !ok { 16 | return false, fmt.Errorf("HaveLen matcher expects a string/array/map/channel/slice/iterator. Got:\n%s", format.Object(actual, 1)) 17 | } 18 | 19 | return length == matcher.Count, nil 20 | } 21 | 22 | func (matcher *HaveLenMatcher) FailureMessage(actual any) (message string) { 23 | return fmt.Sprintf("Expected\n%s\nto have length %d", format.Object(actual, 1), matcher.Count) 24 | } 25 | 26 | func (matcher *HaveLenMatcher) NegatedFailureMessage(actual any) (message string) { 27 | return fmt.Sprintf("Expected\n%s\nnot to have length %d", format.Object(actual, 1), matcher.Count) 28 | } 29 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher.go: -------------------------------------------------------------------------------- 1 | // untested sections: 2 2 | 3 | package matchers 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/onsi/gomega/format" 9 | ) 10 | 11 | type HaveOccurredMatcher struct { 12 | } 13 | 14 | func (matcher *HaveOccurredMatcher) Match(actual any) (success bool, err error) { 15 | // is purely nil? 16 | if actual == nil { 17 | return false, nil 18 | } 19 | 20 | // must be an 'error' type 21 | if !isError(actual) { 22 | return false, fmt.Errorf("Expected an error-type. Got:\n%s", format.Object(actual, 1)) 23 | } 24 | 25 | // must be non-nil (or a pointer to a non-nil) 26 | return !isNil(actual), nil 27 | } 28 | 29 | func (matcher *HaveOccurredMatcher) FailureMessage(actual any) (message string) { 30 | return fmt.Sprintf("Expected an error to have occurred. Got:\n%s", format.Object(actual, 1)) 31 | } 32 | 33 | func (matcher *HaveOccurredMatcher) NegatedFailureMessage(actual any) (message string) { 34 | return fmt.Sprintf("Unexpected error:\n%s\n%s", format.Object(actual, 1), "occurred") 35 | } 36 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/have_prefix_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/onsi/gomega/format" 7 | ) 8 | 9 | type HavePrefixMatcher struct { 10 | Prefix string 11 | Args []any 12 | } 13 | 14 | func (matcher *HavePrefixMatcher) Match(actual any) (success bool, err error) { 15 | actualString, ok := toString(actual) 16 | if !ok { 17 | return false, fmt.Errorf("HavePrefix matcher requires a string or stringer. Got:\n%s", format.Object(actual, 1)) 18 | } 19 | prefix := matcher.prefix() 20 | return len(actualString) >= len(prefix) && actualString[0:len(prefix)] == prefix, nil 21 | } 22 | 23 | func (matcher *HavePrefixMatcher) prefix() string { 24 | if len(matcher.Args) > 0 { 25 | return fmt.Sprintf(matcher.Prefix, matcher.Args...) 26 | } 27 | return matcher.Prefix 28 | } 29 | 30 | func (matcher *HavePrefixMatcher) FailureMessage(actual any) (message string) { 31 | return format.Message(actual, "to have prefix", matcher.prefix()) 32 | } 33 | 34 | func (matcher *HavePrefixMatcher) NegatedFailureMessage(actual any) (message string) { 35 | return format.Message(actual, "not to have prefix", matcher.prefix()) 36 | } 37 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/have_suffix_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/onsi/gomega/format" 7 | ) 8 | 9 | type HaveSuffixMatcher struct { 10 | Suffix string 11 | Args []any 12 | } 13 | 14 | func (matcher *HaveSuffixMatcher) Match(actual any) (success bool, err error) { 15 | actualString, ok := toString(actual) 16 | if !ok { 17 | return false, fmt.Errorf("HaveSuffix matcher requires a string or stringer. Got:\n%s", format.Object(actual, 1)) 18 | } 19 | suffix := matcher.suffix() 20 | return len(actualString) >= len(suffix) && actualString[len(actualString)-len(suffix):] == suffix, nil 21 | } 22 | 23 | func (matcher *HaveSuffixMatcher) suffix() string { 24 | if len(matcher.Args) > 0 { 25 | return fmt.Sprintf(matcher.Suffix, matcher.Args...) 26 | } 27 | return matcher.Suffix 28 | } 29 | 30 | func (matcher *HaveSuffixMatcher) FailureMessage(actual any) (message string) { 31 | return format.Message(actual, "to have suffix", matcher.suffix()) 32 | } 33 | 34 | func (matcher *HaveSuffixMatcher) NegatedFailureMessage(actual any) (message string) { 35 | return format.Message(actual, "not to have suffix", matcher.suffix()) 36 | } 37 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/not.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "github.com/onsi/gomega/types" 5 | ) 6 | 7 | type NotMatcher struct { 8 | Matcher types.GomegaMatcher 9 | } 10 | 11 | func (m *NotMatcher) Match(actual any) (bool, error) { 12 | success, err := m.Matcher.Match(actual) 13 | if err != nil { 14 | return false, err 15 | } 16 | return !success, nil 17 | } 18 | 19 | func (m *NotMatcher) FailureMessage(actual any) (message string) { 20 | return m.Matcher.NegatedFailureMessage(actual) // works beautifully 21 | } 22 | 23 | func (m *NotMatcher) NegatedFailureMessage(actual any) (message string) { 24 | return m.Matcher.FailureMessage(actual) // works beautifully 25 | } 26 | 27 | func (m *NotMatcher) MatchMayChangeInTheFuture(actual any) bool { 28 | return types.MatchMayChangeInTheFuture(m.Matcher, actual) // just return m.Matcher's value 29 | } 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/succeed_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "errors" 5 | "fmt" 6 | 7 | "github.com/onsi/gomega/format" 8 | ) 9 | 10 | type formattedGomegaError interface { 11 | FormattedGomegaError() string 12 | } 13 | 14 | type SucceedMatcher struct { 15 | } 16 | 17 | func (matcher *SucceedMatcher) Match(actual any) (success bool, err error) { 18 | // is purely nil? 19 | if actual == nil { 20 | return true, nil 21 | } 22 | 23 | // must be an 'error' type 24 | if !isError(actual) { 25 | return false, fmt.Errorf("Expected an error-type. Got:\n%s", format.Object(actual, 1)) 26 | } 27 | 28 | // must be nil (or a pointer to a nil) 29 | return isNil(actual), nil 30 | } 31 | 32 | func (matcher *SucceedMatcher) FailureMessage(actual any) (message string) { 33 | var fgErr formattedGomegaError 34 | if errors.As(actual.(error), &fgErr) { 35 | return fgErr.FormattedGomegaError() 36 | } 37 | return fmt.Sprintf("Expected success, but got an error:\n%s", format.Object(actual, 1)) 38 | } 39 | 40 | func (matcher *SucceedMatcher) NegatedFailureMessage(actual any) (message string) { 41 | return "Expected failure, but got no error." 42 | } 43 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/support/goraph/node/node.go: -------------------------------------------------------------------------------- 1 | package node 2 | 3 | type Node struct { 4 | ID int 5 | Value any 6 | } 7 | 8 | type NodeOrderedSet []Node 9 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/github.com/onsi/gomega/matchers/support/goraph/util/util.go: -------------------------------------------------------------------------------- 1 | package util 2 | 3 | import "math" 4 | 5 | func Odd(n int) bool { 6 | return math.Mod(float64(n), 2.0) == 1.0 7 | } 8 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/go.uber.org/automaxprocs/.codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: 80..100 3 | round: down 4 | precision: 2 5 | 6 | status: 7 | project: # measuring the overall project coverage 8 | default: # context, you can create multiple ones with custom titles 9 | enabled: yes # must be yes|true to enable this status 10 | target: 90% # specify the target coverage for each commit status 11 | # option: "auto" (must increase from parent commit or pull request base) 12 | # option: "X%" a static target percentage to hit 13 | if_not_found: success # if parent is not found report status as success, error, or failure 14 | if_ci_failed: error # if ci fails report status as success, error, or failure 15 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/go.uber.org/automaxprocs/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | vendor 10 | 11 | # Architecture specific extensions/prefixes 12 | *.[568vq] 13 | [568vq].out 14 | 15 | *.cgo1.go 16 | *.cgo2.c 17 | _cgo_defun.c 18 | _cgo_gotypes.go 19 | _cgo_export.* 20 | 21 | _testmain.go 22 | 23 | *.exe 24 | *.test 25 | *.prof 26 | *.pprof 27 | *.out 28 | *.log 29 | coverage.txt 30 | 31 | /bin 32 | cover.out 33 | cover.html 34 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/go.uber.org/automaxprocs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Uber Technologies, Inc. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/go.yaml.in/yaml/v3/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2011-2016 Canonical Ltd. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | unix.test 3 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | type Signal = syscall.Signal 12 | type Errno = syscall.Errno 13 | type SysProcAttr = syscall.SysProcAttr 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go 11 | // 12 | 13 | TEXT ·syscall6(SB),NOSPLIT,$0-88 14 | JMP syscall·syscall6(SB) 15 | 16 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSyscall6(SB) 18 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_bsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for 386 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for AMD64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_bsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | B syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | B syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | B syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | B syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | B syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ppc64, BSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for RISCV64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (ppc64 || ppc64le) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for ppc64, Linux 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 17 | BL runtime·entersyscall(SB) 18 | MOVD a1+8(FP), R3 19 | MOVD a2+16(FP), R4 20 | MOVD a3+24(FP), R5 21 | MOVD R0, R6 22 | MOVD R0, R7 23 | MOVD R0, R8 24 | MOVD trap+0(FP), R9 // syscall entry 25 | SYSCALL R9 26 | MOVD R3, r1+32(FP) 27 | MOVD R4, r2+40(FP) 28 | BL runtime·exitsyscall(SB) 29 | RET 30 | 31 | TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 32 | MOVD a1+8(FP), R3 33 | MOVD a2+16(FP), R4 34 | MOVD a3+24(FP), R5 35 | MOVD R0, R6 36 | MOVD R0, R7 37 | MOVD R0, R8 38 | MOVD trap+0(FP), R9 // syscall entry 39 | SYSCALL R9 40 | MOVD R3, r1+32(FP) 41 | MOVD R4, r2+40(FP) 42 | RET 43 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build riscv64 && gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for linux/riscv64. 11 | // 12 | // Where available, just jump to package syscall's implementation of 13 | // these functions. 14 | 15 | TEXT ·Syscall(SB),NOSPLIT,$0-56 16 | JMP syscall·Syscall(SB) 17 | 18 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 19 | JMP syscall·Syscall6(SB) 20 | 21 | TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 22 | CALL runtime·entersyscall(SB) 23 | MOV a1+8(FP), A0 24 | MOV a2+16(FP), A1 25 | MOV a3+24(FP), A2 26 | MOV trap+0(FP), A7 // syscall entry 27 | ECALL 28 | MOV A0, r1+32(FP) // r1 29 | MOV A1, r2+40(FP) // r2 30 | CALL runtime·exitsyscall(SB) 31 | RET 32 | 33 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 34 | JMP syscall·RawSyscall(SB) 35 | 36 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 37 | JMP syscall·RawSyscall6(SB) 38 | 39 | TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 40 | MOV a1+8(FP), A0 41 | MOV a2+16(FP), A1 42 | MOV a3+24(FP), A2 43 | MOV trap+0(FP), A7 // syscall entry 44 | ECALL 45 | MOV A0, r1+32(FP) 46 | MOV A1, r2+40(FP) 47 | RET 48 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for mips64, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 11 | // 12 | 13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 14 | JMP syscall·sysvicall6(SB) 15 | 16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSysvicall6(SB) 18 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/auxv.go: -------------------------------------------------------------------------------- 1 | // Copyright 2025 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.21 && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) 6 | 7 | package unix 8 | 9 | import ( 10 | "syscall" 11 | "unsafe" 12 | ) 13 | 14 | //go:linkname runtime_getAuxv runtime.getAuxv 15 | func runtime_getAuxv() []uintptr 16 | 17 | // Auxv returns the ELF auxiliary vector as a sequence of key/value pairs. 18 | // The returned slice is always a fresh copy, owned by the caller. 19 | // It returns an error on non-ELF platforms, or if the auxiliary vector cannot be accessed, 20 | // which happens in some locked-down environments and build modes. 21 | func Auxv() ([][2]uintptr, error) { 22 | vec := runtime_getAuxv() 23 | vecLen := len(vec) 24 | 25 | if vecLen == 0 { 26 | return nil, syscall.ENOENT 27 | } 28 | 29 | if vecLen%2 != 0 { 30 | return nil, syscall.EINVAL 31 | } 32 | 33 | result := make([]uintptr, vecLen) 34 | copy(result, vec) 35 | return unsafe.Slice((*[2]uintptr)(unsafe.Pointer(&result[0])), vecLen/2), nil 36 | } 37 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/auxv_unsupported.go: -------------------------------------------------------------------------------- 1 | // Copyright 2025 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.21 && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Auxv() ([][2]uintptr, error) { 12 | return nil, syscall.ENOTSUP 13 | } 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/bluetooth_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Bluetooth sockets and messages 6 | 7 | package unix 8 | 9 | // Bluetooth Protocols 10 | const ( 11 | BTPROTO_L2CAP = 0 12 | BTPROTO_HCI = 1 13 | BTPROTO_SCO = 2 14 | BTPROTO_RFCOMM = 3 15 | BTPROTO_BNEP = 4 16 | BTPROTO_CMTP = 5 17 | BTPROTO_HIDP = 6 18 | BTPROTO_AVDTP = 7 19 | ) 20 | 21 | const ( 22 | HCI_CHANNEL_RAW = 0 23 | HCI_CHANNEL_USER = 1 24 | HCI_CHANNEL_MONITOR = 2 25 | HCI_CHANNEL_CONTROL = 3 26 | HCI_CHANNEL_LOGGING = 4 27 | ) 28 | 29 | // Socketoption Level 30 | const ( 31 | SOL_BLUETOOTH = 0x112 32 | SOL_HCI = 0x0 33 | SOL_L2CAP = 0x6 34 | SOL_RFCOMM = 0x12 35 | SOL_SCO = 0x11 36 | ) 37 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | const ( 10 | R_OK = 0x4 11 | W_OK = 0x2 12 | X_OK = 0x1 13 | ) 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/dev_aix_ppc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev >> 16) & 0xffff) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32(dev & 0xffff) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | return uint64(((major) << 16) | (minor)) 26 | } 27 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc64 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev & 0x3fffffff00000000) >> 32) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32((dev & 0x00000000ffffffff) >> 0) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | var DEVNO64 uint64 26 | DEVNO64 = 0x8000000000000000 27 | return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) 28 | } 29 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/dev_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in Darwin's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a Darwin device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev >> 24) & 0xff) 13 | } 14 | 15 | // Minor returns the minor component of a Darwin device number. 16 | func Minor(dev uint64) uint32 { 17 | return uint32(dev & 0xffffff) 18 | } 19 | 20 | // Mkdev returns a Darwin device number generated from the given major and minor 21 | // components. 22 | func Mkdev(major, minor uint32) uint64 { 23 | return (uint64(major) << 24) | uint64(minor) 24 | } 25 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/dev_dragonfly.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in Dragonfly's sys/types.h header. 7 | // 8 | // The information below is extracted and adapted from sys/types.h: 9 | // 10 | // Minor gives a cookie instead of an index since in order to avoid changing the 11 | // meanings of bits 0-15 or wasting time and space shifting bits 16-31 for 12 | // devices that don't use them. 13 | 14 | package unix 15 | 16 | // Major returns the major component of a DragonFlyBSD device number. 17 | func Major(dev uint64) uint32 { 18 | return uint32((dev >> 8) & 0xff) 19 | } 20 | 21 | // Minor returns the minor component of a DragonFlyBSD device number. 22 | func Minor(dev uint64) uint32 { 23 | return uint32(dev & 0xffff00ff) 24 | } 25 | 26 | // Mkdev returns a DragonFlyBSD device number generated from the given major and 27 | // minor components. 28 | func Mkdev(major, minor uint32) uint64 { 29 | return (uint64(major) << 8) | uint64(minor) 30 | } 31 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/dev_freebsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in FreeBSD's sys/types.h header. 7 | // 8 | // The information below is extracted and adapted from sys/types.h: 9 | // 10 | // Minor gives a cookie instead of an index since in order to avoid changing the 11 | // meanings of bits 0-15 or wasting time and space shifting bits 16-31 for 12 | // devices that don't use them. 13 | 14 | package unix 15 | 16 | // Major returns the major component of a FreeBSD device number. 17 | func Major(dev uint64) uint32 { 18 | return uint32((dev >> 8) & 0xff) 19 | } 20 | 21 | // Minor returns the minor component of a FreeBSD device number. 22 | func Minor(dev uint64) uint32 { 23 | return uint32(dev & 0xffff00ff) 24 | } 25 | 26 | // Mkdev returns a FreeBSD device number generated from the given major and 27 | // minor components. 28 | func Mkdev(major, minor uint32) uint64 { 29 | return (uint64(major) << 8) | uint64(minor) 30 | } 31 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/dev_netbsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in NetBSD's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a NetBSD device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev & 0x000fff00) >> 8) 13 | } 14 | 15 | // Minor returns the minor component of a NetBSD device number. 16 | func Minor(dev uint64) uint32 { 17 | minor := uint32((dev & 0x000000ff) >> 0) 18 | minor |= uint32((dev & 0xfff00000) >> 12) 19 | return minor 20 | } 21 | 22 | // Mkdev returns a NetBSD device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | dev := (uint64(major) << 8) & 0x000fff00 26 | dev |= (uint64(minor) << 12) & 0xfff00000 27 | dev |= (uint64(minor) << 0) & 0x000000ff 28 | return dev 29 | } 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/dev_openbsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in OpenBSD's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of an OpenBSD device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev & 0x0000ff00) >> 8) 13 | } 14 | 15 | // Minor returns the minor component of an OpenBSD device number. 16 | func Minor(dev uint64) uint32 { 17 | minor := uint32((dev & 0x000000ff) >> 0) 18 | minor |= uint32((dev & 0xffff0000) >> 8) 19 | return minor 20 | } 21 | 22 | // Mkdev returns an OpenBSD device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | dev := (uint64(major) << 8) & 0x0000ff00 26 | dev |= (uint64(minor) << 8) & 0xffff0000 27 | dev |= (uint64(minor) << 0) & 0x000000ff 28 | return dev 29 | } 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/dev_zos.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build zos && s390x 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by z/OS. 9 | // 10 | // The information below is extracted and adapted from macros. 11 | 12 | package unix 13 | 14 | // Major returns the major component of a z/OS device number. 15 | func Major(dev uint64) uint32 { 16 | return uint32((dev >> 16) & 0x0000FFFF) 17 | } 18 | 19 | // Minor returns the minor component of a z/OS device number. 20 | func Minor(dev uint64) uint32 { 21 | return uint32(dev & 0x0000FFFF) 22 | } 23 | 24 | // Mkdev returns a z/OS device number generated from the given major and minor 25 | // components. 26 | func Mkdev(major, minor uint32) uint64 { 27 | return (uint64(major) << 16) | uint64(minor) 28 | } 29 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/endian_big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 6 | 7 | package unix 8 | 9 | const isBigEndian = true 10 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/endian_little.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh 6 | 7 | package unix 8 | 9 | const isBigEndian = false 10 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/env_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // Unix environment variables. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getenv(key string) (value string, found bool) { 14 | return syscall.Getenv(key) 15 | } 16 | 17 | func Setenv(key, value string) error { 18 | return syscall.Setenv(key, value) 19 | } 20 | 21 | func Clearenv() { 22 | syscall.Clearenv() 23 | } 24 | 25 | func Environ() []string { 26 | return syscall.Environ() 27 | } 28 | 29 | func Unsetenv(key string) error { 30 | return syscall.Unsetenv(key) 31 | } 32 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/fcntl.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build dragonfly || freebsd || linux || netbsd 6 | 7 | package unix 8 | 9 | import "unsafe" 10 | 11 | // fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux 12 | // systems by fcntl_linux_32bit.go to be SYS_FCNTL64. 13 | var fcntl64Syscall uintptr = SYS_FCNTL 14 | 15 | func fcntl(fd int, cmd, arg int) (int, error) { 16 | valptr, _, errno := Syscall(fcntl64Syscall, uintptr(fd), uintptr(cmd), uintptr(arg)) 17 | var err error 18 | if errno != 0 { 19 | err = errno 20 | } 21 | return int(valptr), err 22 | } 23 | 24 | // FcntlInt performs a fcntl syscall on fd with the provided command and argument. 25 | func FcntlInt(fd uintptr, cmd, arg int) (int, error) { 26 | return fcntl(int(fd), cmd, arg) 27 | } 28 | 29 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. 30 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { 31 | _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk))) 32 | if errno == 0 { 33 | return nil 34 | } 35 | return errno 36 | } 37 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/fcntl_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | import "unsafe" 8 | 9 | // FcntlInt performs a fcntl syscall on fd with the provided command and argument. 10 | func FcntlInt(fd uintptr, cmd, arg int) (int, error) { 11 | return fcntl(int(fd), cmd, arg) 12 | } 13 | 14 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. 15 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { 16 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) 17 | return err 18 | } 19 | 20 | // FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command. 21 | func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error { 22 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore)))) 23 | return err 24 | } 25 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/fdset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | // Set adds fd to the set fds. 10 | func (fds *FdSet) Set(fd int) { 11 | fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS)) 12 | } 13 | 14 | // Clear removes fd from the set fds. 15 | func (fds *FdSet) Clear(fd int) { 16 | fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS)) 17 | } 18 | 19 | // IsSet returns whether fd is in the set fds. 20 | func (fds *FdSet) IsSet(fd int) bool { 21 | return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0 22 | } 23 | 24 | // Zero clears the set fds. 25 | func (fds *FdSet) Zero() { 26 | for i := range fds.Bits { 27 | fds.Bits[i] = 0 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gccgo && linux && amd64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern gettimeofday 12 | func realGettimeofday(*Timeval, *byte) int32 13 | 14 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 15 | r := realGettimeofday(tv, nil) 16 | if r < 0 { 17 | return syscall.GetErrno() 18 | } 19 | return 0 20 | } 21 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/mmap_nomremap.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | var mapper = &mmapper{ 10 | active: make(map[*byte][]byte), 11 | mmap: mmap, 12 | munmap: munmap, 13 | } 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/pagesize_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // For Unix, get the pagesize from the runtime. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getpagesize() int { 14 | return syscall.Getpagesize() 15 | } 16 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/ptrace_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) error { 10 | return ptrace1(request, pid, addr, data) 11 | } 12 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/ptrace_ios.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { 10 | return ENOTSUP 11 | } 12 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && race) || (linux && race) || (freebsd && race) 6 | 7 | package unix 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos 6 | 7 | package unix 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/readdirent_getdents.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd 6 | 7 | package unix 8 | 9 | // ReadDirent reads directory entries from fd and writes them into buf. 10 | func ReadDirent(fd int, buf []byte) (n int, err error) { 11 | return Getdents(fd, buf) 12 | } 13 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin || zos 6 | 7 | package unix 8 | 9 | import "unsafe" 10 | 11 | // ReadDirent reads directory entries from fd and writes them into buf. 12 | func ReadDirent(fd int, buf []byte) (n int, err error) { 13 | // Final argument is (basep *uintptr) and the syscall doesn't take nil. 14 | // 64 bits should be enough. (32 bits isn't even on 386). Since the 15 | // actual system call is getdirentries64, 64 is a good guess. 16 | // TODO(rsc): Can we use a single global basep for all calls? 17 | var base = (*uintptr)(unsafe.Pointer(new(uint64))) 18 | return Getdirentries(fd, buf, base) 19 | } 20 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | // Round the length of a raw sockaddr up to align it properly. 8 | func cmsgAlignOf(salen int) int { 9 | salign := SizeofPtr 10 | if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) { 11 | // 64-bit Dragonfly before the September 2019 ABI changes still requires 12 | // 32-bit aligned access to network subsystem. 13 | salign = 4 14 | } 15 | return (salen + salign - 1) & ^(salign - 1) 16 | } 17 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_hurd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build hurd 6 | 7 | package unix 8 | 9 | /* 10 | #include 11 | int ioctl(int, unsigned long int, uintptr_t); 12 | */ 13 | import "C" 14 | import "unsafe" 15 | 16 | func ioctl(fd int, req uint, arg uintptr) (err error) { 17 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) 18 | if r0 == -1 && er != nil { 19 | err = er 20 | } 21 | return 22 | } 23 | 24 | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { 25 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg))) 26 | if r0 == -1 && er != nil { 27 | err = er 28 | } 29 | return 30 | } 31 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_hurd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && hurd 6 | 7 | package unix 8 | 9 | const ( 10 | TIOCGETA = 0x62251713 11 | ) 12 | 13 | type Winsize struct { 14 | Row uint16 15 | Col uint16 16 | Xpixel uint16 17 | Ypixel uint16 18 | } 19 | 20 | type Termios struct { 21 | Iflag uint32 22 | Oflag uint32 23 | Cflag uint32 24 | Lflag uint32 25 | Cc [20]uint8 26 | Ispeed int32 27 | Ospeed int32 28 | } 29 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) 6 | 7 | package unix 8 | 9 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH 10 | // values. 11 | 12 | //sys Alarm(seconds uint) (remaining uint, err error) 13 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && linux && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //go:noescape 12 | func gettimeofday(tv *Timeval) (err syscall.Errno) 13 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_linux_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc 6 | 7 | package unix 8 | 9 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail. 10 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 11 | 12 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't 13 | // fail. 14 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 15 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc && 386 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | 15 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 16 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 17 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && gc && linux 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gccgo && 386 6 | 7 | package unix 8 | 9 | import ( 10 | "syscall" 11 | "unsafe" 12 | ) 13 | 14 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { 15 | var newoffset int64 16 | offsetLow := uint32(offset & 0xffffffff) 17 | offsetHigh := uint32((offset >> 32) & 0xffffffff) 18 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) 19 | return newoffset, err 20 | } 21 | 22 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { 23 | fd, _, err := Syscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) 24 | return int(fd), err 25 | } 26 | 27 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { 28 | fd, _, err := RawSyscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) 29 | return int(fd), err 30 | } 31 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gccgo && arm 6 | 7 | package unix 8 | 9 | import ( 10 | "syscall" 11 | "unsafe" 12 | ) 13 | 14 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { 15 | var newoffset int64 16 | offsetLow := uint32(offset & 0xffffffff) 17 | offsetHigh := uint32((offset >> 32) & 0xffffffff) 18 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) 19 | return newoffset, err 20 | } 21 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && openbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = int16(mode) 20 | k.Flags = uint16(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = uint32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | 39 | // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions 40 | // of openbsd/386 the syscall is called sysctl instead of __sysctl. 41 | const SYS___SYSCTL = SYS_SYSCTL 42 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && openbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: usec} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = int16(mode) 20 | k.Flags = uint16(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = uint32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | 39 | // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions 40 | // of openbsd/amd64 the syscall is called sysctl instead of __sysctl. 41 | const SYS___SYSCTL = SYS_SYSCTL 42 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && openbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = int16(mode) 20 | k.Flags = uint16(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = uint32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | 39 | // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions 40 | // of openbsd/arm the syscall is called sysctl instead of __sysctl. 41 | const SYS___SYSCTL = SYS_SYSCTL 42 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm64 && openbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: usec} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = int16(mode) 20 | k.Flags = uint16(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = uint32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | 39 | // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions 40 | // of openbsd/amd64 the syscall is called sysctl instead of __sysctl. 41 | const SYS___SYSCTL = SYS_SYSCTL 42 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build openbsd 6 | 7 | package unix 8 | 9 | import _ "unsafe" 10 | 11 | // Implemented in the runtime package (runtime/sys_openbsd3.go) 12 | func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) 13 | func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) 14 | func syscall_syscall10(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 uintptr) (r1, r2 uintptr, err Errno) 15 | func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) 16 | func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) 17 | 18 | //go:linkname syscall_syscall syscall.syscall 19 | //go:linkname syscall_syscall6 syscall.syscall6 20 | //go:linkname syscall_syscall10 syscall.syscall10 21 | //go:linkname syscall_rawSyscall syscall.rawSyscall 22 | //go:linkname syscall_rawSyscall6 syscall.rawSyscall6 23 | 24 | func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) { 25 | return syscall_syscall10(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, 0) 26 | } 27 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | func setTimespec(sec, nsec int64) Timespec { 8 | return Timespec{Sec: sec, Nsec: nsec} 9 | } 10 | 11 | func setTimeval(sec, usec int64) Timeval { 12 | return Timeval{Sec: sec, Usec: usec} 13 | } 14 | 15 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 16 | k.Ident = uint64(fd) 17 | k.Filter = int16(mode) 18 | k.Flags = uint16(flags) 19 | } 20 | 21 | func (iov *Iovec) SetLen(length int) { 22 | iov.Len = uint64(length) 23 | } 24 | 25 | func (msghdr *Msghdr) SetControllen(length int) { 26 | msghdr.Controllen = uint32(length) 27 | } 28 | 29 | func (msghdr *Msghdr) SetIovlen(length int) { 30 | msghdr.Iovlen = uint32(length) 31 | } 32 | 33 | func (cmsg *Cmsghdr) SetLen(length int) { 34 | cmsg.Len = uint32(length) 35 | } 36 | 37 | // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions 38 | // of OpenBSD the syscall is called sysctl instead of __sysctl. 39 | const SYS___SYSCTL = SYS_SYSCTL 40 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build ppc64 && openbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: usec} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = int16(mode) 20 | k.Flags = uint16(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = uint32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | 39 | // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions 40 | // of openbsd/ppc64 the syscall is called sysctl instead of __sysctl. 41 | const SYS___SYSCTL = SYS_SYSCTL 42 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build riscv64 && openbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: usec} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = int16(mode) 20 | k.Flags = uint16(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = uint32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | 39 | // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions 40 | // of openbsd/riscv64 the syscall is called sysctl instead of __sysctl. 41 | const SYS___SYSCTL = SYS_SYSCTL 42 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && solaris 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: usec} 15 | } 16 | 17 | func (iov *Iovec) SetLen(length int) { 18 | iov.Len = uint64(length) 19 | } 20 | 21 | func (msghdr *Msghdr) SetIovlen(length int) { 22 | msghdr.Iovlen = int32(length) 23 | } 24 | 25 | func (cmsg *Cmsghdr) SetLen(length int) { 26 | cmsg.Len = uint32(length) 27 | } 28 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_unix_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 12 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 13 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 14 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 15 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (ppc64le || ppc64) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 12 | return syscall.Syscall(trap, a1, a2, a3) 13 | } 14 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 15 | return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) 16 | } 17 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 18 | return syscall.RawSyscall(trap, a1, a2, a3) 19 | } 20 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 21 | return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) 22 | } 23 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/sysvshm_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux 6 | 7 | package unix 8 | 9 | import "runtime" 10 | 11 | // SysvShmCtl performs control operations on the shared memory segment 12 | // specified by id. 13 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 14 | if runtime.GOARCH == "arm" || 15 | runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { 16 | cmd |= ipc_64 17 | } 18 | 19 | return shmctl(id, cmd, desc) 20 | } 21 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && !ios) || zos 6 | 7 | package unix 8 | 9 | // SysvShmCtl performs control operations on the shared memory segment 10 | // specified by id. 11 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 12 | return shmctl(id, cmd, desc) 13 | } 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/vgetrandom_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && go1.24 6 | 7 | package unix 8 | 9 | import _ "unsafe" 10 | 11 | //go:linkname vgetrandom runtime.vgetrandom 12 | //go:noescape 13 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !linux || !go1.24 6 | 7 | package unix 8 | 9 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) { 10 | return -1, false 11 | } 12 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go: -------------------------------------------------------------------------------- 1 | // Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT. 2 | 3 | package unix 4 | 5 | import "unsafe" 6 | 7 | // PtraceGetRegSetArm64 fetches the registers used by arm64 binaries. 8 | func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error { 9 | iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))} 10 | return ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 11 | } 12 | 13 | // PtraceSetRegSetArm64 sets the registers used by arm64 binaries. 14 | func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error { 15 | iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))} 16 | return ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 17 | } 18 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/text/encoding/japanese/all.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package japanese 6 | 7 | import ( 8 | "golang.org/x/text/encoding" 9 | ) 10 | 11 | // All is a list of all defined encodings in this package. 12 | var All = []encoding.Encoding{EUCJP, ISO2022JP, ShiftJIS} 13 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package simplifiedchinese 6 | 7 | import ( 8 | "golang.org/x/text/encoding" 9 | ) 10 | 11 | // All is a list of all defined encodings in this package. 12 | var All = []encoding.Encoding{GB18030, GBK, HZGB2312} 13 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/text/internal/language/common.go: -------------------------------------------------------------------------------- 1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. 2 | 3 | package language 4 | 5 | // This file contains code common to the maketables.go and the package code. 6 | 7 | // AliasType is the type of an alias in AliasMap. 8 | type AliasType int8 9 | 10 | const ( 11 | Deprecated AliasType = iota 12 | Macro 13 | Legacy 14 | 15 | AliasTypeUnknown AliasType = -1 16 | ) 17 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/text/internal/language/compact.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package language 6 | 7 | // CompactCoreInfo is a compact integer with the three core tags encoded. 8 | type CompactCoreInfo uint32 9 | 10 | // GetCompactCore generates a uint32 value that is guaranteed to be unique for 11 | // different language, region, and script values. 12 | func GetCompactCore(t Tag) (cci CompactCoreInfo, ok bool) { 13 | if t.LangID > langNoIndexOffset { 14 | return 0, false 15 | } 16 | cci |= CompactCoreInfo(t.LangID) << (8 + 12) 17 | cci |= CompactCoreInfo(t.ScriptID) << 12 18 | cci |= CompactCoreInfo(t.RegionID) 19 | return cci, true 20 | } 21 | 22 | // Tag generates a tag from c. 23 | func (c CompactCoreInfo) Tag() Tag { 24 | return Tag{ 25 | LangID: Language(c >> 20), 26 | RegionID: Region(c & 0x3ff), 27 | ScriptID: Script(c>>12) & 0xff, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/text/internal/language/coverage.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package language 6 | 7 | // BaseLanguages returns the list of all supported base languages. It generates 8 | // the list by traversing the internal structures. 9 | func BaseLanguages() []Language { 10 | base := make([]Language, 0, NumLanguages) 11 | for i := 0; i < langNoIndexOffset; i++ { 12 | // We included "und" already for the value 0. 13 | if i != nonCanonicalUnd { 14 | base = append(base, Language(i)) 15 | } 16 | } 17 | i := langNoIndexOffset 18 | for _, v := range langNoIndex { 19 | for k := 0; k < 8; k++ { 20 | if v&1 == 1 { 21 | base = append(base, Language(i)) 22 | } 23 | v >>= 1 24 | i++ 25 | } 26 | } 27 | return base 28 | } 29 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/go/types/typeutil/imports.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package typeutil 6 | 7 | import "go/types" 8 | 9 | // Dependencies returns all dependencies of the specified packages. 10 | // 11 | // Dependent packages appear in topological order: if package P imports 12 | // package Q, Q appears earlier than P in the result. 13 | // The algorithm follows import statements in the order they 14 | // appear in the source code, so the result is a total order. 15 | func Dependencies(pkgs ...*types.Package) []*types.Package { 16 | var result []*types.Package 17 | seen := make(map[*types.Package]bool) 18 | var visit func(pkgs []*types.Package) 19 | visit = func(pkgs []*types.Package) { 20 | for _, p := range pkgs { 21 | if !seen[p] { 22 | seen[p] = true 23 | visit(p.Imports()) 24 | result = append(result, p) 25 | } 26 | } 27 | } 28 | visit(pkgs) 29 | return result 30 | } 31 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/event/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package event provides a set of packages that cover the main 6 | // concepts of telemetry in an implementation agnostic way. 7 | package event 8 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/event/keys/standard.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package keys 6 | 7 | var ( 8 | // Msg is a key used to add message strings to label lists. 9 | Msg = NewString("message", "a readable message") 10 | // Label is a key used to indicate an event adds labels to the context. 11 | Label = NewTag("label", "a label context marker") 12 | // Start is used for things like traces that have a name. 13 | Start = NewString("start", "span start") 14 | // Metric is a key used to indicate an event records metrics. 15 | End = NewTag("end", "a span end marker") 16 | // Metric is a key used to indicate an event records metrics. 17 | Detach = NewTag("detach", "a span detach marker") 18 | // Err is a key used to add error values to label lists. 19 | Err = NewError("error", "an error that occurred") 20 | // Metric is a key used to indicate an event records metrics. 21 | Metric = NewTag("metric", "a metric event marker") 22 | ) 23 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/event/keys/util.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package keys 6 | 7 | import ( 8 | "sort" 9 | "strings" 10 | ) 11 | 12 | // Join returns a canonical join of the keys in S: 13 | // a sorted comma-separated string list. 14 | func Join[S ~[]T, T ~string](s S) string { 15 | strs := make([]string, 0, len(s)) 16 | for _, v := range s { 17 | strs = append(strs, string(v)) 18 | } 19 | sort.Strings(strs) 20 | return strings.Join(strs, ",") 21 | } 22 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/gcimporter/support.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package gcimporter 6 | 7 | import ( 8 | "bufio" 9 | "io" 10 | "strconv" 11 | "strings" 12 | ) 13 | 14 | // Copy of $GOROOT/src/cmd/internal/archive.ReadHeader. 15 | func readArchiveHeader(b *bufio.Reader, name string) int { 16 | // architecture-independent object file output 17 | const HeaderSize = 60 18 | 19 | var buf [HeaderSize]byte 20 | if _, err := io.ReadFull(b, buf[:]); err != nil { 21 | return -1 22 | } 23 | aname := strings.Trim(string(buf[0:16]), " ") 24 | if !strings.HasPrefix(aname, name) { 25 | return -1 26 | } 27 | asize := strings.Trim(string(buf[48:58]), " ") 28 | i, _ := strconv.Atoi(asize) 29 | return i 30 | } 31 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/gocommand/invoke_notunix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2025 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !unix 6 | 7 | package gocommand 8 | 9 | import "os" 10 | 11 | // sigStuckProcess is the signal to send to kill a hanging subprocess. 12 | // On Unix we send SIGQUIT, but on non-Unix we only have os.Kill. 13 | var sigStuckProcess = os.Kill 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/gocommand/invoke_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2025 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build unix 6 | 7 | package gocommand 8 | 9 | import "syscall" 10 | 11 | // Sigstuckprocess is the signal to send to kill a hanging subprocess. 12 | // Send SIGQUIT to get a stack trace. 13 | var sigStuckProcess = syscall.SIGQUIT 14 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/packagesinternal/packages.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package packagesinternal exposes internal-only fields from go/packages. 6 | package packagesinternal 7 | 8 | import "fmt" 9 | 10 | var GetDepsErrors = func(p any) []*PackageError { return nil } 11 | 12 | type PackageError struct { 13 | ImportStack []string // shortest path from package named on command line to this one 14 | Pos string // position of error (if present, file:line:col) 15 | Err string // the error itself 16 | } 17 | 18 | func (err PackageError) String() string { 19 | return fmt.Sprintf("%s: %s (import stack: %s)", err.Pos, err.Err, err.ImportStack) 20 | } 21 | 22 | var TypecheckCgo int 23 | var DepsErrors int // must be set as a LoadMode to call GetDepsErrors 24 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/pkgbits/flags.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package pkgbits 6 | 7 | const ( 8 | flagSyncMarkers = 1 << iota // file format contains sync markers 9 | ) 10 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/pkgbits/reloc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package pkgbits 6 | 7 | // A RelocKind indicates a particular section within a unified IR export. 8 | type RelocKind int32 9 | 10 | // An Index represents a bitstream element index within a particular 11 | // section. 12 | type Index int32 13 | 14 | // A relocEnt (relocation entry) is an entry in an element's local 15 | // reference table. 16 | // 17 | // TODO(mdempsky): Rename this too. 18 | type RelocEnt struct { 19 | Kind RelocKind 20 | Idx Index 21 | } 22 | 23 | // Reserved indices within the meta relocation section. 24 | const ( 25 | PublicRootIdx Index = 0 26 | PrivateRootIdx Index = 1 27 | ) 28 | 29 | const ( 30 | RelocString RelocKind = iota 31 | RelocMeta 32 | RelocPosBase 33 | RelocPkg 34 | RelocName 35 | RelocType 36 | RelocObj 37 | RelocObjExt 38 | RelocObjDict 39 | RelocBody 40 | 41 | numRelocs = iota 42 | ) 43 | -------------------------------------------------------------------------------- /src/os-conf-acceptance-tests/vendor/golang.org/x/tools/internal/pkgbits/support.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package pkgbits 6 | 7 | import "fmt" 8 | 9 | func assert(b bool) { 10 | if !b { 11 | panic("assertion failed") 12 | } 13 | } 14 | 15 | func panicf(format string, args ...any) { 16 | panic(fmt.Errorf(format, args...)) 17 | } 18 | --------------------------------------------------------------------------------