1. 12 12月, 2018 1 次提交
  2. 22 6月, 2018 1 次提交
  3. 04 9月, 2017 1 次提交
    • M
      qapi-schema: Improve section headings · f5cf31c5
      Markus Armbruster 提交于
      The generated QEMU QMP reference is now structured as follows:
      
          1.1 Introduction
          1.2 Stability Considerations
          1.3 Common data types
          1.4 Socket data types
          1.5 VM run state
          1.6 Cryptography
          1.7 Block devices
          1.7.1 Block core (VM unrelated)
          1.7.2 QAPI block definitions (vm unrelated)
          1.8 Character devices
          1.9 Net devices
          1.10 Rocker switch device
          1.11 TPM (trusted platform module) devices
          1.12 Remote desktop
          1.12.1 Spice
          1.12.2 VNC
          1.13 Input
          1.14 Migration
          1.15 Transactions
          1.16 Tracing
          1.17 QMP introspection
          1.18 Miscellanea
      
      Section "1.18 Miscellanea" is still too big: it documents 134 symbols.
      Section "1.7.1 Block core (VM unrelated)" is also rather big: 128
      symbols.  All the others are of reasonable size.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <1503602048-12268-17-git-send-email-armbru@redhat.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      f5cf31c5
  4. 16 3月, 2017 1 次提交
    • M
      qapi: The #optional tag is redundant, drop · 1d8bda12
      Markus Armbruster 提交于
      We traditionally mark optional members #optional in the doc comment.
      Before commit 3313b612, this was entirely manual.
      
      Commit 3313b612 added some automation because its qapi2texi.py relied
      on #optional to determine whether a member is optional.  This is no
      longer the case since the previous commit: the only thing qapi2texi.py
      still does with #optional is stripping it out.  We still reject bogus
      qapi-schema.json and six places for qga/qapi-schema.json.
      
      Thus, you can't actually rely on #optional to see whether something is
      optional.  Yet we still make people add it manually.  That's just
      busy-work.
      
      Drop the code to check, fix up and strip out #optional, along with all
      instances of #optional.  To keep it out, add code to reject it, to be
      dropped again once the dust settles.
      
      No change to generated documentation.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1489582656-31133-18-git-send-email-armbru@redhat.com>
      1d8bda12
  5. 16 1月, 2017 1 次提交
  6. 21 12月, 2016 1 次提交
  7. 06 12月, 2016 1 次提交
  8. 19 10月, 2016 1 次提交
  9. 19 9月, 2016 2 次提交
  10. 26 7月, 2016 1 次提交
  11. 04 7月, 2016 1 次提交
  12. 18 3月, 2016 1 次提交
  13. 17 3月, 2016 6 次提交
  14. 23 12月, 2015 2 次提交
  15. 19 12月, 2015 1 次提交
    • D
      crypto: add QCryptoSecret object class for password/key handling · ac1d8878
      Daniel P. Berrange 提交于
      Introduce a new QCryptoSecret object class which will be used
      for providing passwords and keys to other objects which need
      sensitive credentials.
      
      The new object can provide secret values directly as properties,
      or indirectly via a file. The latter includes support for file
      descriptor passing syntax on UNIX platforms. Ordinarily passing
      secret values directly as properties is insecure, since they
      are visible in process listings, or in log files showing the
      CLI args / QMP commands. It is possible to use AES-256-CBC to
      encrypt the secret values though, in which case all that is
      visible is the ciphertext.  For ad hoc developer testing though,
      it is fine to provide the secrets directly without encryption
      so this is not explicitly forbidden.
      
      The anticipated scenario is that libvirtd will create a random
      master key per QEMU instance (eg /var/run/libvirt/qemu/$VMNAME.key)
      and will use that key to encrypt all passwords it provides to
      QEMU via '-object secret,....'.  This avoids the need for libvirt
      (or other mgmt apps) to worry about file descriptor passing.
      
      It also makes life easier for people who are scripting the
      management of QEMU, for whom FD passing is significantly more
      complex.
      
      Providing data inline (insecure, only for ad hoc dev testing)
      
        $QEMU -object secret,id=sec0,data=letmein
      
      Providing data indirectly in raw format
      
        printf "letmein" > mypasswd.txt
        $QEMU -object secret,id=sec0,file=mypasswd.txt
      
      Providing data indirectly in base64 format
      
        $QEMU -object secret,id=sec0,file=mykey.b64,format=base64
      
      Providing data with encryption
      
        $QEMU -object secret,id=master0,file=mykey.b64,format=base64 \
              -object secret,id=sec0,data=[base64 ciphertext],\
      	           keyid=master0,iv=[base64 IV],format=base64
      
      Note that 'format' here refers to the format of the ciphertext
      data. The decrypted data must always be in raw byte format.
      
      More examples are shown in the updated docs.
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      ac1d8878
  16. 15 9月, 2015 1 次提交
    • D
      crypto: introduce new base module for TLS credentials · a090187d
      Daniel P. Berrange 提交于
      Introduce a QCryptoTLSCreds class to act as the base class for
      storing TLS credentials. This will be later subclassed to provide
      handling of anonymous and x509 credential types. The subclasses
      will be user creatable objects, so instances can be created &
      deleted via 'object-add' and 'object-del' QMP commands respectively,
      or via the -object command line arg.
      
      If the credentials cannot be initialized an error will be reported
      as a QMP reply, or on stderr respectively.
      
      The idea is to make it possible to represent and manage TLS
      credentials independently of the network service that is using
      them. This will enable multiple services to use the same set of
      credentials and minimize code duplication. A later patch will
      convert the current VNC server TLS code over to use this object.
      
      The representation of credentials will be functionally equivalent
      to that currently implemented in the VNC server with one exception.
      The new code has the ability to (optionally) load a pre-generated
      set of diffie-hellman parameters, if the file dh-params.pem exists,
      whereas the current VNC server will always generate them on startup.
      This is beneficial for admins who wish to avoid the (small) time
      sink of generating DH parameters at startup and/or avoid depleting
      entropy.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      a090187d