├── .ignore ├── .adr-dir ├── VERSION.txt ├── po ├── .gitignore └── en │ └── LC_MESSAGES │ └── .gitkeep ├── frontend └── controlcenter │ ├── .eslintignore │ ├── .browserslistrc │ ├── .env.production │ ├── .env.development │ ├── root_build.sh │ ├── src │ ├── assets │ │ └── fonts │ │ │ ├── inter │ │ │ ├── Inter-Bold.woff │ │ │ ├── Inter-Italic.woff │ │ │ ├── Inter-Regular.woff │ │ │ ├── Inter-BlackItalic.woff │ │ │ └── Inter-BoldItalic.woff │ │ │ └── open-sans │ │ │ ├── Bold │ │ │ ├── OpenSans-Bold.woff │ │ │ └── OpenSans-Bold.woff2 │ │ │ ├── Light │ │ │ ├── OpenSans-Light.woff │ │ │ └── OpenSans-Light.woff2 │ │ │ ├── Italic │ │ │ ├── OpenSans-Italic.woff │ │ │ └── OpenSans-Italic.woff2 │ │ │ ├── Regular │ │ │ ├── OpenSans-Regular.woff │ │ │ └── OpenSans-Regular.woff2 │ │ │ ├── ExtraBold │ │ │ ├── OpenSans-ExtraBold.woff │ │ │ └── OpenSans-ExtraBold.woff2 │ │ │ ├── Semibold │ │ │ ├── OpenSans-Semibold.woff │ │ │ └── OpenSans-Semibold.woff2 │ │ │ ├── BoldItalic │ │ │ ├── OpenSans-BoldItalic.woff │ │ │ └── OpenSans-BoldItalic.woff2 │ │ │ ├── LightItalic │ │ │ ├── OpenSans-LightItalic.woff │ │ │ └── OpenSans-LightItalic.woff2 │ │ │ ├── SemiboldItalic │ │ │ ├── OpenSans-SemiboldItalic.woff │ │ │ └── OpenSans-SemiboldItalic.woff2 │ │ │ └── ExtraBoldItalic │ │ │ ├── OpenSans-ExtraBoldItalic.woff │ │ │ └── OpenSans-ExtraBoldItalic.woff2 │ ├── mixin │ │ └── global_shared.js │ ├── components │ │ └── insights │ │ │ └── summary │ │ │ └── empty.vue │ └── lib │ │ └── date.js │ ├── babel.config.js │ ├── vue.config.js │ ├── README.md │ ├── .gitignore │ └── .eslintrc.js ├── tools ├── cmdline_usage │ ├── .gitignore │ └── cli.go ├── gotestdata │ ├── translator │ │ └── translator.go │ └── invalid │ │ └── main.go ├── update_cli_docs.sh └── go_test.sh ├── vendor ├── github.com │ ├── rs │ │ └── zerolog │ │ │ ├── CNAME │ │ │ ├── _config.yml │ │ │ ├── not_go112.go │ │ │ ├── pretty.png │ │ │ ├── go112.go │ │ │ └── .gitignore │ ├── modern-go │ │ ├── reflect2 │ │ │ ├── reflect2_amd64.s │ │ │ ├── relfect2_386.s │ │ │ ├── relfect2_arm.s │ │ │ ├── relfect2_arm64.s │ │ │ ├── relfect2_mipsx.s │ │ │ ├── relfect2_s390x.s │ │ │ ├── relfect2_amd64p32.s │ │ │ ├── relfect2_mips64x.s │ │ │ ├── relfect2_ppc64x.s │ │ │ ├── .gitignore │ │ │ ├── Gopkg.lock │ │ │ ├── .travis.yml │ │ │ ├── go_above_19.go │ │ │ ├── go_below_118.go │ │ │ └── go_above_118.go │ │ └── concurrent │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── go_above_19.go │ │ │ ├── test.sh │ │ │ ├── log.go │ │ │ └── executor.go │ ├── go-openapi │ │ ├── jsonpointer │ │ │ ├── .gitignore │ │ │ └── .editorconfig │ │ ├── jsonreference │ │ │ └── .gitignore │ │ ├── spec │ │ │ ├── .gitignore │ │ │ ├── url_go18.go │ │ │ ├── url_go19.go │ │ │ └── .editorconfig │ │ └── swag │ │ │ ├── .gitignore │ │ │ ├── .gitattributes │ │ │ └── .editorconfig │ ├── hpcloud │ │ └── tail │ │ │ ├── .gitignore │ │ │ ├── ratelimiter │ │ │ └── storage.go │ │ │ ├── Makefile │ │ │ ├── tail_posix.go │ │ │ ├── tail_windows.go │ │ │ ├── .travis.yml │ │ │ ├── appveyor.yml │ │ │ └── Dockerfile │ ├── slack-go │ │ └── slack │ │ │ ├── .gitignore │ │ │ ├── logo.png │ │ │ ├── TODO.txt │ │ │ ├── groups.go │ │ │ ├── metadata.go │ │ │ ├── websocket_dnd.go │ │ │ ├── .golangci.yml │ │ │ ├── internal │ │ │ ├── timex │ │ │ │ └── timex.go │ │ │ └── errorsx │ │ │ │ └── errorsx.go │ │ │ ├── comment.go │ │ │ ├── websocket_stars.go │ │ │ ├── block_unknown.go │ │ │ ├── websocket_pins.go │ │ │ ├── im.go │ │ │ ├── pagination.go │ │ │ ├── status_code_error.go │ │ │ └── block_divider.go │ ├── urfave │ │ └── cli │ │ │ └── v2 │ │ │ ├── .flake8 │ │ │ ├── mkdocs-requirements.txt │ │ │ ├── sliceflag_pre18.go │ │ │ ├── .gitignore │ │ │ └── sort.go │ ├── fsnotify │ │ └── fsnotify │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── .mailmap │ │ │ ├── system_darwin.go │ │ │ ├── system_bsd.go │ │ │ └── .editorconfig │ ├── PuerkitoBio │ │ └── goquery │ │ │ ├── .gitattributes │ │ │ └── .gitignore │ ├── jstemmer │ │ └── go-junit-report │ │ │ ├── .gitignore │ │ │ └── .travis.yml │ ├── json-iterator │ │ └── go │ │ │ ├── .codecov.yml │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── test.sh │ │ │ ├── build.sh │ │ │ └── Gopkg.lock │ ├── trustelem │ │ └── zxcvbn │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ └── match │ │ │ └── sort.go │ ├── smartystreets │ │ ├── assertions │ │ │ ├── .gitignore │ │ │ ├── internal │ │ │ │ ├── oglematchers │ │ │ │ │ ├── .gitignore │ │ │ │ │ └── .travis.yml │ │ │ │ ├── go-diff │ │ │ │ │ └── diffmatchpatch │ │ │ │ │ │ ├── operation_string.go │ │ │ │ │ │ └── mathutil.go │ │ │ │ └── go-render │ │ │ │ │ └── render │ │ │ │ │ └── render_time.go │ │ │ ├── Makefile │ │ │ ├── .travis.yml │ │ │ └── README.md │ │ └── goconvey │ │ │ └── convey │ │ │ ├── reporting │ │ │ ├── reporting.goconvey │ │ │ ├── doc.go │ │ │ └── console.go │ │ │ └── convey.goconvey │ ├── mattn │ │ ├── go-isatty │ │ │ ├── doc.go │ │ │ ├── go.test.sh │ │ │ ├── isatty_others.go │ │ │ ├── isatty_tcgets.go │ │ │ ├── isatty_plan9.go │ │ │ ├── isatty_bsd.go │ │ │ └── isatty_solaris.go │ │ ├── go-sqlite3 │ │ │ ├── .codecov.yml │ │ │ ├── .gitignore │ │ │ ├── sqlite3_solaris.go │ │ │ ├── sqlite3_opt_fts5.go │ │ │ ├── sqlite3_opt_math_functions.go │ │ │ ├── sqlite3_opt_os_trace.go │ │ │ ├── sqlite3_opt_stat4.go │ │ │ ├── sqlite3_opt_introspect.go │ │ │ ├── sqlite3_opt_secure_delete.go │ │ │ ├── sqlite3_opt_foreign_keys.go │ │ │ ├── sqlite3_opt_vacuum_full.go │ │ │ ├── sqlite3_opt_vacuum_incr.go │ │ │ ├── sqlite3_opt_secure_delete_fast.go │ │ │ ├── sqlite3_opt_allow_uri_authority.go │ │ │ ├── sqlite3_opt_app_armor.go │ │ │ ├── sqlite3_other.go │ │ │ ├── sqlite3_windows.go │ │ │ ├── sqlite3_opt_icu.go │ │ │ ├── sqlite3_libsqlite3.go │ │ │ ├── sqlite3_opt_column_metadata.go │ │ │ └── sqlite3_opt_preupdate.go │ │ └── go-colorable │ │ │ └── go.test.sh │ ├── swaggo │ │ ├── swag │ │ │ ├── version.go │ │ │ ├── doc.go │ │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ │ ├── enums.go │ │ │ ├── .gitignore │ │ │ ├── .goreleaser.yml │ │ │ └── CONTRIBUTING.md │ │ ├── files │ │ │ ├── README.md │ │ │ ├── .gitmodules │ │ │ ├── filebox.go │ │ │ └── Makefile │ │ └── http-swagger │ │ │ ├── .goreleaser.yml │ │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ │ └── .gitignore │ ├── russross │ │ └── blackfriday │ │ │ └── v2 │ │ │ ├── .gitignore │ │ │ └── .travis.yml │ ├── dlclark │ │ └── regexp2 │ │ │ ├── .travis.yml │ │ │ ├── syntax │ │ │ └── fuzz.go │ │ │ └── .gitignore │ ├── ghodss │ │ └── yaml │ │ │ ├── .travis.yml │ │ │ └── .gitignore │ ├── pressly │ │ └── goose │ │ │ ├── .travis.yml │ │ │ ├── .gitignore │ │ │ ├── _go.mod │ │ │ └── version.go │ ├── josharian │ │ └── intern │ │ │ └── README.md │ ├── xrash │ │ └── smetrics │ │ │ ├── .travis.yml │ │ │ └── hamming.go │ ├── pkg │ │ └── errors │ │ │ ├── .travis.yml │ │ │ └── .gitignore │ ├── mrichman │ │ └── godnsbl │ │ │ ├── .travis.yml │ │ │ └── .gitignore │ ├── imdario │ │ └── mergo │ │ │ ├── .deepsource.toml │ │ │ ├── .travis.yml │ │ │ └── .gitignore │ ├── andybalholm │ │ └── cascadia │ │ │ ├── .travis.yml │ │ │ ├── README.md │ │ │ └── specificity.go │ ├── t-yuki │ │ └── gocover-cobertura │ │ │ └── .travis.yml │ ├── KyleBanks │ │ └── depth │ │ │ ├── .travis.yml │ │ │ └── .gitignore │ ├── gorilla │ │ ├── websocket │ │ │ ├── AUTHORS │ │ │ ├── .gitignore │ │ │ ├── mask_safe.go │ │ │ ├── tls_handshake.go │ │ │ └── tls_handshake_116.go │ │ ├── securecookie │ │ │ ├── .travis.yml │ │ │ └── fuzz.go │ │ └── sessions │ │ │ ├── cookie.go │ │ │ ├── cookie_go111.go │ │ │ ├── options.go │ │ │ └── options_go111.go │ ├── dsnet │ │ └── compress │ │ │ ├── internal │ │ │ ├── gofuzz.go │ │ │ └── debug.go │ │ │ ├── zfuzz.sh │ │ │ ├── bzip2 │ │ │ └── fuzz_off.go │ │ │ └── zbench.sh │ ├── hlubek │ │ └── readercomp │ │ │ └── .gitignore │ ├── emersion │ │ ├── go-sasl │ │ │ ├── .gitignore │ │ │ └── .build.yml │ │ └── go-smtp │ │ │ ├── .gitignore │ │ │ └── .build.yml │ ├── mmcdole │ │ ├── goxpp │ │ │ └── .gitignore │ │ └── gofeed │ │ │ ├── .travis.yml │ │ │ ├── internal │ │ │ └── shared │ │ │ │ └── charsetconv.go │ │ │ ├── .gitignore │ │ │ └── json │ │ │ └── parser.go │ ├── golang │ │ └── mock │ │ │ └── AUTHORS │ ├── cpuguy83 │ │ └── go-md2man │ │ │ └── v2 │ │ │ └── md2man │ │ │ └── md2man.go │ ├── mailru │ │ └── easyjson │ │ │ └── jlexer │ │ │ ├── error.go │ │ │ └── bytestostr_nounsafe.go │ ├── shurcooL │ │ ├── vfsgen │ │ │ ├── .travis.yml │ │ │ └── doc.go │ │ └── httpfs │ │ │ └── vfsutil │ │ │ └── file.go │ ├── jtolds │ │ └── gls │ │ │ └── gen_sym.go │ ├── satori │ │ └── go.uuid │ │ │ └── .travis.yml │ ├── alecthomas │ │ └── template │ │ │ └── README.md │ ├── hashicorp │ │ └── go-multierror │ │ │ └── sort.go │ └── chai2010 │ │ └── gettext-go │ │ └── po │ │ └── doc.go ├── golang.org │ └── x │ │ ├── sys │ │ ├── unix │ │ │ ├── .gitignore │ │ │ ├── ptrace_ios.go │ │ │ ├── syscall_linux_amd64_gc.go │ │ │ ├── ptrace_darwin.go │ │ │ ├── constants.go │ │ │ ├── endian_big.go │ │ │ ├── sysvshm_unix_other.go │ │ │ ├── asm_aix_ppc64.s │ │ │ ├── syscall_linux_gc_arm.go │ │ │ ├── endian_little.go │ │ │ ├── asm_solaris_amd64.s │ │ │ ├── readdirent_getdents.go │ │ │ ├── pagesize_unix.go │ │ │ ├── aliases.go │ │ │ ├── syscall_hurd.go │ │ │ ├── fcntl_linux_32bit.go │ │ │ ├── gccgo_linux_amd64.go │ │ │ ├── syscall_linux_gc.go │ │ │ ├── syscall_linux_alarm.go │ │ │ ├── syscall_hurd_386.go │ │ │ ├── sockcmsg_dragonfly.go │ │ │ ├── sysvshm_linux.go │ │ │ └── syscall_linux_gc_386.go │ │ ├── execabs │ │ │ ├── execabs_go118.go │ │ │ └── execabs_go119.go │ │ └── windows │ │ │ ├── empty.s │ │ │ ├── aliases.go │ │ │ ├── mksyscall.go │ │ │ ├── race0.go │ │ │ └── str.go │ │ ├── net │ │ ├── publicsuffix │ │ │ └── data │ │ │ │ ├── nodes │ │ │ │ └── children │ │ └── webdav │ │ │ └── internal │ │ │ └── xml │ │ │ └── README │ │ ├── tools │ │ ├── internal │ │ │ ├── event │ │ │ │ └── doc.go │ │ │ ├── typeparams │ │ │ │ ├── enabled_go117.go │ │ │ │ └── enabled_go118.go │ │ │ └── fastwalk │ │ │ │ ├── fastwalk_dirent_fileno.go │ │ │ │ ├── fastwalk_dirent_ino.go │ │ │ │ └── fastwalk_dirent_namlen_bsd.go │ │ └── go │ │ │ └── ast │ │ │ └── astutil │ │ │ └── util.go │ │ └── text │ │ ├── encoding │ │ ├── japanese │ │ │ └── all.go │ │ └── simplifiedchinese │ │ │ └── all.go │ │ ├── internal │ │ └── language │ │ │ └── common.go │ │ └── message │ │ └── catalog │ │ └── go19.go └── gopkg.in │ ├── fsnotify.v1 │ ├── .editorconfig │ ├── .gitignore │ ├── open_mode_bsd.go │ ├── open_mode_darwin.go │ └── .travis.yml │ ├── tomb.v1 │ └── README.md │ ├── yaml.v2 │ ├── .travis.yml │ └── NOTICE │ └── yaml.v3 │ └── NOTICE ├── release_notes ├── 0.0.0 ├── 0.0.6-1 ├── 0.0.5 ├── 1.4.0 ├── 0.0.6 ├── 1.4.0-RC1 ├── 1.5.1 ├── 1.8.2 ├── 1.0.1 ├── 1.8.1 ├── 1.9.0 ├── 2.0.0-RC7 ├── 0.0.8 ├── 0.0.8-1 ├── 1.5.0 ├── 1.6.0 ├── 1.6.1 ├── 2.0.0-RC1 ├── 2.0.0-RC2 ├── 2.0.0-RC3 ├── 2.0.0-RC4 ├── 2.0.0-RC5 ├── 1.3.0 ├── 1.7.1 ├── 1.7.2 ├── 1.7.3 ├── 0.0.4 ├── 1.0.0 ├── 1.5.0-RC1 ├── 1.6.0-RC1 ├── 1.6.0-RC2 ├── 1.7.0 ├── 1.8.0 ├── 1.9.1 ├── 0.0.7 ├── 0.0.9 ├── 1.1.0 ├── 0.0.3 ├── 1.0.0-RC1 ├── 1.1.0-RC1 ├── 1.3.0-RC1 ├── 1.3.0-RC2 ├── 1.7.0-RC1 ├── 1.7.0-RC2 ├── 1.7.0-RC3 ├── 2.0.0-RC6 ├── 1.2.0-RC1 ├── 1.2.0-RC2 ├── 1.2.0-RC3 ├── 0.0.1 ├── 1.2.0 ├── 0.0.2 └── 2.0.0-RC8 ├── .dockerignore ├── docs ├── assets │ ├── app_config.png │ ├── create_app.png │ ├── create_token.png │ ├── invite_bot.png │ ├── screenshot.png │ ├── add_permission.png │ ├── add_token_control.png │ ├── ngi-zero-eu-flag-300.png │ ├── ngi-pointer-eu-flag-300.png │ ├── add_permission.png.license │ ├── app_config.png.license │ ├── create_app.png.license │ ├── create_token.png.license │ ├── invite_bot.png.license │ └── add_token_control.png.license ├── placeholder.go ├── tools.go └── decisions │ └── 0001-record-architecture-decisions.md ├── acceptance_tests ├── .vscode │ └── extensions.json ├── manifest.json ├── specs │ ├── 2_logout.spec │ ├── 5_user_welcome.spec │ ├── 4_datepicker.spec │ ├── 3_login.spec │ ├── 1_2_walkthrough.spec │ └── 6_message_detective.spec ├── env │ └── default │ │ ├── headless.properties │ │ └── js.properties └── package.json ├── security.txt.license ├── test_files └── postfix_logs │ ├── complete.tar.gz │ └── individual_files │ ├── 19_postfix_version.log │ ├── 17-smtpd-reject.log │ └── 18_pickup2.log ├── pkg ├── postfix │ └── logparser │ │ ├── corpus │ │ ├── unsupported_opendkim.txt │ │ ├── unsupported.txt │ │ ├── qmgr_returned_to_sender.txt │ │ ├── unsupported_dovecot.txt │ │ ├── unsupported_smtp.txt │ │ └── smtp_ok.txt │ │ ├── fuzz.sh │ │ ├── fuzz_with_clang.sh │ │ ├── .gitignore │ │ ├── fuzzing.go │ │ ├── rawparser │ │ ├── errors.go │ │ ├── version.go │ │ ├── bounce.go │ │ └── pickup.go │ │ ├── errors.go │ │ ├── version.go │ │ ├── common.go │ │ └── lightmeter_dumped_header.go └── ctxlogger │ └── ctxlog.go ├── api ├── docs │ ├── placeholder.go │ └── tools.go ├── tools.go ├── gen.go └── api.go ├── notification └── email │ ├── templates │ ├── template.mjml.license │ └── template.thtml.license │ └── .gitignore ├── dashboard ├── dashboard_test.go ├── mock │ └── placeholder.go ├── tools.go └── mock.go ├── detective ├── detective_test.go ├── mock │ └── placeholder.go ├── tools.go └── mock.go ├── logeater ├── rsyncwatcher │ └── watcher_test.go ├── dirlogsource │ └── helper_extractor.go └── logsource │ └── reader.go ├── staticdata ├── staticdata_test.go ├── tools.go ├── staticdata.go └── staticdata_stub.go ├── examples └── mailtracking │ └── to_json.sh ├── domainmapping └── gen.go ├── security.txt ├── insights ├── core │ ├── mock │ │ └── placeholder.go │ ├── options.go │ ├── tools.go │ └── mock.go └── actions_release.go ├── tracking ├── settings.go └── tracking_non_debug.go ├── ci └── README.md ├── recommendation ├── gen_dev.go ├── gen_release.go └── instance.go ├── tools.go ├── server ├── server_release.go ├── api_explorer_release.go ├── profiler_release.go └── api_explorer_dev.go ├── util ├── timeutil │ └── mock.go ├── stringutil │ └── sensitive.go ├── testutil │ └── testutil.go └── temputil │ └── testutil.go ├── workspace ├── intel_release.go └── intel_dev.go ├── version └── build_info.go ├── intel ├── collector │ └── reporter.go └── receptor │ └── mock.go ├── newsletter ├── newsletter_release.go └── newsletter_dev.go ├── deliverydb ├── recover_dev.go └── recover_release.go ├── assets_gen └── assets_generate.go └── RELEASING.md /.ignore: -------------------------------------------------------------------------------- 1 | vendor 2 | -------------------------------------------------------------------------------- /.adr-dir: -------------------------------------------------------------------------------- 1 | docs/decisions 2 | -------------------------------------------------------------------------------- /VERSION.txt: -------------------------------------------------------------------------------- 1 | 2.0.0-RC9 2 | -------------------------------------------------------------------------------- /po/.gitignore: -------------------------------------------------------------------------------- 1 | generated.go 2 | -------------------------------------------------------------------------------- /po/en/LC_MESSAGES/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /frontend/controlcenter/.eslintignore: -------------------------------------------------------------------------------- 1 | src/3rd -------------------------------------------------------------------------------- /tools/cmdline_usage/.gitignore: -------------------------------------------------------------------------------- 1 | lightmeter 2 | -------------------------------------------------------------------------------- /vendor/github.com/rs/zerolog/CNAME: -------------------------------------------------------------------------------- 1 | zerolog.io -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/reflect2_amd64.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_386.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_arm.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_arm64.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_mipsx.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_s390x.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_amd64p32.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_mips64x.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_ppc64x.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | unix.test 3 | -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/jsonpointer/.gitignore: -------------------------------------------------------------------------------- 1 | secrets.yml 2 | -------------------------------------------------------------------------------- /vendor/github.com/hpcloud/tail/.gitignore: -------------------------------------------------------------------------------- 1 | .test 2 | .go 3 | 4 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/.gitignore: -------------------------------------------------------------------------------- 1 | /coverage.txt 2 | -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/jsonreference/.gitignore: -------------------------------------------------------------------------------- 1 | secrets.yml 2 | -------------------------------------------------------------------------------- /vendor/github.com/rs/zerolog/_config.yml: -------------------------------------------------------------------------------- 1 | remote_theme: rs/gh-readme 2 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/.gitignore: -------------------------------------------------------------------------------- 1 | *.test 2 | *~ 3 | .idea/ 4 | -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/spec/.gitignore: -------------------------------------------------------------------------------- 1 | secrets.yml 2 | coverage.out 3 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /coverage.txt 3 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 120 3 | -------------------------------------------------------------------------------- /frontend/controlcenter/.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | -------------------------------------------------------------------------------- /frontend/controlcenter/.env.production: -------------------------------------------------------------------------------- 1 | VUE_APP_CONTROLCENTER_BACKEND_BASE_URL="" -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/.gitattributes: -------------------------------------------------------------------------------- 1 | go.sum linguist-generated 2 | -------------------------------------------------------------------------------- /release_notes/0.0.0: -------------------------------------------------------------------------------- 1 | ControlCenter 0.0.0 (WIP) 2 | 3 | NO-OP Release, just for tests 4 | -------------------------------------------------------------------------------- /vendor/github.com/PuerkitoBio/goquery/.gitattributes: -------------------------------------------------------------------------------- 1 | testdata/* linguist-vendored 2 | -------------------------------------------------------------------------------- /vendor/github.com/jstemmer/go-junit-report/.gitignore: -------------------------------------------------------------------------------- 1 | go-junit-report 2 | build/ 3 | -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/swag/.gitignore: -------------------------------------------------------------------------------- 1 | secrets.yml 2 | vendor 3 | Godeps 4 | .idea 5 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.codecov.yml: -------------------------------------------------------------------------------- 1 | ignore: 2 | - "output_tests/.*" 3 | 4 | -------------------------------------------------------------------------------- /vendor/github.com/trustelem/zxcvbn/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | /fuzz/workdir 3 | /fuzz/*.zip 4 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /bug_test.go 3 | /coverage.txt 4 | /.idea 5 | -------------------------------------------------------------------------------- /frontend/controlcenter/.env.development: -------------------------------------------------------------------------------- 1 | VUE_APP_CONTROLCENTER_BACKEND_BASE_URL=http://localhost:8003/ 2 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/assertions/.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /coverage.* 3 | .DS_Store 4 | *.iml 5 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/goconvey/convey/reporting/reporting.goconvey: -------------------------------------------------------------------------------- 1 | #ignore 2 | -timeout=1s 3 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/doc.go: -------------------------------------------------------------------------------- 1 | // Package isatty implements interface to isatty 2 | package isatty 3 | -------------------------------------------------------------------------------- /vendor/gopkg.in/fsnotify.v1/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | indent_size = 4 6 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | *.log 2 | ci 3 | .docker-cache 4 | .gitlab-ci.yml 5 | .golangci.yml 6 | sonar-project.properties 7 | -------------------------------------------------------------------------------- /docs/assets/app_config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/docs/assets/app_config.png -------------------------------------------------------------------------------- /docs/assets/create_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/docs/assets/create_app.png -------------------------------------------------------------------------------- /docs/assets/create_token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/docs/assets/create_token.png -------------------------------------------------------------------------------- /docs/assets/invite_bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/docs/assets/invite_bot.png -------------------------------------------------------------------------------- /docs/assets/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/docs/assets/screenshot.png -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/.codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | status: 3 | project: off 4 | patch: off 5 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/swag/version.go: -------------------------------------------------------------------------------- 1 | package swag 2 | 3 | // Version of swag. 4 | const Version = "v1.8.10" 5 | -------------------------------------------------------------------------------- /acceptance_tests/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "getgauge.gauge" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /docs/assets/add_permission.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/docs/assets/add_permission.png -------------------------------------------------------------------------------- /docs/assets/add_token_control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/docs/assets/add_token_control.png -------------------------------------------------------------------------------- /acceptance_tests/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "Language": "js", 3 | "Plugins": [ 4 | "html-report", 5 | "xml-report" 6 | ] 7 | } -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/swag/.gitattributes: -------------------------------------------------------------------------------- 1 | # gofmt always uses LF, whereas Git uses CRLF on Windows. 2 | *.go text eol=lf 3 | -------------------------------------------------------------------------------- /vendor/github.com/russross/blackfriday/v2/.gitignore: -------------------------------------------------------------------------------- 1 | *.out 2 | *.swp 3 | *.8 4 | *.6 5 | _obj 6 | _test* 7 | markdown 8 | tags 9 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/assertions/internal/oglematchers/.gitignore: -------------------------------------------------------------------------------- 1 | *.6 2 | 6.out 3 | _obj/ 4 | _test/ 5 | _testmain.go 6 | -------------------------------------------------------------------------------- /docs/assets/ngi-zero-eu-flag-300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/docs/assets/ngi-zero-eu-flag-300.png -------------------------------------------------------------------------------- /security.txt.license: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-License-Identifier: AGPL-3.0-only 3 | -------------------------------------------------------------------------------- /vendor/github.com/dlclark/regexp2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | arch: 3 | - AMD64 4 | - ppc64le 5 | go: 6 | - 1.9 7 | - tip 8 | -------------------------------------------------------------------------------- /vendor/github.com/ghodss/yaml/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.3 4 | - 1.4 5 | script: 6 | - go test 7 | - go build 8 | -------------------------------------------------------------------------------- /vendor/github.com/rs/zerolog/not_go112.go: -------------------------------------------------------------------------------- 1 | // +build !go1.12 2 | 3 | package zerolog 4 | 5 | const contextCallerSkipFrameCount = 3 6 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/files/README.md: -------------------------------------------------------------------------------- 1 | # swaggerFiles 2 | 3 | 4 | Generate swagger ui embedded files by using: 5 | ``` 6 | make 7 | ``` -------------------------------------------------------------------------------- /docs/assets/ngi-pointer-eu-flag-300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/docs/assets/ngi-pointer-eu-flag-300.png -------------------------------------------------------------------------------- /test_files/postfix_logs/complete.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/test_files/postfix_logs/complete.tar.gz -------------------------------------------------------------------------------- /vendor/github.com/rs/zerolog/pretty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/vendor/github.com/rs/zerolog/pretty.png -------------------------------------------------------------------------------- /acceptance_tests/specs/2_logout.spec: -------------------------------------------------------------------------------- 1 | # logout 2 | 3 | ## logout success 4 | Tags: success 5 | 6 | * Click logout 7 | * Expect to see "Login" 8 | -------------------------------------------------------------------------------- /frontend/controlcenter/root_build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | cd ./frontend/controlcenter 6 | vue build --dest ../../www ./src/main.js 7 | -------------------------------------------------------------------------------- /release_notes/0.0.6-1: -------------------------------------------------------------------------------- 1 | # ControlCenter 0.0.6-1 2 | 3 | Bugfix release enabling internationalization in the Docker image and distributed binary. 4 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/vendor/github.com/slack-go/slack/logo.png -------------------------------------------------------------------------------- /docs/assets/add_permission.png.license: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-License-Identifier: AGPL-3.0-only 3 | -------------------------------------------------------------------------------- /docs/assets/app_config.png.license: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-License-Identifier: AGPL-3.0-only 3 | -------------------------------------------------------------------------------- /docs/assets/create_app.png.license: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-License-Identifier: AGPL-3.0-only 3 | -------------------------------------------------------------------------------- /docs/assets/create_token.png.license: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-License-Identifier: AGPL-3.0-only 3 | -------------------------------------------------------------------------------- /docs/assets/invite_bot.png.license: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-License-Identifier: AGPL-3.0-only 3 | -------------------------------------------------------------------------------- /release_notes/0.0.5: -------------------------------------------------------------------------------- 1 | ControlCenter 0.0.5 2 | 3 | Domain mapping, plus fixes. See separate release notes on https://lightmeter.io for full changes. 4 | -------------------------------------------------------------------------------- /release_notes/1.4.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.4.0 2 | 3 | Email notifications 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/files/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "swagger-ui"] 2 | path = swagger-ui 3 | url = https://github.com/swagger-api/swagger-ui.git 4 | -------------------------------------------------------------------------------- /docs/assets/add_token_control.png.license: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-License-Identifier: AGPL-3.0-only 3 | -------------------------------------------------------------------------------- /release_notes/0.0.6: -------------------------------------------------------------------------------- 1 | ControlCenter 0.0.6 2 | 3 | Internationalization, plus fixes. See separate release notes on https://lightmeter.io for full changes. 4 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/.gitignore: -------------------------------------------------------------------------------- 1 | # go test -c output 2 | *.test 3 | *.test.exe 4 | 5 | # Output of go build ./cmd/fsnotify 6 | /fsnotify 7 | -------------------------------------------------------------------------------- /vendor/github.com/pressly/goose/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | go: 4 | - 1.12 5 | 6 | script: 7 | - mkdir -p bin 8 | - go test -v ./... 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/publicsuffix/data/nodes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/vendor/golang.org/x/net/publicsuffix/data/nodes -------------------------------------------------------------------------------- /pkg/postfix/logparser/corpus/unsupported_opendkim.txt: -------------------------------------------------------------------------------- 1 | Feb 5 19:00:02 mail opendkim[195]: 407032C4FF6A: DKIM-Signature field added (s=mail, d=lightmeter.io) 2 | -------------------------------------------------------------------------------- /release_notes/1.4.0-RC1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.4.0-RC1 2 | 3 | Email notifications 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/publicsuffix/data/children: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/vendor/golang.org/x/net/publicsuffix/data/children -------------------------------------------------------------------------------- /api/docs/placeholder.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package docs 6 | -------------------------------------------------------------------------------- /notification/email/templates/template.mjml.license: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-License-Identifier: AGPL-3.0-only 3 | -------------------------------------------------------------------------------- /notification/email/templates/template.thtml.license: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-License-Identifier: AGPL-3.0-only 3 | -------------------------------------------------------------------------------- /release_notes/1.5.1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.5.1 2 | 3 | Improve Settings endpoint security 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.8.2: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.8.2 2 | 3 | Self-hosted Posthog for telemetry 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /acceptance_tests/env/default/headless.properties: -------------------------------------------------------------------------------- 1 | # headless.properties 2 | 3 | # Change this to true to run test in headless mode in chrome 4 | headless_chrome = false 5 | -------------------------------------------------------------------------------- /notification/email/.gitignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2021 Lightmeter 2 | # 3 | # SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | template.gen.go 6 | -------------------------------------------------------------------------------- /release_notes/1.0.1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.0.1 2 | 3 | Fix SSL certificates in Docker image. 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.8.1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.8.1 2 | 3 | Load appVersion for the feedback button 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.9.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.9.0 2 | 3 | Peer-network signals sharing & fixes 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/2.0.0-RC7: -------------------------------------------------------------------------------- 1 | # ControlCenter 2.0.0-RC7 2 | 3 | CSV export on message detective 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/spec/url_go18.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.19 2 | // +build !go1.19 3 | 4 | package spec 5 | 6 | import "net/url" 7 | 8 | var parseURL = url.Parse 9 | -------------------------------------------------------------------------------- /dashboard/dashboard_test.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package dashboard 6 | -------------------------------------------------------------------------------- /detective/detective_test.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package detective 6 | -------------------------------------------------------------------------------- /release_notes/0.0.8: -------------------------------------------------------------------------------- 1 | # ControlCenter 0.0.8 2 | 3 | Slack notifications and IP RBL monitoring 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/0.0.8-1: -------------------------------------------------------------------------------- 1 | # ControlCenter 0.0.8-1 2 | 3 | Improve RBL results quality and security 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.5.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.5.0 2 | 3 | Generate insights from historical log data 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.6.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.6.0 2 | 3 | Add Plesk support and first run walkthrough 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.6.1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.6.1 2 | 3 | Publish binaries to Gitlab package registry 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/2.0.0-RC1: -------------------------------------------------------------------------------- 1 | # ControlCenter 2.0.0-RC1 2 | 3 | Peer network brute force protection 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/2.0.0-RC2: -------------------------------------------------------------------------------- 1 | # ControlCenter 2.0.0-RC2 2 | 3 | Peer network brute force protection 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/2.0.0-RC3: -------------------------------------------------------------------------------- 1 | # ControlCenter 2.0.0-RC3 2 | 3 | Peer network brute force protection 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/2.0.0-RC4: -------------------------------------------------------------------------------- 1 | # ControlCenter 2.0.0-RC4 2 | 3 | Peer network brute force protection 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/2.0.0-RC5: -------------------------------------------------------------------------------- 1 | # ControlCenter 2.0.0-RC5 2 | 3 | Peer network brute force protection 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/.mailmap: -------------------------------------------------------------------------------- 1 | Chris Howey 2 | Nathan Youngman <4566+nathany@users.noreply.github.com> 3 | -------------------------------------------------------------------------------- /dashboard/mock/placeholder.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package mock_dashboard 6 | -------------------------------------------------------------------------------- /detective/mock/placeholder.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package mock_detective 6 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/corpus/unsupported.txt: -------------------------------------------------------------------------------- 1 | Sep 16 00:07:34 smtpnode07 postfix-10.20.30.40/qmgr[2342]: 3A1973E542: from=, size=11737, nrcpt=1 (queue active) 2 | -------------------------------------------------------------------------------- /release_notes/1.3.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.3.0 2 | 3 | News insights and improved log processing speed 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.7.1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.7.1 2 | 3 | Remove Solid Clues Blacklist from RBL scanning 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.7.2: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.7.2 2 | 3 | Fix crash by Milter-reject multiple log lines 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.7.3: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.7.3 2 | 3 | Bugfix release with improvements to log parsing 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /vendor/gopkg.in/tomb.v1/README.md: -------------------------------------------------------------------------------- 1 | Installation and usage 2 | ---------------------- 3 | 4 | See [gopkg.in/tomb.v1](https://gopkg.in/tomb.v1) for documentation and usage details. 5 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/inter/Inter-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/inter/Inter-Bold.woff -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/inter/Inter-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/inter/Inter-Italic.woff -------------------------------------------------------------------------------- /release_notes/0.0.4: -------------------------------------------------------------------------------- 1 | ControlCenter 0.0.4 2 | 3 | Single admin registration and authentication system, plus fixes. See separate release notes on https://lightmeter.io for full changes. 4 | -------------------------------------------------------------------------------- /release_notes/1.0.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.0.0 2 | 3 | Generic recommendations for specific types of insight 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.5.0-RC1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.5.0-RC1 2 | 3 | Generate insights from historical log data 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.6.0-RC1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.6.0-RC1 2 | 3 | Add Plesk support and first run walkthrough 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.6.0-RC2: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.6.0-RC2 2 | 3 | Add Plesk support and first run walkthrough 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.7.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.7.0 2 | 3 | Message Detective: Check delivery status of an email 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.8.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.8.0 2 | 3 | Log parser improvements and insight rating system 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.9.1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.9.1 2 | 3 | Fix data cleanup process issue on large databases. 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /vendor/github.com/josharian/intern/README.md: -------------------------------------------------------------------------------- 1 | Docs: https://godoc.org/github.com/josharian/intern 2 | 3 | See also [Go issue 5160](https://golang.org/issue/5160). 4 | 5 | License: MIT 6 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/TODO.txt: -------------------------------------------------------------------------------- 1 | - Add more tests!!! 2 | - Add support to have markdown hints 3 | - See section Message Formatting at https://api.slack.com/docs/formatting 4 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/inter/Inter-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/inter/Inter-Regular.woff -------------------------------------------------------------------------------- /logeater/rsyncwatcher/watcher_test.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package rsyncwatcher 6 | -------------------------------------------------------------------------------- /release_notes/0.0.7: -------------------------------------------------------------------------------- 1 | # ControlCenter 0.0.7 2 | 3 | "Insight" analysis engine and database up- and downgrade. 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/0.0.9: -------------------------------------------------------------------------------- 1 | # ControlCenter 0.0.9 2 | 3 | Mail host block detection and translatable notifications 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.1.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.1.0 2 | 3 | Web UI migrated to Vue.js and several log handling fixes 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /docs/placeholder.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | // Just to make tests execute 6 | package docs 7 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/inter/Inter-BlackItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/inter/Inter-BlackItalic.woff -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/inter/Inter-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/inter/Inter-BoldItalic.woff -------------------------------------------------------------------------------- /pkg/postfix/logparser/corpus/qmgr_returned_to_sender.txt: -------------------------------------------------------------------------------- 1 | Oct 3 12:39:14 mailhost postfix-12.34.56.78/qmgr[24086]: B54DA300087: from=, status=expired, returned to sender 2 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/fuzz.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export GO111MODULE=off 6 | 7 | go run github.com/dvyukov/go-fuzz/go-fuzz-build 8 | go run github.com/dvyukov/go-fuzz/go-fuzz 9 | -------------------------------------------------------------------------------- /release_notes/0.0.3: -------------------------------------------------------------------------------- 1 | ControlCenter 0.0.3 2 | 3 | Add log history import, allow specifying port used by web UI, plus fixes. See separate release notes on https://lightmeter.io for full changes. 4 | -------------------------------------------------------------------------------- /release_notes/1.0.0-RC1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.0.0-RC1 2 | 3 | Generic recommendations for specific types of insight 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.1.0-RC1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.1.0-RC1 2 | 3 | Web UI migrated to Vue.js and several log handling fixes 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.3.0-RC1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.3.0-RC1 2 | 3 | Basic Newsfeed Insights and several log handling fixes. 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.3.0-RC2: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.3.0-RC2 2 | 3 | Basic Newsfeed Insights and several log handling fixes. 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.7.0-RC1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.7.0-RC1 2 | 3 | Message Detective: Check delivery status of an email 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.7.0-RC2: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.7.0-RC2 2 | 3 | Message Detective: Check delivery status of an email 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.7.0-RC3: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.7.0-RC3 2 | 3 | Message Detective: Check delivery status of an email 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /vendor/github.com/xrash/smetrics/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.11 4 | - 1.12 5 | - 1.13 6 | - 1.14.x 7 | - master 8 | script: 9 | - cd tests && make 10 | -------------------------------------------------------------------------------- /release_notes/2.0.0-RC6: -------------------------------------------------------------------------------- 1 | # ControlCenter 2.0.0-RC5 2 | 3 | Various bug fixes and improvements in the message detective. 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/mkdocs-requirements.txt: -------------------------------------------------------------------------------- 1 | mkdocs-git-revision-date-localized-plugin~=1.0 2 | mkdocs-material-extensions~=1.0 3 | mkdocs-material~=8.2 4 | mkdocs~=1.3 5 | pygments~=2.12 6 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Bold/OpenSans-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Bold/OpenSans-Bold.woff -------------------------------------------------------------------------------- /staticdata/staticdata_test.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | // no tests here yet 6 | package staticdata 7 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/groups.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | // Group contains all the information for a group 4 | type Group struct { 5 | GroupConversation 6 | IsGroup bool `json:"is_group"` 7 | } 8 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Bold/OpenSans-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Bold/OpenSans-Bold.woff2 -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Light/OpenSans-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Light/OpenSans-Light.woff -------------------------------------------------------------------------------- /vendor/github.com/hpcloud/tail/ratelimiter/storage.go: -------------------------------------------------------------------------------- 1 | package ratelimiter 2 | 3 | type Storage interface { 4 | GetBucketFor(string) (*LeakyBucket, error) 5 | SetBucketFor(string, LeakyBucket) error 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/pkg/errors 3 | go: 4 | - 1.11.x 5 | - 1.12.x 6 | - 1.13.x 7 | - tip 8 | 9 | script: 10 | - make check 11 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/assertions/internal/oglematchers/.travis.yml: -------------------------------------------------------------------------------- 1 | # Cf. http://docs.travis-ci.com/user/getting-started/ 2 | # Cf. http://docs.travis-ci.com/user/languages/go/ 3 | 4 | language: go 5 | -------------------------------------------------------------------------------- /examples/mailtracking/to_json.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # jsonxf is a very fast json formatter written in rust: 4 | # https://github.com/gamache/jsonxf 5 | 6 | while read line; do 7 | jsonxf <<< "$line" 8 | done 9 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Italic/OpenSans-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Italic/OpenSans-Italic.woff -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Italic/OpenSans-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Italic/OpenSans-Italic.woff2 -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Light/OpenSans-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Light/OpenSans-Light.woff2 -------------------------------------------------------------------------------- /release_notes/1.2.0-RC1: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.2.0-RC1 2 | 3 | New log processing system, plus several log handling improvements and fixes. 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.2.0-RC2: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.2.0-RC2 2 | 3 | New log processing system, plus several log handling improvements and fixes. 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /release_notes/1.2.0-RC3: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.2.0-RC3 2 | 3 | New log processing system, plus several log handling improvements and fixes. 4 | 5 | See separate release notes on https://lightmeter.io for full changes. 6 | -------------------------------------------------------------------------------- /domainmapping/gen.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:generate go run ./gen_list/gen.go 6 | 7 | package domainmapping 8 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Regular/OpenSans-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Regular/OpenSans-Regular.woff -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Regular/OpenSans-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Regular/OpenSans-Regular.woff2 -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/ExtraBold/OpenSans-ExtraBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/ExtraBold/OpenSans-ExtraBold.woff -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Semibold/OpenSans-Semibold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Semibold/OpenSans-Semibold.woff -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/Semibold/OpenSans-Semibold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/Semibold/OpenSans-Semibold.woff2 -------------------------------------------------------------------------------- /vendor/github.com/rs/zerolog/go112.go: -------------------------------------------------------------------------------- 1 | // +build go1.12 2 | 3 | package zerolog 4 | 5 | // Since go 1.12, some auto generated init functions are hidden from 6 | // runtime.Caller. 7 | const contextCallerSkipFrameCount = 2 8 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/BoldItalic/OpenSans-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/BoldItalic/OpenSans-BoldItalic.woff -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/ExtraBold/OpenSans-ExtraBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/ExtraBold/OpenSans-ExtraBold.woff2 -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/sliceflag_pre18.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.18 2 | // +build !go1.18 3 | 4 | package cli 5 | 6 | import ( 7 | "flag" 8 | ) 9 | 10 | func unwrapFlagValue(v flag.Value) flag.Value { return v } 11 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/BoldItalic/OpenSans-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/BoldItalic/OpenSans-BoldItalic.woff2 -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/LightItalic/OpenSans-LightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/LightItalic/OpenSans-LightItalic.woff -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/LightItalic/OpenSans-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/LightItalic/OpenSans-LightItalic.woff2 -------------------------------------------------------------------------------- /release_notes/0.0.1: -------------------------------------------------------------------------------- 1 | ControlCenter 0.0.1 2 | 3 | Initial Alpha release of the new Go-based rewrite of Lightmeter Control Center. This is not intended for production use. See separate release notes on https://lightmeter.io for changes. 4 | -------------------------------------------------------------------------------- /security.txt: -------------------------------------------------------------------------------- 1 | Contact: security@lightmeter.io 2 | Expires: Tue, 12 Apr 2022 12:00 +0200 3 | Encryption: https://keys.openpgp.org/vks/v1/by-fingerprint/642AB4134127B194FC74B5C4AE09C29BC4C25765 4 | Preferred-Languages: en,pt-br,fr,sq,it 5 | -------------------------------------------------------------------------------- /vendor/github.com/mrichman/godnsbl/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/mrichman/godnsbl 3 | go: 4 | - "1.12.x" 5 | - "1.13.x" 6 | - "1.14.x" 7 | - "tip 8 | 9 | script: 10 | - go test -v ./... 11 | -------------------------------------------------------------------------------- /frontend/controlcenter/babel.config.js: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | module.exports = { 6 | presets: ["@vue/cli-plugin-babel/preset"] 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/SemiboldItalic/OpenSans-SemiboldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/SemiboldItalic/OpenSans-SemiboldItalic.woff -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/.gitignore: -------------------------------------------------------------------------------- 1 | *.db 2 | *.exe 3 | *.dll 4 | *.o 5 | 6 | # VSCode 7 | .vscode 8 | 9 | # Exclude from upgrade 10 | upgrade/*.c 11 | upgrade/*.h 12 | 13 | # Exclude upgrade binary 14 | upgrade/upgrade 15 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/swag/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package swag converts Go annotations to Swagger Documentation 2.0. 3 | See https://github.com/swaggo/swag for more information about swag. 4 | */ 5 | package swag // import "github.com/swaggo/swag" 6 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/SemiboldItalic/OpenSans-SemiboldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/SemiboldItalic/OpenSans-SemiboldItalic.woff2 -------------------------------------------------------------------------------- /insights/core/mock/placeholder.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-FileCopyrightText: 2021 Lightmeter 3 | // 4 | // SPDX-License-Identifier: AGPL-3.0-only 5 | 6 | package mock_core 7 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/fuzz_with_clang.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export GO111MODULE=off 6 | go run github.com/dvyukov/go-fuzz/go-fuzz-build -libfuzzer 7 | clang -fsanitize=fuzzer parser-fuzz.a -o fuzzer_clang 8 | ./fuzzer_clang corpus 9 | -------------------------------------------------------------------------------- /vendor/github.com/hpcloud/tail/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | test: *.go 4 | go test -v -race ./... 5 | 6 | fmt: 7 | gofmt -w . 8 | 9 | # Run the test in an isolated environment. 10 | fulltest: 11 | docker build -t hpcloud/tail . 12 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/http-swagger/.goreleaser.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | - skip: true 3 | snapshot: 4 | name_template: "{{ .Tag }}-next" 5 | changelog: 6 | sort: asc 7 | filters: 8 | exclude: 9 | - '^docs:' 10 | - '^test:' 11 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/assets/fonts/open-sans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lightmeterio/ControlCenter/HEAD/frontend/controlcenter/src/assets/fonts/open-sans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff2 -------------------------------------------------------------------------------- /vendor/github.com/imdario/mergo/.deepsource.toml: -------------------------------------------------------------------------------- 1 | version = 1 2 | 3 | test_patterns = [ 4 | "*_test.go" 5 | ] 6 | 7 | [[analyzers]] 8 | name = "go" 9 | enabled = true 10 | 11 | [analyzers.meta] 12 | import_path = "github.com/imdario/mergo" -------------------------------------------------------------------------------- /release_notes/1.2.0: -------------------------------------------------------------------------------- 1 | # ControlCenter 1.2.0 2 | 3 | New message tracing improves stats accuracy 4 | Breaking changes: existing imported log data is wiped and logfiles re-imported 5 | 6 | See separate release notes on https://lightmeter.io for full changes. 7 | -------------------------------------------------------------------------------- /tools/gotestdata/translator/translator.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package translator 6 | 7 | func I18n(s string) string { 8 | return s 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/andybalholm/cascadia/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.3 5 | - 1.4 6 | 7 | install: 8 | - go get github.com/andybalholm/cascadia 9 | 10 | script: 11 | - go test -v 12 | 13 | notifications: 14 | email: false 15 | -------------------------------------------------------------------------------- /vendor/github.com/hpcloud/tail/tail_posix.go: -------------------------------------------------------------------------------- 1 | // +build linux darwin freebsd netbsd openbsd 2 | 3 | package tail 4 | 5 | import ( 6 | "os" 7 | ) 8 | 9 | func OpenFile(name string) (file *os.File, err error) { 10 | return os.Open(name) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/goconvey/convey/convey.goconvey: -------------------------------------------------------------------------------- 1 | #ignore 2 | -timeout=1s 3 | #-covermode=count 4 | #-coverpkg=github.com/smartystreets/goconvey/convey,github.com/smartystreets/goconvey/convey/gotest,github.com/smartystreets/goconvey/convey/reporting -------------------------------------------------------------------------------- /vendor/gopkg.in/fsnotify.v1/.gitignore: -------------------------------------------------------------------------------- 1 | # Setup a Global .gitignore for OS and editor generated files: 2 | # https://help.github.com/articles/ignoring-files 3 | # git config --global core.excludesfile ~/.gitignore_global 4 | 5 | .vagrant 6 | *.sublime-project 7 | -------------------------------------------------------------------------------- /api/tools.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build tools 6 | // +build tools 7 | 8 | package api 9 | 10 | import _ "github.com/swaggo/swag/cmd/swag" 11 | -------------------------------------------------------------------------------- /docs/tools.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build tools 6 | // +build tools 7 | 8 | package docs 9 | 10 | import _ "github.com/swaggo/swag/cmd/swag" 11 | -------------------------------------------------------------------------------- /vendor/github.com/pressly/goose/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | *.swp 4 | *.test 5 | 6 | # Files output by tests 7 | /bin 8 | /*.db 9 | 10 | # We don't want to switch to Go modules, until we release v3.0.0 or later. 11 | /go.mod 12 | /go.sum 13 | 14 | -------------------------------------------------------------------------------- /staticdata/tools.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build tools 6 | // +build tools 7 | 8 | package staticdata 9 | 10 | import _ "github.com/shurcooL/vfsgen" 11 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/swag/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **Describe the PR** 2 | e.g. add cool parser. 3 | 4 | **Relation issue** 5 | e.g. https://github.com/swaggo/swag/pull/118/files 6 | 7 | **Additional context** 8 | Add any other context about the problem here. 9 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/.gitignore: -------------------------------------------------------------------------------- 1 | *.coverprofile 2 | *.exe 3 | *.orig 4 | .*envrc 5 | .envrc 6 | .idea 7 | /.local/ 8 | /site/ 9 | coverage.txt 10 | internal/*/built-example 11 | vendor 12 | /cmd/urfave-cli-genflags/urfave-cli-genflags 13 | *.exe 14 | -------------------------------------------------------------------------------- /dashboard/tools.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build tools 6 | // +build tools 7 | 8 | package dashboard 9 | 10 | import _ "github.com/golang/mock/mockgen" 11 | -------------------------------------------------------------------------------- /detective/tools.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build tools 6 | // +build tools 7 | 8 | package detective 9 | 10 | import _ "github.com/golang/mock/mockgen" 11 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/system_darwin.go: -------------------------------------------------------------------------------- 1 | //go:build darwin 2 | // +build darwin 3 | 4 | package fsnotify 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | // note: this constant is not defined on BSD 9 | const openMode = unix.O_EVTONLY | unix.O_CLOEXEC 10 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.8.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | 10 | script: 11 | - ./test.sh 12 | 13 | after_success: 14 | - bash <(curl -s https://codecov.io/bash) 15 | -------------------------------------------------------------------------------- /insights/core/options.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-FileCopyrightText: 2021 Lightmeter 3 | // 4 | // SPDX-License-Identifier: AGPL-3.0-only 5 | 6 | package core 7 | 8 | type Options map[string]interface{} 9 | -------------------------------------------------------------------------------- /vendor/github.com/PuerkitoBio/goquery/.gitignore: -------------------------------------------------------------------------------- 1 | # editor temporary files 2 | *.sublime-* 3 | .DS_Store 4 | *.swp 5 | #*.*# 6 | tags 7 | 8 | # direnv config 9 | .env* 10 | 11 | # test binaries 12 | *.test 13 | 14 | # coverage and profilte outputs 15 | *.out 16 | 17 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.8.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | 10 | script: 11 | - ./test.sh 12 | 13 | after_success: 14 | - bash <(curl -s https://codecov.io/bash) 15 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/files/filebox.go: -------------------------------------------------------------------------------- 1 | package swaggerFiles 2 | 3 | import ( 4 | "golang.org/x/net/webdav" 5 | ) 6 | 7 | func NewHandler() *webdav.Handler { 8 | return &webdav.Handler{ 9 | FileSystem: FS, 10 | LockSystem: webdav.NewMemLS(), 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/t-yuki/gocover-cobertura/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.6 4 | - 1.7 5 | - 1.8 6 | - tip 7 | 8 | sudo: false 9 | before_install: 10 | - go get github.com/mattn/goveralls 11 | script: 12 | - $GOPATH/bin/goveralls -service=travis-ci 13 | -------------------------------------------------------------------------------- /acceptance_tests/specs/5_user_welcome.spec: -------------------------------------------------------------------------------- 1 | # User Welcome Message 2 | 3 | Ensures that the user receives a welcome message with their name 4 | 5 | ## Welcome message 6 | Tags: success 7 | 8 | * Go to homepage 9 | * Expect to see "and welcome back, User Complete Name" 10 | -------------------------------------------------------------------------------- /api/gen.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package api 6 | 7 | //go:generate go run -mod vendor github.com/swaggo/swag/cmd/swag init --parseDependency --parseInternal --generalInfo api.go 8 | -------------------------------------------------------------------------------- /frontend/controlcenter/vue.config.js: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | module.exports = { 6 | publicPath: '', 7 | productionSourceMap: process.env.SKIP_VUE_SOURCE_MAPS !== 'true' 8 | }; 9 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/files/Makefile: -------------------------------------------------------------------------------- 1 | all: build 2 | 3 | .PHONY: init 4 | init: 5 | git submodule update --init --recursive 6 | 7 | .PHONY: deps 8 | deps: 9 | go install github.com/UnnoTed/fileb0x@v1.1.4 10 | 11 | .PHONY: build 12 | build: 13 | fileb0x fileb0x/b0x.yaml -------------------------------------------------------------------------------- /vendor/github.com/swaggo/http-swagger/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **Describe the PR** 2 | e.g. add cool parser. 3 | 4 | **Relation issue** 5 | e.g. https://github.com/swaggo/gin-swagger/pull/123/files 6 | 7 | **Additional context** 8 | Add any other context about the problem here. 9 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/metadata.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | // SlackMetadata https://api.slack.com/reference/metadata 4 | type SlackMetadata struct { 5 | EventType string `json:"event_type"` 6 | EventPayload map[string]interface{} `json:"event_payload"` 7 | } 8 | -------------------------------------------------------------------------------- /staticdata/staticdata.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build include 6 | // +build include 7 | 8 | //go:generate go run ../assets_gen/assets_generate.go 9 | 10 | package staticdata 11 | -------------------------------------------------------------------------------- /vendor/github.com/KyleBanks/depth/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.9.x 5 | before_install: 6 | - go get github.com/mattn/goveralls 7 | script: 8 | - $HOME/gopath/bin/goveralls -service=travis-ci 9 | #script: go test $(go list ./... | grep -v vendor/) 10 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/system_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build freebsd || openbsd || netbsd || dragonfly 2 | // +build freebsd openbsd netbsd dragonfly 3 | 4 | package fsnotify 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | const openMode = unix.O_NONBLOCK | unix.O_RDONLY | unix.O_CLOEXEC 9 | -------------------------------------------------------------------------------- /vendor/github.com/hpcloud/tail/tail_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package tail 4 | 5 | import ( 6 | "github.com/hpcloud/tail/winfile" 7 | "os" 8 | ) 9 | 10 | func OpenFile(name string) (file *os.File, err error) { 11 | return winfile.OpenFile(name, os.O_RDONLY, 0) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/websocket_dnd.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | // DNDUpdatedEvent represents the update event for Do Not Disturb 4 | type DNDUpdatedEvent struct { 5 | Type string `json:"type"` 6 | User string `json:"user"` 7 | Status DNDStatus `json:"dnd_status"` 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/trustelem/zxcvbn/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.8 5 | - 1.9 6 | - tip 7 | 8 | before_install: 9 | - go get github.com/mattn/goveralls 10 | - go get -t -v ./... 11 | 12 | script: 13 | - $GOPATH/bin/goveralls -service=travis-ci 14 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/assertions/Makefile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | test: fmt 4 | go test -timeout=1s -race -cover -short -count=1 ./... 5 | 6 | fmt: 7 | go fmt ./... 8 | 9 | compile: 10 | go build ./... 11 | 12 | build: test compile 13 | 14 | .PHONY: test compile build 15 | -------------------------------------------------------------------------------- /acceptance_tests/specs/4_datepicker.spec: -------------------------------------------------------------------------------- 1 | # Datepicker 2 | 3 | Test the administrator registration process 4 | 5 | ## Show insights 6 | Tags: success 7 | 8 | * Open datepicker menu 9 | * Skip forward several months 10 | * Set start date 11 | * Move forward some months 12 | * Set end date 13 | -------------------------------------------------------------------------------- /tracking/settings.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2022 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package tracking 6 | 7 | const SettingsKey = `tracking` 8 | 9 | type Settings struct { 10 | Filters FiltersDescription `json:"filters"` 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*.go] 4 | indent_style = tab 5 | indent_size = 4 6 | insert_final_newline = true 7 | 8 | [*.{yml,yaml}] 9 | indent_style = space 10 | indent_size = 2 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | -------------------------------------------------------------------------------- /ci/README.md: -------------------------------------------------------------------------------- 1 | # Build ControlCenter using docker 2 | 3 | You can use the Dockerfile in this directory, but the build process must be done from the project root directory, like this: 4 | 5 | ```sh 6 | $ docker build -f ci/Dockerfile -t lightmeter/controlcenter . 7 | ``` 8 | 9 | That's really it. 10 | -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/spec/url_go19.go: -------------------------------------------------------------------------------- 1 | //go:build go1.19 2 | // +build go1.19 3 | 4 | package spec 5 | 6 | import "net/url" 7 | 8 | func parseURL(s string) (*url.URL, error) { 9 | u, err := url.Parse(s) 10 | if err == nil { 11 | u.OmitHost = false 12 | } 13 | return u, err 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/jstemmer/go-junit-report/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - tip 5 | - "1.13.x" 6 | - "1.12.x" 7 | - "1.11.x" 8 | - "1.10.x" 9 | - "1.9.x" 10 | - "1.8.x" 11 | - "1.7.x" 12 | - "1.6.x" 13 | - "1.5.x" 14 | - "1.4.x" 15 | - "1.3.x" 16 | - "1.2.x" 17 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/.golangci.yml: -------------------------------------------------------------------------------- 1 | run: 2 | timeout: 6m 3 | issues-exit-code: 1 4 | linters: 5 | disable-all: true 6 | enable: 7 | - goimports 8 | - govet 9 | - interfacer 10 | - misspell 11 | - structcheck 12 | - unconvert 13 | issues: 14 | new: true 15 | -------------------------------------------------------------------------------- /recommendation/gen_dev.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build dev 6 | // +build dev 7 | 8 | //go:generate go run ./cmd/gen.go -mapping-file=./links_mapping_dev.json 9 | 10 | package recommendation 11 | -------------------------------------------------------------------------------- /release_notes/0.0.2: -------------------------------------------------------------------------------- 1 | ControlCenter 0.0.2 2 | 3 | Minor improvements to 0.0.1. Hightlights: group most deferred domains by top level domain; make graphs resize responsively to viewport; add release version to UI; avoid use of CDN-hosted assets. See separate release notes on https://lightmeter.io for full changes. 4 | -------------------------------------------------------------------------------- /tools.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build tools 6 | // +build tools 7 | 8 | package main 9 | 10 | import _ "github.com/jstemmer/go-junit-report" 11 | import _ "github.com/t-yuki/gocover-cobertura" 12 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/Gopkg.lock: -------------------------------------------------------------------------------- 1 | # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. 2 | 3 | 4 | [solve-meta] 5 | analyzer-name = "dep" 6 | analyzer-version = 1 7 | input-imports = [] 8 | solver-name = "gps-cdcl" 9 | solver-version = 1 10 | -------------------------------------------------------------------------------- /acceptance_tests/env/default/js.properties: -------------------------------------------------------------------------------- 1 | #js.properties 2 | #settings related to gauge-js. 3 | 4 | test_timeout = 20000 5 | 6 | # Change this to true to enable debugging support 7 | DEBUG = false 8 | 9 | # Comma seperated list of dirs. path should be relative to project root. 10 | STEP_IMPL_DIR = tests 11 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/.gitignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2021 Lightmeter 2 | # 3 | # SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | parser-fuzz.zip 6 | suppressions 7 | crashers 8 | corpus/????????????????????????????????????????-* 9 | corpus/???????????????????????????????????????? 10 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/websocket/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of Gorilla WebSocket authors for copyright 2 | # purposes. 3 | # 4 | # Please keep the list sorted. 5 | 6 | Gary Burd 7 | Google LLC (https://opensource.google.com/) 8 | Joachim Bauch 9 | 10 | -------------------------------------------------------------------------------- /staticdata/staticdata_stub.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build !include 6 | // +build !include 7 | 8 | package staticdata 9 | 10 | import ( 11 | "net/http" 12 | ) 13 | 14 | var HttpAssets http.FileSystem 15 | -------------------------------------------------------------------------------- /acceptance_tests/specs/3_login.spec: -------------------------------------------------------------------------------- 1 | # login 2 | 3 | ## login success 4 | Tags: success 5 | 6 | * Go to login page 7 | * Focus on field with placeholder "Email" 8 | * Type "acceptance_tests@lightmeter.io" 9 | * Focus on field with placeholder "Password" 10 | * Type "54353%#%#54354353gffgdgdfg" 11 | * Click on "Login" 12 | -------------------------------------------------------------------------------- /recommendation/gen_release.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build release 6 | // +build release 7 | 8 | //go:generate go run ./cmd/gen.go -mapping-file=./links_mapping_release.json 9 | 10 | package recommendation 11 | -------------------------------------------------------------------------------- /server/server_release.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build release 6 | // +build release 7 | 8 | package server 9 | 10 | import "net/http" 11 | 12 | func wrap(h http.Handler) http.Handler { 13 | return h 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/hpcloud/tail/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | script: 4 | - go test -race -v ./... 5 | 6 | go: 7 | - 1.4 8 | - 1.5 9 | - 1.6 10 | - tip 11 | 12 | matrix: 13 | allow_failures: 14 | - go: tip 15 | 16 | install: 17 | - go get gopkg.in/fsnotify.v1 18 | - go get gopkg.in/tomb.v1 19 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/go_above_19.go: -------------------------------------------------------------------------------- 1 | //+build go1.9 2 | 3 | package concurrent 4 | 5 | import "sync" 6 | 7 | // Map is a wrapper for sync.Map introduced in go1.9 8 | type Map struct { 9 | sync.Map 10 | } 11 | 12 | // NewMap creates a thread safe Map 13 | func NewMap() *Map { 14 | return &Map{} 15 | } 16 | -------------------------------------------------------------------------------- /server/api_explorer_release.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build release 6 | // +build release 7 | 8 | package server 9 | 10 | import ( 11 | "net/http" 12 | ) 13 | 14 | func exposeApiExplorer(mux *http.ServeMux) { 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.9.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | - go get -t -v github.com/modern-go/reflect2-tests/... 10 | 11 | script: 12 | - ./test.sh 13 | 14 | after_success: 15 | - bash <(curl -s https://codecov.io/bash) 16 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/goconvey/convey/reporting/doc.go: -------------------------------------------------------------------------------- 1 | // Package reporting contains internal functionality related 2 | // to console reporting and output. Although this package has 3 | // exported names is not intended for public consumption. See the 4 | // examples package for how to use this project. 5 | package reporting 6 | -------------------------------------------------------------------------------- /insights/core/tools.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-FileCopyrightText: 2021 Lightmeter 3 | // 4 | // SPDX-License-Identifier: AGPL-3.0-only 5 | 6 | //go:build tools 7 | // +build tools 8 | 9 | package core 10 | 11 | import _ "github.com/golang/mock/mockgen" 12 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/corpus/unsupported_dovecot.txt: -------------------------------------------------------------------------------- 1 | Feb 5 18:56:52 mail dovecot: imap(laalala@mail.io)<28358>: Connection closed (IDLE running for 0.001 + waiting input for 28.914 secs, 2 B in + 10 B out, state=wait-input) in=703 out=12338 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0 2 | -------------------------------------------------------------------------------- /vendor/github.com/dsnet/compress/internal/gofuzz.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016, Joe Tsai. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE.md file. 4 | 5 | // +build gofuzz 6 | 7 | package internal 8 | 9 | const ( 10 | Debug = true 11 | GoFuzz = true 12 | ) 13 | -------------------------------------------------------------------------------- /vendor/github.com/hpcloud/tail/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 0.{build} 2 | skip_tags: true 3 | cache: C:\Users\appveyor\AppData\Local\NuGet\Cache 4 | build_script: 5 | - SET GOPATH=c:\workspace 6 | - go test -v -race ./... 7 | test: off 8 | clone_folder: c:\workspace\src\github.com\hpcloud\tail 9 | branches: 10 | only: 11 | - master 12 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - "1.4.x" 5 | - "1.5.x" 6 | - "1.6.x" 7 | - "1.7.x" 8 | - "1.8.x" 9 | - "1.9.x" 10 | - "1.10.x" 11 | - "1.11.x" 12 | - "1.12.x" 13 | - "1.13.x" 14 | - "1.14.x" 15 | - "tip" 16 | 17 | go_import_path: gopkg.in/yaml.v2 18 | -------------------------------------------------------------------------------- /vendor/github.com/dsnet/compress/internal/debug.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015, Joe Tsai. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE.md file. 4 | 5 | // +build debug,!gofuzz 6 | 7 | package internal 8 | 9 | const ( 10 | Debug = true 11 | GoFuzz = false 12 | ) 13 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/swag/enums.go: -------------------------------------------------------------------------------- 1 | package swag 2 | 3 | const ( 4 | enumVarNamesExtension = "x-enum-varnames" 5 | enumCommentsExtension = "x-enum-comments" 6 | ) 7 | 8 | // EnumValue a model to record an enum consts variable 9 | type EnumValue struct { 10 | key string 11 | Value interface{} 12 | Comment string 13 | } 14 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/fuzzing.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package parser 6 | 7 | func Fuzz(data []byte) int { 8 | _, _, err := Parse(string(data)) 9 | 10 | if !IsRecoverableError(err) { 11 | return 0 12 | } 13 | 14 | return 1 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/goconvey/convey/reporting/console.go: -------------------------------------------------------------------------------- 1 | package reporting 2 | 3 | import ( 4 | "fmt" 5 | "io" 6 | ) 7 | 8 | type console struct{} 9 | 10 | func (self *console) Write(p []byte) (n int, err error) { 11 | return fmt.Print(string(p)) 12 | } 13 | 14 | func NewConsole() io.Writer { 15 | return new(console) 16 | } 17 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/mixin/global_shared.js: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | import { trackEvent, trackClick } from "@/lib/util"; 6 | 7 | export default { 8 | methods: { 9 | trackClick: trackClick, 10 | trackEvent: trackEvent 11 | } 12 | }; 13 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/corpus/unsupported_smtp.txt: -------------------------------------------------------------------------------- 1 | Sep 16 00:07:41 smtpnode07 postfix-10.20.30.40/smtp[31868]: 0D59F4165A: host mx-aol.mail.gm0.yahoodns.net[44.55.66.77] said: 421 4.7.0 [TSS04] Messages from 10.20.30.40 temporarily deferred due to user complaints - 4.16.55.1;i see https://help.yahoo.com/kb/postmaster/SLN3434.html (in reply to MAIL FROM command) 2 | -------------------------------------------------------------------------------- /vendor/github.com/ghodss/yaml/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX leaves these everywhere on SMB shares 2 | ._* 3 | 4 | # Eclipse files 5 | .classpath 6 | .project 7 | .settings/** 8 | 9 | # Emacs save files 10 | *~ 11 | 12 | # Vim-related files 13 | [._]*.s[a-w][a-z] 14 | [._]s[a-w][a-z] 15 | *.un~ 16 | Session.vim 17 | .netrwhist 18 | 19 | # Go test binaries 20 | *.test 21 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/internal/timex/timex.go: -------------------------------------------------------------------------------- 1 | package timex 2 | 3 | import "time" 4 | 5 | // Max returns the maximum duration 6 | func Max(values ...time.Duration) time.Duration { 7 | var ( 8 | max time.Duration 9 | ) 10 | 11 | for _, v := range values { 12 | if v > max { 13 | max = v 14 | } 15 | } 16 | 17 | return max 18 | } 19 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/rawparser/errors.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package rawparser 6 | 7 | import "errors" 8 | 9 | var ( 10 | ErrInvalidHeaderLine = errors.New("Could not parse header") 11 | ErrUnsupportedLogLine = errors.New("Unsupported payload") 12 | ) 13 | -------------------------------------------------------------------------------- /server/profiler_release.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build release 6 | // +build release 7 | 8 | package server 9 | 10 | import "net/http" 11 | 12 | func exposeProfiler(mux *http.ServeMux) { 13 | // We don't expose the profiler on release builds 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/imdario/mergo/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | arch: 3 | - amd64 4 | - ppc64le 5 | install: 6 | - go get -t 7 | - go get golang.org/x/tools/cmd/cover 8 | - go get github.com/mattn/goveralls 9 | script: 10 | - go test -race -v ./... 11 | after_script: 12 | - $HOME/gopath/bin/goveralls -service=travis-ci -repotoken $COVERALLS_TOKEN 13 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/go.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -race -coverprofile=profile.out -covermode=atomic "$d" 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/execabs/execabs_go118.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 !go1.19 6 | // +build !go1.19 7 | 8 | package execabs 9 | 10 | func isGo119ErrDot(err error) bool { 11 | return false 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/go.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -race -coverprofile=profile.out -covermode=atomic "$d" 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /api/docs/tools.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build tools 6 | // +build tools 7 | 8 | package docs 9 | 10 | // added to prevent `go mod tidy` of removing it as a dependency 11 | // of the docs.go file generated by swag 12 | import _ "github.com/alecthomas/template" 13 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -coverprofile=profile.out -coverpkg=github.com/json-iterator/go $d 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /detective/mock.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build dev || !release 6 | // +build dev !release 7 | 8 | //go:generate go run github.com/golang/mock/mockgen -destination=mock/detective_mock.go gitlab.com/lightmeter/controlcenter/detective Detective 9 | 10 | package detective 11 | -------------------------------------------------------------------------------- /vendor/github.com/hlubek/readercomp/.gitignore: -------------------------------------------------------------------------------- 1 | # Binaries for programs and plugins 2 | *.exe 3 | *.exe~ 4 | *.dll 5 | *.so 6 | *.dylib 7 | 8 | # Test binary, built with `go test -c` 9 | *.test 10 | 11 | # Output of the go coverage tool, specifically when used with LiteIDE 12 | *.out 13 | 14 | # Dependency directories (remove the comment below to include it) 15 | # vendor/ 16 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -coverprofile=profile.out -coverpkg=github.com/modern-go/concurrent $d 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /util/timeutil/mock.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2022 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:generate go run github.com/golang/mock/mockgen -self_package gitlab.com/lightmeter/controlcenter/util/timeutil -destination=timeutil_mock.go -package timeutil gitlab.com/lightmeter/controlcenter/util/timeutil Clock 6 | 7 | package timeutil 8 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_solaris.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build solaris 7 | 8 | package sqlite3 9 | 10 | /* 11 | #cgo CFLAGS: -D__EXTENSIONS__=1 12 | #cgo LDFLAGS: -lc 13 | */ 14 | import "C" 15 | -------------------------------------------------------------------------------- /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 | // +build ios 7 | 8 | package unix 9 | 10 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { 11 | return ENOTSUP 12 | } 13 | -------------------------------------------------------------------------------- /vendor/gopkg.in/fsnotify.v1/open_mode_bsd.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 | // +build freebsd openbsd netbsd dragonfly 6 | 7 | package fsnotify 8 | 9 | import "golang.org/x/sys/unix" 10 | 11 | const openMode = unix.O_NONBLOCK | unix.O_RDONLY 12 | -------------------------------------------------------------------------------- /util/stringutil/sensitive.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-FileCopyrightText: 2021 Lightmeter 3 | // 4 | // SPDX-License-Identifier: AGPL-3.0-only 5 | 6 | package stringutil 7 | 8 | type Sensitive *string 9 | 10 | func MakeSensitive(s string) Sensitive { 11 | var sensitive Sensitive = &s 12 | return sensitive 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/KyleBanks/depth/.gitignore: -------------------------------------------------------------------------------- 1 | # Binaries for programs and plugins 2 | *.exe 3 | *.dll 4 | *.so 5 | *.dylib 6 | 7 | # Test binary, build with `go test -c` 8 | *.test 9 | 10 | # Output of the go coverage tool, specifically when used with LiteIDE 11 | *.out 12 | 13 | # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 14 | .glide/ 15 | 16 | bin/ 17 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/log.go: -------------------------------------------------------------------------------- 1 | package concurrent 2 | 3 | import ( 4 | "os" 5 | "log" 6 | "io/ioutil" 7 | ) 8 | 9 | // ErrorLogger is used to print out error, can be set to writer other than stderr 10 | var ErrorLogger = log.New(os.Stderr, "", 0) 11 | 12 | // InfoLogger is used to print informational message, default to off 13 | var InfoLogger = log.New(ioutil.Discard, "", 0) -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_fts5.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build sqlite_fts5 fts5 7 | 8 | package sqlite3 9 | 10 | /* 11 | #cgo CFLAGS: -DSQLITE_ENABLE_FTS5 12 | #cgo LDFLAGS: -lm 13 | */ 14 | import "C" 15 | -------------------------------------------------------------------------------- /vendor/gopkg.in/fsnotify.v1/open_mode_darwin.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 | // +build darwin 6 | 7 | package fsnotify 8 | 9 | import "golang.org/x/sys/unix" 10 | 11 | // note: this constant is not defined on BSD 12 | const openMode = unix.O_EVTONLY 13 | -------------------------------------------------------------------------------- /tools/update_cli_docs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # TODO: Generate a format more suitable for being displayed online 4 | 5 | set -e 6 | 7 | APP_VERSION=$(cat VERSION.txt) 8 | 9 | ( 10 | cd tools/cmdline_usage/ 11 | go build -o lightmeter -ldflags "-X gitlab.com/lightmeter/controlcenter/version.Version=$APP_VERSION" 12 | echo '```' 13 | ./lightmeter 2>&1 14 | echo '```' 15 | ) > cli_usage.md 16 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/assertions/.travis.yml: -------------------------------------------------------------------------------- 1 | dist: bionic 2 | 3 | language: go 4 | 5 | go: 6 | - 1.x 7 | 8 | env: 9 | - GO111MODULE=on 10 | 11 | script: 12 | - make build 13 | 14 | after_success: 15 | - bash <(curl -s https://codecov.io/bash) 16 | 17 | git: 18 | depth: 1 19 | 20 | cache: 21 | directories: 22 | - $HOME/.cache/go-build 23 | - $HOME/gopath/pkg/mod 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/empty.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 !go1.12 6 | // +build !go1.12 7 | 8 | // This file is here to allow bodyless functions with go:linkname for Go 1.11 9 | // and earlier (see https://golang.org/issue/23311). 10 | -------------------------------------------------------------------------------- /workspace/intel_release.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build release 6 | // +build release 7 | 8 | package workspace 9 | 10 | const ( 11 | IntelReportDestinationURL = "https://intelligence.lightmeter.io/reports" 12 | IntelEventsDestinationURL = "https://intelligence.lightmeter.io/events" 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/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 windows && go1.9 6 | // +build windows,go1.9 7 | 8 | package windows 9 | 10 | import "syscall" 11 | 12 | type Errno = syscall.Errno 13 | type SysProcAttr = syscall.SysProcAttr 14 | -------------------------------------------------------------------------------- /version/build_info.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package version 6 | 7 | import "fmt" 8 | 9 | var ( 10 | Version string 11 | TagOrBranch string 12 | Commit string 13 | ) 14 | 15 | func PrintVersion() { 16 | //nolint:forbidigo 17 | fmt.Printf("Lightmeter ControlCenter %s\n", Version) 18 | } 19 | -------------------------------------------------------------------------------- /acceptance_tests/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "controlcenter-acceptance-tests", 3 | "version": "0.0.1", 4 | "description": "Lightmeter ControlCenter Acceptance Tests", 5 | "scripts": { 6 | "test": "node -c tests/*.js && gauge run specs/", 7 | "gauge": "gauge" 8 | }, 9 | "dependencies": { 10 | "@getgauge/cli": "^1.1.6", 11 | "taiko": "^1.1.0", 12 | "tmp": "^0.2.1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test_files/postfix_logs/individual_files/19_postfix_version.log: -------------------------------------------------------------------------------- 1 | Mar 29 12:55:50 test1 postfix/postfix-script[15017]: starting the Postfix mail system 2 | Mar 29 12:55:50 test1 postfix/master[15019]: daemon started -- version 3.4.14, configuration /etc/postfix 3 | Mar 29 13:20:11 test1 postfix/postfix-script[15548]: stopping the Postfix mail system 4 | Mar 29 13:20:11 test1 postfix/master[15019]: terminating on signal 15 5 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.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 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/comment.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | // Comment contains all the information relative to a comment 4 | type Comment struct { 5 | ID string `json:"id,omitempty"` 6 | Created JSONTime `json:"created,omitempty"` 7 | Timestamp JSONTime `json:"timestamp,omitempty"` 8 | User string `json:"user,omitempty"` 9 | Comment string `json:"comment,omitempty"` 10 | } 11 | -------------------------------------------------------------------------------- /logeater/dirlogsource/helper_extractor.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package dirlogsource 6 | 7 | import ( 8 | "gitlab.com/lightmeter/controlcenter/util/testutil" 9 | "io" 10 | ) 11 | 12 | //nolint:deadcode,unused 13 | func extractTarGz(r io.Reader, outDir string) { 14 | testutil.ExtractTarGz(r, outDir) 15 | } 16 | -------------------------------------------------------------------------------- /tools/cmdline_usage/cli.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package main 6 | 7 | import ( 8 | "gitlab.com/lightmeter/controlcenter/config" 9 | ) 10 | 11 | func main() { 12 | _, err := config.Parse([]string{"-help"}, func(string) (string, bool) { return "", false }) 13 | if err != nil { 14 | panic(err) 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/emersion/go-sasl/.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 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/mmcdole/goxpp/.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 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/mrichman/godnsbl/.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 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /acceptance_tests/specs/1_2_walkthrough.spec: -------------------------------------------------------------------------------- 1 | # Walkthrough 2 | 3 | ## Finish walkthrough 4 | Tags: success 5 | 6 | The "Let's go" button moves due the initial animation, 7 | so as an workaround we wait for a while before clicking... :-( 8 | 9 | * Sleep "2000" ms 10 | * Click on "Let's go" 11 | * Click on "Continue" 12 | * Click on "Continue" 13 | * Click on "Continue" 14 | * Click on "Continue" 15 | * Click on "Finish" 16 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/websocket/.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 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | 24 | .idea/ 25 | *.iml 26 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_math_functions.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build sqlite_math_functions 7 | 8 | package sqlite3 9 | 10 | /* 11 | #cgo CFLAGS: -DSQLITE_ENABLE_MATH_FUNCTIONS 12 | #cgo LDFLAGS: -lm 13 | */ 14 | import "C" 15 | -------------------------------------------------------------------------------- /vendor/github.com/pressly/goose/_go.mod: -------------------------------------------------------------------------------- 1 | module github.com/pressly/goose 2 | 3 | go 1.12 4 | 5 | require ( 6 | github.com/ClickHouse/clickhouse-go v1.4.0 7 | github.com/denisenkom/go-mssqldb v0.0.0-20190514213226-23b29e59681b 8 | github.com/go-sql-driver/mysql v1.4.1 9 | github.com/lib/pq v1.1.0 10 | github.com/mattn/go-sqlite3 v1.10.0 11 | github.com/pkg/errors v0.8.1 12 | github.com/ziutek/mymysql v1.5.4 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/github.com/rs/zerolog/.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 | tmp 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 | -------------------------------------------------------------------------------- /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 | // +build amd64,linux,gc 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | //go:noescape 13 | func gettimeofday(tv *Timeval) (err syscall.Errno) 14 | -------------------------------------------------------------------------------- /vendor/github.com/dlclark/regexp2/syntax/fuzz.go: -------------------------------------------------------------------------------- 1 | // +build gofuzz 2 | 3 | package syntax 4 | 5 | // Fuzz is the input point for go-fuzz 6 | func Fuzz(data []byte) int { 7 | sdata := string(data) 8 | tree, err := Parse(sdata, RegexOptions(0)) 9 | if err != nil { 10 | return 0 11 | } 12 | 13 | // translate it to code 14 | _, err = Write(tree) 15 | if err != nil { 16 | panic(err) 17 | } 18 | 19 | return 1 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/dsnet/compress/zfuzz.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright 2017, Joe Tsai. All rights reserved. 4 | # Use of this source code is governed by a BSD-style 5 | # license that can be found in the LICENSE.md file. 6 | 7 | # zfuzz wraps internal/tool/fuzz and is useful for fuzz testing each of 8 | # the implementations in this repository. 9 | cd $(dirname "${BASH_SOURCE[0]}")/internal/tool/fuzz 10 | ./fuzz.sh "$@" 11 | -------------------------------------------------------------------------------- /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 | // +build darwin,!ios 7 | 8 | package unix 9 | 10 | func ptrace(request int, pid int, addr uintptr, data uintptr) error { 11 | return ptrace1(request, pid, addr, data) 12 | } 13 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tools/gotestdata/invalid/main.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package main 6 | 7 | func I18n(s string) string { 8 | return "" 9 | } 10 | 11 | type DataC struct{} 12 | 13 | func (d *DataC) String(s string) string { 14 | a := "DataC" 15 | b := I18n(a) 16 | 17 | return b 18 | } 19 | 20 | func main() { 21 | I18n("hello world") 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/emersion/go-smtp/.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 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | 26 | /main.go 27 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/securecookie/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | 4 | matrix: 5 | include: 6 | - go: 1.3 7 | - go: 1.4 8 | - go: 1.5 9 | - go: 1.6 10 | - go: 1.7 11 | - go: tip 12 | allow_failures: 13 | - go: tip 14 | 15 | script: 16 | - go get -t -v ./... 17 | - diff -u <(echo -n) <(gofmt -d .) 18 | - go vet $(go list ./... | grep -v /vendor/) 19 | - go test -v -race ./... 20 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/swag/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | testdata/simple*/docs 3 | testdata/quotes/docs 4 | testdata/quotes/quotes.so 5 | example/basic/docs/* 6 | example/celler/docs/* 7 | cover.out 8 | 9 | 10 | # Test binary, build with `go test -c` 11 | *.test 12 | 13 | # Output of the go coverage tool, specifically when used with LiteIDE 14 | *.out 15 | .idea 16 | .vscode 17 | 18 | # Etc 19 | .DS_Store 20 | 21 | /swag 22 | /swag.exe 23 | -------------------------------------------------------------------------------- /vendor/github.com/dsnet/compress/bzip2/fuzz_off.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016, Joe Tsai. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE.md file. 4 | 5 | // +build !gofuzz 6 | 7 | // This file exists to suppress fuzzing details from release builds. 8 | 9 | package bzip2 10 | 11 | type fuzzReader struct{} 12 | 13 | func (*fuzzReader) updateChecksum(int64, uint32) {} 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/execabs/execabs_go119.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 go1.19 6 | // +build go1.19 7 | 8 | package execabs 9 | 10 | import ( 11 | "errors" 12 | "os/exec" 13 | ) 14 | 15 | func isGo119ErrDot(err error) bool { 16 | return errors.Is(err, exec.ErrDot) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/typeparams/enabled_go117.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 !go1.18 6 | // +build !go1.18 7 | 8 | package typeparams 9 | 10 | // Enabled reports whether type parameters are enabled in the current build 11 | // environment. 12 | const Enabled = false 13 | -------------------------------------------------------------------------------- /vendor/github.com/dlclark/regexp2/.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 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | *.out 26 | 27 | .DS_Store 28 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/http-swagger/.gitignore: -------------------------------------------------------------------------------- 1 | # Binaries for programs and plugins 2 | *.exe 3 | *.dll 4 | *.so 5 | *.dylib 6 | 7 | # Jetbrains 8 | .idea 9 | 10 | # Test binary, build with `go test -c` 11 | *.test 12 | 13 | # Output of the go coverage tool, specifically when used with LiteIDE 14 | *.out 15 | 16 | # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 17 | .glide/ 18 | 19 | # goreleaser 20 | dist/ 21 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /vendor/github.com/golang/mock/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of GoMock authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | 5 | # Names should be added to this file as 6 | # Name or Organization 7 | # The email address is not required for organizations. 8 | 9 | # Please keep the list sorted. 10 | 11 | Alex Reece 12 | Google Inc. 13 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_os_trace.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | 6 | //go:build sqlite_os_trace 7 | // +build sqlite_os_trace 8 | 9 | package sqlite3 10 | 11 | /* 12 | #cgo CFLAGS: -DSQLITE_FORCE_OS_TRACE=1 13 | #cgo CFLAGS: -DSQLITE_DEBUG_OS_TRACE=1 14 | */ 15 | import "C" 16 | -------------------------------------------------------------------------------- /frontend/controlcenter/README.md: -------------------------------------------------------------------------------- 1 | # controlcenter 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Lints and fixes files 19 | ``` 20 | npm run lint 21 | ``` 22 | 23 | ### Customize configuration 24 | See [Configuration Reference](https://cli.vuejs.org/config/). 25 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_stat4.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // Copyright (C) 2018 G.J.R. Timmer . 3 | // 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build sqlite_stat4 8 | 9 | package sqlite3 10 | 11 | /* 12 | #cgo CFLAGS: -DSQLITE_ENABLE_STAT4 13 | #cgo LDFLAGS: -lm 14 | */ 15 | import "C" 16 | -------------------------------------------------------------------------------- /vendor/github.com/mmcdole/gofeed/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | env: 4 | global: 5 | - GO111MODULE="on" 6 | 7 | go: 8 | - 1.11.x 9 | - 1.12.x 10 | - 1.13.x 11 | - tip 12 | 13 | matrix: 14 | allow_failures: 15 | - go: tip 16 | fast_finish: true 17 | 18 | before_install: 19 | - go get github.com/mattn/goveralls 20 | 21 | script: 22 | - go install ./... 23 | - go test -v ./... 24 | - $GOPATH/bin/goveralls -service=travis-ci 25 | -------------------------------------------------------------------------------- /intel/collector/reporter.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package collector 6 | 7 | import ( 8 | "database/sql" 9 | "gitlab.com/lightmeter/controlcenter/util/timeutil" 10 | "io" 11 | "time" 12 | ) 13 | 14 | type Reporter interface { 15 | io.Closer 16 | ExecutionInterval() time.Duration 17 | Step(tx *sql.Tx, clock timeutil.Clock) error 18 | ID() string 19 | } 20 | -------------------------------------------------------------------------------- /intel/receptor/mock.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build dev || !release 6 | // +build dev !release 7 | 8 | //go:generate go run github.com/golang/mock/mockgen -self_package gitlab.com/lightmeter/controlcenter/intel/receptor -destination=receptor_mock.go -package receptor gitlab.com/lightmeter/controlcenter/intel/receptor Requester 9 | 10 | package receptor 11 | -------------------------------------------------------------------------------- /vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go: -------------------------------------------------------------------------------- 1 | package md2man 2 | 3 | import ( 4 | "github.com/russross/blackfriday/v2" 5 | ) 6 | 7 | // Render converts a markdown document into a roff formatted document. 8 | func Render(doc []byte) []byte { 9 | renderer := NewRoffRenderer() 10 | 11 | return blackfriday.Run(doc, 12 | []blackfriday.Option{blackfriday.WithRenderer(renderer), 13 | blackfriday.WithExtensions(renderer.GetExtensions())}...) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/mksyscall.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 generate 6 | // +build generate 7 | 8 | package windows 9 | 10 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go 11 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | set -x 4 | 5 | if [ ! -d /tmp/build-golang/src/github.com/json-iterator ]; then 6 | mkdir -p /tmp/build-golang/src/github.com/json-iterator 7 | ln -s $PWD /tmp/build-golang/src/github.com/json-iterator/go 8 | fi 9 | export GOPATH=/tmp/build-golang 10 | go get -u github.com/golang/dep/cmd/dep 11 | cd /tmp/build-golang/src/github.com/json-iterator/go 12 | exec $GOPATH/bin/dep ensure -update 13 | -------------------------------------------------------------------------------- /vendor/github.com/emersion/go-smtp/.build.yml: -------------------------------------------------------------------------------- 1 | image: alpine/edge 2 | packages: 3 | - go 4 | sources: 5 | - https://github.com/emersion/go-smtp 6 | artifacts: 7 | - coverage.html 8 | tasks: 9 | - build: | 10 | cd go-smtp 11 | go build -v ./... 12 | - test: | 13 | cd go-smtp 14 | go test -coverprofile=coverage.txt -covermode=atomic ./... 15 | - coverage: | 16 | cd go-smtp 17 | go tool cover -html=coverage.txt -o ~/coverage.html 18 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/websocket/mask_safe.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. Use of 2 | // this source code is governed by a BSD-style license that can be found in the 3 | // LICENSE file. 4 | 5 | //go:build appengine 6 | // +build appengine 7 | 8 | package websocket 9 | 10 | func maskBytes(key [4]byte, pos int, b []byte) int { 11 | for i := range b { 12 | b[i] ^= key[pos&3] 13 | pos++ 14 | } 15 | return pos & 3 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/mailru/easyjson/jlexer/error.go: -------------------------------------------------------------------------------- 1 | package jlexer 2 | 3 | import "fmt" 4 | 5 | // LexerError implements the error interface and represents all possible errors that can be 6 | // generated during parsing the JSON data. 7 | type LexerError struct { 8 | Reason string 9 | Offset int 10 | Data string 11 | } 12 | 13 | func (l *LexerError) Error() string { 14 | return fmt.Sprintf("parse error: %s near offset %d of '%s'", l.Reason, l.Offset, l.Data) 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_introspect.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // Copyright (C) 2018 G.J.R. Timmer . 3 | 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build sqlite_introspect 8 | 9 | package sqlite3 10 | 11 | /* 12 | #cgo CFLAGS: -DSQLITE_INTROSPECTION_PRAGMAS 13 | #cgo LDFLAGS: -lm 14 | */ 15 | import "C" 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_secure_delete.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // Copyright (C) 2018 G.J.R. Timmer . 3 | // 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build sqlite_secure_delete 8 | 9 | package sqlite3 10 | 11 | /* 12 | #cgo CFLAGS: -DSQLITE_SECURE_DELETE=1 13 | #cgo LDFLAGS: -lm 14 | */ 15 | import "C" 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_fileno.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 freebsd || openbsd || netbsd 6 | // +build freebsd openbsd netbsd 7 | 8 | package fastwalk 9 | 10 | import "syscall" 11 | 12 | func direntInode(dirent *syscall.Dirent) uint64 { 13 | return uint64(dirent.Fileno) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_foreign_keys.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // Copyright (C) 2018 G.J.R. Timmer . 3 | // 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build sqlite_foreign_keys 8 | 9 | package sqlite3 10 | 11 | /* 12 | #cgo CFLAGS: -DSQLITE_DEFAULT_FOREIGN_KEYS=1 13 | #cgo LDFLAGS: -lm 14 | */ 15 | import "C" 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vacuum_full.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // Copyright (C) 2018 G.J.R. Timmer . 3 | // 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build sqlite_vacuum_full 8 | 9 | package sqlite3 10 | 11 | /* 12 | #cgo CFLAGS: -DSQLITE_DEFAULT_AUTOVACUUM=1 13 | #cgo LDFLAGS: -lm 14 | */ 15 | import "C" 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vacuum_incr.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // Copyright (C) 2018 G.J.R. Timmer . 3 | // 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build sqlite_vacuum_incr 8 | 9 | package sqlite3 10 | 11 | /* 12 | #cgo CFLAGS: -DSQLITE_DEFAULT_AUTOVACUUM=2 13 | #cgo LDFLAGS: -lm 14 | */ 15 | import "C" 16 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/internal/errorsx/errorsx.go: -------------------------------------------------------------------------------- 1 | package errorsx 2 | 3 | // String representing an error, useful for declaring string constants as errors. 4 | type String string 5 | 6 | func (t String) Error() string { 7 | return string(t) 8 | } 9 | 10 | // Is reports whether String matches with the target error 11 | func (t String) Is(target error) bool { 12 | if target == nil { 13 | return false 14 | } 15 | 16 | return t.Error() == target.Error() 17 | } 18 | -------------------------------------------------------------------------------- /workspace/intel_dev.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build dev || !release 6 | // +build dev !release 7 | 8 | package workspace 9 | 10 | // NOTE: this URL does not need to exist, but you can use it to test the reports locally 11 | const ( 12 | IntelReportDestinationURL = "http://localhost:9999/reports" 13 | IntelEventsDestinationURL = "http://localhost:9999/events" 14 | ) 15 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/corpus/smtp_ok.txt: -------------------------------------------------------------------------------- 1 | Sep 16 00:07:43 smtpnode07 postfix-10.20.30.40/smtp[3022]: 0C31D3D1E6: to=, relay=mx-aol.mail.gm0.yahoodns.net[11.22.33.44]:25, delay=18910, delays=18900/8.9/0.69/0.03, dsn=4.7.0, status=deferred (host mx-aol.mail.gm0.yahoodns.net[11.22.33.44] said: 421 4.7.0 [TSS04] Messages from 10.20.30.40 temporarily deferred due to user complaints - 4.16.55.1; see https://help.yahoo.com/kb/postmaster/SLN3434.html (in reply to MAIL FROM command)) 2 | -------------------------------------------------------------------------------- /tools/go_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | set -o pipefail 5 | 6 | # workaround SQLite warning reported at: 7 | # https://github.com/mattn/go-sqlite3/issues/803 8 | export CGO_CFLAGS="-g -O2 -Wno-return-local-addr" 9 | 10 | export CGO_ENABLED=1 11 | 12 | make mocks > /dev/null 13 | 14 | # test everything except mocks and the main package 15 | COVERPKG="$(go list ./... | egrep -v '(/examples/|/po/|/tools|mock)' | tr '\n' ',')" 16 | 17 | go test ./... -coverpkg=$COVERPKG "$@" 18 | -------------------------------------------------------------------------------- /util/testutil/testutil.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-FileCopyrightText: 2021 Lightmeter 3 | // 4 | // SPDX-License-Identifier: AGPL-3.0-only 5 | 6 | package testutil 7 | 8 | import ( 9 | "gitlab.com/lightmeter/controlcenter/util/temputil" 10 | "gitlab.com/lightmeter/controlcenter/util/timeutil" 11 | ) 12 | 13 | var ( 14 | TempDir = temputil.TempDir 15 | MustParseTime = timeutil.MustParseTime 16 | ) 17 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/websocket_stars.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | type starEvent struct { 4 | Type string `json:"type"` 5 | User string `json:"user"` 6 | Item StarredItem `json:"item"` 7 | EventTimestamp string `json:"event_ts"` 8 | } 9 | 10 | // StarAddedEvent represents the Star added event 11 | type StarAddedEvent starEvent 12 | 13 | // StarRemovedEvent represents the Star removed event 14 | type StarRemovedEvent starEvent 15 | -------------------------------------------------------------------------------- /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 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 | 8 | package unix 9 | 10 | const ( 11 | R_OK = 0x4 12 | W_OK = 0x2 13 | X_OK = 0x1 14 | ) 15 | -------------------------------------------------------------------------------- /vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go: -------------------------------------------------------------------------------- 1 | // This file is included to the build if any of the buildtags below 2 | // are defined. Refer to README notes for more details. 3 | 4 | //+build easyjson_nounsafe appengine 5 | 6 | package jlexer 7 | 8 | // bytesToStr creates a string normally from []byte 9 | // 10 | // Note that this method is roughly 1.5x slower than using the 'unsafe' method. 11 | func bytesToStr(data []byte) string { 12 | return string(data) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_secure_delete_fast.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // Copyright (C) 2018 G.J.R. Timmer . 3 | // 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build sqlite_secure_delete_fast 8 | 9 | package sqlite3 10 | 11 | /* 12 | #cgo CFLAGS: -DSQLITE_SECURE_DELETE=FAST 13 | #cgo LDFLAGS: -lm 14 | */ 15 | import "C" 16 | -------------------------------------------------------------------------------- /vendor/github.com/mmcdole/gofeed/internal/shared/charsetconv.go: -------------------------------------------------------------------------------- 1 | package shared 2 | 3 | import ( 4 | "io" 5 | 6 | "golang.org/x/net/html/charset" 7 | ) 8 | 9 | func NewReaderLabel(label string, input io.Reader) (io.Reader, error) { 10 | conv, err := charset.NewReaderLabel(label, input) 11 | 12 | if err != nil { 13 | return nil, err 14 | } 15 | 16 | // Wrap the charset decoder reader with a XML sanitizer 17 | //clean := NewXMLSanitizerReader(conv) 18 | return conv, nil 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_allow_uri_authority.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // Copyright (C) 2018 G.J.R. Timmer . 3 | // 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build sqlite_allow_uri_authority 8 | 9 | package sqlite3 10 | 11 | /* 12 | #cgo CFLAGS: -DSQLITE_ALLOW_URI_AUTHORITY 13 | #cgo LDFLAGS: -lm 14 | */ 15 | import "C" 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_app_armor.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // Copyright (C) 2018 G.J.R. Timmer . 3 | // 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build !windows 8 | // +build sqlite_app_armor 9 | 10 | package sqlite3 11 | 12 | /* 13 | #cgo CFLAGS: -DSQLITE_ENABLE_API_ARMOR 14 | #cgo LDFLAGS: -lm 15 | */ 16 | import "C" 17 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_other.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build !windows 7 | 8 | package sqlite3 9 | 10 | /* 11 | #cgo CFLAGS: -I. 12 | #cgo linux LDFLAGS: -ldl 13 | #cgo linux,ppc LDFLAGS: -lpthread 14 | #cgo linux,ppc64 LDFLAGS: -lpthread 15 | #cgo linux,ppc64le LDFLAGS: -lpthread 16 | */ 17 | import "C" 18 | -------------------------------------------------------------------------------- /vendor/github.com/shurcooL/vfsgen/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | go: 4 | - 1.x 5 | - master 6 | matrix: 7 | allow_failures: 8 | - go: master 9 | fast_finish: true 10 | install: 11 | - # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step). 12 | script: 13 | - go get -t -v ./... 14 | - diff -n <(echo -n) <(gofmt -d -s .) 15 | - go vet ./... 16 | - go test -v -race ./... 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/go/ast/astutil/util.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 astutil 6 | 7 | import "go/ast" 8 | 9 | // Unparen returns e with any enclosing parentheses stripped. 10 | func Unparen(e ast.Expr) ast.Expr { 11 | for { 12 | p, ok := e.(*ast.ParenExpr) 13 | if !ok { 14 | return e 15 | } 16 | e = p.X 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_ino.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 (linux || (darwin && !cgo)) && !appengine 6 | // +build linux darwin,!cgo 7 | // +build !appengine 8 | 9 | package fastwalk 10 | 11 | import "syscall" 12 | 13 | func direntInode(dirent *syscall.Dirent) uint64 { 14 | return dirent.Ino 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/go_above_19.go: -------------------------------------------------------------------------------- 1 | //+build go1.9 2 | 3 | package reflect2 4 | 5 | import ( 6 | "unsafe" 7 | ) 8 | 9 | //go:linkname resolveTypeOff reflect.resolveTypeOff 10 | func resolveTypeOff(rtype unsafe.Pointer, off int32) unsafe.Pointer 11 | 12 | //go:linkname makemap reflect.makemap 13 | func makemap(rtype unsafe.Pointer, cap int) (m unsafe.Pointer) 14 | 15 | func makeMapWithSize(rtype unsafe.Pointer, cap int) unsafe.Pointer { 16 | return makemap(rtype, cap) 17 | } 18 | -------------------------------------------------------------------------------- /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 | // +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64 7 | 8 | package unix 9 | 10 | const isBigEndian = true 11 | -------------------------------------------------------------------------------- /api/api.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package api 6 | 7 | // @title Lightmeter ControlCenter HTTP API 8 | // @version 0.1 9 | // @description API for user interfaces 10 | // @contact.name Lightmeter Team 11 | // @contact.url http://lightmeter.io 12 | // @contact.email dev@lightmeter.io 13 | // @license.name GNU Affero General Public License 3.0 14 | // @license.url https://www.gnu.org/licenses/agpl-3.0.en.html 15 | -------------------------------------------------------------------------------- /vendor/github.com/jtolds/gls/gen_sym.go: -------------------------------------------------------------------------------- 1 | package gls 2 | 3 | import ( 4 | "sync" 5 | ) 6 | 7 | var ( 8 | keyMtx sync.Mutex 9 | keyCounter uint64 10 | ) 11 | 12 | // ContextKey is a throwaway value you can use as a key to a ContextManager 13 | type ContextKey struct{ id uint64 } 14 | 15 | // GenSym will return a brand new, never-before-used ContextKey 16 | func GenSym() ContextKey { 17 | keyMtx.Lock() 18 | defer keyMtx.Unlock() 19 | keyCounter += 1 20 | return ContextKey{id: keyCounter} 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build windows 7 | 8 | package sqlite3 9 | 10 | /* 11 | #cgo CFLAGS: -I. 12 | #cgo CFLAGS: -fno-stack-check 13 | #cgo CFLAGS: -fno-stack-protector 14 | #cgo CFLAGS: -mno-stack-arg-probe 15 | #cgo windows,386 CFLAGS: -D_USE_32BIT_TIME_T 16 | */ 17 | import "C" 18 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/components/insights/summary/empty.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 15 | 16 | 23 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/websocket/tls_handshake.go: -------------------------------------------------------------------------------- 1 | //go:build go1.17 2 | // +build go1.17 3 | 4 | package websocket 5 | 6 | import ( 7 | "context" 8 | "crypto/tls" 9 | ) 10 | 11 | func doHandshake(ctx context.Context, tlsConn *tls.Conn, cfg *tls.Config) error { 12 | if err := tlsConn.HandshakeContext(ctx); err != nil { 13 | return err 14 | } 15 | if !cfg.InsecureSkipVerify { 16 | if err := tlsConn.VerifyHostname(cfg.ServerName); err != nil { 17 | return err 18 | } 19 | } 20 | return nil 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/websocket/tls_handshake_116.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.17 2 | // +build !go1.17 3 | 4 | package websocket 5 | 6 | import ( 7 | "context" 8 | "crypto/tls" 9 | ) 10 | 11 | func doHandshake(ctx context.Context, tlsConn *tls.Conn, cfg *tls.Config) error { 12 | if err := tlsConn.Handshake(); err != nil { 13 | return err 14 | } 15 | if !cfg.InsecureSkipVerify { 16 | if err := tlsConn.VerifyHostname(cfg.ServerName); err != nil { 17 | return err 18 | } 19 | } 20 | return nil 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/russross/blackfriday/v2/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | go: 4 | - "1.10.x" 5 | - "1.11.x" 6 | - tip 7 | matrix: 8 | fast_finish: true 9 | allow_failures: 10 | - go: tip 11 | install: 12 | - # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step). 13 | script: 14 | - go get -t -v ./... 15 | - diff -u <(echo -n) <(gofmt -d -s .) 16 | - go tool vet . 17 | - go test -v ./... 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_bsd.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 (darwin && !cgo) || freebsd || openbsd || netbsd 6 | // +build darwin,!cgo freebsd openbsd netbsd 7 | 8 | package fastwalk 9 | 10 | import "syscall" 11 | 12 | func direntNamlen(dirent *syscall.Dirent) uint64 { 13 | return uint64(dirent.Namlen) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/satori/go.uuid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.2 5 | - 1.3 6 | - 1.4 7 | - 1.5 8 | - 1.6 9 | - 1.7 10 | - 1.8 11 | - 1.9 12 | - tip 13 | matrix: 14 | allow_failures: 15 | - go: tip 16 | fast_finish: true 17 | before_install: 18 | - go get github.com/mattn/goveralls 19 | - go get golang.org/x/tools/cmd/cover 20 | script: 21 | - $HOME/gopath/bin/goveralls -service=travis-ci 22 | notifications: 23 | email: false 24 | -------------------------------------------------------------------------------- /recommendation/instance.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package recommendation 6 | 7 | import "sync" 8 | 9 | var defaultURLContainer URLContainer 10 | var once sync.Once 11 | var links = make([]Link, 0) 12 | 13 | func GetDefaultURLContainer() URLContainer { 14 | once.Do(func() { 15 | defaultURLContainer = NewURLContainer() 16 | defaultURLContainer.SetForEach(links) 17 | }) 18 | 19 | return defaultURLContainer 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/block_unknown.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | // UnknownBlock represents a block type that is not yet known. This block type exists to prevent Slack from introducing 4 | // new and unknown block types that break this library. 5 | type UnknownBlock struct { 6 | Type MessageBlockType `json:"type"` 7 | BlockID string `json:"block_id,omitempty"` 8 | } 9 | 10 | // BlockType returns the type of the block 11 | func (b UnknownBlock) BlockType() MessageBlockType { 12 | return b.Type 13 | } 14 | -------------------------------------------------------------------------------- /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 6 | // +build darwin,!ios 7 | 8 | package unix 9 | 10 | // SysvShmCtl performs control operations on the shared memory segment 11 | // specified by id. 12 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 13 | return shmctl(id, cmd, desc) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/webdav/internal/xml/README: -------------------------------------------------------------------------------- 1 | This is a fork of the encoding/xml package at ca1d6c4, the last commit before 2 | https://go.googlesource.com/go/+/c0d6d33 "encoding/xml: restore Go 1.4 name 3 | space behavior" made late in the lead-up to the Go 1.5 release. 4 | 5 | The list of encoding/xml changes is at 6 | https://go.googlesource.com/go/+log/master/src/encoding/xml 7 | 8 | This fork is temporary, and I (nigeltao) expect to revert it after Go 1.6 is 9 | released. 10 | 11 | See http://golang.org/issue/11841 12 | -------------------------------------------------------------------------------- /tracking/tracking_non_debug.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build !tracking_debug_util 6 | // +build !tracking_debug_util 7 | 8 | package tracking 9 | 10 | import ( 11 | "database/sql" 12 | "gitlab.com/lightmeter/controlcenter/lmsqlite3/dbconn" 13 | ) 14 | 15 | func debugTrackingAction(tx **sql.Tx, t *Tracker, batchId *int64, trackerStmts dbconn.PreparedStmts, txStmts *dbconn.TxPreparedStmts) error { 16 | return nil 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/andybalholm/cascadia/README.md: -------------------------------------------------------------------------------- 1 | # cascadia 2 | 3 | [![](https://travis-ci.org/andybalholm/cascadia.svg)](https://travis-ci.org/andybalholm/cascadia) 4 | 5 | The Cascadia package implements CSS selectors for use with the parse trees produced by the html package. 6 | 7 | To test CSS selectors without writing Go code, check out [cascadia](https://github.com/suntong/cascadia) the command line tool, a thin wrapper around this package. 8 | 9 | [Refer to godoc here](https://godoc.org/github.com/andybalholm/cascadia). 10 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/sessions/cookie.go: -------------------------------------------------------------------------------- 1 | // +build !go1.11 2 | 3 | package sessions 4 | 5 | import "net/http" 6 | 7 | // newCookieFromOptions returns an http.Cookie with the options set. 8 | func newCookieFromOptions(name, value string, options *Options) *http.Cookie { 9 | return &http.Cookie{ 10 | Name: name, 11 | Value: value, 12 | Path: options.Path, 13 | Domain: options.Domain, 14 | MaxAge: options.MaxAge, 15 | Secure: options.Secure, 16 | HttpOnly: options.HttpOnly, 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /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 | // +build gc 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go 12 | // 13 | 14 | TEXT ·syscall6(SB),NOSPLIT,$0-88 15 | JMP syscall·syscall6(SB) 16 | 17 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 18 | JMP syscall·rawSyscall6(SB) 19 | -------------------------------------------------------------------------------- /acceptance_tests/specs/6_message_detective.spec: -------------------------------------------------------------------------------- 1 | # Message Detective admin view 2 | 3 | Search for messages 4 | 5 | ## Search results 6 | 7 | * Go to detective 8 | * Expect to see "Message Detective" 9 | 10 | * Datepicker last 3 months 11 | * Click on "Search" 12 | 13 | * Expect "1" detective results 14 | * Expect to see "Received" 15 | * Expect to see "sender@sender.example.com" 16 | * Expect to see "user@recipient.example.com" 17 | * Expect to see "1F5A2194AA9" 18 | * Expect to see "AFFBE802-D6B1-483C-ABE2-783F531DE68B@example.com" 19 | -------------------------------------------------------------------------------- /server/api_explorer_dev.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build dev || !release 6 | // +build dev !release 7 | 8 | package server 9 | 10 | import ( 11 | "net/http" 12 | 13 | httpSwagger "github.com/swaggo/http-swagger" 14 | _ "gitlab.com/lightmeter/controlcenter/api/docs" 15 | ) 16 | 17 | func exposeApiExplorer(mux *http.ServeMux) { 18 | mux.Handle("/api/", httpSwagger.Handler( 19 | httpSwagger.URL("/api.json"), 20 | )) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/alecthomas/template/README.md: -------------------------------------------------------------------------------- 1 | # Go's `text/template` package with newline elision 2 | 3 | This is a fork of Go 1.4's [text/template](http://golang.org/pkg/text/template/) package with one addition: a backslash immediately after a closing delimiter will delete all subsequent newlines until a non-newline. 4 | 5 | eg. 6 | 7 | ``` 8 | {{if true}}\ 9 | hello 10 | {{end}}\ 11 | ``` 12 | 13 | Will result in: 14 | 15 | ``` 16 | hello\n 17 | ``` 18 | 19 | Rather than: 20 | 21 | ``` 22 | \n 23 | hello\n 24 | \n 25 | ``` 26 | -------------------------------------------------------------------------------- /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 | // +build arm,gc,linux 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | // Underlying system call writes to newoffset via pointer. 13 | // Implemented in assembly to avoid allocation. 14 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 15 | -------------------------------------------------------------------------------- /vendor/github.com/shurcooL/vfsgen/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package vfsgen takes an http.FileSystem (likely at `go generate` time) and 3 | generates Go code that statically implements the provided http.FileSystem. 4 | 5 | Features: 6 | 7 | - Efficient generated code without unneccessary overhead. 8 | 9 | - Uses gzip compression internally (selectively, only for files that compress well). 10 | 11 | - Enables direct access to internal gzip compressed bytes via an optional interface. 12 | 13 | - Outputs `gofmt`ed Go code. 14 | */ 15 | package vfsgen 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_icu.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build sqlite_icu icu 7 | 8 | package sqlite3 9 | 10 | /* 11 | #cgo LDFLAGS: -licuuc -licui18n 12 | #cgo CFLAGS: -DSQLITE_ENABLE_ICU 13 | #cgo darwin CFLAGS: -I/usr/local/opt/icu4c/include 14 | #cgo darwin LDFLAGS: -L/usr/local/opt/icu4c/lib 15 | #cgo openbsd LDFLAGS: -lsqlite3 16 | */ 17 | import "C" 18 | -------------------------------------------------------------------------------- /vendor/github.com/mmcdole/gofeed/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | #vim stuff 7 | *.swp 8 | *.swo 9 | 10 | # Folders 11 | _obj 12 | _test 13 | 14 | # Architecture specific extensions/prefixes 15 | *.[568vq] 16 | [568vq].out 17 | 18 | *.cgo1.go 19 | *.cgo2.c 20 | _cgo_defun.c 21 | _cgo_gotypes.go 22 | _cgo_export.* 23 | 24 | _testmain.go 25 | 26 | *.exe 27 | *.test 28 | *.prof 29 | 30 | .DS_STORE 31 | 32 | cmd/ftest/ftest 33 | 34 | # Goland specific files 35 | .idea 36 | -------------------------------------------------------------------------------- /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 | // +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh 7 | 8 | package unix 9 | 10 | const isBigEndian = false 11 | -------------------------------------------------------------------------------- /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 | // +build gc 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 12 | // 13 | 14 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 15 | JMP syscall·sysvicall6(SB) 16 | 17 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 18 | JMP syscall·rawSysvicall6(SB) 19 | -------------------------------------------------------------------------------- /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 | // +build aix dragonfly freebsd linux netbsd openbsd 7 | 8 | package unix 9 | 10 | // ReadDirent reads directory entries from fd and writes them into buf. 11 | func ReadDirent(fd int, buf []byte) (n int, err error) { 12 | return Getdents(fd, buf) 13 | } 14 | -------------------------------------------------------------------------------- /newsletter/newsletter_release.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build release 6 | // +build release 7 | 8 | package newsletter 9 | 10 | import ( 11 | "net/http" 12 | "time" 13 | ) 14 | 15 | func NewSubscriber(url string) Subscriber { 16 | // Client-side timeouts to prevent leaking resources or getting stuck. 17 | httpClient := &http.Client{ 18 | Timeout: 10 * time.Second, 19 | } 20 | return &HTTPSubscriber{URL: url, HTTPClient: httpClient} 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/websocket_pins.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | type pinEvent struct { 4 | Type string `json:"type"` 5 | User string `json:"user"` 6 | Item Item `json:"item"` 7 | Channel string `json:"channel_id"` 8 | EventTimestamp string `json:"event_ts"` 9 | HasPins bool `json:"has_pins,omitempty"` 10 | } 11 | 12 | // PinAddedEvent represents the Pin added event 13 | type PinAddedEvent pinEvent 14 | 15 | // PinRemovedEvent represents the Pin removed event 16 | type PinRemovedEvent pinEvent 17 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/errors.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package parser 6 | 7 | import ( 8 | "errors" 9 | 10 | "gitlab.com/lightmeter/controlcenter/pkg/postfix/logparser/rawparser" 11 | ) 12 | 13 | var ( 14 | ErrInvalidHeaderLine = rawparser.ErrInvalidHeaderLine 15 | ErrUnsupportedLogLine = rawparser.ErrUnsupportedLogLine 16 | ) 17 | 18 | func IsRecoverableError(err error) bool { 19 | return err == nil || errors.Is(err, ErrUnsupportedLogLine) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/emersion/go-sasl/.build.yml: -------------------------------------------------------------------------------- 1 | image: alpine/latest 2 | packages: 3 | - go 4 | # Required by codecov 5 | - bash 6 | - findutils 7 | sources: 8 | - https://github.com/emersion/go-sasl 9 | tasks: 10 | - build: | 11 | cd go-sasl 12 | go build -v ./... 13 | - test: | 14 | cd go-sasl 15 | go test -coverprofile=coverage.txt -covermode=atomic ./... 16 | - upload-coverage: | 17 | cd go-sasl 18 | export CODECOV_TOKEN=3f257f71-a128-4834-8f68-2b534e9f4cb1 19 | curl -s https://codecov.io/bash | bash 20 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/sort.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | // Len implements sort.Interface function for length 4 | func (err Error) Len() int { 5 | return len(err.Errors) 6 | } 7 | 8 | // Swap implements sort.Interface function for swapping elements 9 | func (err Error) Swap(i, j int) { 10 | err.Errors[i], err.Errors[j] = err.Errors[j], err.Errors[i] 11 | } 12 | 13 | // Less implements sort.Interface function for determining order 14 | func (err Error) Less(i, j int) bool { 15 | return err.Errors[i].Error() < err.Errors[j].Error() 16 | } 17 | -------------------------------------------------------------------------------- /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 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris 7 | 8 | // For Unix, get the pagesize from the runtime. 9 | 10 | package unix 11 | 12 | import "syscall" 13 | 14 | func Getpagesize() int { 15 | return syscall.Getpagesize() 16 | } 17 | -------------------------------------------------------------------------------- /frontend/controlcenter/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | 25 | src/translation/locale/pt_BR/LC_MESSAGES/app.po~ 26 | src/translation/locale/de/LC_MESSAGES/app.po~ 27 | src/translation/locale/pl/LC_MESSAGES/app.po~ 28 | src/translation/locale/en/LC_MESSAGES/app.po~ -------------------------------------------------------------------------------- /vendor/github.com/dsnet/compress/zbench.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright 2017, Joe Tsai. All rights reserved. 4 | # Use of this source code is governed by a BSD-style 5 | # license that can be found in the LICENSE.md file. 6 | 7 | # zbench wraps internal/tool/bench and is useful for comparing benchmarks from 8 | # the implementations in this repository relative to other implementations. 9 | # 10 | # See internal/tool/bench/main.go for more details. 11 | cd $(dirname "${BASH_SOURCE[0]}")/internal/tool/bench 12 | go run $(go list -f '{{ join .GoFiles "\n" }}') "$@" 13 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/securecookie/fuzz.go: -------------------------------------------------------------------------------- 1 | // +build gofuzz 2 | 3 | package securecookie 4 | 5 | var hashKey = []byte("very-secret12345") 6 | var blockKey = []byte("a-lot-secret1234") 7 | var s = New(hashKey, blockKey) 8 | 9 | type Cookie struct { 10 | B bool 11 | I int 12 | S string 13 | } 14 | 15 | func Fuzz(data []byte) int { 16 | datas := string(data) 17 | var c Cookie 18 | if err := s.Decode("fuzz", datas, &c); err != nil { 19 | return 0 20 | } 21 | if _, err := s.Encode("fuzz", c); err != nil { 22 | panic(err) 23 | } 24 | return 1 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/message/catalog/go19.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 go1.9 6 | // +build go1.9 7 | 8 | package catalog 9 | 10 | import "golang.org/x/text/internal/catmsg" 11 | 12 | // A Message holds a collection of translations for the same phrase that may 13 | // vary based on the values of substitution arguments. 14 | type Message = catmsg.Message 15 | 16 | type firstInSequence = catmsg.FirstOf 17 | -------------------------------------------------------------------------------- /frontend/controlcenter/.eslintrc.js: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | module.exports = { 6 | root: true, 7 | env: { 8 | node: true 9 | }, 10 | extends: ["plugin:vue/essential", "eslint:recommended", "@vue/prettier"], 11 | parserOptions: { 12 | parser: "babel-eslint" 13 | }, 14 | rules: { 15 | "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", 16 | "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off" 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/sessions/cookie_go111.go: -------------------------------------------------------------------------------- 1 | // +build go1.11 2 | 3 | package sessions 4 | 5 | import "net/http" 6 | 7 | // newCookieFromOptions returns an http.Cookie with the options set. 8 | func newCookieFromOptions(name, value string, options *Options) *http.Cookie { 9 | return &http.Cookie{ 10 | Name: name, 11 | Value: value, 12 | Path: options.Path, 13 | Domain: options.Domain, 14 | MaxAge: options.MaxAge, 15 | Secure: options.Secure, 16 | HttpOnly: options.HttpOnly, 17 | SameSite: options.SameSite, 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/trustelem/zxcvbn/match/sort.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "sort" 5 | ) 6 | 7 | type matchesByIJ []*Match 8 | 9 | func (s matchesByIJ) Len() int { 10 | return len(s) 11 | } 12 | func (s matchesByIJ) Swap(i, j int) { 13 | s[i], s[j] = s[j], s[i] 14 | } 15 | func (s matchesByIJ) Less(i, j int) bool { 16 | if s[i].I < s[j].I { 17 | return true 18 | } else if s[i].I == s[j].I { 19 | return s[i].J < s[j].J 20 | } else { 21 | return false 22 | } 23 | } 24 | 25 | func Sort(matches []*Match) { 26 | sort.Stable(matchesByIJ(matches)) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/gopkg.in/fsnotify.v1/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | 4 | go: 5 | - 1.8.x 6 | - 1.9.x 7 | - tip 8 | 9 | matrix: 10 | allow_failures: 11 | - go: tip 12 | fast_finish: true 13 | 14 | before_script: 15 | - go get -u github.com/golang/lint/golint 16 | 17 | script: 18 | - go test -v --race ./... 19 | 20 | after_script: 21 | - test -z "$(gofmt -s -l -w . | tee /dev/stderr)" 22 | - test -z "$(golint ./... | tee /dev/stderr)" 23 | - go vet ./... 24 | 25 | os: 26 | - linux 27 | - osx 28 | 29 | notifications: 30 | email: false 31 | -------------------------------------------------------------------------------- /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) && go1.9 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 | // +build go1.9 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | type Signal = syscall.Signal 14 | type Errno = syscall.Errno 15 | type SysProcAttr = syscall.SysProcAttr 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/typeparams/enabled_go118.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 go1.18 6 | // +build go1.18 7 | 8 | package typeparams 9 | 10 | // Note: this constant is in a separate file as this is the only acceptable 11 | // diff between the <1.18 API of this package and the 1.18 API. 12 | 13 | // Enabled reports whether type parameters are enabled in the current build 14 | // environment. 15 | const Enabled = true 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_others.go: -------------------------------------------------------------------------------- 1 | //go:build appengine || js || nacl || wasm 2 | // +build appengine js nacl wasm 3 | 4 | package isatty 5 | 6 | // IsTerminal returns true if the file descriptor is terminal which 7 | // is always false on js and appengine classic which is a sandboxed PaaS. 8 | func IsTerminal(fd uintptr) bool { 9 | return false 10 | } 11 | 12 | // IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 13 | // terminal. This is also always false on this environment. 14 | func IsCygwinTerminal(fd uintptr) bool { 15 | return false 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/assertions/internal/go-diff/diffmatchpatch/operation_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Operation -trimprefix=Diff"; DO NOT EDIT. 2 | 3 | package diffmatchpatch 4 | 5 | import "fmt" 6 | 7 | const _Operation_name = "DeleteEqualInsert" 8 | 9 | var _Operation_index = [...]uint8{0, 6, 11, 17} 10 | 11 | func (i Operation) String() string { 12 | i -= -1 13 | if i < 0 || i >= Operation(len(_Operation_index)-1) { 14 | return fmt.Sprintf("Operation(%d)", i+-1) 15 | } 16 | return _Operation_name[_Operation_index[i]:_Operation_index[i+1]] 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/sessions/options.go: -------------------------------------------------------------------------------- 1 | // +build !go1.11 2 | 3 | package sessions 4 | 5 | // Options stores configuration for a session or session store. 6 | // 7 | // Fields are a subset of http.Cookie fields. 8 | type Options struct { 9 | Path string 10 | Domain string 11 | // MaxAge=0 means no Max-Age attribute specified and the cookie will be 12 | // deleted after the browser session ends. 13 | // MaxAge<0 means delete cookie immediately. 14 | // MaxAge>0 means Max-Age attribute present and given in seconds. 15 | MaxAge int 16 | Secure bool 17 | HttpOnly bool 18 | } 19 | -------------------------------------------------------------------------------- /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 | // +build hurd 7 | 8 | package unix 9 | 10 | /* 11 | #include 12 | int ioctl(int, unsigned long int, uintptr_t); 13 | */ 14 | import "C" 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 | -------------------------------------------------------------------------------- /insights/core/mock.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-FileCopyrightText: 2021 Lightmeter 3 | // 4 | // SPDX-License-Identifier: AGPL-3.0-only 5 | 6 | //go:build dev || !release 7 | // +build dev !release 8 | 9 | //go:generate go run github.com/golang/mock/mockgen -destination=mock/fetcher_mock.go gitlab.com/lightmeter/controlcenter/insights/core Fetcher 10 | //go:generate go run github.com/golang/mock/mockgen -destination=mock/progress_mock.go gitlab.com/lightmeter/controlcenter/insights/core ProgressFetcher 11 | 12 | package core 13 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/version.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package parser 6 | 7 | import ( 8 | "gitlab.com/lightmeter/controlcenter/pkg/postfix/logparser/rawparser" 9 | ) 10 | 11 | func init() { 12 | registerHandler(rawparser.PayloadTypeVersion, convertVersion) 13 | } 14 | 15 | type Version string 16 | 17 | func (Version) isPayload() { 18 | // required by interface Payload 19 | } 20 | 21 | func convertVersion(r rawparser.RawPayload) (Payload, error) { 22 | return Version(r.Version), nil 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/hpcloud/tail/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang 2 | 3 | RUN mkdir -p $GOPATH/src/github.com/hpcloud/tail/ 4 | ADD . $GOPATH/src/github.com/hpcloud/tail/ 5 | 6 | # expecting to fetch dependencies successfully. 7 | RUN go get -v github.com/hpcloud/tail 8 | 9 | # expecting to run the test successfully. 10 | RUN go test -v github.com/hpcloud/tail 11 | 12 | # expecting to install successfully 13 | RUN go install -v github.com/hpcloud/tail 14 | RUN go install -v github.com/hpcloud/tail/cmd/gotail 15 | 16 | RUN $GOPATH/bin/gotail -h || true 17 | 18 | ENV PATH $GOPATH/bin:$PATH 19 | CMD ["gotail"] 20 | -------------------------------------------------------------------------------- /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 | // +build linux,386 linux,arm linux,mips linux,mipsle linux,ppc 7 | 8 | package unix 9 | 10 | func init() { 11 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 12 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 13 | fcntl64Syscall = SYS_FCNTL64 14 | } 15 | -------------------------------------------------------------------------------- /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 | // +build gccgo,linux,amd64 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | //extern gettimeofday 13 | func realGettimeofday(*Timeval, *byte) int32 14 | 15 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 16 | r := realGettimeofday(tv, nil) 17 | if r < 0 { 18 | return syscall.GetErrno() 19 | } 20 | return 0 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/im.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | type imChannel struct { 4 | ID string `json:"id"` 5 | } 6 | 7 | type imResponseFull struct { 8 | NoOp bool `json:"no_op"` 9 | AlreadyClosed bool `json:"already_closed"` 10 | AlreadyOpen bool `json:"already_open"` 11 | Channel imChannel `json:"channel"` 12 | IMs []IM `json:"ims"` 13 | History 14 | SlackResponse 15 | } 16 | 17 | // IM contains information related to the Direct Message channel 18 | type IM struct { 19 | Conversation 20 | IsUserDeleted bool `json:"is_user_deleted"` 21 | } 22 | -------------------------------------------------------------------------------- /docs/decisions/0001-record-architecture-decisions.md: -------------------------------------------------------------------------------- 1 | # 1. Record architecture decisions 2 | 3 | Date: 2020-11-09 4 | 5 | ## Status 6 | 7 | Accepted 8 | 9 | ## Context 10 | 11 | We need to record the architectural decisions made on this project. 12 | 13 | ## Decision 14 | 15 | We will use Architecture Decision Records, as [described by Michael Nygard](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions). 16 | 17 | ## Consequences 18 | 19 | See Michael Nygard's article, linked above. For a lightweight ADR toolset, see Nat Pryce's [adr-tools](https://github.com/npryce/adr-tools). 20 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/assertions/README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.org/smartystreets/assertions.svg?branch=master)](https://travis-ci.org/smartystreets/assertions) 2 | [![Code Coverage](https://codecov.io/gh/smartystreets/assertions/branch/master/graph/badge.svg)](https://codecov.io/gh/smartystreets/assertions) 3 | [![Go Report Card](https://goreportcard.com/badge/github.com/smartystreets/assertions)](https://goreportcard.com/report/github.com/smartystreets/assertions) 4 | [![GoDoc](https://godoc.org/github.com/smartystreets/assertions?status.svg)](http://godoc.org/github.com/smartystreets/assertions) 5 | -------------------------------------------------------------------------------- /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 | // +build linux,gc 7 | 8 | package unix 9 | 10 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail. 11 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 12 | 13 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't 14 | // fail. 15 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 16 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/common.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package parser 6 | 7 | import ( 8 | "net" 9 | ) 10 | 11 | // parse IP address, but don't trigger error on special value "unknown" 12 | func parseIP(b string) (net.IP, error) { 13 | if len(b) == 0 { 14 | return nil, nil 15 | } 16 | 17 | if b == "unknown" { 18 | return nil, nil 19 | } 20 | 21 | ip := net.ParseIP(b) 22 | 23 | if ip == nil { 24 | return nil, &net.ParseError{Type: "IP Address", Text: "Invalid IP"} 25 | } 26 | 27 | return ip, nil 28 | } 29 | -------------------------------------------------------------------------------- /test_files/postfix_logs/individual_files/17-smtpd-reject.log: -------------------------------------------------------------------------------- 1 | Feb 8 21:28:47 mx postfix/smtps/smtpd[1036]: connect from unknown[2a02:168:636a::15e2] 2 | Feb 8 21:28:47 mx postfix/smtps/smtpd[1036]: DE81A2E2DAA: client=unknown[2a02:168:636a::15e2], sasl_method=PLAIN, sasl_username=h-d2315d@h-24e89d.com 3 | Feb 8 21:28:47 mx postfix/smtps/smtpd[1036]: DE81A2E2DAA: reject: RCPT from unknown[2a02:168:636a::15e2]: 550 5.1.1 : Recipient address rejected: User unknown in virtual mailbox table; from= to= proto=ESMTP helo=<[IPv6:2a02:168:636a::15e2]> 4 | 5 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build libsqlite3 7 | 8 | package sqlite3 9 | 10 | /* 11 | #cgo CFLAGS: -DUSE_LIBSQLITE3 12 | #cgo linux LDFLAGS: -lsqlite3 13 | #cgo darwin LDFLAGS: -L/usr/local/opt/sqlite/lib -lsqlite3 14 | #cgo darwin CFLAGS: -I/usr/local/opt/sqlite/include 15 | #cgo openbsd LDFLAGS: -lsqlite3 16 | #cgo solaris LDFLAGS: -lsqlite3 17 | #cgo windows LDFLAGS: -lsqlite3 18 | */ 19 | import "C" 20 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_tcgets.go: -------------------------------------------------------------------------------- 1 | //go:build (linux || aix || zos) && !appengine 2 | // +build linux aix zos 3 | // +build !appengine 4 | 5 | package isatty 6 | 7 | import "golang.org/x/sys/unix" 8 | 9 | // IsTerminal return true if the file descriptor is terminal. 10 | func IsTerminal(fd uintptr) bool { 11 | _, err := unix.IoctlGetTermios(int(fd), unix.TCGETS) 12 | return err == nil 13 | } 14 | 15 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 16 | // terminal. This is also always false on this environment. 17 | func IsCygwinTerminal(fd uintptr) bool { 18 | return false 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/swag/.goreleaser.yml: -------------------------------------------------------------------------------- 1 | build: 2 | main: cmd/swag/main.go 3 | goos: 4 | - linux 5 | - darwin 6 | goarch: 7 | - amd64 8 | - arm64 9 | - 386 10 | env: 11 | - CGO_ENABLED=0 12 | archives: 13 | - 14 | replacements: 15 | darwin: Darwin 16 | linux: Linux 17 | windows: Windows 18 | 386: i386 19 | amd64: x86_64 20 | arm64: aarch64 21 | checksum: 22 | name_template: 'checksums.txt' 23 | snapshot: 24 | name_template: "{{ .Tag }}-next" 25 | changelog: 26 | sort: asc 27 | filters: 28 | exclude: 29 | - '^docs:' 30 | - '^test:' 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/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 windows && !race 6 | // +build windows,!race 7 | 8 | package windows 9 | 10 | import ( 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = false 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | } 18 | 19 | func raceReleaseMerge(addr unsafe.Pointer) { 20 | } 21 | 22 | func raceReadRange(addr unsafe.Pointer, len int) { 23 | } 24 | 25 | func raceWriteRange(addr unsafe.Pointer, len int) { 26 | } 27 | -------------------------------------------------------------------------------- /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 | // +build linux 7 | // +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64 8 | 9 | package unix 10 | 11 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH 12 | // values. 13 | 14 | //sys Alarm(seconds uint) (remaining uint, err error) 15 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/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 | -------------------------------------------------------------------------------- /vendor/gopkg.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 | -------------------------------------------------------------------------------- /deliverydb/recover_dev.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build !release 6 | // +build !release 7 | 8 | package deliverydb 9 | 10 | import ( 11 | "github.com/rs/zerolog/log" 12 | "gitlab.com/lightmeter/controlcenter/tracking" 13 | ) 14 | 15 | func recoverFromError(err *error, tr tracking.Result) { 16 | if r := recover(); r != nil { 17 | log.Error().Object("result", tr).Msg("Failed to store delivery message") 18 | 19 | // FIXME: horrendous workaround while we cannot figure out the cause of the issue! 20 | *err = nil 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /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 | // +build 386,hurd 7 | 8 | package unix 9 | 10 | const ( 11 | TIOCGETA = 0x62251713 12 | ) 13 | 14 | type Winsize struct { 15 | Row uint16 16 | Col uint16 17 | Xpixel uint16 18 | Ypixel uint16 19 | } 20 | 21 | type Termios struct { 22 | Iflag uint32 23 | Oflag uint32 24 | Cflag uint32 25 | Lflag uint32 26 | Cc [20]uint8 27 | Ispeed int32 28 | Ospeed int32 29 | } 30 | -------------------------------------------------------------------------------- /deliverydb/recover_release.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build release 6 | // +build release 7 | 8 | package deliverydb 9 | 10 | import ( 11 | "github.com/rs/zerolog/log" 12 | "gitlab.com/lightmeter/controlcenter/tracking" 13 | ) 14 | 15 | func recoverFromError(err *error, tr tracking.Result) { 16 | if r := recover(); r != nil { 17 | log.Error().Object("result", tr).Msg("Failed to store delivery message") 18 | 19 | // FIXME: horrendous workaround while we cannot figure out the cause of the issue! 20 | *err = nil 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /frontend/controlcenter/src/lib/date.js: -------------------------------------------------------------------------------- 1 | import moment from "moment"; 2 | 3 | export function humanDateTime(d, options) { 4 | options = Object.assign( 5 | { 6 | date: true, 7 | time: true, 8 | seconds: true, 9 | sep: " " 10 | }, 11 | options 12 | ); 13 | 14 | let format = []; 15 | if (options.date) format.push("DD MMM. YYYY"); 16 | if (options.time) format.push("h:mmA"); 17 | 18 | // TODO: this should be formatted according to the chosen language 19 | return moment(d).format(format.join(options.sep)); 20 | } 21 | 22 | // NOTE: we can define shorthand functions here like humanDate, humanTime etc. 23 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_column_metadata.go: -------------------------------------------------------------------------------- 1 | // +build sqlite_column_metadata 2 | 3 | package sqlite3 4 | 5 | /* 6 | #ifndef USE_LIBSQLITE3 7 | #cgo CFLAGS: -DSQLITE_ENABLE_COLUMN_METADATA 8 | #include 9 | #else 10 | #include 11 | #endif 12 | */ 13 | import "C" 14 | 15 | // ColumnTableName returns the table that is the origin of a particular result 16 | // column in a SELECT statement. 17 | // 18 | // See https://www.sqlite.org/c3ref/column_database_name.html 19 | func (s *SQLiteStmt) ColumnTableName(n int) string { 20 | return C.GoString(C.sqlite3_column_table_name(s.s, C.int(n))) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2019 G.J.R. Timmer . 2 | // Copyright (C) 2018 segment.com 3 | // 4 | // Use of this source code is governed by an MIT-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build cgo 8 | 9 | package sqlite3 10 | 11 | // SQLitePreUpdateData represents all of the data available during a 12 | // pre-update hook call. 13 | type SQLitePreUpdateData struct { 14 | Conn *SQLiteConn 15 | Op int 16 | DatabaseName string 17 | TableName string 18 | OldRowID int64 19 | NewRowID int64 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/pagination.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | // Paging contains paging information 4 | type Paging struct { 5 | Count int `json:"count"` 6 | Total int `json:"total"` 7 | Page int `json:"page"` 8 | Pages int `json:"pages"` 9 | } 10 | 11 | // Pagination contains pagination information 12 | // This is different from Paging in that it contains additional details 13 | type Pagination struct { 14 | TotalCount int `json:"total_count"` 15 | Page int `json:"page"` 16 | PerPage int `json:"per_page"` 17 | PageCount int `json:"page_count"` 18 | First int `json:"first"` 19 | Last int `json:"last"` 20 | } 21 | -------------------------------------------------------------------------------- /insights/actions_release.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-FileCopyrightText: 2021 Lightmeter 3 | // 4 | // SPDX-License-Identifier: AGPL-3.0-only 5 | 6 | //go:build !dev || release 7 | // +build !dev release 8 | 9 | package insights 10 | 11 | import ( 12 | "gitlab.com/lightmeter/controlcenter/insights/core" 13 | "gitlab.com/lightmeter/controlcenter/lmsqlite3/dbconn" 14 | ) 15 | 16 | func executeAdditionalDetectorsInitialActions([]core.Detector, dbconn.RwConn, core.Clock) error { 17 | // Intentionally empty as this function intends to be used only development 18 | return nil 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_plan9.go: -------------------------------------------------------------------------------- 1 | //go:build plan9 2 | // +build plan9 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | func IsTerminal(fd uintptr) bool { 12 | path, err := syscall.Fd2path(int(fd)) 13 | if err != nil { 14 | return false 15 | } 16 | return path == "/dev/cons" || path == "/mnt/term/dev/cons" 17 | } 18 | 19 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 20 | // terminal. This is also always false on this environment. 21 | func IsCygwinTerminal(fd uintptr) bool { 22 | return false 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/mmcdole/gofeed/json/parser.go: -------------------------------------------------------------------------------- 1 | package json 2 | 3 | import ( 4 | "bytes" 5 | "io" 6 | 7 | jsoniter "github.com/json-iterator/go" 8 | ) 9 | 10 | var ( 11 | j = jsoniter.ConfigCompatibleWithStandardLibrary 12 | ) 13 | 14 | // Parser is an JSON Feed Parser 15 | type Parser struct{} 16 | 17 | // Parse parses an json feed into an json.Feed 18 | func (ap *Parser) Parse(feed io.Reader) (*Feed, error) { 19 | jsonFeed := &Feed{} 20 | 21 | buffer := new(bytes.Buffer) 22 | buffer.ReadFrom(feed) 23 | 24 | err := j.Unmarshal(buffer.Bytes(), jsonFeed) 25 | if err != nil { 26 | return nil, err 27 | } 28 | return jsonFeed, err 29 | } 30 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/str.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 windows 6 | // +build windows 7 | 8 | package windows 9 | 10 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 11 | if val < 0 { 12 | return "-" + itoa(-val) 13 | } 14 | var buf [32]byte // big enough for int64 15 | i := len(buf) - 1 16 | for val >= 10 { 17 | buf[i] = byte(val%10 + '0') 18 | i-- 19 | val /= 10 20 | } 21 | buf[i] = byte(val + '0') 22 | return string(buf[i:]) 23 | } 24 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/rawparser/version.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package rawparser 6 | 7 | func init() { 8 | registerHandler("postfix", "master", parseVersionPayload) 9 | } 10 | 11 | type Version string 12 | 13 | func parseVersionPayload(payloadLine string) (RawPayload, error) { 14 | if version, parsed := parseVersion(payloadLine); parsed { 15 | return RawPayload{ 16 | PayloadType: PayloadTypeVersion, 17 | Version: version, 18 | }, nil 19 | } 20 | 21 | return RawPayload{PayloadType: PayloadTypeUnsupported}, ErrUnsupportedLogLine 22 | } 23 | -------------------------------------------------------------------------------- /util/temputil/testutil.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // SPDX-FileCopyrightText: 2021 Lightmeter 3 | // 4 | // SPDX-License-Identifier: AGPL-3.0-only 5 | 6 | package temputil 7 | 8 | import ( 9 | "io/ioutil" 10 | "os" 11 | "testing" 12 | ) 13 | 14 | func TempDir(t *testing.T) (string, func()) { 15 | dir, e := ioutil.TempDir("", "lightmeter-tests-*") 16 | 17 | if e != nil { 18 | panic("error creating temp dir") 19 | } 20 | 21 | return dir, func() { 22 | if err := os.RemoveAll(dir); err != nil { 23 | t.Fatal("Could not remove tempdir", dir, "error:", err) 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/pressly/goose/version.go: -------------------------------------------------------------------------------- 1 | package goose 2 | 3 | import ( 4 | "database/sql" 5 | ) 6 | 7 | // Version prints the current version of the database. 8 | func Version(db *sql.DB, dir string) error { 9 | current, err := GetDBVersion(db) 10 | if err != nil { 11 | return err 12 | } 13 | 14 | log.Printf("goose: version %v\n", current) 15 | return nil 16 | } 17 | 18 | var tableName = "goose_db_version" 19 | 20 | // TableName returns goose db version table name 21 | func TableName() string { 22 | return tableName 23 | } 24 | 25 | // SetTableName set goose db version table name 26 | func SetTableName(n string) { 27 | tableName = n 28 | } 29 | -------------------------------------------------------------------------------- /newsletter/newsletter_dev.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build dev || !release 6 | // +build dev !release 7 | 8 | package newsletter 9 | 10 | import ( 11 | "context" 12 | "github.com/rs/zerolog/log" 13 | ) 14 | 15 | type dummySubscriber struct{} 16 | 17 | func (*dummySubscriber) Subscribe(context context.Context, email string) error { 18 | log.Info().Msgf("A dummy call that would otherwise subscribe email %v to Lightmeter newsletter :-)", email) 19 | return nil 20 | } 21 | 22 | func NewSubscriber(string) Subscriber { 23 | return &dummySubscriber{} 24 | } 25 | -------------------------------------------------------------------------------- /test_files/postfix_logs/individual_files/18_pickup2.log: -------------------------------------------------------------------------------- 1 | Mar 30 11:33:58 test1 postfix/pickup[23219]: 81E343F2E2: uid=0 from= 2 | Mar 30 11:33:58 test1 postfix/cleanup[23392]: 81E343F2E2: message-id=<20210330093358.GA23369@sender.example.com> 3 | Mar 30 11:33:58 test1 postfix/qmgr[23220]: 81E343F2E2: from=, size=458, nrcpt=1 (queue active) 4 | Mar 30 11:33:58 test1 postfix/smtp[23394]: 81E343F2E2: to=, relay=mail.relay.example.com[5.79.104.200]:25, delay=0.47, delays=0.02/0.01/0.08/0.36, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as B0D3C1805DB) 5 | Mar 30 11:33:58 test1 postfix/qmgr[23220]: 81E343F2E2: removed 6 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/go_below_118.go: -------------------------------------------------------------------------------- 1 | //+build !go1.18 2 | 3 | package reflect2 4 | 5 | import ( 6 | "unsafe" 7 | ) 8 | 9 | // m escapes into the return value, but the caller of mapiterinit 10 | // doesn't let the return value escape. 11 | //go:noescape 12 | //go:linkname mapiterinit reflect.mapiterinit 13 | func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer) (val *hiter) 14 | 15 | func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator { 16 | return &UnsafeMapIterator{ 17 | hiter: mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj)), 18 | pKeyRType: type2.pKeyRType, 19 | pElemRType: type2.pElemRType, 20 | } 21 | } -------------------------------------------------------------------------------- /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 | // +build linux 7 | 8 | package unix 9 | 10 | import "runtime" 11 | 12 | // SysvShmCtl performs control operations on the shared memory segment 13 | // specified by id. 14 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 15 | if runtime.GOARCH == "arm" || 16 | runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { 17 | cmd |= ipc_64 18 | } 19 | 20 | return shmctl(id, cmd, desc) 21 | } 22 | -------------------------------------------------------------------------------- /assets_gen/assets_generate.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package main 6 | 7 | import ( 8 | "github.com/shurcooL/vfsgen" 9 | "gitlab.com/lightmeter/controlcenter/util/errorutil" 10 | "net/http" 11 | ) 12 | 13 | func main() { 14 | err := vfsgen.Generate( 15 | http.Dir("../www"), 16 | vfsgen.Options{ 17 | Filename: "http_vfsdata.go", 18 | PackageName: "staticdata", 19 | BuildTags: "include", 20 | VariableName: "HttpAssets", 21 | }) 22 | 23 | if err != nil { 24 | errorutil.LogFatalf(err, "Failed to generate static asset file") 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /pkg/ctxlogger/ctxlog.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package ctxlogger 6 | 7 | import ( 8 | "context" 9 | "github.com/rs/zerolog" 10 | "gitlab.com/lightmeter/controlcenter/util/errorutil" 11 | ) 12 | 13 | const LoggerKey string = "LoggerKey" 14 | 15 | func GetCtxLogger(ctx context.Context) *zerolog.Logger { 16 | return ctx.Value(LoggerKey).(*zerolog.Logger) 17 | } 18 | 19 | func LogErrorf(ctx context.Context, err error, format string, args ...interface{}) { 20 | GetCtxLogger(ctx).Error().Interface("error", errorutil.ExpandError(err)).Msgf(format, args...) 21 | } 22 | -------------------------------------------------------------------------------- /release_notes/2.0.0-RC8: -------------------------------------------------------------------------------- 1 | # ControlCenter 2.0.0-RC8 2 | 3 | - Primitive support for multiple processing logs from multiple Postfix servers (disabled by default) 4 | - Initial support for interactive graphs (disabled by default) 5 | - Updated Go dependencies 6 | - Lots of small performance improvements 7 | 8 | In a nutshell, this is a maintenance release, consisting on the accumulated work from the past 11 months. 9 | 10 | ControlCenter is not actively developed anymore, as our focus as organization shifted from the Postfix monitoring space. 11 | 12 | This will hopefully be the last RC. 13 | 14 | See separate release notes on https://lightmeter.io for full changes. 15 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/assertions/internal/go-render/render/render_time.go: -------------------------------------------------------------------------------- 1 | package render 2 | 3 | import ( 4 | "reflect" 5 | "time" 6 | ) 7 | 8 | func renderTime(value reflect.Value) (string, bool) { 9 | if instant, ok := convertTime(value); !ok { 10 | return "", false 11 | } else if instant.IsZero() { 12 | return "0", true 13 | } else { 14 | return instant.String(), true 15 | } 16 | } 17 | 18 | func convertTime(value reflect.Value) (t time.Time, ok bool) { 19 | if value.Type() == timeType { 20 | defer func() { recover() }() 21 | t, ok = value.Interface().(time.Time) 22 | } 23 | return 24 | } 25 | 26 | var timeType = reflect.TypeOf(time.Time{}) 27 | -------------------------------------------------------------------------------- /dashboard/mock.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | //go:build dev || !release 6 | // +build dev !release 7 | 8 | //go:generate go run github.com/golang/mock/mockgen -destination=mock/dashboard_mock.go gitlab.com/lightmeter/controlcenter/dashboard Dashboard 9 | //go:generate go run github.com/golang/mock/mockgen -destination=mock/queryable_mock.go gitlab.com/lightmeter/controlcenter/dashboard Queryable 10 | //go:generate go run github.com/golang/mock/mockgen -destination=mock/queryablerows_mock.go gitlab.com/lightmeter/controlcenter/dashboard QueryableRows 11 | 12 | package dashboard 13 | -------------------------------------------------------------------------------- /vendor/github.com/imdario/mergo/.gitignore: -------------------------------------------------------------------------------- 1 | #### joe made this: http://goel.io/joe 2 | 3 | #### go #### 4 | # Binaries for programs and plugins 5 | *.exe 6 | *.dll 7 | *.so 8 | *.dylib 9 | 10 | # Test binary, build with `go test -c` 11 | *.test 12 | 13 | # Output of the go coverage tool, specifically when used with LiteIDE 14 | *.out 15 | 16 | # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 17 | .glide/ 18 | 19 | #### vim #### 20 | # Swap 21 | [._]*.s[a-v][a-z] 22 | [._]*.sw[a-p] 23 | [._]s[a-v][a-z] 24 | [._]sw[a-p] 25 | 26 | # Session 27 | Session.vim 28 | 29 | # Temporary 30 | .netrwhist 31 | *~ 32 | # Auto-generated tag files 33 | tags 34 | -------------------------------------------------------------------------------- /vendor/github.com/smartystreets/assertions/internal/go-diff/diffmatchpatch/mathutil.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2016 The go-diff authors. All rights reserved. 2 | // https://github.com/sergi/go-diff 3 | // See the included LICENSE file for license details. 4 | // 5 | // go-diff is a Go implementation of Google's Diff, Match, and Patch library 6 | // Original library is Copyright (c) 2006 Google Inc. 7 | // http://code.google.com/p/google-diff-match-patch/ 8 | 9 | package diffmatchpatch 10 | 11 | func min(x, y int) int { 12 | if x < y { 13 | return x 14 | } 15 | return y 16 | } 17 | 18 | func max(x, y int) int { 19 | if x > y { 20 | return x 21 | } 22 | return y 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/sort.go: -------------------------------------------------------------------------------- 1 | package cli 2 | 3 | import "unicode" 4 | 5 | // lexicographicLess compares strings alphabetically considering case. 6 | func lexicographicLess(i, j string) bool { 7 | iRunes := []rune(i) 8 | jRunes := []rune(j) 9 | 10 | lenShared := len(iRunes) 11 | if lenShared > len(jRunes) { 12 | lenShared = len(jRunes) 13 | } 14 | 15 | for index := 0; index < lenShared; index++ { 16 | ir := iRunes[index] 17 | jr := jRunes[index] 18 | 19 | if lir, ljr := unicode.ToLower(ir), unicode.ToLower(jr); lir != ljr { 20 | return lir < ljr 21 | } 22 | 23 | if ir != jr { 24 | return ir < jr 25 | } 26 | } 27 | 28 | return i < j 29 | } 30 | -------------------------------------------------------------------------------- /RELEASING.md: -------------------------------------------------------------------------------- 1 | 5 | 6 | # HOW TO RELEASE 7 | 8 | We use semantic versioning (see http://semver.org). 9 | 10 | - Change the file VERSION.txt with the new version number. 11 | - Create a plain text file ../release_notes/{VERSION}, where {VERSION} is the 12 | same version number chosen in the previous step. 13 | 14 | Commit and push your changes. 15 | 16 | After Gitlab CI for your commit finishes, click on the button ▶ and "create-release" for the correspondent pipeline. 17 | 18 | After that, you'll have a new release in the Releases page. 19 | 20 | Simple like that :-) 21 | -------------------------------------------------------------------------------- /logeater/logsource/reader.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package logsource 6 | 7 | import ( 8 | "gitlab.com/lightmeter/controlcenter/pkg/postfix" 9 | "gitlab.com/lightmeter/controlcenter/util/errorutil" 10 | ) 11 | 12 | type Reader struct { 13 | source Source 14 | pub postfix.Publisher 15 | } 16 | 17 | func NewReader(source Source, pub postfix.Publisher) Reader { 18 | return Reader{source: source, pub: pub} 19 | } 20 | 21 | func (r *Reader) Run() error { 22 | if err := r.source.PublishLogs(r.pub); err != nil { 23 | return errorutil.Wrap(err) 24 | } 25 | 26 | return nil 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/xrash/smetrics/hamming.go: -------------------------------------------------------------------------------- 1 | package smetrics 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | // The Hamming distance is the minimum number of substitutions required to change string A into string B. Both strings must have the same size. If the strings have different sizes, the function returns an error. 8 | func Hamming(a, b string) (int, error) { 9 | al := len(a) 10 | bl := len(b) 11 | 12 | if al != bl { 13 | return -1, fmt.Errorf("strings are not equal (len(a)=%d, len(b)=%d)", al, bl) 14 | } 15 | 16 | var difference = 0 17 | 18 | for i := range a { 19 | if a[i] != b[i] { 20 | difference = difference + 1 21 | } 22 | } 23 | 24 | return difference, nil 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/spec/.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | # Unix-style newlines with a newline ending every file 5 | [*] 6 | end_of_line = lf 7 | insert_final_newline = true 8 | indent_style = space 9 | indent_size = 2 10 | trim_trailing_whitespace = true 11 | 12 | # Set default charset 13 | [*.{js,py,go,scala,rb,java,html,css,less,sass,md}] 14 | charset = utf-8 15 | 16 | # Tab indentation (no size specified) 17 | [*.go] 18 | indent_style = tab 19 | 20 | [*.md] 21 | trim_trailing_whitespace = false 22 | 23 | # Matches the exact files either package.json or .travis.yml 24 | [{package.json,.travis.yml}] 25 | indent_style = space 26 | indent_size = 2 27 | -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/swag/.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | # Unix-style newlines with a newline ending every file 5 | [*] 6 | end_of_line = lf 7 | insert_final_newline = true 8 | indent_style = space 9 | indent_size = 2 10 | trim_trailing_whitespace = true 11 | 12 | # Set default charset 13 | [*.{js,py,go,scala,rb,java,html,css,less,sass,md}] 14 | charset = utf-8 15 | 16 | # Tab indentation (no size specified) 17 | [*.go] 18 | indent_style = tab 19 | 20 | [*.md] 21 | trim_trailing_whitespace = false 22 | 23 | # Matches the exact files either package.json or .travis.yml 24 | [{package.json,.travis.yml}] 25 | indent_style = space 26 | indent_size = 2 27 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/go_above_118.go: -------------------------------------------------------------------------------- 1 | //+build go1.18 2 | 3 | package reflect2 4 | 5 | import ( 6 | "unsafe" 7 | ) 8 | 9 | // m escapes into the return value, but the caller of mapiterinit 10 | // doesn't let the return value escape. 11 | //go:noescape 12 | //go:linkname mapiterinit reflect.mapiterinit 13 | func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer, it *hiter) 14 | 15 | func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator { 16 | var it hiter 17 | mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj), &it) 18 | return &UnsafeMapIterator{ 19 | hiter: &it, 20 | pKeyRType: type2.pKeyRType, 21 | pElemRType: type2.pElemRType, 22 | } 23 | } -------------------------------------------------------------------------------- /vendor/github.com/gorilla/sessions/options_go111.go: -------------------------------------------------------------------------------- 1 | // +build go1.11 2 | 3 | package sessions 4 | 5 | import "net/http" 6 | 7 | // Options stores configuration for a session or session store. 8 | // 9 | // Fields are a subset of http.Cookie fields. 10 | type Options struct { 11 | Path string 12 | Domain string 13 | // MaxAge=0 means no Max-Age attribute specified and the cookie will be 14 | // deleted after the browser session ends. 15 | // MaxAge<0 means delete cookie immediately. 16 | // MaxAge>0 means Max-Age attribute present and given in seconds. 17 | MaxAge int 18 | Secure bool 19 | HttpOnly bool 20 | // Defaults to http.SameSiteDefaultMode 21 | SameSite http.SameSite 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build (darwin || freebsd || openbsd || netbsd || dragonfly || hurd) && !appengine 2 | // +build darwin freebsd openbsd netbsd dragonfly hurd 3 | // +build !appengine 4 | 5 | package isatty 6 | 7 | import "golang.org/x/sys/unix" 8 | 9 | // IsTerminal return true if the file descriptor is terminal. 10 | func IsTerminal(fd uintptr) bool { 11 | _, err := unix.IoctlGetTermios(int(fd), unix.TIOCGETA) 12 | return err == nil 13 | } 14 | 15 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 16 | // terminal. This is also always false on this environment. 17 | func IsCygwinTerminal(fd uintptr) bool { 18 | return false 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/chai2010/gettext-go/po/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 ChaiShushan . 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 | /* 6 | Package po provides support for reading and writing GNU PO file. 7 | 8 | Examples: 9 | import ( 10 | "github.com/chai2010/gettext-go/po" 11 | ) 12 | 13 | func main() { 14 | poFile, err := po.LoadFile("test.po") 15 | if err != nil { 16 | log.Fatal(err) 17 | } 18 | fmt.Printf("%v", poFile) 19 | } 20 | 21 | The GNU PO file specification is at 22 | http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html. 23 | */ 24 | package po 25 | -------------------------------------------------------------------------------- /vendor/github.com/go-openapi/jsonpointer/.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | # Unix-style newlines with a newline ending every file 5 | [*] 6 | end_of_line = lf 7 | insert_final_newline = true 8 | indent_style = space 9 | indent_size = 2 10 | trim_trailing_whitespace = true 11 | 12 | # Set default charset 13 | [*.{js,py,go,scala,rb,java,html,css,less,sass,md}] 14 | charset = utf-8 15 | 16 | # Tab indentation (no size specified) 17 | [*.go] 18 | indent_style = tab 19 | 20 | [*.md] 21 | trim_trailing_whitespace = false 22 | 23 | # Matches the exact files either package.json or .travis.yml 24 | [{package.json,.travis.yml}] 25 | indent_style = space 26 | indent_size = 2 27 | -------------------------------------------------------------------------------- /vendor/github.com/shurcooL/httpfs/vfsutil/file.go: -------------------------------------------------------------------------------- 1 | package vfsutil 2 | 3 | import ( 4 | "net/http" 5 | "os" 6 | ) 7 | 8 | // File implements http.FileSystem using the native file system restricted to a 9 | // specific file served at root. 10 | // 11 | // While the FileSystem.Open method takes '/'-separated paths, a File's string 12 | // value is a filename on the native file system, not a URL, so it is separated 13 | // by filepath.Separator, which isn't necessarily '/'. 14 | type File string 15 | 16 | func (f File) Open(name string) (http.File, error) { 17 | if name != "/" { 18 | return nil, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist} 19 | } 20 | return os.Open(string(f)) 21 | } 22 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/rawparser/bounce.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package rawparser 6 | 7 | func init() { 8 | registerHandler("postfix", "bounce", parseBounce) 9 | } 10 | 11 | type BounceCreated struct { 12 | Queue string 13 | ChildQueue string 14 | } 15 | 16 | func parseBounce(payloadLine string) (RawPayload, error) { 17 | if s, parsed := parseBounceCreated(payloadLine); parsed { 18 | return RawPayload{ 19 | PayloadType: PayloadTypeBounceCreated, 20 | BounceCreated: s, 21 | }, nil 22 | } 23 | 24 | return RawPayload{PayloadType: PayloadTypeUnsupported}, ErrUnsupportedLogLine 25 | } 26 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/rawparser/pickup.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package rawparser 6 | 7 | func init() { 8 | registerHandler("postfix", "pickup", parsePickupPayload) 9 | } 10 | 11 | type Pickup struct { 12 | Queue string 13 | Uid string 14 | Sender string 15 | } 16 | 17 | func parsePickupPayload(payloadLine string) (RawPayload, error) { 18 | if s, parsed := parsePickup(payloadLine); parsed { 19 | return RawPayload{ 20 | PayloadType: PayloadTypePickup, 21 | Pickup: s, 22 | }, nil 23 | } 24 | 25 | return RawPayload{PayloadType: PayloadTypeUnsupported}, ErrUnsupportedLogLine 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/andybalholm/cascadia/specificity.go: -------------------------------------------------------------------------------- 1 | package cascadia 2 | 3 | // Specificity is the CSS specificity as defined in 4 | // https://www.w3.org/TR/selectors/#specificity-rules 5 | // with the convention Specificity = [A,B,C]. 6 | type Specificity [3]int 7 | 8 | // returns `true` if s < other (strictly), false otherwise 9 | func (s Specificity) Less(other Specificity) bool { 10 | for i := range s { 11 | if s[i] < other[i] { 12 | return true 13 | } 14 | if s[i] > other[i] { 15 | return false 16 | } 17 | } 18 | return false 19 | } 20 | 21 | func (s Specificity) Add(other Specificity) Specificity { 22 | for i, sp := range other { 23 | s[i] += sp 24 | } 25 | return s 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/status_code_error.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | import ( 4 | "fmt" 5 | "net/http" 6 | ) 7 | 8 | // StatusCodeError represents an http response error. 9 | // type httpStatusCode interface { HTTPStatusCode() int } to handle it. 10 | type StatusCodeError struct { 11 | Code int 12 | Status string 13 | } 14 | 15 | func (t StatusCodeError) Error() string { 16 | return fmt.Sprintf("slack server error: %s", t.Status) 17 | } 18 | 19 | func (t StatusCodeError) HTTPStatusCode() int { 20 | return t.Code 21 | } 22 | 23 | func (t StatusCodeError) Retryable() bool { 24 | if t.Code >= 500 || t.Code == http.StatusTooManyRequests { 25 | return true 26 | } 27 | return false 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/executor.go: -------------------------------------------------------------------------------- 1 | package concurrent 2 | 3 | import "context" 4 | 5 | // Executor replace go keyword to start a new goroutine 6 | // the goroutine should cancel itself if the context passed in has been cancelled 7 | // the goroutine started by the executor, is owned by the executor 8 | // we can cancel all executors owned by the executor just by stop the executor itself 9 | // however Executor interface does not Stop method, the one starting and owning executor 10 | // should use the concrete type of executor, instead of this interface. 11 | type Executor interface { 12 | // Go starts a new goroutine controlled by the context 13 | Go(handler func(ctx context.Context)) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/slack-go/slack/block_divider.go: -------------------------------------------------------------------------------- 1 | package slack 2 | 3 | // DividerBlock for displaying a divider line between blocks (similar to
tag in html) 4 | // 5 | // More Information: https://api.slack.com/reference/messaging/blocks#divider 6 | type DividerBlock struct { 7 | Type MessageBlockType `json:"type"` 8 | BlockID string `json:"block_id,omitempty"` 9 | } 10 | 11 | // BlockType returns the type of the block 12 | func (s DividerBlock) BlockType() MessageBlockType { 13 | return s.Type 14 | } 15 | 16 | // NewDividerBlock returns a new instance of a divider block 17 | func NewDividerBlock() *DividerBlock { 18 | return &DividerBlock{ 19 | Type: MBTDivider, 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/Gopkg.lock: -------------------------------------------------------------------------------- 1 | # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. 2 | 3 | 4 | [[projects]] 5 | name = "github.com/modern-go/concurrent" 6 | packages = ["."] 7 | revision = "e0a39a4cb4216ea8db28e22a69f4ec25610d513a" 8 | version = "1.0.0" 9 | 10 | [[projects]] 11 | name = "github.com/modern-go/reflect2" 12 | packages = ["."] 13 | revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd" 14 | version = "1.0.1" 15 | 16 | [solve-meta] 17 | analyzer-name = "dep" 18 | analyzer-version = 1 19 | inputs-digest = "ea54a775e5a354cb015502d2e7aa4b74230fc77e894f34a838b268c25ec8eeb8" 20 | solver-name = "gps-cdcl" 21 | solver-version = 1 22 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_solaris.go: -------------------------------------------------------------------------------- 1 | //go:build solaris && !appengine 2 | // +build solaris,!appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "golang.org/x/sys/unix" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | // see: https://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libc/port/gen/isatty.c 12 | func IsTerminal(fd uintptr) bool { 13 | _, err := unix.IoctlGetTermio(int(fd), unix.TCGETA) 14 | return err == nil 15 | } 16 | 17 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 18 | // terminal. This is also always false on this environment. 19 | func IsCygwinTerminal(fd uintptr) bool { 20 | return false 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/swaggo/swag/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | When contributing to this repository, please first discuss the change you wish to make via issue, 4 | email, or any other method with the owners of this repository before making a change. 5 | 6 | Please note we have a code of conduct, please follow it in all your interactions with the project. 7 | 8 | ## Pull Request Process 9 | 10 | 1. Fork it 11 | 2. Create your feature branch (`git checkout -b my-new-feature`) 12 | 3. Commit your changes (`git commit -am 'Add some feature'`) 13 | 4. Push to the branch (`git push origin my-new-feature`) 14 | 5. Create new Pull Request 15 | 16 | Please make an issue first if the change is likely to increase. 17 | -------------------------------------------------------------------------------- /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 | // +build linux,gc,386 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | // Underlying system call writes to newoffset via pointer. 13 | // Implemented in assembly to avoid allocation. 14 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 15 | 16 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 17 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 18 | -------------------------------------------------------------------------------- /pkg/postfix/logparser/lightmeter_dumped_header.go: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2021 Lightmeter 2 | // 3 | // SPDX-License-Identifier: AGPL-3.0-only 4 | 5 | package parser 6 | 7 | import ( 8 | "gitlab.com/lightmeter/controlcenter/pkg/postfix/logparser/rawparser" 9 | ) 10 | 11 | func init() { 12 | registerHandler(rawparser.PayloadTypeLightmeterDumpedHeader, convertDumpedHeader) 13 | } 14 | 15 | type LightmeterDumpedHeader rawparser.LightmeterDumpedHeader 16 | 17 | func (LightmeterDumpedHeader) isPayload() { 18 | // required by interface Payload 19 | } 20 | 21 | func convertDumpedHeader(r rawparser.RawPayload) (Payload, error) { 22 | return LightmeterDumpedHeader(r.LightmeterDumpedHeader), nil 23 | } 24 | --------------------------------------------------------------------------------