Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0b3aebac9f 
							
						 
					 
					
						
						
							
							Update ext/pci to new api  
						
						... 
						
						
						
						Signed-off-by: Bahtiar `kalkin-` Gadimov <bahtiar@gadimov.de> 
						
					 
					
						2017-04-15 18:05:29 +02:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2a6266887e 
							
						 
					 
					
						
						
							
							BaseVM add DeviceAssignment xml serialization  
						
						... 
						
						
						
						Signed-off-by: Bahtiar `kalkin-` Gadimov <bahtiar@gadimov.de> 
						
					 
					
						2017-04-15 18:05:28 +02:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							990cfd8ab9 
							
						 
					 
					
						
						
							
							Migrate DeviceCollection to new API  
						
						... 
						
						
						
						- Use PersistentCollection as _set()
- attach/detach expect DeviceAssignment as parater
- attached(persistent=True) is now persistent()
- attached() returns all attached devices
- assigned() returns all attached device assignments
`#	modified:   templates/libvirt/xen.xml
Signed-off-by: Bahtiar `kalkin-` Gadimov <bahtiar@gadimov.de> 
						
					 
					
						2017-04-15 18:05:28 +02:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							23c68c5458 
							
						 
					 
					
						
						
							
							Add PersistentCollection helper to qubes.devices  
						
						
						
					 
					
						2017-04-15 18:05:27 +02:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							211e018268 
							
						 
					 
					
						
						
							
							Add DeviceAssignment  
						
						
						
					 
					
						2017-04-15 18:05:26 +02:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e52898972d 
							
						 
					 
					
						
						
							
							qvm-device validates device parameters  
						
						
						
					 
					
						2017-04-15 18:05:25 +02:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6caaa6f66d 
							
						 
					 
					
						
						
							
							qvm-device fix handling of non block devices  
						
						
						
					 
					
						2017-04-15 18:05:24 +02:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9d08e4b792 
							
						 
					 
					
						
						
							
							Fix bug in PCIDeviceExtension: decode buffer to string  
						
						
						
					 
					
						2017-04-15 18:05:12 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							96db9a46d1 
							
						 
					 
					
						
						
							
							Fix start-related asyncio integration  
						
						... 
						
						
						
						cherry-picked commit 05fc3a4 
						
					 
					
						2017-04-07 17:46:54 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							3bc4ec1e98 
							
						 
					 
					
						
						
							
							add mock libvirtaio module + pylint fixes  
						
						
						
					 
					
						2017-04-05 17:06:45 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							64d358562b 
							
						 
					 
					
						
						
							
							qubes: revert async def, use @asyncio.coroutine  
						
						... 
						
						
						
						Current pylint (any released version) stumbles on async def'ined
functions. Let's use @asyncio.coroutines for now.
Seems like python-3.5 is not that mature yet.
QubesOS/qubes-issues#2622 
QubesOS/qubes-issues#2738 
PyCQA/pylint#1126  
						
					 
					
						2017-04-05 17:05:52 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							78693c265c 
							
						 
					 
					
						
						
							
							qubes/vm/qubesvm: rework QubesVM.run*() methods  
						
						... 
						
						
						
						0) All those methods are now awaitable rather than synchronous.
1) The base method is run_service(). The method run() was rewritten
   using run_service('qubes.VMShell', input=...). There is no provision
   for running plain commands.
2) Get rid of passio*= arguments. If you'd like to get another return
   value, use another method. It's as simple as that.
   See:
      - run_service_for_stdio()
      - run_for_stdio()
   Also gone are wait= and localcmd= arguments. They are of no use
   inside qubesd.
3) The qvm-run tool and tests are left behind for now and will be fixed
   later. This is because they also need event loop, which is not
   implemented yet.
fixes  QubesOS/qubes-issues#1900 
QubesOS/qubes-issues#2622  
						
					 
					
						2017-04-05 17:05:22 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							80a06b0d8d 
							
						 
					 
					
						
						
							
							travis: bump dom0 to fedora-25  
						
						
						
					 
					
						2017-04-05 16:36:54 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							a520e8d768 
							
						 
					 
					
						
						
							
							qubes/mgmt: add missing events for permission for lifecycle  
						
						... 
						
						
						
						Thanks @marmarek for spotting this.
QubesOS/qubes-issues#2622  
						
					 
					
						2017-04-05 16:36:54 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							c437f40284 
							
						 
					 
					
						
						
							
							qubes/mgmt: lifecycle and class listing  
						
						... 
						
						
						
						- mgmt.vmclass.List
- mgmt.vm.Start
- mgmt.vm.Shutdown
- mgmt.vm.Pause
- mgmt.vm.Unpause
- mgmt.vm.Kill
QubesOS/qubes-issues#2622  
						
					 
					
						2017-04-03 21:55:01 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							45d5a1e049 
							
						 
					 
					
						
						
							
							travis: bump python to 3.5  
						
						... 
						
						
						
						QubesOS/qubes-issues#2622  
					
						2017-04-03 21:55:01 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							c4ef02c377 
							
						 
					 
					
						
						
							
							qubes/mgmt: explicit method decorator and misc improvements  
						
						... 
						
						
						
						- Get rid of @not_in_api, exchange for explicit @api() decorator.
- Old @no_payload decorator becomes an argument (keyword-only).
- Factor out AbstractQubesMgmt class to be a base class for other mgmt
  backends.
- Use async def instead of @asyncio.coroutine.
QubesOS/qubes-issues#2622  
						
					 
					
						2017-04-03 21:55:01 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							1b9479837a 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'marmarek/core3-mgmt-methods1' into core3-devel  
						
						... 
						
						
						
						Conflicts:
	qubes/mgmt.py 
						
					 
					
						2017-04-01 18:33:54 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3388054eae 
							
						 
					 
					
						
						
							
							mgmt: move property value sanitization to property definition  
						
						... 
						
						
						
						This also means we don't check if a VM with given name (in case of
VMProperty) exists in the system, at this stage. But this is ok, lets
not duplicate work of property setter.
QubesOS/qubes-issues#2622  
						
					 
					
						2017-03-31 11:55:24 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							8defc883a4 
							
						 
					 
					
						
						
							
							spec: update and tidy up python dependencies  
						
						... 
						
						
						
						QubesOS/qubes-issues#2622  
					
						2017-03-31 00:46:37 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							cce809c2cb 
							
						 
					 
					
						
						
							
							qubes/vm/qubesvm: async def start  
						
						... 
						
						
						
						QubesOS/qubes-issues#2622  
					
						2017-03-30 23:04:55 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ce3bedbf2c 
							
						 
					 
					
						
						
							
							vm: move validate_name to qubes/vm  
						
						... 
						
						
						
						This will be needed by VMProperty class in the next commit.
QubesOS/qubes-issues#2622  
						
					 
					
						2017-03-28 21:04:05 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ad456a3387 
							
						 
					 
					
						
						
							
							mgmt: minor adjustments  
						
						... 
						
						
						
						per @woju review
QubesOS/qubes-issues#2622  
						
					 
					
						2017-03-28 20:59:55 +02:00 
						 
				 
			
				
					
						
							
							
								Wojtek Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							8e3621c4e5 
							
						 
					 
					
						
						
							
							Move libviraio to core-libvirt, may be upstreamed  
						
						... 
						
						
						
						QubesOS/qubes-issues#2622  
					
						2017-03-22 15:30:55 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2c115bb648 
							
						 
					 
					
						
						
							
							mgmt: allow functions to return None if no data is to be returned  
						
						... 
						
						
						
						Don't force `return ''` everywhere.
QubesOS/qubes-issues#2622  
						
					 
					
						2017-03-17 12:49:28 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6924ec3b85 
							
						 
					 
					
						
						
							
							tests: use python3 by default  
						
						... 
						
						
						
						QubesOS/qubes-issues#2074  
					
						2017-03-16 21:10:07 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b225cefdf8 
							
						 
					 
					
						
						
							
							tests: plug coverage into run-tests  
						
						... 
						
						
						
						It makes easier to check what functions lack unit tests. 
						
					 
					
						2017-03-16 21:10:06 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f93674de1a 
							
						 
					 
					
						
						
							
							mgmt: drop ProtocolRepr  
						
						... 
						
						
						
						Since we've added type= argument to property.Get format, it isn't
useful anymore.
QubesOS/qubes-issues#2622  
						
					 
					
						2017-03-16 21:10:06 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d21f54887d 
							
						 
					 
					
						
						
							
							mgmt: add decorator for method calls not accepting payload  
						
						... 
						
						
						
						Fixes  QubesOS/qubes-issues#2687  
					
						2017-03-16 20:21:11 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8371ffcd0f 
							
						 
					 
					
						
						
							
							tests: storage and labels  
						
						... 
						
						
						
						QubesOS/qubes-issues#2622  
					
						2017-03-16 20:04:07 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2a223811a5 
							
						 
					 
					
						
						
							
							tests: add missing import  
						
						
						
					 
					
						2017-03-16 20:04:06 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f1c8f3220d 
							
						 
					 
					
						
						
							
							tests: deal with events containing dict in kwargs  
						
						... 
						
						
						
						If kwargs contains dict as one of values, it isn't hashable and can't be
used as value in frozenset/tuple. Convert such values into
frozenset(dict.items()). Only one (more) level is supported, but it
should be enough.
Solution from http://stackoverflow.com/a/13264725  
						
					 
					
						2017-03-16 20:04:06 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							beaa0e9348 
							
						 
					 
					
						
						
							
							tests/mgmt: check if argument/payload is rejected when should be  
						
						... 
						
						
						
						Instead of creating such tests for each method separately, use unittest
subTest functionality to handle all of them at once. 
						
					 
					
						2017-03-16 20:04:06 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							944bb26369 
							
						 
					 
					
						
						
							
							tests/mgmt: VM property related functions  
						
						
						
					 
					
						2017-03-16 20:04:05 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							35d1167893 
							
						 
					 
					
						
						
							
							qubes/vm/net: fix name of argument for property-del event handler  
						
						... 
						
						
						
						Since enforcing keyword arguments for event handlers, it's important now. 
						
					 
					
						2017-03-16 20:04:05 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							32f6bc2cd9 
							
						 
					 
					
						
						
							
							qubes/app: fix notifying about default_netvm change  
						
						... 
						
						
						
						Notify every VM that is affected, not only those providing network
itself. 
						
					 
					
						2017-03-16 20:04:05 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2c4303efc4 
							
						 
					 
					
						
						
							
							Prefer qubes.exc.QubesValueError over ValueError  
						
						... 
						
						
						
						This provide clearer information for UI. 
						
					 
					
						2017-03-16 20:04:05 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							010d40dc1e 
							
						 
					 
					
						
						
							
							mgmt: add label-related calls  
						
						... 
						
						
						
						QubesOS/qubes-issues#2622  
					
						2017-03-16 20:04:04 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							33f3fedca1 
							
						 
					 
					
						
						
							
							mgmt: save qubes.xml after config-modifying calls  
						
						... 
						
						
						
						In theory any call could modify config (through events), but lets keep
writes to qubes.xml low. In any case, qubes.xml will be eventually
written (either at next config-modifying call, or daemon exit). 
						
					 
					
						2017-03-16 20:04:04 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							868dbeac3e 
							
						 
					 
					
						
						
							
							mgmt: implement mgmt.vm.property.Set  
						
						... 
						
						
						
						Sanitization of input value is tricky here, and also very important at
the same time. If property define value type (and it's something more
specific than 'str'), use that. Otherwise allow only printable ASCII
characters, and let appropriate event and setter handle value.
At this point I've reviewed all QubesVM properties in this category and
added appropriate setters where needed.
QubesOS/qubes-issues#2622  
						
					 
					
						2017-03-16 20:04:03 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							da51e6f032 
							
						 
					 
					
						
						
							
							vm/qubesvm: add validator for default_user property  
						
						... 
						
						
						
						Don't allow characters potentially interfering with qrexec. To be on the
safe side, allow only alphanumeric characters + very few selected
punctuations. 
						
					 
					
						2017-03-16 20:04:03 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0f8fab088e 
							
						 
					 
					
						
						
							
							vm/qubesvm: remove pool_name property  
						
						... 
						
						
						
						It isn't used anywhere - in core3 each storage volume have pool assigned
- which may be different for each volume. 
						
					 
					
						2017-03-16 20:04:03 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2d2672ec58 
							
						 
					 
					
						
						
							
							vm/qubesvm: convert firewall_conf into dumb, read-only property  
						
						... 
						
						
						
						Don't allow anything else than firewall.xml. 
						
					 
					
						2017-03-16 20:04:03 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							123feced36 
							
						 
					 
					
						
						
							
							vm/qubesvm: forbid '/' in kernel property  
						
						... 
						
						
						
						It would give VM access to some files outside of
/var/lib/qubes/vm-kernels. 
						
					 
					
						2017-03-16 20:04:02 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a036e2a8a0 
							
						 
					 
					
						
						
							
							vm/qubesvm: improve name property setter  
						
						... 
						
						
						
						Split it into two functions: validate_name - context-less verification,
and actual _setter_name which perform additional verification in
context of actual VM.
Switch to qubes.exc.* exceptions where appropriate. 
						
					 
					
						2017-03-16 20:04:02 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							dbf2066dfd 
							
						 
					 
					
						
						
							
							mgmt: encode property type in property.Get  
						
						... 
						
						
						
						This also require having property.type public.
QubesOS/qubes-issues#2622  
						
					 
					
						2017-03-16 20:04:02 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3b36e92b6d 
							
						 
					 
					
						
						
							
							vm/qubesvm: fix few more keyword arguments for events  
						
						
						
					 
					
						2017-03-16 20:04:02 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							772293d0b5 
							
						 
					 
					
						
						
							
							vm/qubesvm: define 'updateable' as qubes.property  
						
						... 
						
						
						
						This will allow property being accessed through management API 
						
					 
					
						2017-03-16 20:04:01 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f7eabf8eb0 
							
						 
					 
					
						
						
							
							tools/qubesd: do not close connection before sending response  
						
						... 
						
						
						
						eof_received callback should return True, if connection should not be
automatically closed just after returning from it. 
						
					 
					
						2017-03-16 20:04:01 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c41585e2f5 
							
						 
					 
					
						
						
							
							Initialize dom0 label  
						
						... 
						
						
						
						It is required property. Additionally, define icon_path to None,
otherwise it tries to access dom0.dir_path, which isn't set. 
						
					 
					
						2017-03-16 20:04:01 +01:00