aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/dashapi
Commit message (Collapse)AuthorAgeFilesLines
...
* dashboard: support `#syz regenerate` commandAleksandr Nogikh2023-03-281-3/+4
| | | | | | 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.
* dashboard: introduce per-subsystem reminders about open bugsAleksandr Nogikh2023-03-241-0/+42
| | | | | | | | | Once in a month, collect for each subsystem the list of bugs that are still open on the syzbot dashboard and send an email to the corresponding mailing list. Support manual moderation of such reminders, we'll need that at least for the time being.
* dashboard/app: differentiate user-set tags in the subjectAleksandr Nogikh2023-02-241-2/+3
| | | | | | Only include the question mark sign for automatically inferred subsystems. For user-set subsystems, just put tags in the brackets: [net] [fs].
* all: ioutil is deprecated in go1.19 (#3718)Taras Madan2023-02-231-2/+1
|
* dashboard: include subsystem links in BugReportAleksandr Nogikh2023-02-211-0/+1
| | | | Include the link to the subsystem page on the dashboard.
* dashboard: introduce the update_report API callAleksandr Nogikh2023-01-261-0/+10
| | | | | The update_report API can be used to re-fill the missing report details after a crash has already been sent to syzbot.
* dashboard: include report elements in the BugReportAleksandr Nogikh2023-01-261-0/+5
| | | | | This will help optimize the detection and addition of missing fields to the existing reports.
* dashboard: support multiple simultaneous jobsAleksandr Nogikh2023-01-191-0/+10
| | | | | | | Modify job_poll never to return already started jobs. Introduce a special job_reset API call to clear the "started" flag for the specified list of managers.
* dashboard: include dashboard link into the missing commit replyAleksandr Nogikh2022-12-161-0/+1
| | | | | If the original email thread is lost, it can be hard to get to the original bug.
* dashboard: receive and store guilty files for crashesAleksandr Nogikh2022-12-161-0/+1
|
* dashboard/app: add subsystem tags to the Bug entityAleksandr Nogikh2022-12-161-0/+5
| | | | | | | | | | They will be used properly at some later time, for now we'll just keep shortened guilty paths there. Once we have the full subsystem support, all these values will just get overridden by normal names. Return subsystems in BugReports.
* dashboard: return bisection info as BugReport objectAleksandr Nogikh2022-12-131-2/+2
| | | | | Bisection jobs can refer to other crashes/builds, so for the full bug info we need complete BugReport objects.
* dashboard: support reporting and unreporting of multiple crashesAleksandr Nogikh2022-12-091-1/+7
| | | | | | | | | | Previously we could only report a single crash ID for each reporting stage. That is enough for email reporting, but it unnecessarily restricts the interface available to external reporting methods. Instead of relying just on the Reported field of the Crash entity, introduce the list of other entities that reference the Crash. It lets us track the moment when the crash has been released by everyone else.
* dashboard: add full bug info request APIAleksandr Nogikh2022-12-091-0/+25
| | | | | | | Introduce the /load_full_bug call that, for a given bug ID, returns 1) Bisection results 2) Similar crashes in other namespaces 3) A subset of most noteworthy crashes.
* dashboard: post patch testing jobs externallyAleksandr Nogikh2022-12-051-0/+21
| | | | | | | | Accept patch testing requests not only via email, but also by a direct dashboard API request. Introduce a new /add_test_job API call. Add tests that verify the expected flow and some side cases.
* dashboard: support crash assetsAleksandr Nogikh2022-10-041-0/+1
| | | | | | | | | | They are stored and handled in a similar way to build assets. 1) syz-manager uploads assets to the storage and reports download URLs in the /report_crash request. 2) syz-ci manages crash assets deprecation. 3) dashboard includes crash assets in bug reports. For now the only type is MountInRepro.
* sys/linux: extract raw images from syz_mount_imageAleksandr Nogikh2022-09-271-0/+1
| | | | | To simplify the extraction code, let's make segments non-overlapping even before execution.
* syz-ci, dashboard: return alt titles in job resultsAleksandr Nogikh2022-08-261-7/+8
|
* dashboard: revoke no longer working reproducersAleksandr Nogikh2022-08-261-4/+11
| | | | | | | | | | | Reuse the existing patch testing mechanism to periodically re-check existing reproducers. If a repro no longer works, mark it as such and don't consider during bug obsoletion testing. For obsoleted bugs, pass also a string argument specifying the reason for the obsoletion. This will make email messages more user-friendly and also let us later estimate the amount of no longer relevant bugs that we had on the dashboard.
* dashboard: implement asset storageAleksandr Nogikh2022-08-241-0/+49
| | | | | | | | | | | | | | | Asset is a file/attachment relevant for debugging a kernel crash or the syzbot itself. Dashboard keeps track of the uploaded assets and manages their lifetime. Some of the assets are attached to the bug reports sent by syzkaller, some (like html coverage report) are displayed on the web portal. Two new API requests: * add_build_assets -- let dashboard remember one more build-related asset. * needed_assets -- query the list of assets that are still needed by the dashboard.
* dashapi: add query mocking functionalityAleksandr Nogikh2022-07-151-6/+21
| | | | | At the moment it's only possible to do by emulating http requests, which looks like an overkill for simple query mocking in unit tests.
* dashboard: remember and display strace flagAleksandr Nogikh2022-04-291-0/+8
| | | | | | | Receive the information, whether the crash log contains strace output, from the syz-manager. Adjust bug reporting email depending on that flag.
* syz-manager: support oauth when calling syz-hubGreg Steuck2021-07-301-4/+4
| | | | Permit empty hub_key to indicate oauth.
* pkg/auth: create explicit JWT token cacheGreg Steuck2021-07-301-27/+11
| | | | This will be easier to reuse as it is no longer http-specific.
* pkg/auth: move jwt to auth to be shared by syz-hub clientsGreg Steuck2021-07-302-98/+28
|
* dashboard: simple review fixesGreg Steuck2021-07-141-3/+4
|
* dashboard/dashapi: implement client-side JWT token authorizationGreg Steuck2021-07-142-0/+100
|
* dashboard/app: server-side support for OAuth /api authenticationGreg Steuck2021-07-141-0/+4
|
* dashboard/dashapi: return error from dashapi.NewGreg Steuck2021-07-121-3/+3
| | | | | This will allow it to make a call to meta-server and abort early when authentication by bearer token is impossible.
* dashboard/app: save suppressed reportsDmitry Vyukov2021-02-211-0/+2
| | | | | | | Save suppressed reports into a special single bucked "suppressed report". This will allow some control and monitoring over frequency and will allow to see samples. Fixes #1941
* syz-manager: don't reproduce leaks again and againDmitry Vyukov2021-02-201-3/+4
| | | | Fixes #1956
* dashboard/dashapi: add alternative titles for crashesDmitry Vyukov2021-01-171-0/+1
| | | | Update #1575
* dashboard/app: add unfix commandDmitry Vyukov2020-10-011-12/+13
| | | | | Add "#syz unfix" command that undoes "#syz fix" effects and resets any existing fixing commits.
* dashboard/app: return BugReport from load_bug APIDmitry Vyukov2020-09-301-13/+2
| | | | | | | | Return BugReport instead of LoadBugResp from load_bug API request. LoadBugResp is some limited subset of info in BugReport (mostly), it's useful to have just one type to describe bug with all needed info. Update #2144
* dashboard/app: add more info to BugReportDmitry Vyukov2020-09-301-0/+7
| | | | | | | | | | | | | Add the following fields to BugReport: - bug status - build id - build time - syzkaller commit - crash time - repro opts Will be required to export info to KCIDB. Update #2144
* dashboard/app: send machine information to dashboardCheng-Min Chiang2020-09-141-0/+3
| | | | | | | | | | | | - Change syz-manager so that it will send machine info the first time a crash occurs. - Add a field in entities.Crash to store machine info. - Add a field in dashapi.BugReport to store machine info. - Change the HTML template and struct uiCrash to display machine info. - Add a test to make sure that the link to machine info appears on the webpage. Update #466
* dashboard/dashapi: create RecipientsPedro Lopes2020-07-311-9/+36
| | | | | | | Create struct Recipients to store a slice structs (RecipientInfo) of email, default name, and if the user should be added to To or Cc when sending the email. After this commit Commit::Cc and Crash::Maintainers will become deprecated.
* all: use more respective languageDmitry Vyukov2020-06-111-4/+4
| | | | | | | | 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
* dashboard, syz-ci: add blacklist for bisection resultsAndrey Konovalov2020-06-031-3/+4
| | | | | | | Currently only ignores the commit that adds the Raw Gadget interface. Requested here: https://groups.google.com/g/syzkaller-bugs/c/sZUeGC3Fh-o/m/t_5cKPrMAQAJ
* dashboard/app: add notion of per-repo build maintainersDmitry Vyukov2020-05-091-0/+1
| | | | | | | | | For context see: https://groups.google.com/d/msg/syzkaller/9HxkC_hRP4M/MzFl4laADgAJ Now if, say, linux-next, is build/boot-broken we can CC maintainers of the tree. Fixes #1667
* dashboard/app: collect BB coverage stats from managersDmitry Vyukov2020-05-081-6/+9
| | | | Fixes #1698
* syz-ci: allow enabling bisect cause and fix jobs separatelyDmitry Vyukov2019-11-271-2/+7
| | | | | Some backport-only kernels may only be interested in fix bisections. Allow enabling these separately.
* dashboard/app: don't report bisections pointing to release commitsDmitry Vyukov2019-11-271-2/+3
| | | | | | | | | | | They should have been detected by "same binary" logic. But the problem is that we may use different compilers for different commits and they switch exactly at release commits. So we can build the release with a differnet compiler than the rest of commits and then obviously it won't be "same binary". Detect release commits separately. Update #1271
* pkg/bisect: detect wrong bisectionsDmitry Vyukov2019-11-071-0/+8
| | | | | | | | Detect bisection to merge commits and to commits that don't affect kernel binary (comments, other arches, whitespaces, etc). Such bisections are not reported in emails (but shown on web). Update #1271
* tools/syz-reprolist: add utility to extract list of reproducersDmitry Vyukov2019-10-081-0/+32
|
* dashboard/app: allow reporting of BisectFix resultsZubin Mithra2019-08-301-0/+1
| | | | | | | | | | | | | * Modify mail_bisect_result.txt to allow for sending fix bisection results. * Modify BisectResult to have a Fix field; introduce selectBisect for use within the template for choosing between BisectCause/BisectFix fields. * Modify bisectFromJob() to return BisectResult with Fix field set if relevant. * Modify the tests inside bisect_test.go to account for bisect fix related reporting emails. * Modify incomingMail() to ignore any emails from syzbot itself.
* dashboard/app: properly handle build failuresDmitry Vyukov2019-03-251-15/+16
| | | | | | | | | Separate kernel and syzkaller build failures. Fix logic to understand when a build is fixed: look if kernel/syzkaller commit changes to understand if it's a new good build or re-upload of an old build. Fixes #1014
* syz-ci: fix filling of kernel commit in bisection jobsDmitry Vyukov2019-03-221-12/+14
| | | | | | | | | There is a bit of a mess: dashboard expects the start commit in build info, but syz-ci sends the resulting cause commit. Moreover for inconclusive bisection the commit is not filled at all. Fill start commit in build info on start. Update #501
* dashboard/app: add uncc commandDmitry Vyukov2019-03-221-0/+1
| | | | | | | | | Add "#syz uncc" command as a safety handle. The command allows sender to unsubscribe from all future communication on the bug. Linus mentioned possibility of saying "I'm not the right person for this report" in the context of bug reminders: https://groups.google.com/d/msg/syzkaller/zYlQ-b-QPHQ/AJzpeObcBAAJ
* dashboard/app: request test/bisect jobs separatelyDmitry Vyukov2019-03-201-3/+3
| | | | | | | | Allow separate sets of managers for patch testing and for bisection. This makes things more flexible on syz-ci deployment side. Remove previous hacks for bisection deployment. Update #501