1. 02 4月, 2014 4 次提交
    • E
      conf: move host disk type to util/ · 16ac4c9d
      Eric Blake 提交于
      A continuation of the migration of disk details to virstoragefile.
      This patch moves a single enum, but converting the name has quite
      a bit of fallout.
      
      * src/conf/domain_conf.h (virDomainDiskType): Move...
      * src/util/virstoragefile.h (virStorageType): ...and rename.
      * src/bhyve/bhyve_command.c (bhyveBuildDiskArgStr)
      (virBhyveProcessBuildLoadCmd): Update clients.
      * src/conf/domain_conf.c (virDomainDiskSourceDefParse)
      (virDomainDiskDefParseXML, virDomainDiskSourceDefFormatInternal)
      (virDomainDiskDefFormat, virDomainDiskGetActualType)
      (virDomainDiskDefForeachPath, virDomainDiskSourceIsBlockType):
      Likewise.
      * src/conf/snapshot_conf.h (_virDomainSnapshotDiskDef): Likewise.
      * src/conf/snapshot_conf.c (virDomainSnapshotDiskDefParseXML)
      (virDomainSnapshotAlignDisks, virDomainSnapshotDiskDefFormat):
      Likewise.
      * src/esx/esx_driver.c (esxAutodetectSCSIControllerModel)
      (esxDomainDefineXML): Likewise.
      * src/locking/domain_lock.c (virDomainLockManagerAddDisk):
      Likewise.
      * src/lxc/lxc_controller.c
      (virLXCControllerSetupLoopDeviceDisk)
      (virLXCControllerSetupNBDDeviceDisk)
      (virLXCControllerSetupLoopDevices, virLXCControllerSetupDisk):
      Likewise.
      * src/parallels/parallels_driver.c (parallelsGetHddInfo):
      Likewise.
      * src/phyp/phyp_driver.c (phypDiskType): Likewise.
      * src/qemu/qemu_command.c (qemuGetDriveSourceString)
      (qemuDomainDiskGetSourceString, qemuBuildDriveStr)
      (qemuBuildCommandLine, qemuParseCommandLineDisk)
      (qemuParseCommandLine): Likewise.
      * src/qemu/qemu_conf.c (qemuCheckSharedDevice)
      (qemuTranslateDiskSourcePool)
      (qemuTranslateSnapshotDiskSourcePool): Likewise.
      * src/qemu/qemu_domain.c (qemuDomainDeviceDefPostParse)
      (qemuDomainDetermineDiskChain): Likewise.
      * src/qemu/qemu_driver.c (qemuDomainGetBlockInfo)
      (qemuDomainSnapshotPrepareDiskExternalBackingInactive)
      (qemuDomainSnapshotPrepareDiskExternalBackingActive)
      (qemuDomainSnapshotPrepareDiskExternalOverlayActive)
      (qemuDomainSnapshotPrepareDiskExternalOverlayInactive)
      (qemuDomainSnapshotPrepareDiskInternal)
      (qemuDomainSnapshotPrepare)
      (qemuDomainSnapshotCreateSingleDiskActive): Likewise.
      * src/qemu/qemu_hotplug.c (qemuDomainChangeEjectableMedia):
      Likewise.
      * src/qemu/qemu_migration.c (qemuMigrationIsSafe): Likewise.
      * src/security/security_apparmor.c
      (AppArmorRestoreSecurityImageLabel)
      (AppArmorSetSecurityImageLabel): Likewise.
      * src/security/security_dac.c (virSecurityDACSetSecurityImageLabel)
      (virSecurityDACRestoreSecurityImageLabelInt)
      (virSecurityDACSetSecurityAllLabel): Likewise.
      * src/security/security_selinux.c
      (virSecuritySELinuxRestoreSecurityImageLabelInt)
      (virSecuritySELinuxSetSecurityImageLabel)
      (virSecuritySELinuxSetSecurityAllLabel): Likewise.
      * src/storage/storage_backend.c (virStorageFileBackendForType):
      Likewise.
      * src/storage/storage_backend_fs.c (virStorageFileBackendFile)
      (virStorageFileBackendBlock): Likewise.
      * src/storage/storage_backend_gluster.c
      (virStorageFileBackendGluster): Likewise.
      * src/vbox/vbox_tmpl.c (vboxDomainGetXMLDesc, vboxAttachDrives)
      (vboxDomainAttachDeviceImpl, vboxDomainDetachDevice): Likewise.
      * src/vmware/vmware_conf.c (vmwareVmxPath): Likewise.
      * src/vmx/vmx.c (virVMXParseDisk, virVMXFormatDisk)
      (virVMXFormatFloppy): Likewise.
      * src/xenxs/xen_sxpr.c (xenParseSxprDisks, xenParseSxpr)
      (xenFormatSxprDisk): Likewise.
      * src/xenxs/xen_xm.c (xenParseXM, xenFormatXMDisk): Likewise.
      * tests/securityselinuxlabeltest.c (testSELinuxLoadDef):
      Likewise.
      * src/libvirt_private.syms (domain_conf.h): Move symbols...
      (virstoragefile.h): ...as appropriate.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      16ac4c9d
    • E
      conf: split network host structs to util/ · 52fb5311
      Eric Blake 提交于
      Continuing the refactoring of host-side storage descriptions out
      of conf/domain_conf and into util/virstoragefile, this patch
      focuses on details about a host name/port/transport as used by
      a network storage volume.
      
      * src/conf/domain_conf.h (virDomainDiskProtocolTransport)
      (virDomainDiskHostDef, virDomainDiskHostDefClear)
      (virDomainDiskHostDefFree, virDomainDiskHostDefCopy): Move...
      * src/util/virstoragefile.h (virStorageNetHostTransport)
      (virStorageNetHostDef, virStorageNetHostDefClear)
      (virStorageNetHostDefFree, virStorageNetHostDefCopy): ...here,
      with better names.
      * src/util/virstoragefile.c (virStorageNetHostDefClear)
      (virStorageNetHostDefFree, virStorageNetHostDefCopy): Moved from...
      * src/conf/domain_conf.c (virDomainDiskHostDefClear)
      (virDomainDiskHostDefFree, virDomainDiskHostDefCopy): ...here.
      (virDomainDiskSourceDefClear, virDomainDiskSourceDefParse)
      (virDomainDiskSourceDefFormatInternal): Adjust callers.
      * src/conf/snapshot_conf.h (_virDomainSnapshotDiskDef): Likewise.
      * src/conf/snapshot_conf.c (virDomainSnapshotDiskDefClear):
      Likewise.
      * src/qemu/qemu_command.c (qemuAddRBDHost)
      (qemuParseDriveURIString, qemuParseNBDString)
      (qemuBuildNetworkDriveURI, qemuParseCommandLineDisk)
      (qemuParseCommandLine, qemuGetDriveSourceString): Likewise.
      * src/qemu/qemu_command.h: Likewise.
      * src/qemu/qemu_conf.c (qemuAddISCSIPoolSourceHost)
      (qemuTranslateDiskSourcePool): Likewise.
      * src/qemu/qemu_driver.c
      (qemuDomainSnapshotCreateSingleDiskActive)
      (qemuDomainSnapshotUndoSingleDiskActive): Likewise.
      * src/storage/storage_backend_gluster.c
      (virStorageFileBackendGlusterInit): Likewise.
      * src/storage/storage_driver.c (virStorageFileFree)
      (virStorageFileInitInternal): Likewise.
      * src/storage/storage_driver.h (_virStorageFile): Likewise.
      * src/libvirt_private.syms (domain_conf.h): Move symbols...
      (virstoragefile.h): ...as appropriate.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      52fb5311
    • E
      conf: split security label structs to util/ · 3e929386
      Eric Blake 提交于
      In order to reuse the newly-created host-side disk struct in
      the virstoragefile backing chain code, I first have to move
      it to util/.  This starts the process, by first moving the
      security label structures.
      
      * src/conf/domain_conf.h (virDomainDefGenSecurityLabelDef)
      (virDomainDiskDefGenSecurityLabelDef, virSecurityLabelDefFree)
      (virSecurityDeviceLabelDefFree, virSecurityLabelDef)
      (virSecurityDeviceLabelDef): Move...
      * src/util/virseclabel.h: ...to new file.
      (virSecurityLabelDefNew, virSecurityDeviceLabelDefNew): Rename the
      GenSecurity functions.
      * src/qemu/qemu_process.c (qemuProcessAttach): Adjust callers.
      * src/security/security_manager.c (virSecurityManagerGenLabel):
      Likewise.
      * src/security/security_selinux.c
      (virSecuritySELinuxSetSecurityFileLabel): Likewise.
      * src/util/virseclabel.c: New file.
      * src/conf/domain_conf.c: Move security code, and fix fallout.
      * src/Makefile.am (UTIL_SOURCES): Build new file.
      * src/libvirt_private.syms (domain_conf.h): Move symbols...
      (virseclabel.h): ...to new section.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      3e929386
    • E
      maint: ensure src/ directory includes are clean · cbfd9a61
      Eric Blake 提交于
      In 'make syntax-check', we have a rule that prevents layering
      violations between the various files in src.  However, we
      forgot to treat conf/ and the more recently-added access/ as
      lower-level directories, and were not detecting cases where
      they might have used a driver file.  Also, it's not nice that
      qemu can use storage/ but none of the other drivers could do so.
      
      * cfg.mk (sc_prohibit_cross_inclusion): Tighten rules for conf/
      and access/, let all other drivers use storage/.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      cbfd9a61
  2. 01 4月, 2014 11 次提交
    • P
      storage: gluster: Implement storage pool lookup · cb938029
      Peter Krempa 提交于
      Use the previously implemented function to lookup glusterfs source pools
      for the netfs pool to lookup native gluster pools too.
      cb938029
    • P
      storage: netfs: Support lookup of glusterfs pool sources · 05671b95
      Peter Krempa 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1072714
      
      Use the "gluster" command line tool to retrieve information about remote
      volumes on a gluster server to allow storage pool source lookup.
      
      Unfortunately gluster doesn't provide a management library so that we
      could use that directly, instead the RPC calls are hardcoded in the
      command line tool.
      05671b95
    • P
      storage: netfs: Split up and tidy up NFS storage pool source function · 18642d10
      Peter Krempa 提交于
      Extract the NFS related stuff into a separate function and tidy up the
      rest of the code so we can reuse it to add gluster backend detection.
      
      Additionally avoid reporting of errors from "showmount" and return an
      empty source list instead. This will help when adding other detection
      backends.
      18642d10
    • M
      Bump version to 1.2.4 for new dev cycle · 09544abf
      Michal Privoznik 提交于
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      09544abf
    • D
      Release of libvirt-1.2.3 · c53663cc
      Daniel Veillard 提交于
      * docs/news.html.in libvirt.spec.in: update for the release
      * po/*.po*: pull updated translations and regenerate
      c53663cc
    • M
      79752160
    • P
      gluster: Fix "key" attribute for gluster volumes · 0f6c50b9
      Peter Krempa 提交于
      According to our documentation the "key" value has the following
      meaning: "Providing an identifier for the volume which identifies a
      single volume." The currently used keys for gluster volumes consist of
      the gluster volume name and file path. This can't be considered unique
      as a different storage server can serve a volume with the same name.
      
      Unfortunately I wasn't able to figure out a way to retrieve the gluster
      volume UUID which would avoid the possibility of having two distinct
      keys identifying a single volume.
      
      Use the full URI as the key for the volume to avoid the more critical
      ambiguity problem and document the possible change to UUID.
      0f6c50b9
    • C
      storage: Rename VolOpenCheckMode to VolOpen · fa5b5549
      Cole Robinson 提交于
      Remove the original VolOpen implementation, which is now only used in
      one spot.
      fa5b5549
    • C
      847a9eb1
    • C
      storage: Rename UpdateVolInfoFlags to UpdateVolInfo · 16d75d19
      Cole Robinson 提交于
      And drop the original UpdateVolInfo. Makes it a bit easier to follow
      the function usage.
      
      And change the int parameter to an explicit bool.
      16d75d19
    • N
      Fix Memory Leak in testMessageArrayRef() · 968aae48
      Nehal J Wani 提交于
      While running virdbustest, it was found that valgrind pointed out
      the following memory leaks:
      
      ==9996== 17 (8 direct, 9 indirect) bytes in 1 blocks are definitely lost in loss record 9 of 36
      ==9996==    at 0x4A069EE: malloc (vg_replace_malloc.c:270)
      ==9996==    by 0x4A06B62: realloc (vg_replace_malloc.c:662)
      ==9996==    by 0x4C6B587: virReallocN (viralloc.c:245)
      ==9996==    by 0x4C6B6AE: virExpandN (viralloc.c:294)
      ==9996==    by 0x4C82B54: virDBusMessageDecodeArgs (virdbus.c:907)
      ==9996==    by 0x4C83463: virDBusMessageDecode (virdbus.c:1141)
      ==9996==    by 0x402C45: testMessageArrayRef (virdbustest.c:273)
      ==9996==    by 0x404E71: virtTestRun (testutils.c:201)
      ==9996==    by 0x401C2D: mymain (virdbustest.c:479)
      ==9996==    by 0x4055ED: virtTestMain (testutils.c:789)
      ==9996==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      ==9996==
      ==9996== 28 (16 direct, 12 indirect) bytes in 1 blocks are definitely lost in loss record 12 of 36
      ==9996==    at 0x4A06BE0: realloc (vg_replace_malloc.c:662)
      ==9996==    by 0x4C6B587: virReallocN (viralloc.c:245)
      ==9996==    by 0x4C6B6AE: virExpandN (viralloc.c:294)
      ==9996==    by 0x4C82B54: virDBusMessageDecodeArgs (virdbus.c:907)
      ==9996==    by 0x4C83463: virDBusMessageDecode (virdbus.c:1141)
      ==9996==    by 0x402C45: testMessageArrayRef (virdbustest.c:273)
      ==9996==    by 0x404E71: virtTestRun (testutils.c:201)
      ==9996==    by 0x401C2D: mymain (virdbustest.c:479)
      ==9996==    by 0x4055ED: virtTestMain (testutils.c:789)
      ==9996==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      ==9996==
      Signed-off-by: NEric Blake <eblake@redhat.com>
      968aae48
  3. 31 3月, 2014 7 次提交
  4. 30 3月, 2014 3 次提交
    • D
      ESX: Add support for virtualHW version 10 · 5cc3cce5
      Dawid Zamirski 提交于
      This follows the same pattern when v8 and v9 were added. I've tested
      this with my ESX 5.5 and seems to work fine.
      5cc3cce5
    • M
      Prohibit Windows special chars in filenames · 8f21ae70
      Matthias Bolte 提交于
      Using any of these chars [:*?"<>|] in a filename is forbidden on
      Windows and breaks git operations on Windows as git is not able
      to create those files/directories on clone or pull.
      
      Because some of them can be used in UNIX filenames they tend to
      creep into filenames; especially : in PCI/SCSI device names that
      are used as filenames in test cases.
      8f21ae70
    • M
      tests: Fix SCSI test data filenames for Windows · d20539a4
      Matthias Bolte 提交于
      Windows doesn't allow : in filenames.
      
      Commit 6fdece9a added files with a : in
      their names. This broke git operations on Windows as git is not able to
      create those files on clone or pull.
      
      Replace : with - in the offending filenames and adapt the test case.
      As the tested Linux specific code expects the files to exist with : in
      their path use symlinks to provide the name that way.
      d20539a4
  5. 29 3月, 2014 1 次提交
  6. 28 3月, 2014 2 次提交
  7. 27 3月, 2014 10 次提交
    • C
      Fix apparmor profile to make vfio pci passthrough work · 74e86b6b
      Cédric Bosdonnat 提交于
      See lp#1276719 for the bug description. As virt-aa-helper doesn't know
      the VFIO groups to use for the guest, allow access to all
      /dev/vfio/[0-9]* and /dev/vfio/vfio files if there is a potential need
      for vfio
      Signed-off-by: NEric Blake <eblake@redhat.com>
      74e86b6b
    • C
    • N
      Fix Memory Leak in virQEMUCapsInitGuestFromBinary() · faad5582
      Nehal J Wani 提交于
      While running qemucaps2xmltest, it was found that valgrind pointed out
      the following memory leaks:
      
      ==29896== 0 bytes in 1 blocks are definitely lost in loss record 1 of 65
      ==29896==    at 0x4A0577B: calloc (vg_replace_malloc.c:593)
      ==29896==    by 0x4C6B45E: virAllocN (viralloc.c:191)
      ==29896==    by 0x4232A9: virQEMUCapsGetMachineTypesCaps (qemu_capabilities.c:1999)
      ==29896==    by 0x4234E7: virQEMUCapsInitGuestFromBinary (qemu_capabilities.c:789)
      ==29896==    by 0x41F10B: testQemuCapsXML (qemucaps2xmltest.c:118)
      ==29896==    by 0x41FFD1: virtTestRun (testutils.c:201)
      ==29896==    by 0x41EE7A: mymain (qemucaps2xmltest.c:203)
      ==29896==    by 0x42074D: virtTestMain (testutils.c:789)
      ==29896==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      ==29896==
      ==29896== 0 bytes in 1 blocks are definitely lost in loss record 2 of 65
      ==29896==    at 0x4A0577B: calloc (vg_replace_malloc.c:593)
      ==29896==    by 0x4C6B45E: virAllocN (viralloc.c:191)
      ==29896==    by 0x4232A9: virQEMUCapsGetMachineTypesCaps (qemu_capabilities.c:1999)
      ==29896==    by 0x4234E7: virQEMUCapsInitGuestFromBinary (qemu_capabilities.c:789)
      ==29896==    by 0x41F10B: testQemuCapsXML (qemucaps2xmltest.c:118)
      ==29896==    by 0x41FFD1: virtTestRun (testutils.c:201)
      ==29896==    by 0x41EEA3: mymain (qemucaps2xmltest.c:204)
      ==29896==    by 0x42074D: virtTestMain (testutils.c:789)
      ==29896==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      Signed-off-by: NEric Blake <eblake@redhat.com>
      faad5582
    • H
      util: fix a typo in virprocess.c and docs · b2ed4f68
      Hongwei Bi 提交于
      s/forcably/forcibly
      Signed-off-by: NHongwei Bi <hwbi2008@gmail.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b2ed4f68
    • L
      Modify help information of virsh list command · 09bfe110
      Li Yang 提交于
      Use 'virsh list domain --title' option can get domain's title,
      not description, the original help information 'show short
      domain description' will confuse users, so modify it to
      'show domain title'
      Signed-off-by: NLi Yang <liyang.fnst@cn.fujitsu.com>
      09bfe110
    • J
      docs: cgroups: fix typo about LXC cgroups · 03c96787
      Jean-Baptiste Rouault 提交于
      03c96787
    • W
      bhyve: add domainLookupByID · 8433de2e
      Wojciech Macek 提交于
      Implement domain lookup by its ID.
      8433de2e
    • N
      Fix memory leak in testGetCaps() · 4154c4e9
      Nehal J Wani 提交于
      While running qemucaps2xmltest, it was found that valgrind pointed out
      the following memory leaks:
      
      ==27045== 160 (112 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 51 of 65
      ==27045==    at 0x4A0577B: calloc (vg_replace_malloc.c:593)
      ==27045==    by 0x4C6BACD: virAllocVar (viralloc.c:560)
      ==27045==    by 0x4CAF095: virObjectNew (virobject.c:193)
      ==27045==    by 0x421453: virQEMUCapsNew (qemu_capabilities.c:1805)
      ==27045==    by 0x41F04F: testQemuCapsXML (qemucaps2xmltest.c:72)
      ==27045==    by 0x41FFD1: virtTestRun (testutils.c:201)
      ==27045==    by 0x41EE7A: mymain (qemucaps2xmltest.c:203)
      ==27045==    by 0x42074D: virtTestMain (testutils.c:789)
      ==27045==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      ==27045==
      ==27045== 160 (112 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 52 of 65
      ==27045==    at 0x4A0577B: calloc (vg_replace_malloc.c:593)
      ==27045==    by 0x4C6BACD: virAllocVar (viralloc.c:560)
      ==27045==    by 0x4CAF095: virObjectNew (virobject.c:193)
      ==27045==    by 0x421453: virQEMUCapsNew (qemu_capabilities.c:1805)
      ==27045==    by 0x41F04F: testQemuCapsXML (qemucaps2xmltest.c:72)
      ==27045==    by 0x41FFD1: virtTestRun (testutils.c:201)
      ==27045==    by 0x41EEA3: mymain (qemucaps2xmltest.c:204)
      ==27045==    by 0x42074D: virtTestMain (testutils.c:789)
      ==27045==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      4154c4e9
    • R
      bhyve: add xml2args unittest · 1994d2dd
      Roman Bogorodskiy 提交于
      At this point unittest covers 4 basic cases:
      
       - minimal working XML for bhyve
       - same as above, but with virtio disk
       - ACPI and APIC args test
       - MAC address test
      1994d2dd
    • R
      Move virBhyveTapGetRealDeviceName to virnetdevtap · a1bd8d25
      Roman Bogorodskiy 提交于
      To ease mocking for bhyve unit tests move virBhyveTapGetRealDeviceName()
      out of bhyve_command.c to virnetdevtap and rename it to
      virNetDevTapGetRealDeviceName().
      a1bd8d25
  8. 26 3月, 2014 2 次提交
    • L
      network: fix problems with SRV records · 6612d1ad
      Laine Stump 提交于
      A patch submitted by Steven Malin last week pointed out a problem with
      libvirt's DNS SRV record configuration:
      
        https://www.redhat.com/archives/libvir-list/2014-March/msg00536.html
      
      When searching for that message later, I found another series that had
      been posted by Guannan Ren back in 2012 that somehow slipped between
      the cracks:
      
        https://www.redhat.com/archives/libvir-list/2012-July/msg00236.html
      
      That patch was very much out of date, but also pointed out some real
      problems.
      
      This patch fixes all the noted problems by refactoring
      virNetworkDNSSrvDefParseXML() and networkDnsmasqConfContents(), then
      verifies those fixes by added several new records to the test case.
      
      Problems fixed:
      
      * both service and protocol now have an underscore ("_") prepended on
        the commandline, as required by RFC2782.
      
        <srv service='sip' protocol='udp' domain='example.com'
             target='tests.example.com' port='5060' priority='10'
             weight='150'/>
      
        before: srv-host=sip.udp.example.com,tests.example.com,5060,10,150
        after:  srv-host=_sip._udp.example.com,tests.example.com,5060,10,150
      
      * if "domain" wasn't specified in the <srv> element, the extra
        trailing "." will no longer be added to the dnsmasq commandline.
      
        <srv service='sip' protocol='udp' target='tests.example.com'
             port='5060' priority='10' weight='150'/>
      
        before: srv-host=sip.udp.,tests.example.com,5060,10,150
        after:  srv-host=_sip._udp,tests.example.com,5060,10,150
      
      * when optional attributes aren't specified, the separating comma is
        also now not placed on the dnsmasq commandline. If optional
        attributes in the middle of the line are not specified, they are
        replaced with a default value in the commandline (1 for port, 0 for
        priority and weight).
      
        <srv service='sip' protocol='udp' target='tests.example.com'
             port='5060'/>
      
        before: srv-host=sip.udp.,tests.example.com,5060,,
        after:  srv-host=_sip._udp,tests.example.com,5060
      
        (actually the would have generated an error, because "optional"
        attributes weren't really optional.)
      
      * The allowed characters for both service and protocol are now limited
        to alphanumerics, plus a few special characters that are found in
        existing names in /etc/services and /etc/protocols. (One exception
        is that both of these files contain names with an embedded ".", but
        "."  can't be used in these fields of an SRV record because it is
        used as a field separator and there is no method to escape a "."
        into a field.) (Previously only the strings "tcp" and "udp" were
        allowed for protocol, but this restriction has been removed, since
        RFC2782 specifically says that it isn't limited to those, and that
        anyway it is case insensitive.)
      
      * the "domain" attribute is no longer required in order to recognize
        the port, priority, and weight attributes during parsing. Only
        "target" is required for this.
      
      * if "target" isn't specified, port, priority, and weight are not
        allowed (since they are meaningless - an empty target means "this
        service is *not available* for this domain").
      
      * port, priority, and weight are now truly optional, as the comments
        originally suggested, but which was not actually true.
      6612d1ad
    • J
      Shift the for loop over matched vars by one · 9d430686
      Ján Tomko 提交于
      Instead of adding one to the iterator on every use.
      9d430686