aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/email
Commit message (Collapse)AuthorAgeFilesLines
* pkg/email: add tests for base-commit extractionPimyn Girgis2026-01-091-0/+110
|
* pkg/email: extract base-commit hash from emailsPimyn Girgis2026-01-092-34/+50
| | | | If the author of a patch series provides a base-commit tag, extract and store the hash.
* pkg/email: add test for git patches containing empty linesPimyn Girgis2025-11-031-0/+34
|
* pkg/email: parse diff more tolerablyPimyn Girgis2025-11-031-2/+6
| | | | | Accept empty lines as part of a diff. Fixes #6403
* pkg/email/lore: demand patches in patch series emailsAleksandr Nogikh2025-10-213-11/+40
| | | | | | | | | | | On LKML, users sometimes reply to a patch series while keeping the original title. At the same time, sometimes new series are sent as a reply to the previous versions. It all confuses the lore archive parsing logic. When reading the archive, remember if the patch were present. If not, mark the series as corrupted and thus prevent is appearance in syz-cluster.
* pkg/email/lore: wrap the Email objectAleksandr Nogikh2025-10-213-85/+107
| | | | | Wrapping the email.Email object will let us add lore-specific fields to it at a later point.
* pkg/email: decode rfc2047 subjectsAleksandr Nogikh2025-10-152-1/+32
| | | | | It's not done transparently by the email library. Add a test that verifies the result.
* syz-cluster: remember LKML series tagsAleksandr Nogikh2025-07-222-3/+6
| | | | | Sometimes the patch series directly hint at the kernel tree they should be applied to. Extract and remember this information.
* all: apply linter auto fixesTaras Madan2025-07-172-5/+5
| | | | ./tools/syz-env bin/golangci-lint run ./... --fix
* pkg/email: share raw email addressesAleksandr Nogikh2025-07-103-5/+41
| | | | These will be necessary to properly route emails in dashboard.
* dashboard: prefix forwarded email subjectsAleksandr Nogikh2025-07-101-0/+2
| | | | This will allow us to easily identify them.
* dashboard: forward emails from designated inboxesAleksandr Nogikh2025-07-031-1/+5
| | | | | | For some specified inboxes, forward the emails that contain syz commands. Add tests to verify the behavior.
* pkg/vcs: extend ListCommitHashesAleksandr Nogikh2025-05-131-3/+5
| | | | | | | | | | Rename the method to LatestCommit and make it more flexible: 1) Return the commit date alongside the commit hash. 2) Rename the time filter to highlight that it's non-inclusive. 3) Make it possible to query the commits newer than the specified commit hash. It will let us poll lore archives more efficiently.
* all: remove loop variables scopingTaras Madan2025-02-171-1/+0
|
* pkg/email/lore: extract patch seriesAleksandr Nogikh2025-01-133-15/+377
| | | | | Refactor the code to make it more reusable. Add a method to extract specifically the list of new patch series.
* pkg/vcs: extend ListCommitHashesAleksandr Nogikh2025-01-031-1/+2
| | | | Support filtering by the commit date.
* dashboard: adapt to the new Googe Groups footerAleksandr Nogikh2024-10-252-2/+35
| | | | | | It changed recently and it broke our email discussion link extraction. Closes #5431.
* pkg/email: remove the debugging codeAleksandr Nogikh2024-06-121-1/+0
| | | | This is not needed for the actual operation.
* tools/syz-linter: check t.Logf/Errorf/Fatalf messagesDmitry Vyukov2024-04-171-1/+1
| | | | | Fix checking of Logf, it has string in 0-th arg. Add checking of t.Errorf/Fatalf.
* dashboard: auto-guess kernel and repo for #syz testAleksandr Nogikh2023-09-062-9/+29
| | | | | We used to support this only for external reportings, but let's auto-guess these parameters for all incoming patch testing commands.
* all: use special placeholder for errorsTaras Madan2023-07-241-8/+8
|
* dashboard: support bug labelsAleksandr Nogikh2023-04-272-1/+14
| | | | | | | | | | | | | | | | Let bug labels come in three flavours: 1) Bug labels with multiple values (e.g. `subsystems`). 2) Bug labels with only one value (e.g. `prio`). 3) Flags. Let users configure bug labels via email by issuing the following commands: #syz set subsystems: abc, def #syz set no-reminders #syz unset no-reminders Also let users set tags for invididual bugs in reported bug lists: #syz set <1> some-tag
* pkg/email: support multiple commandsAleksandr Nogikh2023-04-275-178/+323
| | | | | | | | | | It's not always convenient that we can receive only one command per email. Update pkg/email parsing code to extract everything which there is. Update reporting_email.go to handle multiple email commands. Set different limits for bug email commands and bug list commands.
* pkg/email/lore: recognize more PATCH subjectsAleksandr Nogikh2023-04-182-1/+16
|
* pkg/email/lore: better classify emailsAleksandr Nogikh2023-04-122-1/+7
| | | | | | Patches are not always spelled upper case. Also, looking for just PATCH may lead to false positives, so first put the subject to lower case and then look for the "[patch" substring.
* dashboard: separate DiscussionReport and DiscussionMentionAleksandr Nogikh2023-04-122-8/+19
| | | | | | DiscussionReport are the discussions started by syzbot. All other discussions that Cc syzbot or mention its bugs are DiscussionMention.
* pkg/email: recognize patches sent as replies to reportsAleksandr Nogikh2023-04-122-0/+17
| | | | | It seems to be a common pattern in LKML: bug fixes are sent as replies to syzbot reports. Recognize such replies as separate discussions.
* all: refactor discussion processing codeAleksandr Nogikh2023-04-124-59/+219
| | | | | | | | | | | Now that too much logic seems to be duplicated in tools/syz-lore and dahsboard/app/discussion.go, it's time to refactor the code. Factor out the code that decides whether an incoming email message should start a new thread or be appended to the previous one. Restructure pkg/email/lore so that email processing matches the one-by-one approach of reporting_email.go.
* pkg/email/lore: skip syzbot-started subthreadsAleksandr Nogikh2023-04-122-10/+78
| | | | Adjust tests.
* pkg/email: expose OwnEmail flagAleksandr Nogikh2023-04-122-0/+3
| | | | | We anyway already extract this information, there's no sense in extracting it again in other places.
* pkg/email: parse multiple In-Reply-To message IDsAleksandr Nogikh2023-04-122-1/+43
| | | | | Even though the standard seems to prohibit it, there are real world cases of messages with multiple IDs in an "In-Reply-To" header.
* pkg/email: handle bufio.ErrTooLongAleksandr Nogikh2023-04-071-1/+8
| | | | | bufio.Scanner has a limit on the maximum line size. Don't panic in this case.
* pkg/email: move patch regexps to globalsAleksandr Nogikh2023-04-071-7/+8
| | | | There's no need to re-initialize them every time.
* pkg/email/lore: add Lore archives parsing routinesAleksandr Nogikh2023-04-063-0/+317
| | | | | | We need to 1) Query raw messages from an LKML git archive. 2) Group raw messages into threads.
* pkg/email: extract more informationAleksandr Nogikh2023-04-062-13/+178
| | | | | | | | | Extract Date and InReplyTo. Extract not just one, but multiple BugIDs from multiple sources: 1) Email addresses in From/To/Cc. 2) Email addresses in Body. 3) Dashboard links in Body.
* dashboard: support `#syz regenerate` commandAleksandr Nogikh2023-03-281-0/+3
| | | | | | If the `#syz regenerate` command is sent in response to a bug list, dashboard will schedule its regeneration the next time the corresponding cron job is run.
* pgk/email: parse the new "set" commandAleksandr Nogikh2023-02-242-0/+13
| | | | For now this command will be used to manually set bug's subsystems.
* all: tools/syz-env make generate resultTaras Madan2023-02-241-2/+2
|
* all: ioutil is deprecated in go1.19 (#3718)Taras Madan2023-02-231-3/+2
|
* all: fix duplicate parameter typesDmitry Vyukov2023-01-131-1/+1
|
* pkg/email: refactor ParsePatchAleksandr Nogikh2022-12-053-46/+18
| | | | | Currently the function returns the values that are not being used anywhere. Refactor it.
* pkg/email: tolerate newline characters after #syzAleksandr Nogikh2022-11-292-1/+29
| | | | It look like email clients can insert newlines there if the line is too long.
* pkg/email: detect author and mailing listAleksandr Nogikh2022-11-212-36/+112
| | | | | | Handle two types of mailing list responses: * From contains the original author. * From is replaced by the mailing list.
* dashboard: reduce CanonicalEmail callsAleksandr Nogikh2022-11-212-14/+14
| | | | | | | Sometimes we call it before accessing emails, sometimes we do not. This is prone to errors. Always canonicalize From and Cc, this should somewhat reduce the problem.
* pkg/email: add support for Sender extractionAleksandr Nogikh2022-11-072-4/+20
|
* pkg/email: strip \t in test command argsDmitry Vyukov2021-03-092-3/+24
| | | | | | There was a precedent of using: syz fix: repo \t commit This was rejected as error. Support \t between tokens.
* dashboard/app: add unfix commandDmitry Vyukov2020-10-011-22/+29
| | | | | Add "#syz unfix" command that undoes "#syz fix" effects and resets any existing fixing commits.
* all: fix dup types in func argsDmitry Vyukov2020-07-041-1/+1
|
* all: use more respective languageDmitry Vyukov2020-06-111-2/+0
| | | | | | | | Some terms are normalised on the technical level but may be oppressive on a societal level. Replace them with more technically neutral terms. See the following doc for a longer version: https://tools.ietf.org/id/draft-knodel-terminology-00.html
* pkg/email: accept #syz- prefix for commandsDmitry Vyukov2020-01-073-4/+57
| | | | | Some users spell the command as "#syz-dup:". Support this and few more variations.