Commit Graph

34 Commits (fdf1bfa1407308613814498d71e991ddb323455d)

Author SHA1 Message Date
J. Nick Koston b86e19143d
Prevent event loop delay / instability from discovery (#57463) 2021-10-13 08:37:14 -07:00
J. Nick Koston 6e95ce70bc
Bump aiodiscover to 2.4.5 (#57439)
- Disable scanning if the network size exceeds the maximum number of
  allowed hosts (8192)

- Changelog: https://github.com/bdraco/aiodiscover/compare/v1.4.4...v1.4.5

- Closes #57378
2021-10-11 05:14:42 +02:00
J. Nick Koston be8724a6f8
Do all of dhcp scapy startup in the executor (#57392) 2021-10-10 00:00:28 -07:00
J. Nick Koston 2ed35debdc
Fix dhcp discovery matching due to deferred imports (#56814) 2021-09-29 23:50:21 -05:00
J. Nick Koston f7ef973c68
Bump aiodiscover to 1.4.4 to fix mac matching with leading 0s (#56791) 2021-09-29 13:18:13 -04:00
J. Nick Koston ff1b39cda6
Fix circular import of scapy in dhcp (#56040)
* Fix circular import of scapy in dhcp

* Tweak import, add comment

* Tweak import, add comment

* pylint
2021-09-10 10:04:54 +02:00
Erik Montnemery dd7dea9a3f
Make scapy imports in DHCP local (#55647) 2021-09-06 10:10:27 -07:00
Ville Skyttä 939fde0a50
ConfigType and async_setup/setup type hint improvements (#54739) 2021-08-18 13:22:05 +02:00
J. Nick Koston 6a5dcf0869
Handle dhcp packets without a hostname (#52882)
* Handle dhcp packets without a hostname

- Since some integrations only match on OUI we want to
  make sure they still see devices that do not request
  a specific hostname

* Update tests/components/dhcp/test_init.py

* Update homeassistant/components/dhcp/__init__.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-12 17:25:16 +02:00
J. Nick Koston d9769900bb
Bump aiodiscover to 1.4.2 (#50917) 2021-05-21 07:27:52 +02:00
J. Nick Koston aaba9766ff
Bump scapy to 2.4.5 for dhcp (#49437) 2021-04-24 15:16:52 -10:00
J. Nick Koston e10c105058
Bump aiodiscover to 1.4.0 for dhcp (#49359)
- Switches to using dnspython to generate the queries/parse them from the wire
2021-04-18 09:46:39 +02:00
Franck Nijhof 055cdc64c0
Add support for IoT class in manifest (#46935) 2021-04-15 10:21:38 +02:00
J. Nick Koston 51a7a724d6
Bump aiodiscover to 1.3.4 (#49142)
- Changelog: https://github.com/bdraco/aiodiscover/compare/v1.3.3...v1.3.4 (bumps pyroute2>=0.5.18 to fix https://github.com/svinota/pyroute2/issues/717)
2021-04-13 12:31:55 +02:00
J. Nick Koston 91821fa6ad
Name the dhcp watcher thread (#49144)
When getting py-spy reports, it is helpful to get thread names
to make it easier to track down issues.
2021-04-13 12:29:30 +02:00
Martin Hjelmare 7e30ab2fb2
Add missing internal quality scale label (#48947)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-04-10 12:37:20 +02:00
J. Nick Koston b7ae06f1bb
Bump aiodiscover to 1.3.3 for dhcp (#48644)
fixes #48615
2021-04-03 11:33:45 +02:00
J. Nick Koston f91de1c8b9
Add support for capturing renewals to dhcp discovery (#48242) 2021-03-30 15:41:12 +02:00
J. Nick Koston 6b7bcbbc96
Bump aiodiscoer to 1.3.2 for dhcp (#48489)
- Removes unused code in the library
- Cleanup a small slow memory leak
2021-03-29 17:18:54 -07:00
J. Nick Koston 569c536a8e
Bump aiodiscover to 1.3.0 to improve performance (#48482) 2021-03-30 00:37:38 +02:00
J. Nick Koston 7063306cd8
Bump aiodiscover to 1.2.0 in for dhcp (#48456)
- Additional optimizations
2021-03-29 09:17:30 +02:00
J. Nick Koston 47156151ab
Bump aiodiscover to 1.1.2 for dhcp (#48445) 2021-03-28 13:12:31 -10:00
J. Nick Koston 2ff94c8ed9
Add additional data source to dhcp (#48430) 2021-03-28 09:47:28 -10:00
J. Nick Koston 958c4764f7
Handle routers that convert hostnames to lowercase in dhcp (#48429)
Some routers will lowercase all the hostnames. Since we
already lowercase hostnames for matching purposes, we now
pass the lowercased hostname to the integration.

Currently only roomba cared about this, and has been adjusted.
2021-03-28 11:23:06 +02:00
J. Nick Koston 1dd35ff059
Catch dhcp setup permission errors sooner (#47639)
This solves an unexpected thread exception on macs when running as
a user intead of root
2021-03-08 15:15:22 -08:00
J. Nick Koston 01e73911d6
Do not listen for dhcp packets if the filter cannot be setup (#46006) 2021-02-05 00:36:55 +01:00
J. Nick Koston b9f9de0c1d
dhcp does not need promisc mode. Disable it in scapy (#46018) 2021-02-04 23:39:44 +01:00
J. Nick Koston e8cda598ac
Fix memory leak in dhcp integration (#45378)
* Fix memory leak in dhcp integration

Passing the L2socket to AsyncSniffer caused a memory
leak on some systems. To ensure we can create a socket,
we do a test creation before starting AsyncSniffer
since the sniffer will create it in another thread
and we cannot see any permission error otherwise.

* Update tests

* space

* do not store packets
2021-01-21 08:26:58 +01:00
J. Nick Koston 3ae527c158
Switch dhcp to use async sniff for faster shutdown (#45339)
* Switch dhcp to use async sniff for faster shutdown

* Do not actually start the thread since we do not know when it will finish starting
2021-01-19 20:49:49 +01:00
Robert Svensson 07c3981de7
Use methods available to verify link local address (#45309) 2021-01-19 09:15:41 +01:00
J. Nick Koston fbc98b1291
Make DHCP discovery ignore self assigned ip addresses (#45256) 2021-01-17 10:35:02 +01:00
J. Nick Koston 5e01b828af
Discover devices from device_trackers with router sources (#45160)
* Discover devices from device_trackers with router sources

* Update homeassistant/components/dhcp/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix stop being called on the wrong context

* clean

* move it to base

* cleanup was too agressive

* Update homeassistant/components/dhcp/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* coverage

* revert legacy changes

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-16 01:01:37 +01:00
J. Nick Koston 7fada806af
Downgrade dhcp log message error message when running without CAP_NET_RAW (#45157) 2021-01-14 10:46:15 -10:00
J. Nick Koston da677f7d5a
Add support for discovery via DHCP (#45087)
* Add support for discovery via DHCP

* additional tesla ouis

* merge tests

* dhcp test

* merge requirements test

* dhcp test

* dhcp discovery

* dhcp discovery

* pylint

* pylint

* pylint

* fix

* Add matching tests

* 100% cover

* cleanup

* fix codespell

* Update exception handling

* remove unneeded comment

* fix options handling exception

* fix options handling exception
2021-01-14 09:09:08 +01:00