From 84415fcf05dbf83d999fdc16168158a0b11a4437 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 6 Nov 2019 22:15:38 +0000 Subject: [PATCH] Updated documentation. --- .../Controllers/HomeController.cs | 25 +- .../DiscImageChef.Server.csproj | 17 +- DiscImageChef.Server/Views/Home/NEEDED.cshtml | 42 +++ .../Home/{DONATING.cshtml => NEEDINFO.cshtml} | 4 +- DiscImageChef.Server/docs/CODE_OF_CONDUCT.md | 74 +++- DiscImageChef.Server/docs/CONTRIBUTING.md | 324 +++++++++++++++++- DiscImageChef.Server/docs/Changelog.md | 2 +- DiscImageChef.Server/docs/DONATING.md | 174 ---------- DiscImageChef.Server/docs/ISSUE_TEMPLATE.md | 50 ++- DiscImageChef.Server/docs/NEEDED.md | 175 ++++++++++ DiscImageChef.Server/docs/NEEDINFO.md | 12 +- .../docs/PULL_REQUEST_TEMPLATE.md | 15 +- DiscImageChef.Server/docs/README.md | 44 ++- DiscImageChef.Server/docs/TODO.md | 2 +- 14 files changed, 760 insertions(+), 200 deletions(-) create mode 100644 DiscImageChef.Server/Views/Home/NEEDED.cshtml rename DiscImageChef.Server/Views/Home/{DONATING.cshtml => NEEDINFO.cshtml} (95%) mode change 120000 => 100644 DiscImageChef.Server/docs/CODE_OF_CONDUCT.md mode change 120000 => 100644 DiscImageChef.Server/docs/CONTRIBUTING.md delete mode 100644 DiscImageChef.Server/docs/DONATING.md mode change 120000 => 100644 DiscImageChef.Server/docs/ISSUE_TEMPLATE.md create mode 100644 DiscImageChef.Server/docs/NEEDED.md mode change 120000 => 100644 DiscImageChef.Server/docs/NEEDINFO.md mode change 120000 => 100644 DiscImageChef.Server/docs/PULL_REQUEST_TEMPLATE.md diff --git a/DiscImageChef.Server/Controllers/HomeController.cs b/DiscImageChef.Server/Controllers/HomeController.cs index bd8d3e06..0f414bde 100644 --- a/DiscImageChef.Server/Controllers/HomeController.cs +++ b/DiscImageChef.Server/Controllers/HomeController.cs @@ -159,12 +159,31 @@ namespace DiscImageChef.Server.Controllers return View(); } - [Route("DONATING")] - public ActionResult DONATING() + [Route("DONATING"), Route("NEEDED")] + public ActionResult Needed() { var sr = new StreamReader(Path.Combine(_environment.ContentRootPath ?? throw new InvalidOperationException(), - "docs", "DONATING.md")); + "docs", "NEEDED.md")); + + string mdcontent = sr.ReadToEnd(); + sr.Close(); + + mdcontent = mdcontent.Replace(".md)", ")"); + + ViewBag.Markdown = Markdown.ToHtml(mdcontent); + + ViewBag.lblVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); + + return View(); + } + + [Route("NEEDINFO")] + public ActionResult NeedInfo() + { + var sr = + new StreamReader(Path.Combine(_environment.ContentRootPath ?? throw new InvalidOperationException(), + "docs", "NEEDINFO.md")); string mdcontent = sr.ReadToEnd(); sr.Close(); diff --git a/DiscImageChef.Server/DiscImageChef.Server.csproj b/DiscImageChef.Server/DiscImageChef.Server.csproj index 87899494..377f0fe0 100644 --- a/DiscImageChef.Server/DiscImageChef.Server.csproj +++ b/DiscImageChef.Server/DiscImageChef.Server.csproj @@ -46,7 +46,22 @@ PreserveNewest - + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + PreserveNewest diff --git a/DiscImageChef.Server/Views/Home/NEEDED.cshtml b/DiscImageChef.Server/Views/Home/NEEDED.cshtml new file mode 100644 index 00000000..457b08cd --- /dev/null +++ b/DiscImageChef.Server/Views/Home/NEEDED.cshtml @@ -0,0 +1,42 @@ +@{ + Layout = "~/Views/Shared/_Layout.cshtml"; + ViewBag.Title = "DiscImageChef"; +} +@{ + // /*************************************************************************** + // The Disc Image Chef + // ---------------------------------------------------------------------------- + // + // Filename : NEEDED.cshtml + // Author(s) : Natalia Portillo + // + // Component : DiscImageChef Server. + // + // --[ Description ] ---------------------------------------------------------- + // + // Renders list of needed donations. + // + // --[ License ] -------------------------------------------------------------- + // + // This library is free software; you can redistribute it and/or modify + // it under the terms of the GNU Lesser General Public License as + // published by the Free Software Foundation; either version 2.1 of the + // License, or (at your option) any later version. + // + // This library is distributed in the hope that it will be useful, but + // WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + // Lesser General Public License for more details. + // + // You should have received a copy of the GNU Lesser General Public + // License along with this library; if not, see . + // + // ---------------------------------------------------------------------------- + // Copyright © 2011-2019 Natalia Portillo + // ****************************************************************************/ +} +

+ @Html.ActionLink("Return to main page.", "Index")
+ DiscImageChef list of hardware and software needed: +

+
@Html.Raw(ViewBag.Markdown)
\ No newline at end of file diff --git a/DiscImageChef.Server/Views/Home/DONATING.cshtml b/DiscImageChef.Server/Views/Home/NEEDINFO.cshtml similarity index 95% rename from DiscImageChef.Server/Views/Home/DONATING.cshtml rename to DiscImageChef.Server/Views/Home/NEEDINFO.cshtml index 18538340..120c0e3a 100644 --- a/DiscImageChef.Server/Views/Home/DONATING.cshtml +++ b/DiscImageChef.Server/Views/Home/NEEDINFO.cshtml @@ -7,7 +7,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // - // Filename : DONATING.cshtml + // Filename : NEEDINFO.cshtml // Author(s) : Natalia Portillo // // Component : DiscImageChef Server. @@ -37,6 +37,6 @@ }

@Html.ActionLink("Return to main page.", "Index")
- DiscImageChef list of things to be donated: + DiscImageChef list of information needed:

@Html.Raw(ViewBag.Markdown)
\ No newline at end of file diff --git a/DiscImageChef.Server/docs/CODE_OF_CONDUCT.md b/DiscImageChef.Server/docs/CODE_OF_CONDUCT.md deleted file mode 120000 index 7d5eea0c..00000000 --- a/DiscImageChef.Server/docs/CODE_OF_CONDUCT.md +++ /dev/null @@ -1 +0,0 @@ -../../.github/CODE_OF_CONDUCT.md \ No newline at end of file diff --git a/DiscImageChef.Server/docs/CODE_OF_CONDUCT.md b/DiscImageChef.Server/docs/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..a7edb76a --- /dev/null +++ b/DiscImageChef.Server/docs/CODE_OF_CONDUCT.md @@ -0,0 +1,73 @@ +# Contributor Covenant Code of Conduct for DiscImageChef + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +education, socio-economic status, nationality, personal appearance, race, +religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at [claunia@claunia.com](mailto:claunia@claunia.com). All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org diff --git a/DiscImageChef.Server/docs/CONTRIBUTING.md b/DiscImageChef.Server/docs/CONTRIBUTING.md deleted file mode 120000 index f939e75f..00000000 --- a/DiscImageChef.Server/docs/CONTRIBUTING.md +++ /dev/null @@ -1 +0,0 @@ -../../CONTRIBUTING.md \ No newline at end of file diff --git a/DiscImageChef.Server/docs/CONTRIBUTING.md b/DiscImageChef.Server/docs/CONTRIBUTING.md new file mode 100644 index 00000000..84a132a2 --- /dev/null +++ b/DiscImageChef.Server/docs/CONTRIBUTING.md @@ -0,0 +1,323 @@ +# Contributing to DiscImageChef + +:+1::tada: First off, thanks for taking the time to contribute! :tada::+1: + +The following is a set of guidelines for contributing to DiscImageChef and its modules. +These are mostly guidelines, not rules. Use your best judgment, and feel free to propose +changes to this document in a pull request. + +#### Table Of Contents + +[Code of Conduct](#code-of-conduct) + +[I don't want to read this whole thing, I just have a question!!!](#i-dont-want-to-read-this-whole-thing-i-just-have-a-question) + +[What should I know before I get started?](#what-should-i-know-before-i-get-started) + * [DiscImageChef and modules](#discimagechef-and-modules) + +[How Can I Contribute?](#how-can-i-contribute) + * [Reporting Devices](#reporting-devices) + * [Reporting Bugs](#reporting-bugs) + * [Suggesting Enhancements](#suggesting-enhancements) + * [Your First Code Contribution](#your-first-code-contribution) + * [Pull Requests](#pull-requests) + * [Patronizing us](#patronizing) + * [Donating hardware to test](#donating) + * [Providing information](#needed-information) + +[Styleguides](#styleguides) + * [Git Commit Messages](#git-commit-messages) + * [Code Styleguide](#code-styleguide) + +## Code of Conduct + +This project and everyone participating in it is governed by the +[DiscImageChef Code of Conduct](.github/CODE_OF_CONDUCT.md). By participating, you are expected +to uphold this code. Please report unacceptable behavior to [claunia@claunia.com](mailto:claunia@claunia.com). + +## I don't want to read this whole thing I just have a question!!! + +> **Note:** Please don't file an issue to ask a question. You'll get faster results by +using the resources below. + +You can join our IRC channel on chat.freenode.net at channel #DiscImageChef + +## What should I know before I get started? + +### DiscImageChef and modules + +DiscImageChef is a large open source project — it's made up of 18 modules. When you initially consider contributing to DiscImageChef, you might be unsure about which of those modules implements the functionality you want to change or report a bug for. This section should help you with that. + +DiscImageChef is intentionally very modular. Here's a list of them: + +* [Claunia.RsrcFork](https://github.com/claunia/Claunia.RsrcFork) - +This library includes code for handling Mac OS resource forks, and decoding them, so any +code related to Mac OS resource forks should be added here. +* [Claunia.Encoding](https://github.com/claunia/Claunia.Encoding) - +This library includes code for converting codepages not supported by .NET, like those used +by ancient operating systems, to/from UTF-8. +* [plist-cil](https://github.com/claunia/plist-cil) - +This library includes code for handling Apple property lists. +* [SharpCompress](https://github.com/adamhathcock/sharpcompress) - +This library includes code for handling compression algorithms and compressed archives. Any +need you have of compression or decompression should be handled with this library, and any new algorithm should be added here. +* [DiscImageChef](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef) - +This module contains the command line interface. In the future a GUI will be added. +* [DiscImageChef.Checksums](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Checksums) - +This module contains the checksum, hashing and error correction algorithms. +* [DiscImageChef.CommonTypes](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.CommonTypes) - +This module contains interfaces, structures and enumerations needed by more than one of the other modules. +* [DiscImageChef.Console](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Console) - +This module abstracts consoles used by other modules to output information, so they can be +redirected to a CLI or to a GUI output. +* [DiscImageChef.Core](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Core) - +This module contains the implementation of the functions and commands that are called by the +user interface itself. +* [DiscImageChef.Decoders](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Decoders) - +This module contains internal disk, drive and protocol structures as well as code to marshal, +decode and print them. +* [DiscImageChef.Devices](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Devices) - +This module contains code to talk with hardware devices in different platforms. Each platform +has lowlevel calls in its own folder, and each device protocol has highlevel calls in its own +folder. Device commands are separated by protocol standard, or vendor name. +* [DiscImageChef.Device.Report](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Device.Report) - +This is a separate application in C89 designed to create device reports on enviroments where +you can't run .NET or Mono but can run Linux. +* [DiscImageChef.DiscImages](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.DiscImages) - +This module provides reading capabilities for the disk/disc images, one per file. +* [DiscImageChef.Filesystems](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Filesystems) - +This module provides the filesystem support. If only identification is implemented a single +file should be used. For full read-only support, a folder should be used. +* [DiscImageChef.Filters](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Filters) - +A filter is a modification of the data before it can be passed to the disk image module +(compression, fork union, etc), and this module provides support for them. If a image is +compressed, say in gzip, or encoded, say in AppleDouble, a filter is the responsible of +decompressing or decoding it on-the-fly. +* [DiscImageChef.Helpers](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Helpers) - +This module contains a collection of helpers for array manipulation, big-endian marshalling, +datetime conversion, hexadecimal printing, string manipulation and byte swapping. +* [DiscImageChef.Partitions](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Partitions) - +This module contains code for reading partition schemes. +* [DiscImageChef.Server](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Server) - +This module contains the server-side code that's running at https://www.discimagechef.app +* [DiscImageChef.Settings](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Settings) - +This module contains code for handling DiscImageChef settings. +* [DiscImageChef.Tests](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Tests) - +This module contains the unit tests for the rest of the modules. You should add new unit +tests here but cannot run all of them because the test images they require amount to more +than 100GiB. +* [DiscImageChef.Tests.Devices](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Tests.Devices) - +This module presents a menu driven interface to send commands to devices, as a way to test +the Core module, as those tests cannot be automated. It can be used to debug drive responses. + +## How Can I Contribute? + +### Reporting Devices + +DiscImageChef tries to be as universal as possible. However some devices do not behave in +the expected ways, some media is unknown and needs to be known prior to enabling dumping of it, +etc. + +For that reason, DiscImageChef includes the [device-report command](https://github.com/claunia/DiscImageChef/wiki/Reporting-physical-device-capabilities). +Using this command will guide you thru a series of questions about the device, and if it +contains removable media, for you to insert the different media you have, and create a report +of its abilities. The report will automatically be sent to our server and saved on your computer. +Please note that we do not store any personal information and when possible remove the drive +serial numbers from the report. + +If you have a drive attached to a computer that you cannot run the full DiscImageChef on it +but can compile a C89 application, you can use [DiscImageChef.Device.Report](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Device.Report). +In this case the report will only be created locally and you should attach it to a bug report. + +### Reporting Bugs + +This section guides you through submitting a bug report for DiscImageChef. Following these guidelines +helps maintainers and the community understand your report :pencil:, reproduce the +behavior :computer: :computer:, and find related reports :mag_right:. + +Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you +might find out that you don't need to create one. When you are creating a bug report, please +[include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out +[the required template](.github/ISSUE_TEMPLATE.md), the information it asks for helps us resolve +issues faster. + +> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're +experiencing, open a new issue and include a link to the original issue in the body of your +new one. + +#### Before Submitting A Bug Report + +* **Check the [wiki](https://github.com/claunia/DiscImageChef/wiki)** for a list of common +questions and problems. +* **Determine [which module the problem should be reported in](#discimagechef-and-modules)**. +* **Perform a [cursory search](https://github.com/search?q=+is%3Aissue+user%3Aclaunia)** +to see if the problem has already been reported. If it has **and the issue is still open**, +add a comment to the existing issue instead of opening a new one. + +#### How Do I Submit A (Good) Bug Report? + +Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). After +you've determined [which module](#discimagechef-and-modules) your bug is related to, +create an issue on that repository and provide the following information by filling in +[the template](.github/ISSUE_TEMPLATE.md). + +Explain the problem and include additional details to help maintainers reproduce the problem: + +* **Use a clear and descriptive title** for the issue to identify the problem. +* **Describe the exact steps which reproduce the problem** in as many details as possible. +For example, start by explaining how you started DiscImageChef, e.g. which command exactly +you used in the terminal. Also note that some device commands requires you to have +administrative privileges, be in a specific group, or be the root user, so try it again with +escalated privileges. +* **Provide specific examples to demonstrate the steps**. Include links to media images, +reports of the devices, or the output of using [DiscImageChef.Tests.Devices](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Tests.Devices). +* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior. +* **Explain which behavior you expected to see instead and why.** +* **Include a copy of the output in the terminal** enabling both verbose, using the `-v` +command line parameter, and debug, using the `-d` command line parameter, outputs. +* **If you're reporting that DiscImageChef crashed**, try doing the same with the debug +version and include a crash report with a stack trace. Include the crash report in the issue +in a [code block](https://help.github.com/articles/markdown-basics/#multiple-lines), a +[file attachment](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/), +or put it in a [gist](https://gist.github.com/) and provide link to that gist. +* **If the problem wasn't triggered by a specific action**, describe what you were doing +before the problem happened and share more information using the guidelines below. + +Include details about your configuration and environment: + +* **Which version of DiscImageChef are you using?** +* **What's the name and version of the OS you're using**? +* **Are you running DiscImageChef in a virtual machine?** If so, which VM software are you +using and which operating systems and versions are used for the host and the guest? +* **Are you trying to execute a device command?** If so, who manufactured the device, which +model is it, and how is it connected to the computer? + +### Suggesting Enhancements + +This section guides you through submitting an enhancement suggestion for DiscImageChef, including +completely new features and minor improvements to existing functionality. Following these +guidelines helps maintainers and the community understand your suggestion :pencil: and find +related suggestions :mag_right:. + +Before creating enhancement suggestions, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). +Fill in [the template](.github/ISSUE_TEMPLATE.md), including the steps that you imagine you would +take if the feature you're requesting existed. + +#### How Do I Submit A (Good) Enhancement Suggestion? + +Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/). +After you've determined [which module](#discimagechef-and-modules) your enhancement suggestion +is related to, create an issue on that repository and provide the following information: + +* **Use a clear and descriptive title** for the issue to identify the suggestion. +* **Provide a step-by-step description of the suggested enhancement** in as many details as +possible. +* **Provide specific examples to demonstrate the steps**. If the feature is about a media image, +filesystem, partitioning scheme, or filter, please include as many test files as possible, +and if applicable which software created them. +* **Describe the current behavior** and **explain which behavior you expected to see instead** and why. +* **List some other applications where this enhancement exists.** +* **Specify which version of DiscImageChef you're using.** +* **Specify the name and version of the OS you're using.** + +### Your First Code Contribution + +Unsure where to begin contributing to DiscImageChef? You can start by looking through these `beginner` and `help-wanted` issues: + +* [Beginner issues][beginner] - issues which should only require a few lines of code, and a test or two. +* [Help wanted issues][help-wanted] - issues which should be a bit more involved than `beginner` issues. + +Both issue lists are sorted by total number of comments. While not perfect, number of +comments is a reasonable proxy for impact a given change will have. + +If you want to read about using DiscImageChef, the [wiki](https://github.com/claunia/DiscImageChef/wiki) is available. + +Do not modify the interfaces. If you need or want to, comment in an issue how and why you +want to change it and we'll discuss it. Same applies for creating new interfaces. + +DiscImageChef uses C# 7 language features (inline declaration, Tuples, etc.) so it can only +be compiled with [VisualStudio](http://www.visualstudio.com) 2017 or higher, [Xamarin Studio](https://www.xamarin.com/download) +7 or higher, [MonoDevelop](http://www.monodevelop.com) 7 or higher, or [JetBrains Rider](https://www.jetbrains.com/rider/) 2017.2 or higher. + +### Pull Requests + +* Fill in [the required template](.github/PULL_REQUEST_TEMPLATE.md) +* Do not include issue numbers in the PR title +* Follow the [code styleguide](#code-styleguide). +* Include test files as applicable, that do not have software under copyright inside them, +if possible. +* Document new code based using XML documentation wherever possible. +* DO NOT end files with a newline. +* Avoid platform-dependent code, unless absolutely needed. Any call to a part of the +.NET framework that doesn't start with `System.` is probably platform-dependent. +* Do not call libraries external to .NET. Only Interop calls to the operating system kernel +(that is `KERNEL32.DLL` in Windows and `libc` in others) will be accepted. If you need to +talk with a USB devices your pull request must implement calls both to `WinUsb` and `libusb`. + +### Patronizing +If you want to donate money you can become a patron at https://www.patreon.com/DiscImageChef + +This money will be used to get more hardware on which to test DiscImageChef. + +### Donating +You may donate us one of the [devices we need](NEEDED.md). + +### Needed information +If you have test images, imaging applications that generate formats we do not support, or +documentation about media dump formats, filesystems or partitioning schemes we do not +support, you can provide us with that information to add support for them. + +## Styleguides + +### Git Commit Messages + +* Use the present tense ("Add feature" not "Added feature") +* Use the imperative mood ("Move cursor to..." not "Moves cursor to...") +* Limit the first line to 72 characters or less +* Reference issues and pull requests liberally after the first line +* Consider starting the commit message with an applicable emoji: + * :art: `:art:` when improving the format/structure of the code + * :racehorse: `:racehorse:` when improving performance + * :non-potable_water: `:non-potable_water:` when plugging memory leaks + * :memo: `:memo:` when writing docs + * :penguin: `:penguin:` when fixing something on Linux + * :apple: `:apple:` when fixing something on macOS + * :checkered_flag: `:checkered_flag:` when fixing something on Windows + * :bug: `:bug:` when fixing a bug + * :fire: `:fire:` when removing code or files + * :green_heart: `:green_heart:` when fixing the CI build + * :white_check_mark: `:white_check_mark:` when adding tests + * :lock: `:lock:` when dealing with security + * :arrow_up: `:arrow_up:` when upgrading dependencies + * :arrow_down: `:arrow_down:` when downgrading dependencies + * :shirt: `:shirt:` when removing linter warnings + +### Code Styleguide + +- Braces are unindented at next line (BSD style). +- Braces with no content should be opened and closed in the same line. +- Constants should be ALL_UPPER_CASE. +- Do not use braces for statements that don't need them. +- Do not use more than one blank line. +- Do not use spaces before or after parentheses. +- Do not use `var` ever. +- `else`, `while`, `catch` and `finally` should be on a new line. +- If you know C apply a simple rule: Be as C as and as less C# or C++ as possible. +- If you will only store variables, use a struct. If you need it to be nullable, use a +nullable struct if applicable. +- Indent statements and cases. +- Indent using 4 spaces (soft tab). +- Instace and static fields should be lowerCamelCase. +- Public fields should be UpperCamelCase. +- Separate attributes. +- Use 120 columns margins. +- Use built-in keywords: `uint` instead of `UInt32`. +- Use expression bodies only for properties, indexes and events. For the rest use block +bodies. +- Use implicit modifiers. +- Use inline variable declaration. +- Use struct implicit constructor. +- Use UNIX (`\n`) endline character. + +> Note: DiscImageChef is quite low-level so unneeded object-oriented abstractions +(e.g. using classes when a struct suffices) will be rejected. LINQ is accepted. \ No newline at end of file diff --git a/DiscImageChef.Server/docs/Changelog.md b/DiscImageChef.Server/docs/Changelog.md index 23515063..d5f2c463 100644 --- a/DiscImageChef.Server/docs/Changelog.md +++ b/DiscImageChef.Server/docs/Changelog.md @@ -179,7 +179,7 @@ ### - Create sidecar - Add filesystems only to the appropriate partition and track. -- Fix CD Lead-in, TOC and XGD tags. +- Fix CD first track pregap, TOC and XGD tags. - Fix diameter setting. - Fix SCSI MODE SENSE. - Fix USB descriptors. diff --git a/DiscImageChef.Server/docs/DONATING.md b/DiscImageChef.Server/docs/DONATING.md deleted file mode 100644 index 0349792f..00000000 --- a/DiscImageChef.Server/docs/DONATING.md +++ /dev/null @@ -1,174 +0,0 @@ -Hardware donations -================== - -This is a list of hardware that I'm searching but is too rare or too expensive for me to get them. -The reason I want this hardware is because having it is the only way to add enhanced support for them (e.g. media detection, ECC support, raw dumping, etc.). -After adding enhanced support all drives will be given to the Canary Islands Computer Museum. - -- 3.5" magneto-optical media: 540MiB, 1.3GiB -- 5.25" magneto-optical drive and media -- 8" shugart drive -- ADR drive and tapes -- AIT drive and tapes -- Apple twiggy and media -- Caleb UHD144 drive -- Castlewood Orb 2.2 and 5.7 -- DLT drive and tapes -- DiscFerret -- HD-DVD media -- Host-aware and host-controller SAS and SATA zoned hard disks -- Insite floptical drive -- Iomega Bernoulli -- Iomega Ditto drive and tapes -- Iomega JAZ and JAZ 2 -- Iomega REV -- Iomega ZIP750 drive -- LD-ROM drive and media -- LTO drive and tapes -- LV-ROM drive and media -- Mammoth drive and tapes -- Panasonic Blu-ray recorder -- Plasmon UDO and UDO2 drives and media -- SCSI floppy drive (e.g. Teac FD235JS806-U) -- SLR drive and tapes -- Sony Hi-MD and media -- Sony HiFD -- Sony MD-DATA and media -- Sony Professional Disc for DATA -- Stringy floppy -- Syquest EZ135 drive and media -- Syquest EZFlyer drive and media -- Syquest Quest drive and media -- Syquest SQ2542 drive and media -- Syquest SQ306RD drive and SQ100 media -- Syquest SQ3105 drive and SQ310 media -- Syquest SQ312RD drive and SQ200 media -- Syquest SQ319RD drive and SQ300 media -- Syquest SQ3270 drive and SQ327 media -- Syquest SQ5110 drive and SQ800 media -- Syquest SQ5200C drive and SQ2000 media -- Syquest SQ555 drive and SQ400 media -- Syquest SparQ drive and media -- Syquest SyJet drive and media -- T9840, T9940, T10000 drive and tapes -- Travan drive and tapes -- Triton drive and media -- VXA drive and tapes - - -Software donations -================== -This is a list of software whose physical media has some characteristics that needs -to be investigated to allow correct dumping of such characteristics. Usually those -are copy protections. - -- CD-V -- CD-i Ready - - A Christmas Songbook - - Accelerator - - Alien Gate - - Beyond Limits - - Escape - - Lucky Luke - - Louis Armstrong - - Dark Fables of Aesop - - More Dark Fables of Aesop - - Mozart - - Opera Imaginaire - - Pavarotti - - Steel Machine - - The Apprentice - - Dimo's Quest - - The Worlds of... -- SafeDisc - - Age of Wonders II: The Wizard's Throne - - Beowulf - - Black & White 2 - - Brothers in Arms: Road to Hill 30 - - Call of Duty: World at War - - Carmageddon II: Carpocalypse Now - - Close Combat: Invasion Normandy - - Codename: Eagle - - Command & Conquer: Generals - - FIFA Football 2002 - - Football Manager 2007 -- SecuROM - - Arabian Nights - - Arcania: Gothic 4 - - Boiling Point: Road to Hell - - Caesar IV - - Cars 2 - - Clive Barker's Jericho - - Colin McRae Rally 04 - - Colin McRae Rally 2.0 - - Colin McRae Rally 3 - - Command & Conquer: Red Alert 3 - Uprising - - Commandos: Strike Force - - Devil May Cry 4 - - Die Hard: Nakatomi Plaza - - Disney Planes - - Divinity II: Developer's Cut -- StarForce - - Anno 1701 - - Black Mirror 3 - - BloodRayne 2 - - Chronostorm: Siberian Border - - Codename: Outbreak - - Dead to Rights - - Disciples III: Renaissance - - Game of Thrones - - Gothic 3 - - Gothic 3: Forsaken Gods - - Mass Effect - - Mount & Blade - - Pac-Man World 2 -- Tages - - Act of War: High Treason - - Anno 1701 - - Beyond Good & Evil - - Codename: Panzers - Cold War - - Darkstar One - - Desperados 2: Cooper's Revenge - - Driver: Parallel Lines - - Faery: Legends of Avalon - - Fahrenheit - - Fantasy Wars - - Glory of the Roman Empire - - Gothic 3 - - Hard to Be a God - - Helldorado - - Moto Racer 3 - - Nail'd - - Nostradamus: The Last Prophecy - - Rag Doll Kung Fu - - Rayman Origins - - RoboCop (2003) - - Runaway 2: The Dream of the Turtle - - S.T.A.L.K.E.R.: Shadow of Chernobyl - - Secret Files: Tunguska - - Silverfall - - SpellForce 2: Shadow Wars - - Still Life 2 - - The Chronicles of Riddick: Assault on Dark Athena - - War Front: Turning Point - - XIII -- Solidshield - - A-Train 8 - - Anno 2070 - - Assassin's Creed: Brotherhood - - Crysis 2 - - Dead Mountaineer's Hotel - - Dead Space 2 - - Hard to Be a God - - Helldorado - - I Am Alive - - Jack Keane - - James Cameron's Avatar: The Game - - Medal of Honor: Airborne - - Need for Speed: Hot Pursuit - - ObsCure II - - Risen - - Shift 2 Unleashed - - Still Life 2 - - Warfare - - X3: Terran Conflict \ No newline at end of file diff --git a/DiscImageChef.Server/docs/ISSUE_TEMPLATE.md b/DiscImageChef.Server/docs/ISSUE_TEMPLATE.md deleted file mode 120000 index cc358d41..00000000 --- a/DiscImageChef.Server/docs/ISSUE_TEMPLATE.md +++ /dev/null @@ -1 +0,0 @@ -../../.github/ISSUE_TEMPLATE.md \ No newline at end of file diff --git a/DiscImageChef.Server/docs/ISSUE_TEMPLATE.md b/DiscImageChef.Server/docs/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..d908cbe6 --- /dev/null +++ b/DiscImageChef.Server/docs/ISSUE_TEMPLATE.md @@ -0,0 +1,49 @@ +### Prerequisites + +* [ ] Are you running the latest version? +* [ ] Can you reproduce the problem in the debug version? + +### Check and fill as appropriate: +* [ ] I was running DiscImageChef under Windows [version here]... +* [ ] I was running DiscImageChef under Linux [version here]... +* [ ] I was running DiscImageChef under FreeBSD [version here]... +* [ ] I was running DiscImageChef under macOS [version here]... +* [ ] ...using .NET Framework [version here]... +* [ ] ...using .NET Core [version here]... +* [ ] ...using Mono [version here]... +* [ ] ...in 32-bit +* [ ] ...in 64-bit + +### Description + +[Description of the bug or feature] + +### Exact command line used: + +`DiscImageChef [command] [parameters]` + +### Expected behavior: +[What you expected to happen] + +### Actual behavior: +[What actually happened] + +### If command was expected to work with a device fill this out: + +* **Manufacturer**: +* **Model**: +* **Bus**: + * [ ] Parallel ATA + * [ ] Serial ATA + * [ ] SCSI (any) + * [ ] ATAPI (mark above if parallel or serial) + * [ ] USB + * [ ] FireWire + * [ ] PCMCIA + * [ ] SecureDigital + * [ ] MultiMediaCard + +### Output of command execution with debug output enabled +``` +Paste the whole output of the executed command when you append '-d' to your command line parameters here +``` \ No newline at end of file diff --git a/DiscImageChef.Server/docs/NEEDED.md b/DiscImageChef.Server/docs/NEEDED.md new file mode 100644 index 00000000..c2da3fb7 --- /dev/null +++ b/DiscImageChef.Server/docs/NEEDED.md @@ -0,0 +1,175 @@ +This is a list of hardware, software, and general information needed to expand and better support various unique hardware and +software configurations for DiscImageChef. We accept donation of this hardware, or loans: paying for shipping is greatly appreciated, +but can make other arrangements depending on cost. For media, we do accept loans, but please be aware that due to it’s age, there is +no guarantee it will still be working after it is returned and thus donations are preferred. + +Drives +====== +This is a list of drives. The reason we need these drives is because it is the only way to add enhanced support for them (e.g. media +detection, ECC support, raw dumping, etc.). Also some drives depart from the specifications and need special workarounds. If a drive is +listed here, but the media it uses is not listed below, we already have media for it. Drives are preferred in ATA/ATAPI, SCSI, USB or +FireWire buses. Parallel port drives require a larger amount of work, and there is no guarantee it can work, at all, with other drives. If in +doubt, please contact us. + + +- 5.25" magneto-optical (preferibly the 9.6Gb supporting one) +- 8" shugart floppy drive (preferibly the 240VAC one) +- ADR tape drive +- AIT tape drive +- Apple FileWare "twiggy" +- Caleb UHD144 +- Castlewood Orb 5.7 +- DLT tape drive +- DiscFerret +- Host-aware and host-controlled SAS and SATA zoned hard disks +- Insite floptical +- Iomega Bernoulli (not the 90Mb one) +- Iomega Ditto tape drive +- Iomega JAZ +- Iomega JAZ 2 +- Iomega REV 70Gb +- Iomega ZIP750 +- LD-ROM +- LTO 1, 3, 4, 6, 7 +- LV-ROM +- Mammoth tape +- Panasonic Blu-ray recorder +- Plasmon UDO +- Plasmon UDO 2 +- SLR tape drive +- Sony MD-DATA (e.g. MDM-111, MDH-10) +- Sony Professional Disc for DATA +- Stringy floppy drive +- Syquest EZ135 drive +- Syquest EZFlyer drive +- Syquest Quest drive +- Syquest SQ2542 drive +- Syquest SQ306RD drive +- Syquest SQ3105 drive +- Syquest SQ312RD drive +- Syquest SQ319RD drive +- Syquest SQ3270 drive +- Syquest SQ5110 drive +- Syquest SQ5200C drive +- Syquest SQ555 drive +- Syquest SyJet drive +- T9840, T9940, T10000 tape drives +- Travan tape drive +- Triton drive +- VXA tape drive + +Media +===== +This is the media for the drives listed above, or media for drives we do have, but lack and thus cannot test the actual hardware. +- 3.5" magneto-optical media: 540MiB +- 5.25" magneto-optical media: 128MiB, 640MiB, 9.6GiB +- ADR tapes +- AIT tapes +- Apple FileWare "twiggy" floppies +- Caleb UHD144 floppy +- Castlewood Orb 5.7 +- DLTtape, DLTtapeII, DLTtapeIII +- Recordable and rewritable HD-DVD +- Iomega Bernoulli (not the 90MiB one) +- Iomega Ditto drive and tapes +- Iomega JAZ +- Iomega REV 70Gb +- LD-ROM +- LTO 3, 4, 6, 7 tapes +- LV-ROM +- Mammoth tapes +- Plasmon UDO +- Plasmon UDO 2 +- SLR tapes +- Sony HiFD floppy +- Sony MD-DATA discs +- Sony Professional Disc for DATA +- Stringy floppy +- Syquest EZ135 media +- Syquest EZFlyer media +- Syquest Quest media +- Syquest SQ2542 media +- Syquest SQ100 media +- Syquest SQ310 media +- Syquest SQ200 media +- Syquest SQ300 media +- Syquest SQ327 media +- Syquest SQ800 media +- Syquest SQ2000 media +- Syquest SQ400 media +- Syquest SyJet media +- T9840, T9940, T10000 tapes +- Travan tapes +- Triton media +- VXA tapes + +Software +================== +This is a list of software whose physical media has some characteristics that needs +to be investigated to allow correct dumping of such characteristics. Usually those +are copy protections. + +- CD-i Ready + - A Christmas Songbook + - Accelerator + - Alien Gate + - Beyond Limits + - Escape + - Lucky Luke + - Louis Armstrong + - Dark Fables of Aesop + - More Dark Fables of Aesop + - Mozart + - Opera Imaginaire + - Pavarotti + - Steel Machine + - The Apprentice + - Dimo's Quest + - The Worlds of... +- SafeDisc + - Beowulf + - Black & White 2 + - Brothers in Arms: Road to Hill 30 + - Carmageddon II: Carpocalypse Now + - Close Combat: Invasion Normandy + - Codename: Eagle +- SecuROM + - Arabian Nights + - Arcania: Gothic 4 + - Boiling Point: Road to Hell + - Cars 2 + - Clive Barker's Jericho + - Colin McRae Rally 04 + - Colin McRae Rally 2.0 + - Colin McRae Rally 3 + - Command & Conquer: Red Alert 3 - Uprising + - Devil May Cry 4 + - Die Hard: Nakatomi Plaza + - Disney Planes +- StarForce + - Black Mirror 3 + - BloodRayne 2 + - Chronostorm: Siberian Border + - Codename: Outbreak + - Dead to Rights + - Disciples III: Renaissance + - Mount & Blade + - Pac-Man World 2 +- Tages + - Anno 1701 + - Darkstar One + - Faery: Legends of Avalon + - Helldorado + - Nostradamus: The Last Prophecy + - Silverfall +- Solidshield + - A-Train 8 + - Anno 2070 + - Assassin's Creed: Brotherhood + - Dead Mountaineer's Hotel + - Dead Space 2 + - Helldorado + - I Am Alive + - ObsCure II + - Shift 2 Unleashed + - Warfare \ No newline at end of file diff --git a/DiscImageChef.Server/docs/NEEDINFO.md b/DiscImageChef.Server/docs/NEEDINFO.md deleted file mode 120000 index 2765be7e..00000000 --- a/DiscImageChef.Server/docs/NEEDINFO.md +++ /dev/null @@ -1 +0,0 @@ -../../NEEDINFO.md \ No newline at end of file diff --git a/DiscImageChef.Server/docs/NEEDINFO.md b/DiscImageChef.Server/docs/NEEDINFO.md new file mode 100644 index 00000000..7a1b6804 --- /dev/null +++ b/DiscImageChef.Server/docs/NEEDINFO.md @@ -0,0 +1,11 @@ +Information and test data +========================= + +This is a list of information I need, including test disk images. + +- DiscFerret stream images +- Information about the KenCode compression algorithm, or an implementation in C or Pascal +- Information about the structure and compression algorithm for XPACK disk images, or an implementation in C +- KryoFlux stream images +- NetWare 286 license and installation media for adding support to its filesystem +- NetWare 386 license and installation media for adding support to its filesystem \ No newline at end of file diff --git a/DiscImageChef.Server/docs/PULL_REQUEST_TEMPLATE.md b/DiscImageChef.Server/docs/PULL_REQUEST_TEMPLATE.md deleted file mode 120000 index 2a746206..00000000 --- a/DiscImageChef.Server/docs/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1 +0,0 @@ -../../.github/PULL_REQUEST_TEMPLATE.md \ No newline at end of file diff --git a/DiscImageChef.Server/docs/PULL_REQUEST_TEMPLATE.md b/DiscImageChef.Server/docs/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..8887e634 --- /dev/null +++ b/DiscImageChef.Server/docs/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,14 @@ +## Types of changes + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] New filesystem, test images in [url] +- [ ] New disc image, test images in [url] +- [ ] New partition scheme, test images in [url] +- [ ] Breaking change (fix or feature that would cause existing functionality to change) +- [ ] I have read the **CONTRIBUTING** document. +- [ ] My code follows the code style of this project. +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. +- [ ] I have added tests to cover my changes. +- [ ] All new and existing tests passed. \ No newline at end of file diff --git a/DiscImageChef.Server/docs/README.md b/DiscImageChef.Server/docs/README.md index e3d58cbb..f8c51976 100644 --- a/DiscImageChef.Server/docs/README.md +++ b/DiscImageChef.Server/docs/README.md @@ -2,14 +2,14 @@ DiscImageChef v4.5.99.1693 Disc Image Chef (because "swiss-army-knife" is used too much) -Copyright © 2011-2018 Natalia Portillo +Copyright © 2011-2019 Natalia Portillo [![Build status](https://dev.azure.com/DiscImageChef/DiscImageChef/_apis/build/status/DiscImageChef-.NET%20Desktop-CI)](https://dev.azure.com/DiscImageChef/DiscImageChef/_build/latest?definitionId=4) -[![Build Status](https://travis-ci.org/claunia/DiscImageChef.svg?branch=master)](https://travis-ci.org/claunia/DiscImageChef) +[![Build Status](https://travis-ci.org/discimagechef/DiscImageChef.svg?branch=master)](https://travis-ci.org/discimagechef/DiscImageChef) [![Build status](https://ci.appveyor.com/api/projects/status/vim4c8h028pn5oys?svg=true)](https://ci.appveyor.com/project/claunia/discimagechef) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fclaunia%2FDiscImageChef.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fclaunia%2FDiscImageChef?ref=badge_shield) -You can see statistics and device reports [here](https://www.discimagechef.app/Statistics.aspx) +You can see statistics and device reports [here](https://www.discimagechef.app/Stats) DiscImageChef is a fully featured media dump management solution. You usually know media dumps as disc images, disk images, tape images, etc. @@ -24,6 +24,10 @@ To see list of pending things to do, check the [TODO list](TODO.md). If you want to contribute in any way please read the [contributing guide](CONTRIBUTING.md). +Stable releases in [Github](https://github.com/discimagechef/DiscImageChef/releases). +CI beta builds [here](https://goo.gl/6dZPMq). + + System requirements =================== DiscImageChef should work under any operating system where there is [Mono](http://www.mono-project.com/) @@ -45,11 +49,23 @@ Features * Analyzes a disk image getting information about the disk itself and analyzes partitions and filesystems inside them * Can checksum the disks (and if optical disc, separate tracks) user-data (tags and metadata coming soon) * Can compare two disk images, even different formats, for different sectors and/or metadata -* Can list and extract contents from filesystems that support that +* Can list and extract contents from supported filesystems * Can read several disk image formats. * Can read several known sector by sector formats with variable bytes per sector. * Can read standard sector by sector copies for optical and magnetic discs with constant bytes per sector. * Can verify sectors or disk images if supported by the underlying format +* Can dump media from ATA, ATAPI, SCSI, USB, FireWire and SDHCI drives (magnetic disks, optical discs, magnetoptical disks, flash devices, memory cards and tapes) to several supported image formats. +* Can convert between image formats. +* Include an opensource archival image format with compression and deduplication. +* Can create standard open XML metadata from existing images. +* Can measure readability and speed of media (same that can be dumped, MHDD style) +* Has an online database with drive capabilities, and can report the capabilities of any drive. +* Works on any operating system and architecture where Mono or .NET Framework is supported (drive access requires Windows, Linux or FreeBSD). +* Has a graphical interface (work in progress) + +Feature requests +================ +[![Feature Requests](http://feathub.com/discimagechef/DiscImageChef?format=svg)](http://feathub.com/discimagechef/DiscImageChef) Supported disk image formats (read-only) ======================================== @@ -88,6 +104,7 @@ Supported disk image formats (read and write) * CDRWin cue/bin cuesheets, including ones with ISOBuster extensions * CisCopy disk image (aka DC-File, .DCF) * CloneCD +* CopyTape * DataPackRat's d2f/f2d disk image format ("WC DISK IMAGE") * Digital Research DiskCopy * DiscImageChef format @@ -138,15 +155,22 @@ Supported partitioning schemes Supported file systems for read-only operations =============================================== +* 3DO Opera file system * Apple DOS file system * Apple Lisa file system * Apple Macintosh File System (MFS) +* CD-i file system * CP/M file system +* High Sierra Format +* ISO9660, including Apple, Amiga, Rock Ridge, Joliet and Romeo extensions +* Microsoft 12-bit File Allocation Table (FAT12), including Atari ST extensions +* Microsoft 16-bit File Allocation Table (FAT16) +* Microsoft 32-bit File Allocation Table (FAT32), including FAT+ extension * U.C.S.D Pascal file system +* Xbox filesystems Supported file systems for identification and information only ============================================================== -* 3DO Opera file system * Acorn Advanced Disc Filing System * Alexander Osipov DOS (AO-DOS for Electronika BK-0011) file system * Amiga Fast File System v2, untested @@ -161,7 +185,6 @@ Supported file systems for identification and information only * BSD Fast File System (FFS) / Unix File System (UFS) * BSD Unix File System 2 (UFS2) * B-tree file system (btrfs) -* CD-i file system * Coherent UNIX file system * Commodore 1540/1541/1571/1581 filesystems * Cram file system @@ -173,19 +196,14 @@ Supported file systems for identification and information only * Fossil file system (from Plan9) * HAMMER file system * High Performance Optical File System (HPOFS) -* High Sierra Format * HP Logical Interchange Format * IBM Journaling File System (JFS) -* ISO9660 * Linux extended file system * Linux extended file system 2 * Linux extended file system 3 * Linux extended file system 4 * Locus file system * MicroDOS file system -* Microsoft 12-bit File Allocation Table (FAT12), including Atari ST extensions -* Microsoft 16-bit File Allocation Table (FAT16) -* Microsoft 32-bit File Allocation Table (FAT32), including FAT+ extension * Microsoft Extended File Allocation Table (exFAT) * Microsoft/IBM High Performance File System (HPFS) * Microsoft New Technology File System (NTFS) @@ -212,7 +230,6 @@ Supported file systems for identification and information only * UnixWare boot file system * Veritas file system * VMware file system (VMFS) -* Xbox filesystems * Xenix file system * Xia filesystem * Zettabyte File System (ZFS) @@ -250,5 +267,6 @@ These disk image formats cannot be read, but their contents can be checksummed o * SuperCardPro -## License +License +======= [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fclaunia%2FDiscImageChef.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fclaunia%2FDiscImageChef?ref=badge_large) \ No newline at end of file diff --git a/DiscImageChef.Server/docs/TODO.md b/DiscImageChef.Server/docs/TODO.md index 1a4f4fb3..26224f85 100644 --- a/DiscImageChef.Server/docs/TODO.md +++ b/DiscImageChef.Server/docs/TODO.md @@ -33,7 +33,7 @@ * Add support for differencing QCOW images. (https://github.com/claunia/DiscImageChef/issues/143) * Add support for differencing QED images. (https://github.com/claunia/DiscImageChef/issues/144) * Add support for DiscFerret devices. (https://github.com/claunia/DiscImageChef/issues/140) -* Add support for dumping CD Lead-In in FreeBSD. (https://github.com/claunia/DiscImageChef/issues/113) +* Add support for dumping CD First Track Pregap in FreeBSD. (https://github.com/claunia/DiscImageChef/issues/113) * Add support for encrypted NDIF images. (https://github.com/claunia/DiscImageChef/issues/149) * Add support for encrypted QCOW2 images. (https://github.com/claunia/DiscImageChef/issues/145) * Add support for encrypted QCOW images. (https://github.com/claunia/DiscImageChef/issues/146)