Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow users to add free-form text to qubes (for descriptions, notes, comments, remarks, reminders, etc.) #899

Open
marmarek opened this issue Mar 8, 2015 · 28 comments
Labels
C: manager/widget P: major Priority: major. Between "default" and "critical" in severity. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. ux User experience

Comments

@marmarek
Copy link
Member

marmarek commented Mar 8, 2015

Reported by Oleg Artemiev grey olli on 12 Sep 2014 08:14 UTC
It could be usefull to have a text description for a VM in its
properties to document changes/difference.
https://groups.google.com/d/topic/qubes-users/uYCcOqIeF5k/discussion

Migrated-From: https://wiki.qubes-os.org/ticket/899

@marmarek marmarek added this to the Release 2.1 (post R2) milestone Mar 8, 2015
@marmarek marmarek added T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. C: manager/widget P: minor Priority: minor. The lowest priority, below "default." labels Mar 8, 2015
@marmarek
Copy link
Member Author

marmarek commented Mar 8, 2015

Modified by marmarek on 12 Sep 2014 08:14 UTC

@marmarek marmarek added T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. and removed T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. labels Mar 8, 2015
@marmarek
Copy link
Member Author

marmarek commented Mar 8, 2015

Comment by joanna on 12 Sep 2014 09:25 UTC
Would be more logical to do that in R3, as part of our qubes.xml revamping.

@marmarek marmarek modified the milestones: Release 3, Release 2.1 (post R2) Mar 8, 2015
@marmarek marmarek modified the milestones: Release 4.0, Release 3.0 May 13, 2015
@marmarek marmarek added the help wanted This issue will probably not get done in a timely fashion without help from community contributors. label Jul 14, 2015
@Jeeppler
Copy link

I would like to work on this issue (see https://groups.google.com/forum/#!topic/qubes-devel/t32l-0BjlLs).

@marmarek
Copy link
Member Author

@bnvk is working on new Qubes Manager, please coordinate.

@Jeeppler
Copy link

Jeeppler commented Jul 26, 2016

Is this still relevant, after decomposing the Qubes Manager? How would it look like? Would it be something like a qvm-description tool? I would love to have a VM description.

@marmarek
Copy link
Member Author

On Tue, Jul 26, 2016 at 02:10:35PM -0700, Jeppler wrote:

Is this still relevant, after decomposing the Qubes Manager? How would it look like? Would it be something like a qvm-description tool? I would love to have a VM description.

I think this may be simply a VM property, accessible using qvm-prefs.
How to present it in GUI is unrelated to this ticket.

Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

@Jeeppler
Copy link

Perfect. @marmarek are you considering to implement it as qvm-prefs property in Q R4?

@andrewdavidwong
Copy link
Member

It's worth thinking about how this is related to #865, i.e., defining and disambigutating these possible properties of VMs:

  • Description
  • Tag
  • Attribute

@Jeeppler
Copy link

Jeeppler commented Aug 4, 2016

I would like to see "Tags" the plural form to do something like: -dev -> tags: work, project

It would be nice to have a "last started" property. This would be helpful to see if the machines are used regularly or have been used a long time ago.

@Jeeppler
Copy link

Jeeppler commented Aug 4, 2016

What would be the "Attribute" property? It seems a little bit generic.

@andrewdavidwong
Copy link
Member

andrewdavidwong commented Aug 5, 2016

Yes, "last started" would be useful, especially when trying to decide whether a VM needs to be included in a backup. (If the "last started" date is the same or earlier than the "last backup" date, then it probably doesn't need to be backed up again.)

But this is different from a "VM description," so here's a new issue for it: #2230

@marmarek
Copy link
Member Author

marmarek commented Aug 6, 2016

I would like to see "Tags" the plural form to do something like: -dev -> tags: work, project

Yes, that's how it is in Qubes 4.0.

What would be the "Attribute" property? It seems a little bit generic.

That's generic name for tag with some value (so, not only "present"/"absent") ;)

@marmarek
Copy link
Member Author

marmarek commented Apr 1, 2017

But if we allow non-ASCII characters in description.txt, which also gets imported and rendered in dom0, then we've reintroduced adversary-controlled non-ASCII text rendered in dom0. Is that a problem?

Ah, indeed this may be a problem. I see a few options:

  • don't import description.txt as part of the VM importing
  • strip it of dangerous characters (which also will include <, & etc, to avoid triggering some HTML or other parsers)

@rootkovska
Copy link
Member

  1. I like keeping description as a separate file, not to pollute the XML file.

  2. I think coming up with a general method to sanitize description would be tricky. We don't know what widget/application will finally want to display it. This is potentially much harder to reasonable sanitation of titlebars.

  3. So, instead, I would go for ignoring it while... well that's the challenge: we can't just say: ignore it only for imported VMs (restoring VMs previously qvm-exported by someone else), while retain for those imported from a backup, easily. Can we?

  4. We should aim at treating any qvm-backup-restore operation as potentially untrusted. The ultimate goal for qvm-backup-restore should be that, even if the backup was made on a compromised Qubes system, than the new system (where we restoring to) should not get compromised -- i.e. neither Dom0, nor the hypervisor, and firmware, etc, should not be affected (this of course assumes the user opting out from restoring the Dom0 home dir, which often can be used with minimal PITA).

BTW just to double check, @andrewdavidwong: the scenario you really mean is qvm-backup-restore importing a previously qvm-exported (by someone else) VM, correct?

@marmarek
Copy link
Member Author

marmarek commented Apr 1, 2017 via email

@andrewdavidwong
Copy link
Member

BTW just to double check, @andrewdavidwong: the scenario you really mean is qvm-backup-restore importing a previously qvm-exported (by someone else) VM, correct?

If qvm-backup-restore is the tool used to import VMs that have been created (and potentially shared) with the qvm-export-vm tool (#1747), then yes. However, #1747 doesn't specify whether it would be qvm-backup-restore or a new tool, e.g., qvm-import-vm.

Yes, we can simply ignore this file during VM import - this will be a
separate tool, so it can have separate logic for handling this.

Ok, sounds like it would indeed be a new tool (e.g., qvm-import-vm).

@rootkovska
Copy link
Member

Yes, we can simply ignore this file during VM import - this will be a
separate tool, so it can have separate logic for handling this.

But the doesn't solve the problem that we still want to have qvm-backup-restore to be resistant to a compromise if the previous system (on which qvm-bakup/qvm-export were run) was compromised.

Perhaps a solution to this would be to add a switch to qvm-backup-restore: e.g. `--distrust-backup", which would imply: 1) don't restore Dom0 homedir, 2) ignore VM description files, 3) perhaps some other things, TBD in another ticket.

And, yes, having a separate qvm-import tool, which always ignores description.txt files.

@iamahuman

This comment has been minimized.

@marmarek
Copy link
Member Author

marmarek commented Feb 7, 2021

See #899 (comment) why it isn't a good idea.

@andrewdavidwong andrewdavidwong removed this from the Release 4.2 milestone Aug 13, 2023
@andrewdavidwong andrewdavidwong added P: major Priority: major. Between "default" and "critical" in severity. and removed P: minor Priority: minor. The lowest priority, below "default." labels Sep 22, 2023
@andrewdavidwong andrewdavidwong changed the title VM description Allow users to add free-form text to qubes (for descriptions, notes, etc.) Sep 22, 2023
@andrewdavidwong andrewdavidwong changed the title Allow users to add free-form text to qubes (for descriptions, notes, etc.) Allow users to add free-form text to qubes (for descriptions, notes, comments, remarks, reminders, etc.) Sep 22, 2023
@andrewdavidwong andrewdavidwong removed the help wanted This issue will probably not get done in a timely fashion without help from community contributors. label Sep 22, 2023
@andrewdavidwong
Copy link
Member

andrewdavidwong commented Sep 22, 2023

(Consolidated several duplicate issues into this one, increased priority, and removed "help wanted." They were last set many years ago, and there seems to be noticeable demand for this feature. This is just to prompt reevaluation, not any kind of authoritative decision. @marmarek, feel free to put them back.)

@HerzogM
Copy link

HerzogM commented Oct 11, 2023

I really hope this will be addressed. I keep finding myself wanting to have a textbox in a qube’s settings to make remarks, comments or a description for that qube. Things I want to remember for that qube, a description for how this qube is intended to be used, warnings, hints etc.
The name field for the qube is not sufficient for this purpose and it would result in too long qube names if I made the name too verbose. So maybe the devs can consider giving the settings a textarea for this purpose?

@DemiMarie DemiMarie added the ux User experience label Oct 14, 2023
@DemiMarie
Copy link

Assigning to @marmarta because the vast majority of the work here is UX related. The backend part (saving stuff in qubes.xml) is trivial in comparison.

@marmarta marmarta removed their assignment Mar 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: manager/widget P: major Priority: major. Between "default" and "critical" in severity. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. ux User experience
Projects
None yet
Development

No branches or pull requests

8 participants