qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 215a27: qga: add guest-set-user-password comm


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 215a27: qga: add guest-set-user-password command
Date: Wed, 25 Feb 2015 04:00:10 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 215a2771a7b6b29037ee8deba484815d816b6fdd
      
https://github.com/qemu/qemu/commit/215a2771a7b6b29037ee8deba484815d816b6fdd
  Author: Daniel P. Berrange <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga: add guest-set-user-password command

Add a new 'guest-set-user-password' command for changing the password
of guest OS user accounts. This command is needed to enable OpenStack
to support its API for changing the admin password of guests running
on KVM/QEMU. It is not practical to provide a command at the QEMU
level explicitly targetting administrator account password change
only, since different guest OS have different names for the admin
account. While UNIX systems use 'root', Windows systems typically
use 'Administrator' and even that can be renamed. Higher level apps
like OpenStack have the ability to figure out the correct admin
account name since they have info that QEMU/libvirt do not.

The command accepts either the clear text password string, encoded
in base64 to make it 8-bit safe in JSON:

$ echo -n "123456" | base64
MTIzNDU2
$ virsh -c qemu:///system  qemu-agent-command f21x86_64 \
   '{ "execute": "guest-set-user-password",
      "arguments": { "crypted": false,
               "username": "root",
               "password": "MTIzNDU2" } }'
  {"return":{}}

Or a password that has already been run though a crypt(3) like
algorithm appropriate for the guest, again then base64 encoded:

$ echo -n '$6$n01A2Tau$e...snip...DfMOP7of9AJ1I8q0' | base64
JDYkb...snip...YT2Ey
$ virsh -c qemu:///system  qemu-agent-command f21x86_64 \
   '{ "execute": "guest-set-user-password",
      "arguments": { "crypted": true,
               "username": "root",
               "password": "JDYkb...snip...YT2Ey" } }'

NB windows support is desirable, but not implemented in this
patch.

Signed-off-by: Daniel P. Berrange <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 459db780be10f7adac723a5d3a4ffeac8ae6e768
      
https://github.com/qemu/qemu/commit/459db780be10f7adac723a5d3a4ffeac8ae6e768
  Author: Olga Krishtal <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M include/sysemu/os-win32.h
    M util/envlist.c

  Log Message:
  -----------
  utils: drop strtok_r from envlist_parse

The problem is that mingw 4.9.1 fails to compile the code with the
following warning:

/mingw/include/string.h:88:9: note: previous declaration of 'strtok_r'
was here
   char *strtok_r(char * __restrict__ _Str,
            const char * __restrict__ _Delim,
            char ** __restrict__ __last);
/include/sysemu/os-win32.h:83:7: warning: redundant redeclaration of
   'strtok_r' [-Wredundant-decls]
   char *strtok_r(char *str, const char *delim, char **saveptr);

The problem is that compiles just fine on previous versions of mingw.
Compiler version check here is not a good idea. Though fortunately
strtok_r is used only once in the code and we could simply rewrite
the code without it.

Signed-off-by: Olga Krishtal <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Eric Blake <address@hidden>
CC: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 85b6f6f53596fd29eee0a6d2475c6a4322eede6b
      
https://github.com/qemu/qemu/commit/85b6f6f53596fd29eee0a6d2475c6a4322eede6b
  Author: Simon Zolin <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  guest agent: guest-file-open: refactoring

Moved the code that sets non-blocking flag on fd into a separate function.

Signed-off-by: Simon Zolin <address@hidden>
Reviewed-by: Roman Kagan <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Michael Roth <address@hidden>
CC: Eric Blake <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: fa193594fbc27fde7c9062b3bf5c232534887ec7
      
https://github.com/qemu/qemu/commit/fa193594fbc27fde7c9062b3bf5c232534887ec7
  Author: Olga Krishtal <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M qga/commands-win32.c

  Log Message:
  -----------
  qga: implement file commands for Windows guest

The following commands are implemented:
- guest_file_open
- guest_file_close
- guest_file_write
- guest_file_read
- guest_file_seek
- guest_file_flush

Motivation is quite simple: Windows guests should be supported with the
same set of features as Linux one. Also this patch is a prerequisite for
Windows guest-exec command support.

Signed-off-by: Olga Krishtal <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: a065aaa9204ecd4a0d18f5eae49aa350a5f76b63
      
https://github.com/qemu/qemu/commit/a065aaa9204ecd4a0d18f5eae49aa350a5f76b63
  Author: zhanghailiang <address@hidden>
  Date:   2015-02-17 (Tue, 17 Feb 2015)

  Changed paths:
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga: introduce three guest memory block commmands with stubs

Introduce three new guest commands:
guest-get-memory-blocks, guest-set-memory-blocks, guest-get-memory-block-size.

With these three commands, we can support online/offline guest's memory block
(logical memory hotplug/unplug) as required from host.

Signed-off-by: zhanghailiang <address@hidden>

*generalized guest-get-memory-block-size to get-get-memory-block-info
 for future extensibility

Signed-off-by: Michael Roth <address@hidden>


  Commit: bd240fca42d5f072fb758a71720d9de9990ac553
      
https://github.com/qemu/qemu/commit/bd240fca42d5f072fb758a71720d9de9990ac553
  Author: zhanghailiang <address@hidden>
  Date:   2015-02-17 (Tue, 17 Feb 2015)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: implement qmp_guest_get_memory_blocks() for Linux with sysfs

We can get guest's memory block information by using command
"guest-get-memory-blocks", the returned value contains a list of memory block
info, such as phys-index, online state, can-offline info.

Signed-off-by: zhanghailiang <address@hidden>

*replaced guest-triggerable assertion with an error msg

Signed-off-by: Michael Roth <address@hidden>


  Commit: 32ca7927c7d66371abafb4cabfab9438a5905784
      
https://github.com/qemu/qemu/commit/32ca7927c7d66371abafb4cabfab9438a5905784
  Author: zhanghailiang <address@hidden>
  Date:   2015-02-17 (Tue, 17 Feb 2015)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: implement qmp_guest_set_memory_blocks() for Linux with sysfs

We can change guest's online/offline state of memory blocks, by using
command 'guest-set-memory-blocks'.

Signed-off-by: zhanghailiang <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: ef82b60be13b18198b84a2157f59c50fd53f5408
      
https://github.com/qemu/qemu/commit/ef82b60be13b18198b84a2157f59c50fd53f5408
  Author: zhanghailiang <address@hidden>
  Date:   2015-02-17 (Tue, 17 Feb 2015)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: implement qmp_guest_get_memory_block_info() for Linux with sysfs

This conveys general information about guest memory blocks. Currently,
just the memory block size.

The size of a memory block is architecture dependent, it represents the logical
unit upon which memory online/offline operations are to be performed.

Signed-off-by: zhanghailiang <address@hidden>

*generalized guest-get-memory-block-size to get-get-memory-block-info
 for future extensibility

Signed-off-by: Michael Roth <address@hidden>


  Commit: 0dd38a03f5e1498aabf7d053a9fab792a5eeec5c
      
https://github.com/qemu/qemu/commit/0dd38a03f5e1498aabf7d053a9fab792a5eeec5c
  Author: zhanghailiang <address@hidden>
  Date:   2015-02-17 (Tue, 17 Feb 2015)

  Changed paths:
    M qga/commands-posix.c
    M qga/commands-win32.c

  Log Message:
  -----------
  qga: add memory block command that unsupported

For memory block command, we only support for linux with sysfs.

Signed-off-by: zhanghailiang <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: ee17cbdc3c21f5cb6144a434191ffcd08b7de5fe
      
https://github.com/qemu/qemu/commit/ee17cbdc3c21f5cb6144a434191ffcd08b7de5fe
  Author: Michal Privoznik <address@hidden>
  Date:   2015-02-17 (Tue, 17 Feb 2015)

  Changed paths:
    M qga/commands-win32.c
    M qga/qapi-schema.json

  Log Message:
  -----------
  qemu-ga-win: Fail loudly on bare 'set-time'

The command is not implemented correctly yet. The documentation allows
to not pass any value to set, in which case the time is re-read from
RTC. However, reading CMOS on Windows is not trivial to implement. So
instead of pretending we've set the correct time, fail explicitly.

Signed-off-by: Michal Privoznik <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: c28d4869ea1235b80ef59d5f5e8ca96bc4155c0c
      
https://github.com/qemu/qemu/commit/c28d4869ea1235b80ef59d5f5e8ca96bc4155c0c
  Author: Peter Maydell <address@hidden>
  Date:   2015-02-25 (Wed, 25 Feb 2015)

  Changed paths:
    M include/sysemu/os-win32.h
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/qapi-schema.json
    M util/envlist.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mdroth/tags/qga-pull-2015-02-16-v2-tag' 
into staging

tag for qga-pull-2015-02-16-v2

v2:

* generalized QAPI function definition for guest-memory-block-size
  to guest-memory-block-info for future extensibility (Eric)

# gpg: Signature made Tue Feb 17 22:36:08 2015 GMT using RSA key ID F108B584
# gpg: Good signature from "Michael Roth <address@hidden>"
# gpg:                 aka "Michael Roth <address@hidden>"
# gpg:                 aka "Michael Roth <address@hidden>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: CEAC C9E1 5534 EBAB B82D  3FA0 3353 C9CE F108 B584

* remotes/mdroth/tags/qga-pull-2015-02-16-v2-tag:
  qemu-ga-win: Fail loudly on bare 'set-time'
  qga: add memory block command that unsupported
  qga: implement qmp_guest_get_memory_block_info() for Linux with sysfs
  qga: implement qmp_guest_set_memory_blocks() for Linux with sysfs
  qga: implement qmp_guest_get_memory_blocks() for Linux with sysfs
  qga: introduce three guest memory block commmands with stubs
  qga: implement file commands for Windows guest
  guest agent: guest-file-open: refactoring
  utils: drop strtok_r from envlist_parse
  qga: add guest-set-user-password command

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/73104fd399c6...c28d4869ea12

reply via email to

[Prev in Thread] Current Thread [Next in Thread]