Re: [libvirt] [PATCHv2 16/27] vbox: reject unknown flags

2011-07-13 Thread Matthias Bolte
2011/7/8 Eric Blake :
> * src/vbox/vbox_driver.c (vboxOpenDummy): Reject unknown flags.
> * src/vbox/vbox_tmpl.c (vboxOpen, vboxDomainReboot)
> (vboxNetworkOpen, vboxNetworkGetXMLDesc, vboxStorageOpen)
> (vboxStorageVolCreateXML, vboxStorageVolDelete)
> (vboxStorageVolGetXMLDesc, vboxDomainScreenshot): Likewise.
> ---
>  src/vbox/vbox_driver.c |    5 -
>  src/vbox/vbox_tmpl.c   |   44 +++-
>  2 files changed, 39 insertions(+), 10 deletions(-)

ACK.

-- 
Matthias Bolte
http://photron.blogspot.com

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

[libvirt] [PATCHv2 16/27] vbox: reject unknown flags

2011-07-08 Thread Eric Blake
* src/vbox/vbox_driver.c (vboxOpenDummy): Reject unknown flags.
* src/vbox/vbox_tmpl.c (vboxOpen, vboxDomainReboot)
(vboxNetworkOpen, vboxNetworkGetXMLDesc, vboxStorageOpen)
(vboxStorageVolCreateXML, vboxStorageVolDelete)
(vboxStorageVolGetXMLDesc, vboxDomainScreenshot): Likewise.
---
 src/vbox/vbox_driver.c |5 -
 src/vbox/vbox_tmpl.c   |   44 +++-
 2 files changed, 39 insertions(+), 10 deletions(-)

diff --git a/src/vbox/vbox_driver.c b/src/vbox/vbox_driver.c
index b20998a..430ab40 100644
--- a/src/vbox/vbox_driver.c
+++ b/src/vbox/vbox_driver.c
@@ -142,9 +142,12 @@ int vboxRegister(void) {

 static virDrvOpenStatus vboxOpenDummy(virConnectPtr conn,
   virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-  unsigned int flags ATTRIBUTE_UNUSED) {
+  unsigned int flags)
+{
 uid_t uid = getuid();

+virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
+
 if (conn->uri == NULL ||
 conn->uri->scheme == NULL ||
 STRNEQ (conn->uri->scheme, "vbox") ||
diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
index 4a0858f..6bf0950 100644
--- a/src/vbox/vbox_tmpl.c
+++ b/src/vbox/vbox_tmpl.c
@@ -961,10 +961,13 @@ static void vboxUninitialize(vboxGlobalData *data) {

 static virDrvOpenStatus vboxOpen(virConnectPtr conn,
  virConnectAuthPtr auth ATTRIBUTE_UNUSED,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
 vboxGlobalData *data = NULL;
 uid_t uid = getuid();

+virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
+
 if (conn->uri == NULL) {
 conn->uri = xmlParseURI(uid ? "vbox:///session" : "vbox:///system");
 if (conn->uri == NULL) {
@@ -1637,7 +1640,8 @@ cleanup:
 return ret;
 }

-static int vboxDomainReboot(virDomainPtr dom, unsigned int flags 
ATTRIBUTE_UNUSED) {
+static int vboxDomainReboot(virDomainPtr dom, unsigned int flags)
+{
 VBOX_OBJECT_CHECK(dom->conn, int, -1);
 IMachine *machine= NULL;
 vboxIID iid = VBOX_IID_INITIALIZER;
@@ -1646,6 +1650,8 @@ static int vboxDomainReboot(virDomainPtr dom, unsigned 
int flags ATTRIBUTE_UNUSE
 PRBool isAccessible  = PR_FALSE;
 nsresult rc;

+virCheckFlags(0, -1);
+
 vboxIIDFromUUID(&iid, dom->uuid);
 rc = VBOX_OBJECT_GET_MACHINE(iid.value, &machine);
 if (NS_FAILED(rc)) {
@@ -6938,9 +6944,12 @@ static int vboxDomainEventDeregisterAny(virConnectPtr 
conn,
  */
 static virDrvOpenStatus vboxNetworkOpen(virConnectPtr conn,
 virConnectAuthPtr auth 
ATTRIBUTE_UNUSED,
-unsigned int flags ATTRIBUTE_UNUSED) {
+unsigned int flags)
+{
 vboxGlobalData *data = conn->privateData;

+virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
+
 if (STRNEQ(conn->driver->name, "VBOX"))
 goto cleanup;

@@ -7575,7 +7584,8 @@ static int vboxNetworkDestroy(virNetworkPtr network) {
 }

 static char *vboxNetworkGetXMLDesc(virNetworkPtr network,
-   unsigned int flags ATTRIBUTE_UNUSED) {
+   unsigned int flags)
+{
 VBOX_OBJECT_HOST_CHECK(network->conn, char *, NULL);
 virNetworkDefPtr def  = NULL;
 virNetworkIpDefPtr ipdef = NULL;
@@ -7583,6 +7593,8 @@ static char *vboxNetworkGetXMLDesc(virNetworkPtr network,
 PRUnichar *networkInterfaceNameUtf16= NULL;
 IHostNetworkInterface *networkInterface = NULL;

+virCheckFlags(0, NULL);
+
 if (VIR_ALLOC(def) < 0) {
 virReportOOMError();
 goto cleanup;
@@ -7750,9 +7762,12 @@ cleanup:

 static virDrvOpenStatus vboxStorageOpen (virConnectPtr conn,
  virConnectAuthPtr auth 
ATTRIBUTE_UNUSED,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
 vboxGlobalData *data = conn->privateData;

+virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
+
 if (STRNEQ(conn->driver->name, "VBOX"))
 goto cleanup;

@@ -8098,7 +8113,8 @@ static virStorageVolPtr 
vboxStorageVolLookupByPath(virConnectPtr conn, const cha

 static virStorageVolPtr vboxStorageVolCreateXML(virStoragePoolPtr pool,
 const char *xml,
-unsigned int flags 
ATTRIBUTE_UNUSED) {
+unsigned int flags)
+{
 VBOX_OBJECT_CHECK(pool->conn, virStorageVolPtr, NULL);
 virStorageVolDefPtr  def  = NULL;
 PRUnichar *hddFormatUtf16 = NULL;
@@ -8106,6 +8122,8 @@ static virStorageVolPtr 
vboxStorageVolCreateXML(virStoragePoolPtr pool,
 virStoragePoolDef poolDef;
 nsresult rc;

+virCheckFlags(0, NULL);
+
 /* since t