X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=TODO;h=c726fc9a83ddfcb769cc0e285752f3fa4568008a;hp=b0cade9c550dedbd5c2e77bc3309df404e315244;hb=3a5bd5aba23583e64bfaabc906ca95b0f9d37578;hpb=c2c755440bceed92ca40a929f4dfe343d3265e2b diff --git a/TODO b/TODO index b0cade9..c726fc9 100644 --- a/TODO +++ b/TODO @@ -432,6 +432,71 @@ guestfish drive letters There should be an option to mount all Windows drives as separate paths, like C: => /c/, D: => /d/ etc. -Also the code which detects if a drive letter is already mounted -should be smarter: it should be able to detect if the drive is mounted -on any path (not just /) and rewrite the path accordingly. +More inspection features +------------------------ + +- last shutdown time +- DHCP address +- last time the software was updated +- last user who logged in +- lastlog, last, who + +Get the guest icon +------------------ + +- For Linux guests, use /etc/favicon.png if available, else get it in + a distro-specific manner. +- For Windows guests, parse it out of c:\windows\explorer.exe + +Integrate virt-inspector with CMDBs +----------------------------------- + +Either integrate virt-inspector with Configuration Management +Databases (CMDBs) or at least check that virt-inspector produces the +right range of data so that integration would be possible. The +standards for CMDBs come from the DMTF, see eg: + +http://dmtf.org/news/pr/2009/7/dmtf-releases-cmdbf-standard-federating-configuration-management-data + +Efficient way to visit all files +-------------------------------- + +https://rwmj.wordpress.com/2010/12/15/tip-audit-virtual-machine-for-setuid-files/#content + +A naive method would look like: + + g#visit ~return_stats:true "/" ( + fun pathname stat -> + ... + ) + +However this has two disadvantages: + + - requires hand-written custom bindings in each language + - unclear about locking, thread-safety and re-entrancy of handle g + +A better way would be to have some sort of explicit "download all +filenames and stat structures", which could then be iterated over: + + let files = g#find_opts ~return_stats:true "/" in + List.iter ( + fun pathname stat -> + ... + ) + +The problem with this is that 'files' is going to be larger than a +protocol buffer. + +This leads to thinking about changes to the protocol / generator to +make this simpler. The proposal would be to add RBigStringList, +RBigStructList [or RBig (Ranytype ...)]. These would work like +FileOut, in that they would use file streaming to stream XDR +structures (probably written to a file on the library side). +Generated code would hide most of the implementation. + +We also need to think about security issues: is it possible for the +daemon to keep sending back data forever, and if so what happens on +the library side. + +[Users can now use virt-ls to solve some of these problems, but it is +not a general solution at the API level] \ No newline at end of file