recog 2.3.20 → 2.3.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/ci.yml +1 -1
  4. data/.github/workflows/verify.yml +89 -0
  5. data/.vscode/bin/monitor-recog-fingerprints.sh +54 -0
  6. data/.vscode/extensions.json +5 -0
  7. data/.vscode/settings.json +8 -0
  8. data/.vscode/tasks.json +77 -0
  9. data/CONTRIBUTING.md +8 -0
  10. data/README.md +17 -0
  11. data/bin/recog_standardize +28 -13
  12. data/bin/recog_verify +42 -8
  13. data/cpe-remap.yaml +62 -3
  14. data/features/data/schema_failure.xml +4 -0
  15. data/features/data/tests_with_failures.xml +6 -0
  16. data/features/support/hooks.rb +9 -0
  17. data/features/verify.feature +85 -21
  18. data/identifiers/fields.txt +6 -5
  19. data/identifiers/hw_device.txt +8 -0
  20. data/identifiers/hw_family.txt +8 -0
  21. data/identifiers/hw_product.txt +54 -0
  22. data/identifiers/os_device.txt +2 -0
  23. data/identifiers/os_family.txt +2 -0
  24. data/identifiers/os_product.txt +18 -2
  25. data/identifiers/service_product.txt +26 -0
  26. data/identifiers/vendor.txt +62 -1
  27. data/lib/recog/db.rb +2 -1
  28. data/lib/recog/fingerprint.rb +33 -6
  29. data/lib/recog/fingerprint_parse_error.rb +10 -0
  30. data/lib/recog/nizer.rb +1 -82
  31. data/lib/recog/verifier.rb +9 -9
  32. data/lib/recog/verify_reporter.rb +17 -6
  33. data/lib/recog/version.rb +1 -1
  34. data/requirements.txt +1 -1
  35. data/spec/data/external_example_fingerprint/hp_printer_ex_01.txt +1 -0
  36. data/spec/data/external_example_fingerprint/hp_printer_ex_02.txt +1 -0
  37. data/spec/data/external_example_fingerprint.xml +8 -0
  38. data/spec/data/external_example_illegal_path_fingerprint.xml +7 -0
  39. data/spec/lib/fingerprint_self_test_spec.rb +1 -0
  40. data/spec/lib/recog/db_spec.rb +84 -61
  41. data/spec/lib/recog/fingerprint_spec.rb +4 -4
  42. data/spec/lib/recog/verify_reporter_spec.rb +73 -4
  43. data/tools/dev/hooks/pre-commit +21 -0
  44. data/update_cpes.py +130 -37
  45. data/xml/apache_os.xml +98 -56
  46. data/xml/architecture.xml +15 -1
  47. data/xml/dhcp_vendor_class.xml +206 -0
  48. data/xml/dns_versionbind.xml +26 -13
  49. data/xml/favicons.xml +236 -47
  50. data/xml/fingerprints.xsd +9 -1
  51. data/xml/ftp_banners.xml +213 -197
  52. data/xml/h323_callresp.xml +101 -101
  53. data/xml/hp_pjl_id.xml +84 -84
  54. data/xml/html_title.xml +715 -45
  55. data/xml/http_cookies.xml +143 -80
  56. data/xml/http_servers.xml +510 -310
  57. data/xml/http_wwwauth.xml +177 -75
  58. data/xml/imap_banners.xml +10 -10
  59. data/xml/mdns_device-info_txt.xml +421 -26
  60. data/xml/mysql_banners.xml +3 -2
  61. data/xml/nntp_banners.xml +12 -9
  62. data/xml/ntp_banners.xml +97 -97
  63. data/xml/operating_system.xml +98 -83
  64. data/xml/pop_banners.xml +27 -27
  65. data/xml/rsh_resp.xml +3 -3
  66. data/xml/sip_banners.xml +46 -8
  67. data/xml/sip_user_agents.xml +180 -27
  68. data/xml/smb_native_lm.xml +5 -5
  69. data/xml/smb_native_os.xml +28 -25
  70. data/xml/smtp_banners.xml +258 -254
  71. data/xml/smtp_ehlo.xml +1 -1
  72. data/xml/smtp_help.xml +11 -11
  73. data/xml/smtp_noop.xml +2 -2
  74. data/xml/snmp_sysdescr.xml +1554 -1429
  75. data/xml/snmp_sysobjid.xml +27 -27
  76. data/xml/ssh_banners.xml +27 -20
  77. data/xml/telnet_banners.xml +256 -57
  78. data/xml/tls_jarm.xml +48 -6
  79. data/xml/x11_banners.xml +3 -3
  80. data/xml/x509_issuers.xml +69 -2
  81. data/xml/x509_subjects.xml +144 -33
  82. metadata +24 -4
  83. data/lib/recog/verifier_factory.rb +0 -13
data/xml/favicons.xml CHANGED
@@ -75,7 +75,7 @@
75
75
  <param pos="0" name="service.cpe23" value="cpe:/a:apache:tomcat:-"/>
76
76
  </fingerprint>
77
77
 
78
- <fingerprint pattern="^(?:b6341dfc213100c61db4fb8775878cec|cf2445dcb53a031c02f9b57e2199bc03)$">
78
+ <fingerprint pattern="^b6341dfc213100c61db4fb8775878cec|cf2445dcb53a031c02f9b57e2199bc03$">
79
79
  <description>Drupal CMS</description>
80
80
  <example>b6341dfc213100c61db4fb8775878cec</example>
81
81
  <example>cf2445dcb53a031c02f9b57e2199bc03</example>
@@ -102,7 +102,7 @@
102
102
  <param pos="0" name="service.certainty" value="0.5"/>
103
103
  </fingerprint>
104
104
 
105
- <fingerprint pattern="^(?:268ee26a1219a611828d5fd4bc4d69c0|5a84c349c00d95c8ebd174ded3b50a86|2b37c7f35285c341ec1f2cf7e40a3c22)$">
105
+ <fingerprint pattern="^268ee26a1219a611828d5fd4bc4d69c0|5a84c349c00d95c8ebd174ded3b50a86|2b37c7f35285c341ec1f2cf7e40a3c22$">
106
106
  <description>Jenkins</description>
107
107
  <example>268ee26a1219a611828d5fd4bc4d69c0</example>
108
108
  <example>5a84c349c00d95c8ebd174ded3b50a86</example>
@@ -113,7 +113,7 @@
113
113
  <param pos="0" name="service.cpe23" value="cpe:/a:jenkins:jenkins:-"/>
114
114
  </fingerprint>
115
115
 
116
- <fingerprint pattern="^(?:6eb4a43cb64c97f76562af703893c8fd|3bd2ec61324ad4d27cb7b0f484cd4289)$">
116
+ <fingerprint pattern="^6eb4a43cb64c97f76562af703893c8fd|3bd2ec61324ad4d27cb7b0f484cd4289$">
117
117
  <description>XAMPP Server</description>
118
118
  <example>6eb4a43cb64c97f76562af703893c8fd</example>
119
119
  <example>3bd2ec61324ad4d27cb7b0f484cd4289</example>
@@ -122,7 +122,7 @@
122
122
  <param pos="0" name="service.certainty" value="0.5"/>
123
123
  </fingerprint>
124
124
 
125
- <fingerprint pattern="^(?:1391664373e72311a656c4a5504682af|88717398db158e3330ce94fc1784e4a7|04d89d5b7a290334f5ce37c7e8b6a349|08aa365c2d0863df2735d386f77c22c2)$">
125
+ <fingerprint pattern="^1391664373e72311a656c4a5504682af|88717398db158e3330ce94fc1784e4a7|04d89d5b7a290334f5ce37c7e8b6a349|08aa365c2d0863df2735d386f77c22c2$">
126
126
  <description>Atlassian Jira</description>
127
127
  <example>1391664373e72311a656c4a5504682af</example>
128
128
  <example>88717398db158e3330ce94fc1784e4a7</example>
@@ -168,7 +168,7 @@
168
168
  <param pos="0" name="service.certainty" value="0.5"/>
169
169
  </fingerprint>
170
170
 
171
- <fingerprint pattern="^(?:e467554976ad3162eec9dfbf83e2c324|b338542efc5676d771c21fe94faf12b3)$">
171
+ <fingerprint pattern="^e467554976ad3162eec9dfbf83e2c324|b338542efc5676d771c21fe94faf12b3$">
172
172
  <description>ownCloud</description>
173
173
  <example>e467554976ad3162eec9dfbf83e2c324</example>
174
174
  <example>b338542efc5676d771c21fe94faf12b3</example>
@@ -343,7 +343,7 @@
343
343
  <param pos="0" name="service.vendor" value="Rundeck"/>
344
344
  <param pos="0" name="service.product" value="Rundeck"/>
345
345
  <param pos="0" name="service.certainty" value="0.5"/>
346
- <param pos="0" name="service.cpe23" value="cpe:/a:rundeck:rundeck:-"/>
346
+ <param pos="0" name="service.cpe23" value="cpe:/a:pagerduty:rundeck:-"/>
347
347
  </fingerprint>
348
348
 
349
349
  <fingerprint pattern="^3ef81fad2a3deaeb19f02c9cf67ed8eb$">
@@ -354,7 +354,7 @@
354
354
  <param pos="0" name="service.certainty" value="0.5"/>
355
355
  </fingerprint>
356
356
 
357
- <fingerprint pattern="^(?:c02e22ca67f83a0fb6f2fd265074910a|68e1a9c89026b0efeddf718a48c282a5)$">
357
+ <fingerprint pattern="^c02e22ca67f83a0fb6f2fd265074910a|68e1a9c89026b0efeddf718a48c282a5$">
358
358
  <description>HashiCorp Vault</description>
359
359
  <example>c02e22ca67f83a0fb6f2fd265074910a</example>
360
360
  <example>68e1a9c89026b0efeddf718a48c282a5</example>
@@ -386,7 +386,7 @@
386
386
  <param pos="0" name="service.cpe23" value="cpe:/a:apple:cups:1.x"/>
387
387
  </fingerprint>
388
388
 
389
- <fingerprint pattern="^(?:448fa67ece2a35d57e8d19808d350e9b|0c9183bd23ed47288c733499fce4498c|c4302a71aae96e158c3057c66184abbd)$">
389
+ <fingerprint pattern="^448fa67ece2a35d57e8d19808d350e9b|0c9183bd23ed47288c733499fce4498c|c4302a71aae96e158c3057c66184abbd$">
390
390
  <description>Apple CUPS 2.x</description>
391
391
  <example>448fa67ece2a35d57e8d19808d350e9b</example>
392
392
  <example>0c9183bd23ed47288c733499fce4498c</example>
@@ -416,7 +416,7 @@
416
416
  <param pos="0" name="service.certainty" value="0.5"/>
417
417
  </fingerprint>
418
418
 
419
- <fingerprint pattern="^(?:4f21edb50ae95a99bbd4aa0a956a179e|1531801cb9e3047e72034ed34da9d104)$">
419
+ <fingerprint pattern="^4f21edb50ae95a99bbd4aa0a956a179e|1531801cb9e3047e72034ed34da9d104$">
420
420
  <description>Apache Airflow</description>
421
421
  <example>4f21edb50ae95a99bbd4aa0a956a179e</example>
422
422
  <example>1531801cb9e3047e72034ed34da9d104</example>
@@ -434,7 +434,7 @@
434
434
  <param pos="0" name="service.certainty" value="0.5"/>
435
435
  </fingerprint>
436
436
 
437
- <fingerprint pattern="^(?:9b67ee27ad29bd721c0c1f5e5a1a5211|801164802554cf799c6fc3851f93e0e1)$">
437
+ <fingerprint pattern="^9b67ee27ad29bd721c0c1f5e5a1a5211|801164802554cf799c6fc3851f93e0e1$">
438
438
  <description>Gerrit Code Review</description>
439
439
  <example>9b67ee27ad29bd721c0c1f5e5a1a5211</example>
440
440
  <example>801164802554cf799c6fc3851f93e0e1</example>
@@ -443,7 +443,7 @@
443
443
  <param pos="0" name="service.certainty" value="0.5"/>
444
444
  </fingerprint>
445
445
 
446
- <fingerprint pattern="^(?:9e312675a79186e08436bcc2cf314608|ed9dc05a5dde54b22d2edb16d9b68ab0)$">
446
+ <fingerprint pattern="^9e312675a79186e08436bcc2cf314608|ed9dc05a5dde54b22d2edb16d9b68ab0$">
447
447
  <description>Apache Druid</description>
448
448
  <example>9e312675a79186e08436bcc2cf314608</example>
449
449
  <example>ed9dc05a5dde54b22d2edb16d9b68ab0</example>
@@ -453,7 +453,7 @@
453
453
  <param pos="0" name="service.cpe23" value="cpe:/a:apache:druid:-"/>
454
454
  </fingerprint>
455
455
 
456
- <fingerprint pattern="^(?:ec60d8d2f3b0ded27c5767189882685c|5856edf7bcbea0817312d9e535e5eb2a|f4f3cb900258441d5dbc9105b7ab9b44|c6acedaff906029fc5455d9ec52c7f42)$">
456
+ <fingerprint pattern="^ec60d8d2f3b0ded27c5767189882685c|5856edf7bcbea0817312d9e535e5eb2a|f4f3cb900258441d5dbc9105b7ab9b44|c6acedaff906029fc5455d9ec52c7f42$">
457
457
  <description>VMware Horizon</description>
458
458
  <example>ec60d8d2f3b0ded27c5767189882685c</example>
459
459
  <example>5856edf7bcbea0817312d9e535e5eb2a</example>
@@ -486,13 +486,23 @@
486
486
  <param pos="0" name="os.cpe23" value="cpe:/o:dd-wrt:dd-wrt:-"/>
487
487
  </fingerprint>
488
488
 
489
- <fingerprint pattern="^bad2c1f96cd66e70b4aa119e7270cc62$">
489
+ <fingerprint pattern="^cff908861188a1246a35c3f8325c7d2c$">
490
+ <description>Tomato Router Firmware</description>
491
+ <example>cff908861188a1246a35c3f8325c7d2c</example>
492
+ <param pos="0" name="os.vendor" value="Tomato"/>
493
+ <param pos="0" name="os.family" value="Linux"/>
494
+ <param pos="0" name="os.product" value="Tomato"/>
495
+ <param pos="0" name="os.device" value="Router"/>
496
+ </fingerprint>
497
+
498
+ <fingerprint pattern="^bad2c1f96cd66e70b4aa119e7270cc62|966e60f8eb85b7ea43a7b0095f3e2336$">
490
499
  <description>Atlassian Confluence</description>
491
500
  <example>bad2c1f96cd66e70b4aa119e7270cc62</example>
501
+ <example>966e60f8eb85b7ea43a7b0095f3e2336</example>
492
502
  <param pos="0" name="service.vendor" value="Atlassian"/>
493
503
  <param pos="0" name="service.product" value="Confluence"/>
494
504
  <param pos="0" name="service.certainty" value="0.5"/>
495
- <param pos="0" name="service.cpe23" value="cpe:/a:atlassian:confluence:-"/>
505
+ <param pos="0" name="service.cpe23" value="cpe:/a:atlassian:confluence_server:-"/>
496
506
  </fingerprint>
497
507
 
498
508
  <fingerprint pattern="^0fbe700fd7d07ec8d30ef8b3ac261484$">
@@ -530,7 +540,7 @@
530
540
  <param pos="0" name="service.cpe23" value="cpe:/a:cpanel:cpanel:-"/>
531
541
  </fingerprint>
532
542
 
533
- <fingerprint pattern="^(?:765835f9b71c7f8405f5776d2a6ce49b|e6942b8d321aee26b514ef5513583d52)$">
543
+ <fingerprint pattern="^765835f9b71c7f8405f5776d2a6ce49b|e6942b8d321aee26b514ef5513583d52$">
534
544
  <description>Spiceworks</description>
535
545
  <example>765835f9b71c7f8405f5776d2a6ce49b</example>
536
546
  <example>e6942b8d321aee26b514ef5513583d52</example>
@@ -539,7 +549,7 @@
539
549
  <param pos="0" name="service.certainty" value="0.5"/>
540
550
  </fingerprint>
541
551
 
542
- <fingerprint pattern="^(?:07ba76de1eb6c4550bfbf627a21cd6f8|9cc719577e8de0abd0d76f43a40c2956|5f09cded07bb864fd9b3d2dd72b5418e)$">
552
+ <fingerprint pattern="^07ba76de1eb6c4550bfbf627a21cd6f8|9cc719577e8de0abd0d76f43a40c2956|5f09cded07bb864fd9b3d2dd72b5418e$">
543
553
  <description>Twonky Server</description>
544
554
  <example>07ba76de1eb6c4550bfbf627a21cd6f8</example>
545
555
  <example>9cc719577e8de0abd0d76f43a40c2956</example>
@@ -618,7 +628,7 @@
618
628
  <param pos="0" name="service.certainty" value="0.5"/>
619
629
  </fingerprint>
620
630
 
621
- <fingerprint pattern="^(?:f7e3d97f404e71d302b3239eef48d5f2|bfac77149bf662238eb92d9b65c88a2a|85c754581e1d4b628be5b7712c042224)$">
631
+ <fingerprint pattern="^f7e3d97f404e71d302b3239eef48d5f2|bfac77149bf662238eb92d9b65c88a2a|85c754581e1d4b628be5b7712c042224$">
622
632
  <description>GitLab</description>
623
633
  <example>f7e3d97f404e71d302b3239eef48d5f2</example>
624
634
  <example>bfac77149bf662238eb92d9b65c88a2a</example>
@@ -653,7 +663,7 @@
653
663
  <param pos="0" name="service.certainty" value="0.5"/>
654
664
  </fingerprint>
655
665
 
656
- <fingerprint pattern="^(?:e43ad9b75957c46a5975ded0f85a95b4|2145225dd4406c274c317f8d80ccf584)$">
666
+ <fingerprint pattern="^e43ad9b75957c46a5975ded0f85a95b4|2145225dd4406c274c317f8d80ccf584$">
657
667
  <description>Elastic Kibana</description>
658
668
  <example>e43ad9b75957c46a5975ded0f85a95b4</example>
659
669
  <example>2145225dd4406c274c317f8d80ccf584</example>
@@ -663,7 +673,7 @@
663
673
  <param pos="0" name="service.cpe23" value="cpe:/a:elastic:kibana:-"/>
664
674
  </fingerprint>
665
675
 
666
- <fingerprint pattern="^(?:ef07026465d7b449a9759132486d1e3b|bcc4933f81eff43e5d9bcc5b2828aa70|b204c198a410e5ee28346c4a2110535e|c00da11c81f9b887eed4123daee89909)$">
676
+ <fingerprint pattern="^ef07026465d7b449a9759132486d1e3b|bcc4933f81eff43e5d9bcc5b2828aa70|b204c198a410e5ee28346c4a2110535e|c00da11c81f9b887eed4123daee89909$">
667
677
  <description>Grafana</description>
668
678
  <example>ef07026465d7b449a9759132486d1e3b</example>
669
679
  <example>bcc4933f81eff43e5d9bcc5b2828aa70</example>
@@ -732,7 +742,7 @@
732
742
  <param pos="0" name="service.cpe23" value="cpe:/a:redhat:wildfly:-"/>
733
743
  </fingerprint>
734
744
 
735
- <fingerprint pattern="^(?:05664fb0c7afcd6436179437e31f3aa6|f45f040baaf5200eb82a54296e6040cd)$">
745
+ <fingerprint pattern="^05664fb0c7afcd6436179437e31f3aa6|f45f040baaf5200eb82a54296e6040cd$">
736
746
  <description>Apache ActiveMQ</description>
737
747
  <example>05664fb0c7afcd6436179437e31f3aa6</example>
738
748
  <example>f45f040baaf5200eb82a54296e6040cd</example>
@@ -743,7 +753,7 @@
743
753
  <param pos="0" name="service.cpe23" value="cpe:/a:apache:activemq:-"/>
744
754
  </fingerprint>
745
755
 
746
- <fingerprint pattern="^(?:8bbf74c036031fd834342ca75e9603d8|09353a60731f33fea28b3379407e20a2)$">
756
+ <fingerprint pattern="^8bbf74c036031fd834342ca75e9603d8|09353a60731f33fea28b3379407e20a2$">
747
757
  <description>OpenStack Director</description>
748
758
  <example>8bbf74c036031fd834342ca75e9603d8</example>
749
759
  <example>09353a60731f33fea28b3379407e20a2</example>
@@ -768,7 +778,7 @@
768
778
  <param pos="0" name="service.certainty" value="0.5"/>
769
779
  </fingerprint>
770
780
 
771
- <fingerprint pattern="^(?:97c6417ed01bdc0ae3ef32ae4894fd03|e2f298e9811cd34a08bf5bb69e2d1d6a)$">
781
+ <fingerprint pattern="^97c6417ed01bdc0ae3ef32ae4894fd03|e2f298e9811cd34a08bf5bb69e2d1d6a$">
772
782
  <description>Jupyter Notebook</description>
773
783
  <example>97c6417ed01bdc0ae3ef32ae4894fd03</example>
774
784
  <example>e2f298e9811cd34a08bf5bb69e2d1d6a</example>
@@ -786,7 +796,7 @@
786
796
  <param pos="0" name="service.certainty" value="0.5"/>
787
797
  </fingerprint>
788
798
 
789
- <fingerprint pattern="^(?:0000eeec59841e6e63dd9f90424cac75|34f1c18ed89e1b514473434351edc181|b4d64bf2e42da188164d2a43cc71b5fb)$">
799
+ <fingerprint pattern="^0000eeec59841e6e63dd9f90424cac75|34f1c18ed89e1b514473434351edc181|b4d64bf2e42da188164d2a43cc71b5fb$">
790
800
  <description>Tenable Nessus</description>
791
801
  <example>0000eeec59841e6e63dd9f90424cac75</example>
792
802
  <example>34f1c18ed89e1b514473434351edc181</example>
@@ -805,7 +815,7 @@
805
815
  <param pos="0" name="service.certainty" value="0.5"/>
806
816
  </fingerprint>
807
817
 
808
- <fingerprint pattern="^(?:78ee71862e89db1b1870197b40d026e5|799f70b71314a7508326d1d2f68f7519)$">
818
+ <fingerprint pattern="^78ee71862e89db1b1870197b40d026e5|799f70b71314a7508326d1d2f68f7519$">
809
819
  <description>Red Hat JBoss AS</description>
810
820
  <example>78ee71862e89db1b1870197b40d026e5</example>
811
821
  <example>799f70b71314a7508326d1d2f68f7519</example>
@@ -832,7 +842,7 @@
832
842
  <param pos="0" name="service.cpe23" value="cpe:/a:redhat:jboss_enterprise_application_platform:-"/>
833
843
  </fingerprint>
834
844
 
835
- <fingerprint pattern="^(?:b4e4785d5852c563b9ae47cbb7af06fe|fa0d535bff80ca916d7d7a782a6b8dc0)$">
845
+ <fingerprint pattern="^b4e4785d5852c563b9ae47cbb7af06fe|fa0d535bff80ca916d7d7a782a6b8dc0$">
836
846
  <description>SonarQube</description>
837
847
  <example>b4e4785d5852c563b9ae47cbb7af06fe</example>
838
848
  <example>fa0d535bff80ca916d7d7a782a6b8dc0</example>
@@ -976,7 +986,7 @@
976
986
  <param pos="0" name="hw.certainty" value="0.5"/>
977
987
  </fingerprint>
978
988
 
979
- <fingerprint pattern="^(?:afbc222b5f04fce3ec3e381d87ebfc55|7a7cf293daa5b528bd49941630684c00)$">
989
+ <fingerprint pattern="^afbc222b5f04fce3ec3e381d87ebfc55|7a7cf293daa5b528bd49941630684c00$">
980
990
  <description>Seagate Storage</description>
981
991
  <example>afbc222b5f04fce3ec3e381d87ebfc55</example>
982
992
  <example>7a7cf293daa5b528bd49941630684c00</example>
@@ -1032,7 +1042,7 @@
1032
1042
  <param pos="0" name="hw.cpe23" value="cpe:/h:ui:edgeswitch:-"/>
1033
1043
  </fingerprint>
1034
1044
 
1035
- <fingerprint pattern="^(?:7da8813873190b6e3d7d8957d798bd1e|31ccf4e22ba33dbec54cc357a43a36d3)$">
1045
+ <fingerprint pattern="^7da8813873190b6e3d7d8957d798bd1e|31ccf4e22ba33dbec54cc357a43a36d3$">
1036
1046
  <description>OpenMediaVault</description>
1037
1047
  <example>7da8813873190b6e3d7d8957d798bd1e</example>
1038
1048
  <example>31ccf4e22ba33dbec54cc357a43a36d3</example>
@@ -1105,6 +1115,7 @@
1105
1115
  <param pos="0" name="os.family" value="ILOM"/>
1106
1116
  <param pos="0" name="os.product" value="ILOM"/>
1107
1117
  <param pos="0" name="os.certainty" value="0.5"/>
1118
+ <param pos="0" name="os.cpe23" value="cpe:/o:oracle:integrated_lights_out_manager_firmware:-"/>
1108
1119
  </fingerprint>
1109
1120
 
1110
1121
  <fingerprint pattern="^665f96fcdcc9da0ab89312acc02fa815$">
@@ -1199,7 +1210,7 @@
1199
1210
  <param pos="0" name="hw.cpe23" value="cpe:/h:cisco:adaptive_security_appliance:-"/>
1200
1211
  </fingerprint>
1201
1212
 
1202
- <fingerprint pattern="^(?:af13b379bdb4ae7a5e68d9aa4419b2e4|cd844ad9671131f5464458a2ef58b7bc|c32e2dc4d7caedd5cefc9d44cc4f62ec)$">
1213
+ <fingerprint pattern="^af13b379bdb4ae7a5e68d9aa4419b2e4|cd844ad9671131f5464458a2ef58b7bc|c32e2dc4d7caedd5cefc9d44cc4f62ec$">
1203
1214
  <description>Cisco APIC</description>
1204
1215
  <example>af13b379bdb4ae7a5e68d9aa4419b2e4</example>
1205
1216
  <example>cd844ad9671131f5464458a2ef58b7bc</example>
@@ -1276,7 +1287,7 @@
1276
1287
  <param pos="0" name="hw.certainty" value="0.5"/>
1277
1288
  </fingerprint>
1278
1289
 
1279
- <fingerprint pattern="^(?:c60ea375c39d1ab273c4d1bee717287a|9052ab290483b0bd75c05b857c182bba)$">
1290
+ <fingerprint pattern="^c60ea375c39d1ab273c4d1bee717287a|9052ab290483b0bd75c05b857c182bba$">
1280
1291
  <description>Synology DSM</description>
1281
1292
  <example>c60ea375c39d1ab273c4d1bee717287a</example>
1282
1293
  <example>9052ab290483b0bd75c05b857c182bba</example>
@@ -1311,7 +1322,7 @@
1311
1322
  <param pos="0" name="hw.vendor" value="APC"/>
1312
1323
  </fingerprint>
1313
1324
 
1314
- <fingerprint pattern="^(?:ddc75b0899dbf4f7b15290a77fbeb8ff|7f027d6d3eb672117ba63f246bc10f62|4aef220ab05308e3a3e8e4bec5984b2b)$">
1325
+ <fingerprint pattern="^ddc75b0899dbf4f7b15290a77fbeb8ff|7f027d6d3eb672117ba63f246bc10f62|4aef220ab05308e3a3e8e4bec5984b2b$">
1315
1326
  <description>RabbitMQ</description>
1316
1327
  <example>ddc75b0899dbf4f7b15290a77fbeb8ff</example>
1317
1328
  <example>7f027d6d3eb672117ba63f246bc10f62</example>
@@ -1321,14 +1332,17 @@
1321
1332
  <param pos="0" name="service.certainty" value="0.5"/>
1322
1333
  </fingerprint>
1323
1334
 
1324
- <fingerprint pattern="^(?:5567e9ce23e5549e0fcd7195f3882816|57f187c7a868faeac558007a8eb6cb2e)$">
1335
+ <fingerprint pattern="^5567e9ce23e5549e0fcd7195f3882816|57f187c7a868faeac558007a8eb6cb2e$">
1325
1336
  <description>pfSense Firewall</description>
1326
1337
  <example>5567e9ce23e5549e0fcd7195f3882816</example>
1327
1338
  <example>57f187c7a868faeac558007a8eb6cb2e</example>
1328
- <param pos="0" name="hw.vendor" value="pfSense"/>
1329
- <param pos="0" name="hw.device" value="Firewall"/>
1330
- <param pos="0" name="hw.product" value="Firewall"/>
1331
- <param pos="0" name="hw.certainty" value="0.5"/>
1339
+ <param pos="0" name="service.vendor" value="pfSense"/>
1340
+ <param pos="0" name="service.product" value="pfSense"/>
1341
+ <param pos="0" name="service.device" value="Firewall"/>
1342
+ <param pos="0" name="service.cpe23" value="cpe:/a:pfsense:pfsense:-"/>
1343
+ <param pos="0" name="service.component.vendor" value="nginx"/>
1344
+ <param pos="0" name="service.component.product" value="nginx"/>
1345
+ <param pos="0" name="service.component.cpe23" value="cpe:/a:f5:nginx:-"/>
1332
1346
  <param pos="0" name="os.vendor" value="pfSense"/>
1333
1347
  <param pos="0" name="os.product" value="FreeBSD"/>
1334
1348
  <param pos="0" name="os.certainty" value="0.5"/>
@@ -1343,7 +1357,7 @@
1343
1357
  <param pos="0" name="hw.certainty" value="0.5"/>
1344
1358
  </fingerprint>
1345
1359
 
1346
- <fingerprint pattern="^(?:3d79fa32f03540637418f85d19c3ed60|76c6e492cb8cc73a2a50d62176f205c9)$">
1360
+ <fingerprint pattern="^3d79fa32f03540637418f85d19c3ed60|76c6e492cb8cc73a2a50d62176f205c9$">
1347
1361
  <description>HP Printer</description>
1348
1362
  <example>3d79fa32f03540637418f85d19c3ed60</example>
1349
1363
  <example>76c6e492cb8cc73a2a50d62176f205c9</example>
@@ -1400,7 +1414,7 @@
1400
1414
  <param pos="0" name="service.cpe23" value="cpe:/a:citrix:netscaler:-"/>
1401
1415
  </fingerprint>
1402
1416
 
1403
- <fingerprint pattern="^(?:953e0d0190e50d247f4ece5620569ef1|52794c5e8a69a8b03ba891e24c39da65)$">
1417
+ <fingerprint pattern="^953e0d0190e50d247f4ece5620569ef1|52794c5e8a69a8b03ba891e24c39da65$">
1404
1418
  <description>Citrix NetScaler SDX Gateway</description>
1405
1419
  <example>953e0d0190e50d247f4ece5620569ef1</example>
1406
1420
  <example>52794c5e8a69a8b03ba891e24c39da65</example>
@@ -1417,7 +1431,7 @@
1417
1431
  <param pos="0" name="service.cpe23" value="cpe:/a:citrix:netscaler:-"/>
1418
1432
  </fingerprint>
1419
1433
 
1420
- <fingerprint pattern="^(?:35c390dade9419b4d6e9b83a8fc361c7|3a7de0a4ee1ee78de3f06bfce823dc44)$">
1434
+ <fingerprint pattern="^35c390dade9419b4d6e9b83a8fc361c7|3a7de0a4ee1ee78de3f06bfce823dc44$">
1421
1435
  <description>Crestron Video Conferencing</description>
1422
1436
  <example>35c390dade9419b4d6e9b83a8fc361c7</example>
1423
1437
  <example>3a7de0a4ee1ee78de3f06bfce823dc44</example>
@@ -1430,7 +1444,7 @@
1430
1444
  <param pos="0" name="os.certainty" value="0.5"/>
1431
1445
  </fingerprint>
1432
1446
 
1433
- <fingerprint pattern="^(?:89b932fcc47cf4ca3faadb0cfdef89cf|efca7d9aeaad122133c65cdf628ac574)$">
1447
+ <fingerprint pattern="^89b932fcc47cf4ca3faadb0cfdef89cf|efca7d9aeaad122133c65cdf628ac574$">
1434
1448
  <description>Hikvision DVR</description>
1435
1449
  <example>89b932fcc47cf4ca3faadb0cfdef89cf</example>
1436
1450
  <example>efca7d9aeaad122133c65cdf628ac574</example>
@@ -1538,7 +1552,7 @@
1538
1552
  <param pos="0" name="hw.certainty" value="0.5"/>
1539
1553
  </fingerprint>
1540
1554
 
1541
- <fingerprint pattern="^(?:9c845f917bb1720d80df603f26878d42|9baf402c0fccb225c134eb9bdf9678c7|5e760a3842c5c2a0278545c2ad5d88b0|bf5c71bad91e3bb1fb0029ff1bf6ea06)$">
1555
+ <fingerprint pattern="^9c845f917bb1720d80df603f26878d42|9baf402c0fccb225c134eb9bdf9678c7|5e760a3842c5c2a0278545c2ad5d88b0|bf5c71bad91e3bb1fb0029ff1bf6ea06$">
1542
1556
  <description>Mersive SolsticePod</description>
1543
1557
  <example>9c845f917bb1720d80df603f26878d42</example>
1544
1558
  <example>9baf402c0fccb225c134eb9bdf9678c7</example>
@@ -1550,7 +1564,7 @@
1550
1564
  <param pos="0" name="hw.certainty" value="0.5"/>
1551
1565
  </fingerprint>
1552
1566
 
1553
- <fingerprint pattern="^(?:6dcab71e60f0242907940f0fcda69ea5|255b6fcbcb463e11ed763b2b892a2965)$">
1567
+ <fingerprint pattern="^6dcab71e60f0242907940f0fcda69ea5|255b6fcbcb463e11ed763b2b892a2965$">
1554
1568
  <description>Ubiquiti WAP (Vague)</description>
1555
1569
  <example>6dcab71e60f0242907940f0fcda69ea5</example>
1556
1570
  <example>255b6fcbcb463e11ed763b2b892a2965</example>
@@ -1559,7 +1573,7 @@
1559
1573
  <param pos="0" name="hw.certainty" value="0.25"/>
1560
1574
  </fingerprint>
1561
1575
 
1562
- <fingerprint pattern="^(?:f98bced327f13a45ad681829905db891)$">
1576
+ <fingerprint pattern="^f98bced327f13a45ad681829905db891$">
1563
1577
  <description>Ubiquiti EdgeOS Router/Switch</description>
1564
1578
  <example>f98bced327f13a45ad681829905db891</example>
1565
1579
  <param pos="0" name="os.vendor" value="Ubiquiti"/>
@@ -1587,7 +1601,7 @@
1587
1601
  <param pos="0" name="os.cpe23" value="cpe:/o:hp:integrated_lights-out_3_firmware:-"/>
1588
1602
  </fingerprint>
1589
1603
 
1590
- <fingerprint pattern="^(?:ad93b3973782b03ea62a43bd6602ba8b|d521487f45fa7657450edfd6c16e4a63)$">
1604
+ <fingerprint pattern="^ad93b3973782b03ea62a43bd6602ba8b|d521487f45fa7657450edfd6c16e4a63$">
1591
1605
  <description>HP Integrated Lights-Out</description>
1592
1606
  <example>ad93b3973782b03ea62a43bd6602ba8b</example>
1593
1607
  <example>d521487f45fa7657450edfd6c16e4a63</example>
@@ -1612,7 +1626,7 @@
1612
1626
  <param pos="0" name="hw.product" value="GigaVUE"/>
1613
1627
  </fingerprint>
1614
1628
 
1615
- <fingerprint pattern="^(?:04d9541338e525258daf47cc844d59f3|486373b021971d0a95af04c811799e21)$">
1629
+ <fingerprint pattern="^04d9541338e525258daf47cc844d59f3|486373b021971d0a95af04c811799e21$">
1616
1630
  <description>F5 BIG-IP Load Balancer</description>
1617
1631
  <example>04d9541338e525258daf47cc844d59f3</example>
1618
1632
  <example>486373b021971d0a95af04c811799e21</example>
@@ -1636,7 +1650,7 @@
1636
1650
  <param pos="0" name="hw.certainty" value="0.5"/>
1637
1651
  </fingerprint>
1638
1652
 
1639
- <fingerprint pattern="^(?:df56ab6e924269e77945a0299716e679|faeab99d83cdd05b875382a690bc60f3)$">
1653
+ <fingerprint pattern="^df56ab6e924269e77945a0299716e679|faeab99d83cdd05b875382a690bc60f3$">
1640
1654
  <description>S2 Access Control Appliances</description>
1641
1655
  <example>df56ab6e924269e77945a0299716e679</example>
1642
1656
  <example>faeab99d83cdd05b875382a690bc60f3</example>
@@ -1708,7 +1722,7 @@
1708
1722
  <param pos="0" name="hw.certainty" value="0.5"/>
1709
1723
  </fingerprint>
1710
1724
 
1711
- <fingerprint pattern="^(?:1437920c973b2b7c03d075028440a656|9422fe1eb162eb5329788a6cb6d408cb)$">
1725
+ <fingerprint pattern="^1437920c973b2b7c03d075028440a656|9422fe1eb162eb5329788a6cb6d408cb$">
1712
1726
  <description>BrightSign Digital Signage Player</description>
1713
1727
  <example>1437920c973b2b7c03d075028440a656</example>
1714
1728
  <example>9422fe1eb162eb5329788a6cb6d408cb</example>
@@ -1828,7 +1842,7 @@
1828
1842
  <description>Pure Storage Appliance</description>
1829
1843
  <example>7b73744799150c888a172daf3d7093bf</example>
1830
1844
  <param pos="0" name="hw.vendor" value="Pure Storage"/>
1831
- <param pos="0" name="hw.device" value="NAS"/>
1845
+ <param pos="0" name="hw.device" value="Storage Appliance"/>
1832
1846
  <param pos="0" name="hw.product" value="Appliance"/>
1833
1847
  <param pos="0" name="hw.certainty" value="0.5"/>
1834
1848
  </fingerprint>
@@ -1841,4 +1855,179 @@
1841
1855
  <param pos="0" name="service.certainty" value="0.5"/>
1842
1856
  </fingerprint>
1843
1857
 
1858
+ <fingerprint pattern="^4f52bd9a74742b08b0a152559da4d32a$">
1859
+ <description>Grandstream</description>
1860
+ <example>4f52bd9a74742b08b0a152559da4d32a</example>
1861
+ <param pos="0" name="hw.vendor" value="Grandstream"/>
1862
+ <param pos="0" name="hw.device" value="Device"/>
1863
+ </fingerprint>
1864
+
1865
+ <fingerprint pattern="^c7f62c79333a43b6cd3f24d9e9c69526$">
1866
+ <description>iSTAR Ultra</description>
1867
+ <example>c7f62c79333a43b6cd3f24d9e9c69526</example>
1868
+ <param pos="0" name="os.vendor" value="Software House"/>
1869
+ <param pos="0" name="os.family" value="Linux"/>
1870
+ <param pos="0" name="os.product" value="{hw.product} Firmware"/>
1871
+ <param pos="0" name="hw.vendor" value="Software House"/>
1872
+ <param pos="0" name="hw.device" value="Access Control"/>
1873
+ <param pos="0" name="hw.family" value="iSTAR Door Controllers"/>
1874
+ <param pos="0" name="hw.product" value="iSTAR Ultra"/>
1875
+ <param pos="0" name="hw.cpe23" value="cpe:/h:swhouse:istar_ultra:-"/>
1876
+ </fingerprint>
1877
+
1878
+ <fingerprint pattern="^fc83221e4a9e57f2e0b10416de541ca3|e518c347f94a594de49e3f3948b8e6e5$">
1879
+ <description>SpotterRF</description>
1880
+ <example>fc83221e4a9e57f2e0b10416de541ca3</example>
1881
+ <example>e518c347f94a594de49e3f3948b8e6e5</example>
1882
+ <param pos="0" name="os.vendor" value="SpotterRF"/>
1883
+ <param pos="0" name="os.family" value="Linux"/>
1884
+ <param pos="0" name="os.certainty" value="0.90"/>
1885
+ <param pos="0" name="hw.vendor" value="SpotterRF"/>
1886
+ <param pos="0" name="hw.device" value="Sensor"/>
1887
+ <param pos="0" name="hw.product" value="Drone Detector"/>
1888
+ <param pos="0" name="hw.certainty" value="0.5"/>
1889
+ </fingerprint>
1890
+
1891
+ <fingerprint pattern="^95db983278a0c04695b2e6775a65a8da$">
1892
+ <description>Schneider Electric PowerLogic Meter</description>
1893
+ <example>95db983278a0c04695b2e6775a65a8da</example>
1894
+ <param pos="0" name="hw.vendor" value="Schneider Electric"/>
1895
+ <param pos="0" name="hw.device" value="Power Meter"/>
1896
+ <param pos="0" name="hw.product" value="PowerLogic Power Meter"/>
1897
+ </fingerprint>
1898
+
1899
+ <fingerprint pattern="^6211ad748f77d07a0bccc40cf227ec4e$">
1900
+ <description>Alpha Technologies Novus UPS</description>
1901
+ <example>6211ad748f77d07a0bccc40cf227ec4e</example>
1902
+ <param pos="0" name="hw.vendor" value="Alpha Technologies"/>
1903
+ <param pos="0" name="hw.device" value="Power Device"/>
1904
+ <param pos="0" name="hw.product" value="Novus UPS"/>
1905
+ </fingerprint>
1906
+
1907
+ <fingerprint pattern="^34a1514e6ab88611178ef9bda6e1c752$">
1908
+ <description>ProSoft RadioLinx</description>
1909
+ <example>34a1514e6ab88611178ef9bda6e1c752</example>
1910
+ <param pos="0" name="hw.vendor" value="ProSoft Technology"/>
1911
+ <param pos="0" name="hw.device" value="WAP"/>
1912
+ <param pos="0" name="hw.product" value="RadioLinx"/>
1913
+ <param pos="0" name="hw.certainty" value="0.5"/>
1914
+ </fingerprint>
1915
+
1916
+ <fingerprint pattern="^78d86dadf923f20c09c89f883047c985$">
1917
+ <description>Redis Commander</description>
1918
+ <example>78d86dadf923f20c09c89f883047c985</example>
1919
+ <param pos="0" name="service.vendor" value="Ferner"/>
1920
+ <param pos="0" name="service.product" value="Redis Commander"/>
1921
+ <param pos="0" name="service.certainty" value="0.5"/>
1922
+ </fingerprint>
1923
+
1924
+ <fingerprint pattern="^595591dc3d5e9bc47b2af8f12602ba19$">
1925
+ <description>CBT Nuggets Learning Server</description>
1926
+ <example>595591dc3d5e9bc47b2af8f12602ba19</example>
1927
+ <param pos="0" name="service.vendor" value="CBT"/>
1928
+ <param pos="0" name="service.product" value="Nuggets Learning Server"/>
1929
+ <param pos="0" name="service.certainty" value="0.5"/>
1930
+ </fingerprint>
1931
+
1932
+ <fingerprint pattern="^bd1b5fef10a0846b2db322b90a57b746$">
1933
+ <description>Teledyne FLIR IP Camera</description>
1934
+ <example>bd1b5fef10a0846b2db322b90a57b746</example>
1935
+ <param pos="0" name="hw.vendor" value="Teledyne FLIR"/>
1936
+ <param pos="0" name="hw.device" value="IP Camera"/>
1937
+ <param pos="0" name="hw.certainty" value="0.5"/>
1938
+ </fingerprint>
1939
+
1940
+ <fingerprint pattern="^908db8e56aeee8bb7a911b5df4eaf90e|02f4db63a9cfb650c05ffd82956cbfd6$">
1941
+ <description>Proxmox</description>
1942
+ <example>908db8e56aeee8bb7a911b5df4eaf90e</example>
1943
+ <example>02f4db63a9cfb650c05ffd82956cbfd6</example>
1944
+ <param pos="0" name="service.vendor" value="Proxmox"/>
1945
+ <param pos="0" name="service.product" value="Virtual Environment"/>
1946
+ <param pos="0" name="service.cpe23" value="cpe:/a:proxmox:virtual_environment:-"/>
1947
+ <param pos="0" name="os.vendor" value="Proxmox"/>
1948
+ <param pos="0" name="os.family" value="Linux"/>
1949
+ <param pos="0" name="os.product" value="Proxmox"/>
1950
+ </fingerprint>
1951
+
1952
+ <fingerprint pattern="^716417a84b643460167d84e251579491$">
1953
+ <description>LG Smart TV</description>
1954
+ <example>716417a84b643460167d84e251579491</example>
1955
+ <param pos="0" name="os.vendor" value="LG"/>
1956
+ <param pos="0" name="os.product" value="webOS"/>
1957
+ <param pos="0" name="os.certainty" value="0.5"/>
1958
+ <param pos="0" name="os.cpe23" value="cpe:/o:lg:webos:-"/>
1959
+ <param pos="0" name="hw.vendor" value="LG"/>
1960
+ <param pos="0" name="hw.device" value="Smart TV"/>
1961
+ <param pos="0" name="hw.certainty" value="0.5"/>
1962
+ </fingerprint>
1963
+
1964
+ <fingerprint pattern="^dd80f14145f075264b3067801f511c2f$">
1965
+ <description>Covenant .NET C2 framework</description>
1966
+ <example>dd80f14145f075264b3067801f511c2f</example>
1967
+ <param pos="0" name="service.product" value="Covenant"/>
1968
+ </fingerprint>
1969
+
1970
+ <fingerprint pattern="^5508e5abca6493613e11c72f4296ebf4$">
1971
+ <description>MITRE CALDERA C2 framework</description>
1972
+ <example>5508e5abca6493613e11c72f4296ebf4</example>
1973
+ <param pos="0" name="service.vendor" value="MITRE"/>
1974
+ <param pos="0" name="service.product" value="CALDERA"/>
1975
+ <param pos="0" name="service.cpe23" value="cpe:/a:mitre:caldera:-"/>
1976
+ </fingerprint>
1977
+
1978
+ <fingerprint pattern="^e4ce127909d4697b97bf404a42e7c428$">
1979
+ <description>mitmweb web interface for mitmproxy - https://github.com/mitmproxy/mitmproxy</description>
1980
+ <example>e4ce127909d4697b97bf404a42e7c428</example>
1981
+ <param pos="0" name="service.vendor" value="mitmproxy"/>
1982
+ <param pos="0" name="service.product" value="mitmproxy"/>
1983
+ <param pos="0" name="service.cpe23" value="cpe:/a:mitmproxy:mitmproxy:-"/>
1984
+ </fingerprint>
1985
+
1986
+ <fingerprint pattern="^531b63a51234bb06c9d77f219eb25553$">
1987
+ <description>phpMyAdmin web interface for MySQL and MariaDB</description>
1988
+ <example>531b63a51234bb06c9d77f219eb25553</example>
1989
+ <param pos="0" name="service.vendor" value="phpMyAdmin"/>
1990
+ <param pos="0" name="service.product" value="phpMyAdmin"/>
1991
+ <param pos="0" name="service.cpe23" value="cpe:/a:phpmyadmin:phpmyadmin:-"/>
1992
+ </fingerprint>
1993
+
1994
+ <fingerprint pattern="^ded14e8b701325c527da56f86b5d5616$">
1995
+ <description>Adminer database management tool</description>
1996
+ <example>ded14e8b701325c527da56f86b5d5616</example>
1997
+ <param pos="0" name="service.vendor" value="Adminer"/>
1998
+ <param pos="0" name="service.product" value="Adminer"/>
1999
+ <param pos="0" name="service.cpe23" value="cpe:/a:adminer:adminer:-"/>
2000
+ </fingerprint>
2001
+
2002
+ <fingerprint pattern="^6f6256748d679d8684123363bd50a8dd$">
2003
+ <description>mongo-express web-based MongoDB admin interface</description>
2004
+ <example>6f6256748d679d8684123363bd50a8dd</example>
2005
+ <param pos="0" name="service.vendor" value="mongo-express Project"/>
2006
+ <param pos="0" name="service.product" value="mongo-express"/>
2007
+ <param pos="0" name="service.cpe23" value="cpe:/a:mongo-express_project:mongo-express:-"/>
2008
+ </fingerprint>
2009
+
2010
+ <fingerprint pattern="^ce83d230195be7e6d3f1513cc5057da5$">
2011
+ <description>Apache Solr</description>
2012
+ <example>ce83d230195be7e6d3f1513cc5057da5</example>
2013
+ <param pos="0" name="service.vendor" value="Apache"/>
2014
+ <param pos="0" name="service.product" value="Solr"/>
2015
+ <param pos="0" name="service.cpe23" value="cpe:/a:apache:solr:-"/>
2016
+ </fingerprint>
2017
+
2018
+ <fingerprint pattern="^165de54ff29d30a3773c53e7911227d3$">
2019
+ <description>Apache Spark</description>
2020
+ <example>165de54ff29d30a3773c53e7911227d3</example>
2021
+ <param pos="0" name="service.vendor" value="Apache"/>
2022
+ <param pos="0" name="service.product" value="Spark"/>
2023
+ <param pos="0" name="service.cpe23" value="cpe:/a:apache:spark:-"/>
2024
+ </fingerprint>
2025
+
2026
+ <fingerprint pattern="^a3dcb28303f26786e262e0760781057a$">
2027
+ <description>Eltex device web interface</description>
2028
+ <example>a3dcb28303f26786e262e0760781057a</example>
2029
+ <param pos="0" name="os.vendor" value="Eltex"/>
2030
+ <param pos="0" name="hw.vendor" value="Eltex"/>
2031
+ </fingerprint>
2032
+
1844
2033
  </fingerprints>
data/xml/fingerprints.xsd CHANGED
@@ -104,16 +104,24 @@
104
104
  <xsd:sequence>
105
105
  <xsd:element name="description" type="xsd:string" minOccurs="1" maxOccurs="1"/>
106
106
  <xsd:element name="example" type="example_element" minOccurs="0" maxOccurs="unbounded"/>
107
- <xsd:element name="param" type="param_element" minOccurs="0" maxOccurs="unbounded"/>
107
+ <xsd:element name="param" type="param_element" minOccurs="1" maxOccurs="unbounded"/>
108
108
  </xsd:sequence>
109
109
  <xsd:attribute name="certainty" type="xsd:string" use="optional"/>
110
110
  <xsd:attribute name="pattern" type="xsd:string" use="required"/>
111
111
  <xsd:attribute name="flags" type="xsd:string" use="optional"/>
112
112
  </xsd:complexType>
113
113
 
114
+ <xsd:simpleType name="encoding">
115
+ <xsd:restriction base="xsd:string">
116
+ <xsd:enumeration value="base64" />
117
+ </xsd:restriction>
118
+ </xsd:simpleType>
119
+
114
120
  <xsd:complexType name="example_element">
115
121
  <xsd:simpleContent>
116
122
  <xsd:extension base="xsd:string">
123
+ <xsd:attribute name="_encoding" type="encoding"/>
124
+ <xsd:attribute name="_filename" type="xsd:string"/>
117
125
  <xsd:anyAttribute processContents="skip"/>
118
126
  </xsd:extension>
119
127
  </xsd:simpleContent>