recog 2.3.8 → 2.3.9

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +6 -0
  3. data/CONTRIBUTING.md +136 -37
  4. data/README.md +18 -16
  5. data/bin/recog_cleanup +16 -0
  6. data/bin/recog_standardize +30 -6
  7. data/identifiers/README.md +9 -0
  8. data/identifiers/hw_device.txt +77 -0
  9. data/identifiers/hw_family.txt +96 -0
  10. data/identifiers/hw_product.txt +328 -0
  11. data/identifiers/os_architecture.txt +6 -6
  12. data/identifiers/os_device.txt +45 -3
  13. data/identifiers/os_family.txt +206 -41
  14. data/identifiers/os_product.txt +238 -17
  15. data/identifiers/service_family.txt +144 -57
  16. data/identifiers/service_product.txt +384 -83
  17. data/identifiers/vendor.txt +553 -68
  18. data/lib/recog/version.rb +1 -1
  19. data/requirements.txt +1 -1
  20. data/xml/apache_modules.xml +292 -5
  21. data/xml/apache_os.xml +41 -2
  22. data/xml/architecture.xml +11 -3
  23. data/xml/dns_versionbind.xml +76 -8
  24. data/xml/favicons.xml +1700 -0
  25. data/xml/ftp_banners.xml +178 -8
  26. data/xml/h323_callresp.xml +112 -12
  27. data/xml/hp_pjl_id.xml +47 -5
  28. data/xml/html_title.xml +1258 -25
  29. data/xml/http_cookies.xml +64 -9
  30. data/xml/http_servers.xml +667 -37
  31. data/xml/http_wwwauth.xml +141 -26
  32. data/xml/imap_banners.xml +19 -13
  33. data/xml/ldap_searchresult.xml +81 -9
  34. data/xml/mdns_device-info_txt.xml +175 -2
  35. data/xml/mdns_workstation_txt.xml +4 -2
  36. data/xml/mysql_banners.xml +134 -7
  37. data/xml/mysql_error.xml +113 -6
  38. data/xml/nntp_banners.xml +10 -2
  39. data/xml/ntp_banners.xml +80 -4
  40. data/xml/operating_system.xml +89 -3
  41. data/xml/pop_banners.xml +30 -31
  42. data/xml/rsh_resp.xml +11 -2
  43. data/xml/rtsp_servers.xml +22 -2
  44. data/xml/sip_banners.xml +35 -4
  45. data/xml/sip_user_agents.xml +29 -2
  46. data/xml/smb_native_lm.xml +10 -2
  47. data/xml/smb_native_os.xml +79 -2
  48. data/xml/smtp_banners.xml +146 -7
  49. data/xml/smtp_debug.xml +6 -4
  50. data/xml/smtp_ehlo.xml +7 -5
  51. data/xml/smtp_expn.xml +13 -4
  52. data/xml/smtp_help.xml +23 -4
  53. data/xml/smtp_mailfrom.xml +5 -2
  54. data/xml/smtp_noop.xml +6 -5
  55. data/xml/smtp_quit.xml +5 -4
  56. data/xml/smtp_rcptto.xml +5 -2
  57. data/xml/smtp_rset.xml +4 -4
  58. data/xml/smtp_turn.xml +4 -4
  59. data/xml/smtp_vrfy.xml +14 -4
  60. data/xml/snmp_sysdescr.xml +731 -24
  61. data/xml/snmp_sysobjid.xml +47 -2
  62. data/xml/ssh_banners.xml +175 -5
  63. data/xml/telnet_banners.xml +266 -15
  64. data/xml/x11_banners.xml +26 -3
  65. data/xml/x509_issuers.xml +30 -6
  66. data/xml/x509_subjects.xml +200 -31
  67. metadata +8 -2
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
2
  <fingerprints matches="mdns.device-info.txt" protocol="mdns" database_type="util.os">
3
3
  <!--
4
4
  Fingerprint definitions that are matched against the string values in the
@@ -7,11 +7,13 @@
7
7
  to the domain name for a server to respond with the record:
8
8
  e.g. 'host-name._device-info._tcp.local'.
9
9
  -->
10
+
10
11
  <!--
11
12
  OS X versions:
12
13
  The number specified after osxvers= is equivalent to the major
13
14
  version of OS X plus 4. E.g. osxvers=13 means OS X 10.9
14
15
  -->
16
+
15
17
  <fingerprint pattern="^osxvers=19">
16
18
  <description>OS X 10.15 (Catalina)</description>
17
19
  <example>osxvers=19</example>
@@ -21,6 +23,7 @@
21
23
  <param pos="0" name="os.version" value="10.15"/>
22
24
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.15"/>
23
25
  </fingerprint>
26
+
24
27
  <fingerprint pattern="^osxvers=18">
25
28
  <description>OS X 10.14 (Mojave)</description>
26
29
  <example>osxvers=18</example>
@@ -30,6 +33,7 @@
30
33
  <param pos="0" name="os.version" value="10.14"/>
31
34
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.14"/>
32
35
  </fingerprint>
36
+
33
37
  <fingerprint pattern="^osxvers=17">
34
38
  <description>OS X 10.13 (High Sierra)</description>
35
39
  <example>osxvers=17</example>
@@ -39,6 +43,7 @@
39
43
  <param pos="0" name="os.version" value="10.13"/>
40
44
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.13"/>
41
45
  </fingerprint>
46
+
42
47
  <fingerprint pattern="^osxvers=16">
43
48
  <description>OS X 10.12 (Sierra)</description>
44
49
  <example>osxvers=16</example>
@@ -48,6 +53,7 @@
48
53
  <param pos="0" name="os.version" value="10.12"/>
49
54
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.12"/>
50
55
  </fingerprint>
56
+
51
57
  <fingerprint pattern="^osxvers=15">
52
58
  <description>OS X 10.11 (El Capitan)</description>
53
59
  <example>osxvers=15</example>
@@ -57,6 +63,7 @@
57
63
  <param pos="0" name="os.version" value="10.11"/>
58
64
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.11"/>
59
65
  </fingerprint>
66
+
60
67
  <fingerprint pattern="^osxvers=14">
61
68
  <description>OS X 10.10 (Yosemite)</description>
62
69
  <example>osxvers=14</example>
@@ -66,6 +73,7 @@
66
73
  <param pos="0" name="os.version" value="10.10"/>
67
74
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.10"/>
68
75
  </fingerprint>
76
+
69
77
  <fingerprint pattern="^osxvers=13">
70
78
  <description>OS X 10.9 (Mavericks)</description>
71
79
  <example>osxvers=13</example>
@@ -75,6 +83,7 @@
75
83
  <param pos="0" name="os.version" value="10.9"/>
76
84
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.9"/>
77
85
  </fingerprint>
86
+
78
87
  <fingerprint pattern="^osxvers=12">
79
88
  <description>OS X 10.8 (Mountain Lion)</description>
80
89
  <example>osxvers=12</example>
@@ -84,6 +93,7 @@
84
93
  <param pos="0" name="os.version" value="10.8"/>
85
94
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.8"/>
86
95
  </fingerprint>
96
+
87
97
  <fingerprint pattern="^osxvers=11">
88
98
  <description>Mac OS X 10.7 (Lion)</description>
89
99
  <example>osxvers=11</example>
@@ -93,6 +103,7 @@
93
103
  <param pos="0" name="os.version" value="10.7"/>
94
104
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.7"/>
95
105
  </fingerprint>
106
+
96
107
  <fingerprint pattern="^osxvers=10">
97
108
  <description>Mac OS X 10.6 (Snow Leopard)</description>
98
109
  <example>osxvers=10</example>
@@ -102,6 +113,7 @@
102
113
  <param pos="0" name="os.version" value="10.6"/>
103
114
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.6"/>
104
115
  </fingerprint>
116
+
105
117
  <fingerprint pattern="^osxvers=9">
106
118
  <description>Mac OS X 10.5 (Leopard)</description>
107
119
  <example>osxvers=9</example>
@@ -111,6 +123,7 @@
111
123
  <param pos="0" name="os.version" value="10.5"/>
112
124
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.5"/>
113
125
  </fingerprint>
126
+
114
127
  <fingerprint pattern="^osxvers=8">
115
128
  <description>Mac OS X 10.4 (Tiger)</description>
116
129
  <example>osxvers=8</example>
@@ -120,6 +133,7 @@
120
133
  <param pos="0" name="os.version" value="10.4"/>
121
134
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.4"/>
122
135
  </fingerprint>
136
+
123
137
  <fingerprint pattern="^osxvers=7">
124
138
  <description>Mac OS X 10.3 (Panther)</description>
125
139
  <example>osxvers=7</example>
@@ -129,6 +143,7 @@
129
143
  <param pos="0" name="os.version" value="10.3"/>
130
144
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.3"/>
131
145
  </fingerprint>
146
+
132
147
  <fingerprint pattern="^osxvers=6">
133
148
  <description>Mac OS X 10.2 (Jaguar)</description>
134
149
  <example>osxvers=6</example>
@@ -138,6 +153,7 @@
138
153
  <param pos="0" name="os.version" value="10.2"/>
139
154
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.2"/>
140
155
  </fingerprint>
156
+
141
157
  <fingerprint pattern="^osxvers=5">
142
158
  <description>Mac OS X 10.1 (Puma)</description>
143
159
  <example>osxvers=5</example>
@@ -147,6 +163,7 @@
147
163
  <param pos="0" name="os.version" value="10.1"/>
148
164
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.1"/>
149
165
  </fingerprint>
166
+
150
167
  <fingerprint pattern="^osxvers=4">
151
168
  <description>Mac OS X 10.0 (Cheetah)</description>
152
169
  <example>osxvers=4</example>
@@ -156,8 +173,11 @@
156
173
  <param pos="0" name="os.version" value="10.0"/>
157
174
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.0"/>
158
175
  </fingerprint>
176
+
159
177
  <!-- AirPort Express -->
178
+
160
179
  <!-- TODO: Break this down into specific models and generations -->
180
+
161
181
  <fingerprint pattern="^model=AirPort4(?:,\d+)?$">
162
182
  <description>AirPort Express</description>
163
183
  <example>model=AirPort4</example>
@@ -173,8 +193,11 @@
173
193
  <param pos="0" name="hw.device" value="WAP"/>
174
194
  <param pos="0" name="hw.cpe23" value="cpe:/h:apple:airport_express:-"/>
175
195
  </fingerprint>
196
+
176
197
  <!-- AirPort Extreme -->
198
+
177
199
  <!-- TODO: Break this down into specific models and generations -->
200
+
178
201
  <fingerprint pattern="^model=AirPort5?(?:,\d+)?$">
179
202
  <description>AirPort Extreme</description>
180
203
  <example>model=AirPort</example>
@@ -191,8 +214,11 @@
191
214
  <param pos="0" name="hw.device" value="WAP"/>
192
215
  <param pos="0" name="hw.cpe23" value="cpe:/h:apple:airport_extreme:-"/>
193
216
  </fingerprint>
217
+
194
218
  <!-- TimeCapsule aka AirPort 6 -->
219
+
195
220
  <!-- TODO: Break this down into specific models and generations -->
221
+
196
222
  <fingerprint pattern="^model=(?:AirPort6|TimeCapsule).*$">
197
223
  <description>Time Capsule</description>
198
224
  <example>model=AirPort6</example>
@@ -209,7 +235,9 @@
209
235
  <param pos="0" name="hw.product" value="Time Capsule"/>
210
236
  <param pos="0" name="hw.device" value="WAP"/>
211
237
  </fingerprint>
238
+
212
239
  <!-- MacBookPro - Reference for the following: https://support.apple.com/en-us/HT201300 -->
240
+
213
241
  <fingerprint pattern="^model=MacBookPro15,4$">
214
242
  <description>MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)</description>
215
243
  <example>model=MacBookPro15,4</example>
@@ -222,6 +250,7 @@
222
250
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)"/>
223
251
  <param pos="0" name="hw.device" value="Laptop"/>
224
252
  </fingerprint>
253
+
225
254
  <fingerprint pattern="^model=MacBookPro15,3$">
226
255
  <description>MacBook Pro (15-inch, 2019)</description>
227
256
  <example>model=MacBookPro15,3</example>
@@ -234,6 +263,7 @@
234
263
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, 2019)"/>
235
264
  <param pos="0" name="hw.device" value="Laptop"/>
236
265
  </fingerprint>
266
+
237
267
  <fingerprint pattern="^model=MacBookPro15,2$">
238
268
  <description>MacBook Pro (13-inch, 2018, Four Thunderbolt 3 ports)</description>
239
269
  <example>model=MacBookPro15,2</example>
@@ -246,6 +276,7 @@
246
276
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2018, Four Thunderbolt 3 ports)"/>
247
277
  <param pos="0" name="hw.device" value="Laptop"/>
248
278
  </fingerprint>
279
+
249
280
  <fingerprint pattern="^model=MacBookPro15,1$">
250
281
  <description>MacBook Pro (15-inch, 2018)</description>
251
282
  <example>model=MacBookPro15,1</example>
@@ -258,6 +289,7 @@
258
289
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, 2018)"/>
259
290
  <param pos="0" name="hw.device" value="Laptop"/>
260
291
  </fingerprint>
292
+
261
293
  <fingerprint pattern="^model=MacBookPro14,3$">
262
294
  <description>MacBook Pro (15-inch, 2017)</description>
263
295
  <example>model=MacBookPro14,3</example>
@@ -270,6 +302,7 @@
270
302
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, 2017)"/>
271
303
  <param pos="0" name="hw.device" value="Laptop"/>
272
304
  </fingerprint>
305
+
273
306
  <fingerprint pattern="^model=MacBookPro14,2$">
274
307
  <description>MacBook Pro (13-inch, 2017, Four Thunderbolt 3 ports)</description>
275
308
  <example>model=MacBookPro14,2</example>
@@ -282,6 +315,7 @@
282
315
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2017, Four Thunderbolt 3 ports)"/>
283
316
  <param pos="0" name="hw.device" value="Laptop"/>
284
317
  </fingerprint>
318
+
285
319
  <fingerprint pattern="^model=MacBookPro14,1$">
286
320
  <description>MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)</description>
287
321
  <example>model=MacBookPro14,1</example>
@@ -294,6 +328,7 @@
294
328
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)"/>
295
329
  <param pos="0" name="hw.device" value="Laptop"/>
296
330
  </fingerprint>
331
+
297
332
  <fingerprint pattern="^model=MacBookPro13,3$">
298
333
  <description>MacBook Pro (15-inch, 2016)</description>
299
334
  <example>model=MacBookPro13,3</example>
@@ -306,6 +341,7 @@
306
341
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, 2016)"/>
307
342
  <param pos="0" name="hw.device" value="Laptop"/>
308
343
  </fingerprint>
344
+
309
345
  <fingerprint pattern="^model=MacBookPro13,2$">
310
346
  <description>MacBook Pro (13-inch, 2016, Four Thunderbolt 3 ports)</description>
311
347
  <example>model=MacBookPro13,2</example>
@@ -318,6 +354,7 @@
318
354
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2016, Four Thunderbolt 3 ports)"/>
319
355
  <param pos="0" name="hw.device" value="Laptop"/>
320
356
  </fingerprint>
357
+
321
358
  <fingerprint pattern="^model=MacBookPro13,1$">
322
359
  <description>MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports)</description>
323
360
  <example>model=MacBookPro13,1</example>
@@ -330,6 +367,7 @@
330
367
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports)"/>
331
368
  <param pos="0" name="hw.device" value="Laptop"/>
332
369
  </fingerprint>
370
+
333
371
  <fingerprint pattern="^model=MacBookPro12,1$">
334
372
  <description>MacBook Pro (Retina, 13-inch, Early 2015)</description>
335
373
  <example>model=MacBookPro12,1</example>
@@ -342,6 +380,7 @@
342
380
  <param pos="0" name="hw.product" value="MacBook Pro (Retina, 13-inch, Early 2015)"/>
343
381
  <param pos="0" name="hw.device" value="Laptop"/>
344
382
  </fingerprint>
383
+
345
384
  <fingerprint pattern="^model=MacBookPro11,4$">
346
385
  <description>MacBook Pro (Retina, 15-inch, Mid 2015)</description>
347
386
  <example>model=MacBookPro11,4</example>
@@ -354,6 +393,7 @@
354
393
  <param pos="0" name="hw.product" value="MacBook Pro (Retina, 15-inch, Mid 2015)"/>
355
394
  <param pos="0" name="hw.device" value="Laptop"/>
356
395
  </fingerprint>
396
+
357
397
  <fingerprint pattern="^model=MacBookPro11,3$">
358
398
  <description>MacBook Pro (Retina, 15-inch, Late 2013) - rev 2</description>
359
399
  <example>model=MacBookPro11,3</example>
@@ -366,6 +406,7 @@
366
406
  <param pos="0" name="hw.product" value="MacBook Pro (Retina, 15-inch, Late 2013)"/>
367
407
  <param pos="0" name="hw.device" value="Laptop"/>
368
408
  </fingerprint>
409
+
369
410
  <fingerprint pattern="^model=MacBookPro11,2$">
370
411
  <description>MacBook Pro (Retina, 15-inch, Late 2013)</description>
371
412
  <example>model=MacBookPro11,2</example>
@@ -378,6 +419,7 @@
378
419
  <param pos="0" name="hw.product" value="MacBook Pro (Retina, 15-inch, Late 2013)"/>
379
420
  <param pos="0" name="hw.device" value="Laptop"/>
380
421
  </fingerprint>
422
+
381
423
  <fingerprint pattern="^model=MacBookPro11,1$">
382
424
  <description>MacBook Pro (Retina, 13-inch, Late 2013)</description>
383
425
  <example>model=MacBookPro11,1</example>
@@ -390,6 +432,7 @@
390
432
  <param pos="0" name="hw.product" value="MacBook Pro (Retina, 13-inch, Late 2013)"/>
391
433
  <param pos="0" name="hw.device" value="Laptop"/>
392
434
  </fingerprint>
435
+
393
436
  <fingerprint pattern="^model=MacBookPro10,2$">
394
437
  <description>MacBook Pro (Retina, 13-inch, Early 2013)</description>
395
438
  <example>model=MacBookPro10,2</example>
@@ -402,6 +445,7 @@
402
445
  <param pos="0" name="hw.product" value="MacBook Pro (Retina, 13-inch, Early 2013)"/>
403
446
  <param pos="0" name="hw.device" value="Laptop"/>
404
447
  </fingerprint>
448
+
405
449
  <fingerprint pattern="^model=MacBookPro10,1$">
406
450
  <description>MacBook Pro (Retina, 15-inch, Early 2013)</description>
407
451
  <example>model=MacBookPro10,1</example>
@@ -414,6 +458,7 @@
414
458
  <param pos="0" name="hw.product" value="MacBook Pro (Retina, 15-inch, Early 2013)"/>
415
459
  <param pos="0" name="hw.device" value="Laptop"/>
416
460
  </fingerprint>
461
+
417
462
  <fingerprint pattern="^model=MacBookPro9,2$">
418
463
  <description>MacBook Pro (13-inch, Mid 2012)</description>
419
464
  <example>model=MacBookPro9,2</example>
@@ -426,6 +471,7 @@
426
471
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, Mid 2012)"/>
427
472
  <param pos="0" name="hw.device" value="Laptop"/>
428
473
  </fingerprint>
474
+
429
475
  <fingerprint pattern="^model=MacBookPro8,3$">
430
476
  <description>MacBook Pro (17-inch, Late 2011)</description>
431
477
  <example>model=MacBookPro8,3</example>
@@ -438,6 +484,7 @@
438
484
  <param pos="0" name="hw.product" value="MacBook Pro (17-inch, Late 2011)"/>
439
485
  <param pos="0" name="hw.device" value="Laptop"/>
440
486
  </fingerprint>
487
+
441
488
  <fingerprint pattern="^model=MacBookPro8,2$">
442
489
  <description>MacBook Pro (15-inch, Late 2011)</description>
443
490
  <example>model=MacBookPro8,2</example>
@@ -450,6 +497,7 @@
450
497
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, Late 2011)"/>
451
498
  <param pos="0" name="hw.device" value="Laptop"/>
452
499
  </fingerprint>
500
+
453
501
  <fingerprint pattern="^model=MacBookPro8,1$">
454
502
  <description>MacBook Pro (13-inch, Late 2011)</description>
455
503
  <example>model=MacBookPro8,1</example>
@@ -462,6 +510,7 @@
462
510
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, Late 2011)"/>
463
511
  <param pos="0" name="hw.device" value="Laptop"/>
464
512
  </fingerprint>
513
+
465
514
  <fingerprint pattern="^model=MacBookPro7,1$">
466
515
  <description>MacBook Pro (13-inch, Mid 2010)</description>
467
516
  <example>model=MacBookPro7,1</example>
@@ -474,6 +523,7 @@
474
523
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, Mid 2010)"/>
475
524
  <param pos="0" name="hw.device" value="Laptop"/>
476
525
  </fingerprint>
526
+
477
527
  <fingerprint pattern="^model=MacBookPro6,2$">
478
528
  <description>MacBook Pro (15-inch, Mid 2010)</description>
479
529
  <example>model=MacBookPro6,2</example>
@@ -486,6 +536,7 @@
486
536
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, Mid 2010)"/>
487
537
  <param pos="0" name="hw.device" value="Laptop"/>
488
538
  </fingerprint>
539
+
489
540
  <fingerprint pattern="^model=MacBookPro6,1$">
490
541
  <description>MacBook Pro (17-inch, Mid 2010)</description>
491
542
  <example>model=MacBookPro6,1</example>
@@ -498,6 +549,7 @@
498
549
  <param pos="0" name="hw.product" value="MacBook Pro (17-inch, Mid 2010)"/>
499
550
  <param pos="0" name="hw.device" value="Laptop"/>
500
551
  </fingerprint>
552
+
501
553
  <fingerprint pattern="^model=MacBookPro5,5$">
502
554
  <description>MacBook Pro (13-inch, Mid 2009)</description>
503
555
  <example>model=MacBookPro5,5</example>
@@ -510,6 +562,7 @@
510
562
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, Mid 2009)"/>
511
563
  <param pos="0" name="hw.device" value="Laptop"/>
512
564
  </fingerprint>
565
+
513
566
  <fingerprint pattern="^model=MacBookPro5,3$">
514
567
  <description>MacBook Pro (15-inch, Mid 2009)</description>
515
568
  <example>model=MacBookPro5,3</example>
@@ -522,6 +575,7 @@
522
575
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, Mid 2009)"/>
523
576
  <param pos="0" name="hw.device" value="Laptop"/>
524
577
  </fingerprint>
578
+
525
579
  <fingerprint pattern="^model=MacBookPro5,2$">
526
580
  <description>MacBook Pro (17-inch, Mid 2009)</description>
527
581
  <example>model=MacBookPro5,2</example>
@@ -534,6 +588,7 @@
534
588
  <param pos="0" name="hw.product" value="MacBook Pro (17-inch, Mid 2009)"/>
535
589
  <param pos="0" name="hw.device" value="Laptop"/>
536
590
  </fingerprint>
591
+
537
592
  <fingerprint pattern="^model=MacBookPro5,1$">
538
593
  <description>MacBook Pro (15-inch, Late 2008)</description>
539
594
  <example>model=MacBookPro5,1</example>
@@ -546,6 +601,7 @@
546
601
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, Late 2008)"/>
547
602
  <param pos="0" name="hw.device" value="Laptop"/>
548
603
  </fingerprint>
604
+
549
605
  <fingerprint pattern="^model=MacBookPro4,1$">
550
606
  <description>MacBook Pro (17-inch, Early 2008)</description>
551
607
  <example>model=MacBookPro4,1</example>
@@ -558,7 +614,9 @@
558
614
  <param pos="0" name="hw.product" value="MacBook Pro (17-inch, Early 2008)"/>
559
615
  <param pos="0" name="hw.device" value="Laptop"/>
560
616
  </fingerprint>
617
+
561
618
  <!-- MacBook - Reference for the following: https://support.apple.com/en-us/HT201608 -->
619
+
562
620
  <fingerprint pattern="^model=MacBook10,1$">
563
621
  <description>MacBook (Retina, 12-inch, 2017)</description>
564
622
  <example>model=MacBook10,1</example>
@@ -571,6 +629,7 @@
571
629
  <param pos="0" name="hw.product" value="MacBook (Retina, 12-inch, 2017)"/>
572
630
  <param pos="0" name="hw.device" value="Laptop"/>
573
631
  </fingerprint>
632
+
574
633
  <fingerprint pattern="^model=MacBook9,1$">
575
634
  <description>MacBook (Retina, 12-inch, Early 2016)</description>
576
635
  <example>model=MacBook9,1</example>
@@ -583,6 +642,7 @@
583
642
  <param pos="0" name="hw.product" value="MacBook (Retina, 12-inch, Early 2016)"/>
584
643
  <param pos="0" name="hw.device" value="Laptop"/>
585
644
  </fingerprint>
645
+
586
646
  <fingerprint pattern="^model=MacBook8,1$">
587
647
  <description>MacBook (Retina, 12-inch, Early 2015)</description>
588
648
  <example>model=MacBook8,1</example>
@@ -595,6 +655,7 @@
595
655
  <param pos="0" name="hw.product" value="MacBook (Retina, 12-inch, Early 2015)"/>
596
656
  <param pos="0" name="hw.device" value="Laptop"/>
597
657
  </fingerprint>
658
+
598
659
  <fingerprint pattern="^model=MacBook7,1$">
599
660
  <description>MacBook (13-inch, Mid 2010)</description>
600
661
  <example>model=MacBook7,1</example>
@@ -607,7 +668,9 @@
607
668
  <param pos="0" name="hw.product" value="MacBook (13-inch, Mid 2010)"/>
608
669
  <param pos="0" name="hw.device" value="Laptop"/>
609
670
  </fingerprint>
671
+
610
672
  <!-- MacBookAir - Reference for the following: https://support.apple.com/en-us/HT201862 -->
673
+
611
674
  <fingerprint pattern="^model=MacBookAir8,2$">
612
675
  <description>MacBook Air (Retina, 13-inch, 2019)</description>
613
676
  <example>model=MacBookAir8,2</example>
@@ -620,6 +683,7 @@
620
683
  <param pos="0" name="hw.product" value="MacBook Air (Retina, 13-inch, 2019)"/>
621
684
  <param pos="0" name="hw.device" value="Laptop"/>
622
685
  </fingerprint>
686
+
623
687
  <fingerprint pattern="^model=MacBookAir8,1$">
624
688
  <description>MacBook Air (Retina, 13-inch, 2018)</description>
625
689
  <example>model=MacBookAir8,1</example>
@@ -632,6 +696,7 @@
632
696
  <param pos="0" name="hw.product" value="MacBook Air (Retina, 13-inch, 2018)"/>
633
697
  <param pos="0" name="hw.device" value="Laptop"/>
634
698
  </fingerprint>
699
+
635
700
  <fingerprint pattern="^model=MacBookAir7,2$">
636
701
  <description>MacBook Air (13-inch, 2017)</description>
637
702
  <example>model=MacBookAir7,2</example>
@@ -644,6 +709,7 @@
644
709
  <param pos="0" name="hw.product" value="MacBook Air (13-inch, 2017)"/>
645
710
  <param pos="0" name="hw.device" value="Laptop"/>
646
711
  </fingerprint>
712
+
647
713
  <fingerprint pattern="^model=MacBookAir7,1$">
648
714
  <description>MacBook Air (11-inch, Early 2015)</description>
649
715
  <example>model=MacBookAir7,1</example>
@@ -656,6 +722,7 @@
656
722
  <param pos="0" name="hw.product" value="MacBook Air (11-inch, Early 2015)"/>
657
723
  <param pos="0" name="hw.device" value="Laptop"/>
658
724
  </fingerprint>
725
+
659
726
  <fingerprint pattern="^model=MacBookAir6,2$">
660
727
  <description>MacBook Air (13-inch, Early 2014)</description>
661
728
  <example>model=MacBookAir6,2</example>
@@ -668,6 +735,7 @@
668
735
  <param pos="0" name="hw.product" value="MacBook Air (13-inch, Early 2014)"/>
669
736
  <param pos="0" name="hw.device" value="Laptop"/>
670
737
  </fingerprint>
738
+
671
739
  <fingerprint pattern="^model=MacBookAir6,1$">
672
740
  <description>MacBook Air (11-inch, Early 2014)</description>
673
741
  <example>model=MacBookAir6,1</example>
@@ -680,6 +748,7 @@
680
748
  <param pos="0" name="hw.product" value="MacBook Air (11-inch, Early 2014)"/>
681
749
  <param pos="0" name="hw.device" value="Laptop"/>
682
750
  </fingerprint>
751
+
683
752
  <fingerprint pattern="^model=MacBookAir5,2$">
684
753
  <description>MacBook Air (13-inch, Mid 2012)</description>
685
754
  <example>model=MacBookAir5,2</example>
@@ -692,6 +761,7 @@
692
761
  <param pos="0" name="hw.product" value="MacBook Air (13-inch, Mid 2012)"/>
693
762
  <param pos="0" name="hw.device" value="Laptop"/>
694
763
  </fingerprint>
764
+
695
765
  <fingerprint pattern="^model=MacBookAir5,1$">
696
766
  <description>MacBook Air (11-inch, Mid 2012)</description>
697
767
  <example>model=MacBookAir5,1</example>
@@ -704,6 +774,7 @@
704
774
  <param pos="0" name="hw.product" value="MacBook Air (11-inch, Mid 2012)"/>
705
775
  <param pos="0" name="hw.device" value="Laptop"/>
706
776
  </fingerprint>
777
+
707
778
  <fingerprint pattern="^model=MacBookAir4,2$">
708
779
  <description>MacBook Air (13-inch, Mid 2011)</description>
709
780
  <example>model=MacBookAir4,2</example>
@@ -716,6 +787,7 @@
716
787
  <param pos="0" name="hw.product" value="MacBook Air (13-inch, Mid 2011)"/>
717
788
  <param pos="0" name="hw.device" value="Laptop"/>
718
789
  </fingerprint>
790
+
719
791
  <fingerprint pattern="^model=MacBookAir4,1$">
720
792
  <description>MacBook Air (11-inch, Mid 2011)</description>
721
793
  <example>model=MacBookAir4,1</example>
@@ -728,6 +800,7 @@
728
800
  <param pos="0" name="hw.product" value="MacBook Air (11-inch, Mid 2011)"/>
729
801
  <param pos="0" name="hw.device" value="Laptop"/>
730
802
  </fingerprint>
803
+
731
804
  <fingerprint pattern="^model=MacBookAir3,2$">
732
805
  <description>MacBook Air (13-inch, Late 2010)</description>
733
806
  <example>model=MacBookAir3,2</example>
@@ -740,6 +813,7 @@
740
813
  <param pos="0" name="hw.product" value="MacBook Air (13-inch, Late 2010)"/>
741
814
  <param pos="0" name="hw.device" value="Laptop"/>
742
815
  </fingerprint>
816
+
743
817
  <fingerprint pattern="^model=MacBookAir3,1$">
744
818
  <description>MacBook Air (11-inch, Late 2010)</description>
745
819
  <example>model=MacBookAir3,1</example>
@@ -752,6 +826,7 @@
752
826
  <param pos="0" name="hw.product" value="MacBook Air (11-inch, Late 2010)"/>
753
827
  <param pos="0" name="hw.device" value="Laptop"/>
754
828
  </fingerprint>
829
+
755
830
  <fingerprint pattern="^model=MacBookAir2,1$">
756
831
  <description>MacBook Air (Mid 2009)</description>
757
832
  <example>model=MacBookAir2,1</example>
@@ -764,7 +839,9 @@
764
839
  <param pos="0" name="hw.product" value="MacBook Air (Mid 2009)"/>
765
840
  <param pos="0" name="hw.device" value="Laptop"/>
766
841
  </fingerprint>
842
+
767
843
  <!-- MacMini - Reference for the following: https://support.apple.com/en-us/HT201894 -->
844
+
768
845
  <fingerprint pattern="^model=Macmini8,1$">
769
846
  <description>Mac mini (Late 2018)</description>
770
847
  <example>model=Macmini8,1</example>
@@ -777,6 +854,7 @@
777
854
  <param pos="0" name="hw.product" value="Mac mini (Late 2018)"/>
778
855
  <param pos="0" name="hw.device" value="Desktop"/>
779
856
  </fingerprint>
857
+
780
858
  <fingerprint pattern="^model=Macmini7,1$">
781
859
  <description>Mac mini (Late 2014)</description>
782
860
  <example>model=Macmini7,1</example>
@@ -789,6 +867,7 @@
789
867
  <param pos="0" name="hw.product" value="Mac mini (Late 2014)"/>
790
868
  <param pos="0" name="hw.device" value="Desktop"/>
791
869
  </fingerprint>
870
+
792
871
  <fingerprint pattern="^model=Macmini6,2$">
793
872
  <description>Mac mini (Late 2012) - rev 2</description>
794
873
  <example>model=Macmini6,2</example>
@@ -801,6 +880,7 @@
801
880
  <param pos="0" name="hw.product" value="Mac mini (Late 2012)"/>
802
881
  <param pos="0" name="hw.device" value="Desktop"/>
803
882
  </fingerprint>
883
+
804
884
  <fingerprint pattern="^model=Macmini6,1$">
805
885
  <description>Mac mini (Late 2012)</description>
806
886
  <example>model=Macmini6,1</example>
@@ -813,6 +893,7 @@
813
893
  <param pos="0" name="hw.product" value="Mac mini (Late 2012)"/>
814
894
  <param pos="0" name="hw.device" value="Desktop"/>
815
895
  </fingerprint>
896
+
816
897
  <fingerprint pattern="^model=Macmini5,[12]$">
817
898
  <description>Mac mini (Mid 2011)</description>
818
899
  <example>model=Macmini5,1</example>
@@ -825,6 +906,7 @@
825
906
  <param pos="0" name="hw.product" value="Mac mini (Mid 2011)"/>
826
907
  <param pos="0" name="hw.device" value="Desktop"/>
827
908
  </fingerprint>
909
+
828
910
  <fingerprint pattern="^model=Macmini4,1$">
829
911
  <description>Mac mini (Mid 2010)</description>
830
912
  <example>model=Macmini4,1</example>
@@ -837,6 +919,7 @@
837
919
  <param pos="0" name="hw.product" value="Mac mini (Mid 2010)"/>
838
920
  <param pos="0" name="hw.device" value="Desktop"/>
839
921
  </fingerprint>
922
+
840
923
  <fingerprint pattern="^model=Macmini3,1$">
841
924
  <description>Mac mini (Late 2009)</description>
842
925
  <example>model=Macmini3,1</example>
@@ -849,7 +932,9 @@
849
932
  <param pos="0" name="hw.product" value="Mac mini (Late 2009)"/>
850
933
  <param pos="0" name="hw.device" value="Desktop"/>
851
934
  </fingerprint>
935
+
852
936
  <!-- Listed at https://en.wikipedia.org/wiki/Mac_Mini#2nd_generation_(Intel-based,_2006-2009) -->
937
+
853
938
  <fingerprint pattern="^model=Macmini2,1$">
854
939
  <description>Mac mini (Mid 2007)</description>
855
940
  <example>model=Macmini2,1</example>
@@ -862,7 +947,9 @@
862
947
  <param pos="0" name="hw.product" value="Mac mini (Mid 2007)"/>
863
948
  <param pos="0" name="hw.device" value="Desktop"/>
864
949
  </fingerprint>
950
+
865
951
  <!-- MacPro - Reference for the following: https://support.apple.com/en-us/HT202888 -->
952
+
866
953
  <fingerprint pattern="^model=MacPro7,1$">
867
954
  <description>Mac Pro (Late 2019)</description>
868
955
  <example>model=MacPro7,1</example>
@@ -875,6 +962,7 @@
875
962
  <param pos="0" name="hw.product" value="Mac Pro (Late 2019)"/>
876
963
  <param pos="0" name="hw.device" value="Desktop"/>
877
964
  </fingerprint>
965
+
878
966
  <fingerprint pattern="^model=MacPro6,1$">
879
967
  <description>Mac Pro (Late 2013)</description>
880
968
  <example>model=MacPro6,1</example>
@@ -887,6 +975,7 @@
887
975
  <param pos="0" name="hw.product" value="Mac Pro (Late 2013)"/>
888
976
  <param pos="0" name="hw.device" value="Desktop"/>
889
977
  </fingerprint>
978
+
890
979
  <fingerprint pattern="^model=MacPro5,1$">
891
980
  <description>Mac Pro (Mid 2012)</description>
892
981
  <example>model=MacPro5,1</example>
@@ -899,6 +988,7 @@
899
988
  <param pos="0" name="hw.product" value="Mac Pro (Mid 2012)"/>
900
989
  <param pos="0" name="hw.device" value="Desktop"/>
901
990
  </fingerprint>
991
+
902
992
  <fingerprint pattern="^model=MacPro4,1$">
903
993
  <description>Mac Pro (Early 2009)</description>
904
994
  <example>model=MacPro4,1</example>
@@ -911,7 +1001,9 @@
911
1001
  <param pos="0" name="hw.product" value="Mac Pro (Early 2009)"/>
912
1002
  <param pos="0" name="hw.device" value="Desktop"/>
913
1003
  </fingerprint>
1004
+
914
1005
  <!-- MacPro older models listed at https://en.wikipedia.org/wiki/Mac_Pro -->
1006
+
915
1007
  <fingerprint pattern="^model=MacPro3,1$">
916
1008
  <description>Mac Pro (Early 2008)</description>
917
1009
  <example>model=MacPro3,1</example>
@@ -924,6 +1016,7 @@
924
1016
  <param pos="0" name="hw.product" value="Mac Pro (Early 2008)"/>
925
1017
  <param pos="0" name="hw.device" value="Desktop"/>
926
1018
  </fingerprint>
1019
+
927
1020
  <fingerprint pattern="^model=MacPro2,1$">
928
1021
  <description>Mac Pro (Mid 2007)</description>
929
1022
  <example>model=MacPro2,1</example>
@@ -936,7 +1029,9 @@
936
1029
  <param pos="0" name="hw.product" value="Mac Pro (Mid 2007)"/>
937
1030
  <param pos="0" name="hw.device" value="Desktop"/>
938
1031
  </fingerprint>
1032
+
939
1033
  <!-- MacPro with no model assumed to early 1,1 -->
1034
+
940
1035
  <fingerprint pattern="^model=MacPro(?:1,1)?$">
941
1036
  <description>Mac Pro (Mid 2006)</description>
942
1037
  <example>model=MacPro1,1</example>
@@ -950,7 +1045,9 @@
950
1045
  <param pos="0" name="hw.product" value="Mac Pro (Mid 2006)"/>
951
1046
  <param pos="0" name="hw.device" value="Desktop"/>
952
1047
  </fingerprint>
1048
+
953
1049
  <!-- XServe - Reference for the following: https://en.wikipedia.org/wiki/Xserve -->
1050
+
954
1051
  <fingerprint pattern="^model=Xserve3,1$">
955
1052
  <description>Xserve (Early 2009)</description>
956
1053
  <example>model=Xserve3,1</example>
@@ -962,6 +1059,7 @@
962
1059
  <param pos="0" name="hw.family" value="Xserve"/>
963
1060
  <param pos="0" name="hw.product" value="Xserve (Early 2009)"/>
964
1061
  </fingerprint>
1062
+
965
1063
  <fingerprint pattern="^model=Xserve2,1$">
966
1064
  <description>Xserve (Early 2008)</description>
967
1065
  <example>model=Xserve2,1</example>
@@ -973,6 +1071,7 @@
973
1071
  <param pos="0" name="hw.family" value="Xserve"/>
974
1072
  <param pos="0" name="hw.product" value="Xserve (Early 2008)"/>
975
1073
  </fingerprint>
1074
+
976
1075
  <fingerprint pattern="^model=Xserve1,1$">
977
1076
  <description>Xserve (Late 2006)</description>
978
1077
  <example>model=Xserve1,1</example>
@@ -984,6 +1083,7 @@
984
1083
  <param pos="0" name="hw.family" value="Xserve"/>
985
1084
  <param pos="0" name="hw.product" value="Xserve (Late 2006)"/>
986
1085
  </fingerprint>
1086
+
987
1087
  <fingerprint pattern="^model=RackMac3,1$">
988
1088
  <description>Xserve G5</description>
989
1089
  <example>model=RackMac3,1</example>
@@ -995,6 +1095,7 @@
995
1095
  <param pos="0" name="hw.family" value="Xserve"/>
996
1096
  <param pos="0" name="hw.product" value="Xserve G5"/>
997
1097
  </fingerprint>
1098
+
998
1099
  <fingerprint pattern="^model=RackMac1,2$">
999
1100
  <description>Xserve G4 (Slot Load)</description>
1000
1101
  <example>model=RackMac1,2</example>
@@ -1006,6 +1107,7 @@
1006
1107
  <param pos="0" name="hw.family" value="Xserve"/>
1007
1108
  <param pos="0" name="hw.product" value="Xserve G4 (Slot Load)"/>
1008
1109
  </fingerprint>
1110
+
1009
1111
  <fingerprint pattern="^model=RackMac1,1$">
1010
1112
  <description>Xserve G4</description>
1011
1113
  <example>model=RackMac1,1</example>
@@ -1017,7 +1119,9 @@
1017
1119
  <param pos="0" name="hw.family" value="Xserve"/>
1018
1120
  <param pos="0" name="hw.product" value="Xserve G4"/>
1019
1121
  </fingerprint>
1122
+
1020
1123
  <!-- iMAC - Reference for the following: https://support.apple.com/en-us/HT201634 -->
1124
+
1021
1125
  <fingerprint pattern="^model=iMac19,1$">
1022
1126
  <description>iMac (Retina 5K, 27-inch, 2019)</description>
1023
1127
  <example>model=iMac19,1</example>
@@ -1030,6 +1134,7 @@
1030
1134
  <param pos="0" name="hw.product" value="iMac (Retina 5K, 27-inch, 2019)"/>
1031
1135
  <param pos="0" name="hw.device" value="Desktop"/>
1032
1136
  </fingerprint>
1137
+
1033
1138
  <fingerprint pattern="^model=iMac19,2$">
1034
1139
  <description>iMac (Retina 4K, 21.5-inch, 2019)</description>
1035
1140
  <example>model=iMac19,2</example>
@@ -1042,6 +1147,7 @@
1042
1147
  <param pos="0" name="hw.product" value="iMac (Retina 4K, 21.5-inch, 2019)"/>
1043
1148
  <param pos="0" name="hw.device" value="Desktop"/>
1044
1149
  </fingerprint>
1150
+
1045
1151
  <fingerprint pattern="^model=iMacPro1,1$">
1046
1152
  <description>iMac Pro (Retina 5K, Late 2017)</description>
1047
1153
  <example>model=iMacPro1,1</example>
@@ -1054,6 +1160,7 @@
1054
1160
  <param pos="0" name="hw.product" value="iMac Pro (Retina 5K, Late 2017)"/>
1055
1161
  <param pos="0" name="hw.device" value="Desktop"/>
1056
1162
  </fingerprint>
1163
+
1057
1164
  <fingerprint pattern="^model=iMac18,3$">
1058
1165
  <description>iMac (Retina 5K, 27-inch, 2017)</description>
1059
1166
  <example>model=iMac18,3</example>
@@ -1066,6 +1173,7 @@
1066
1173
  <param pos="0" name="hw.product" value="iMac (Retina 5K, 27-inch, 2017)"/>
1067
1174
  <param pos="0" name="hw.device" value="Desktop"/>
1068
1175
  </fingerprint>
1176
+
1069
1177
  <fingerprint pattern="^model=iMac18,2$">
1070
1178
  <description>iMac (Retina 4K, 21.5-inch, 2017)</description>
1071
1179
  <example>model=iMac18,2</example>
@@ -1078,6 +1186,7 @@
1078
1186
  <param pos="0" name="hw.product" value="iMac (Retina 4K, 21.5-inch, 2017)"/>
1079
1187
  <param pos="0" name="hw.device" value="Desktop"/>
1080
1188
  </fingerprint>
1189
+
1081
1190
  <fingerprint pattern="^model=iMac18,1$">
1082
1191
  <description>iMac (21.5-inch, 2017)</description>
1083
1192
  <example>model=iMac18,1</example>
@@ -1090,6 +1199,7 @@
1090
1199
  <param pos="0" name="hw.product" value="iMac (21.5-inch, 2017)"/>
1091
1200
  <param pos="0" name="hw.device" value="Desktop"/>
1092
1201
  </fingerprint>
1202
+
1093
1203
  <fingerprint pattern="^model=iMac17,1$">
1094
1204
  <description>iMac (Retina 5K, 27-inch, Late 2015)</description>
1095
1205
  <example>model=iMac17,1</example>
@@ -1102,6 +1212,7 @@
1102
1212
  <param pos="0" name="hw.product" value="iMac (Retina 5K, 27-inch, Late 2015)"/>
1103
1213
  <param pos="0" name="hw.device" value="Desktop"/>
1104
1214
  </fingerprint>
1215
+
1105
1216
  <fingerprint pattern="^model=iMac16,2$">
1106
1217
  <description>iMac (Retina 4K, 21.5-inch, Late 2015)</description>
1107
1218
  <example>model=iMac16,2</example>
@@ -1114,6 +1225,7 @@
1114
1225
  <param pos="0" name="hw.product" value="iMac (Retina 4K, 21.5-inch, Late 2015)"/>
1115
1226
  <param pos="0" name="hw.device" value="Desktop"/>
1116
1227
  </fingerprint>
1228
+
1117
1229
  <fingerprint pattern="^model=iMac16,1$">
1118
1230
  <description>iMac (21.5-inch, Late 2015)</description>
1119
1231
  <example>model=iMac16,1</example>
@@ -1126,6 +1238,7 @@
1126
1238
  <param pos="0" name="hw.product" value="iMac (21.5-inch, Late 2015)"/>
1127
1239
  <param pos="0" name="hw.device" value="Desktop"/>
1128
1240
  </fingerprint>
1241
+
1129
1242
  <fingerprint pattern="^model=iMac15,1$">
1130
1243
  <description>iMac (Retina 5K, 27-inch, Mid 2015)</description>
1131
1244
  <example>model=iMac15,1</example>
@@ -1138,6 +1251,7 @@
1138
1251
  <param pos="0" name="hw.product" value="iMac (Retina 5K, 27-inch, Mid 2015)"/>
1139
1252
  <param pos="0" name="hw.device" value="Desktop"/>
1140
1253
  </fingerprint>
1254
+
1141
1255
  <fingerprint pattern="^model=iMac14,4$">
1142
1256
  <description>iMac (21.5-inch, Mid 2014)</description>
1143
1257
  <example>model=iMac14,4</example>
@@ -1150,6 +1264,7 @@
1150
1264
  <param pos="0" name="hw.product" value="iMac (21.5-inch, Mid 2014)"/>
1151
1265
  <param pos="0" name="hw.device" value="Desktop"/>
1152
1266
  </fingerprint>
1267
+
1153
1268
  <fingerprint pattern="^model=iMac14,2$">
1154
1269
  <description>iMac (27-inch, Late 2013)</description>
1155
1270
  <example>model=iMac14,2</example>
@@ -1162,6 +1277,7 @@
1162
1277
  <param pos="0" name="hw.product" value="iMac (27-inch, Late 2013)"/>
1163
1278
  <param pos="0" name="hw.device" value="Desktop"/>
1164
1279
  </fingerprint>
1280
+
1165
1281
  <fingerprint pattern="^model=iMac14,1$">
1166
1282
  <description>iMac (21.5-inch, Late 2013)</description>
1167
1283
  <example>model=iMac14,1</example>
@@ -1174,6 +1290,7 @@
1174
1290
  <param pos="0" name="hw.product" value="iMac (21.5-inch, Late 2013)"/>
1175
1291
  <param pos="0" name="hw.device" value="Desktop"/>
1176
1292
  </fingerprint>
1293
+
1177
1294
  <fingerprint pattern="^model=iMac13,2$">
1178
1295
  <description>iMac (27-inch, Late 2012)</description>
1179
1296
  <example>model=iMac13,2</example>
@@ -1186,6 +1303,7 @@
1186
1303
  <param pos="0" name="hw.product" value="iMac (27-inch, Late 2012)"/>
1187
1304
  <param pos="0" name="hw.device" value="Desktop"/>
1188
1305
  </fingerprint>
1306
+
1189
1307
  <fingerprint pattern="^model=iMac13,1$">
1190
1308
  <description>iMac (21.5-inch, Late 2012)</description>
1191
1309
  <example>model=iMac13,1</example>
@@ -1198,6 +1316,7 @@
1198
1316
  <param pos="0" name="hw.product" value="iMac (21.5-inch, Late 2012)"/>
1199
1317
  <param pos="0" name="hw.device" value="Desktop"/>
1200
1318
  </fingerprint>
1319
+
1201
1320
  <fingerprint pattern="^model=iMac12,2$">
1202
1321
  <description>iMac (27-inch, Mid 2011)</description>
1203
1322
  <example>model=iMac12,2</example>
@@ -1210,6 +1329,7 @@
1210
1329
  <param pos="0" name="hw.product" value="iMac (27-inch, Mid 2011)"/>
1211
1330
  <param pos="0" name="hw.device" value="Desktop"/>
1212
1331
  </fingerprint>
1332
+
1213
1333
  <fingerprint pattern="^model=iMac12,1$">
1214
1334
  <description>iMac (21.5-inch, Mid 2011)</description>
1215
1335
  <example>model=iMac12,1</example>
@@ -1222,6 +1342,7 @@
1222
1342
  <param pos="0" name="hw.product" value="iMac (21.5-inch, Mid 2011)"/>
1223
1343
  <param pos="0" name="hw.device" value="Desktop"/>
1224
1344
  </fingerprint>
1345
+
1225
1346
  <fingerprint pattern="^model=iMac11,3$">
1226
1347
  <description>iMac (27-inch, Mid 2010)</description>
1227
1348
  <example>model=iMac11,3</example>
@@ -1234,6 +1355,7 @@
1234
1355
  <param pos="0" name="hw.product" value="iMac (27-inch, Mid 2010)"/>
1235
1356
  <param pos="0" name="hw.device" value="Desktop"/>
1236
1357
  </fingerprint>
1358
+
1237
1359
  <fingerprint pattern="^model=iMac11,2$">
1238
1360
  <description>iMac (21.5-inch, Mid 2010)</description>
1239
1361
  <example>model=iMac11,2</example>
@@ -1246,6 +1368,7 @@
1246
1368
  <param pos="0" name="hw.product" value="iMac (21.5-inch, Mid 2010)"/>
1247
1369
  <param pos="0" name="hw.device" value="Desktop"/>
1248
1370
  </fingerprint>
1371
+
1249
1372
  <fingerprint pattern="^model=iMac10,1$">
1250
1373
  <description>iMac (27-inch, Late 2009)</description>
1251
1374
  <example>model=iMac10,1</example>
@@ -1258,6 +1381,7 @@
1258
1381
  <param pos="0" name="hw.product" value="iMac (27-inch, Late 2009)"/>
1259
1382
  <param pos="0" name="hw.device" value="Desktop"/>
1260
1383
  </fingerprint>
1384
+
1261
1385
  <fingerprint pattern="^model=iMac9,1$">
1262
1386
  <description>iMac (24-inch, Early 2009)</description>
1263
1387
  <example>model=iMac9,1</example>
@@ -1270,7 +1394,9 @@
1270
1394
  <param pos="0" name="hw.product" value="iMac (24-inch, Early 2009)"/>
1271
1395
  <param pos="0" name="hw.device" value="Desktop"/>
1272
1396
  </fingerprint>
1397
+
1273
1398
  <!-- iPad Pro - Reference for the following: https://www.theiphonewiki.com/ -->
1399
+
1274
1400
  <fingerprint pattern="^model=J32[01]x?AP$">
1275
1401
  <description>iPad Pro (12.9-inch)</description>
1276
1402
  <example>model=J320AP</example>
@@ -1284,6 +1410,7 @@
1284
1410
  <param pos="0" name="hw.product" value="iPad Pro (12.9-inch)"/>
1285
1411
  <param pos="0" name="hw.device" value="Tablet"/>
1286
1412
  </fingerprint>
1413
+
1287
1414
  <fingerprint pattern="^model=J31[78]x?AP$">
1288
1415
  <description>iPad Pro (11-inch)</description>
1289
1416
  <example>model=J317AP</example>
@@ -1297,6 +1424,7 @@
1297
1424
  <param pos="0" name="hw.product" value="iPad Pro (11-inch)"/>
1298
1425
  <param pos="0" name="hw.device" value="Tablet"/>
1299
1426
  </fingerprint>
1427
+
1300
1428
  <fingerprint pattern="^model=J20[78]AP$">
1301
1429
  <description>iPad Pro (10.5-inch)</description>
1302
1430
  <example>model=J207AP</example>
@@ -1309,6 +1437,7 @@
1309
1437
  <param pos="0" name="hw.product" value="iPad Pro (10.5-inch)"/>
1310
1438
  <param pos="0" name="hw.device" value="Tablet"/>
1311
1439
  </fingerprint>
1440
+
1312
1441
  <fingerprint pattern="^model=J12[78]AP$">
1313
1442
  <description>iPad Pro (9.7-inch)</description>
1314
1443
  <example>model=J127AP</example>
@@ -1321,7 +1450,9 @@
1321
1450
  <param pos="0" name="hw.product" value="iPad Pro (9.7-inch)"/>
1322
1451
  <param pos="0" name="hw.device" value="Tablet"/>
1323
1452
  </fingerprint>
1453
+
1324
1454
  <!-- iPad -->
1455
+
1325
1456
  <fingerprint pattern="^model=J7[12]bAP$">
1326
1457
  <description>iPad 6th generation)</description>
1327
1458
  <example>model=J72bAP</example>
@@ -1335,6 +1466,7 @@
1335
1466
  <param pos="0" name="hw.product" value="iPad (6th generation)"/>
1336
1467
  <param pos="0" name="hw.device" value="Tablet"/>
1337
1468
  </fingerprint>
1469
+
1338
1470
  <fingerprint pattern="^model=J71[ts]AP$">
1339
1471
  <description>iPad (5th generation)</description>
1340
1472
  <example>model=J71tAP</example>
@@ -1347,6 +1479,7 @@
1347
1479
  <param pos="0" name="hw.product" value="iPad (5th generation)"/>
1348
1480
  <param pos="0" name="hw.device" value="Tablet"/>
1349
1481
  </fingerprint>
1482
+
1350
1483
  <fingerprint pattern="^model=P10[123]AP$">
1351
1484
  <description>iPad (4th generation)</description>
1352
1485
  <example>model=P103AP</example>
@@ -1359,7 +1492,9 @@
1359
1492
  <param pos="0" name="hw.product" value="iPad (4th generation)"/>
1360
1493
  <param pos="0" name="hw.device" value="Tablet"/>
1361
1494
  </fingerprint>
1495
+
1362
1496
  <!-- iPad Air -->
1497
+
1363
1498
  <fingerprint pattern="^model=J21[78]AP$">
1364
1499
  <description>iPad Air (3rd generation)</description>
1365
1500
  <example>model=J218AP</example>
@@ -1372,6 +1507,7 @@
1372
1507
  <param pos="0" name="hw.product" value="iPad Air (3rd generation)"/>
1373
1508
  <param pos="0" name="hw.device" value="Tablet"/>
1374
1509
  </fingerprint>
1510
+
1375
1511
  <fingerprint pattern="^model=J8[12]AP$">
1376
1512
  <description>iPad Air 2</description>
1377
1513
  <example>model=J81AP</example>
@@ -1384,6 +1520,7 @@
1384
1520
  <param pos="0" name="hw.product" value="iPad Air 2"/>
1385
1521
  <param pos="0" name="hw.device" value="Tablet"/>
1386
1522
  </fingerprint>
1523
+
1387
1524
  <fingerprint pattern="^model=J7[123]AP$">
1388
1525
  <description>iPad Air</description>
1389
1526
  <example>model=J72AP</example>
@@ -1396,7 +1533,9 @@
1396
1533
  <param pos="0" name="hw.product" value="iPad Air"/>
1397
1534
  <param pos="0" name="hw.device" value="Tablet"/>
1398
1535
  </fingerprint>
1536
+
1399
1537
  <!-- iPad mini -->
1538
+
1400
1539
  <fingerprint pattern="^model=J21[01]AP$">
1401
1540
  <description>iPad mini (5th generation)</description>
1402
1541
  <example>model=J210AP</example>
@@ -1409,6 +1548,7 @@
1409
1548
  <param pos="0" name="hw.product" value="iPad mini (5th generation)"/>
1410
1549
  <param pos="0" name="hw.device" value="Tablet"/>
1411
1550
  </fingerprint>
1551
+
1412
1552
  <fingerprint pattern="^model=J9[67]AP$">
1413
1553
  <description>iPad mini 4</description>
1414
1554
  <example>model=J97AP</example>
@@ -1421,6 +1561,7 @@
1421
1561
  <param pos="0" name="hw.product" value="iPad mini 4"/>
1422
1562
  <param pos="0" name="hw.device" value="Tablet"/>
1423
1563
  </fingerprint>
1564
+
1424
1565
  <fingerprint pattern="^model=J8[567]mAP$">
1425
1566
  <description>iPad mini 3</description>
1426
1567
  <example>model=J87mAP</example>
@@ -1433,6 +1574,7 @@
1433
1574
  <param pos="0" name="hw.product" value="iPad mini 3"/>
1434
1575
  <param pos="0" name="hw.device" value="Tablet"/>
1435
1576
  </fingerprint>
1577
+
1436
1578
  <fingerprint pattern="^model=J8[567]AP$">
1437
1579
  <description>iPad mini 2</description>
1438
1580
  <example>model=J85AP</example>
@@ -1445,6 +1587,7 @@
1445
1587
  <param pos="0" name="hw.product" value="iPad mini 2"/>
1446
1588
  <param pos="0" name="hw.device" value="Tablet"/>
1447
1589
  </fingerprint>
1590
+
1448
1591
  <fingerprint pattern="^model=P10[567]AP$">
1449
1592
  <description>iPad mini</description>
1450
1593
  <example>model=P105AP</example>
@@ -1458,7 +1601,9 @@
1458
1601
  <param pos="0" name="hw.device" value="Tablet"/>
1459
1602
  <param pos="0" name="hw.cpe23" value="cpe:/h:apple:ipad_mini:-"/>
1460
1603
  </fingerprint>
1604
+
1461
1605
  <!-- HomePod -->
1606
+
1462
1607
  <fingerprint pattern="^model=B238a?AP$">
1463
1608
  <description>HomePod</description>
1464
1609
  <example>model=B238aAP</example>
@@ -1471,7 +1616,9 @@
1471
1616
  <param pos="0" name="hw.product" value="HomePod"/>
1472
1617
  <param pos="0" name="hw.device" value="Media Server"/>
1473
1618
  </fingerprint>
1619
+
1474
1620
  <!-- Apple TV -->
1621
+
1475
1622
  <fingerprint pattern="^model=J105aAP$">
1476
1623
  <description>Apple TV 4K</description>
1477
1624
  <example>model=J105aAP</example>
@@ -1484,6 +1631,7 @@
1484
1631
  <param pos="0" name="hw.product" value="Apple TV 4K"/>
1485
1632
  <param pos="0" name="hw.device" value="Media Server"/>
1486
1633
  </fingerprint>
1634
+
1487
1635
  <fingerprint pattern="^model=J42dAP$">
1488
1636
  <description>Apple TV (4th generation)</description>
1489
1637
  <example>model=J42dAP</example>
@@ -1496,6 +1644,7 @@
1496
1644
  <param pos="0" name="hw.product" value="Apple TV (4th generation)"/>
1497
1645
  <param pos="0" name="hw.device" value="Media Server"/>
1498
1646
  </fingerprint>
1647
+
1499
1648
  <fingerprint pattern="^model=J33[Ii]?AP$">
1500
1649
  <description>Apple TV (3rd generation)</description>
1501
1650
  <example>model=J33IAP</example>
@@ -1510,6 +1659,7 @@
1510
1659
  <param pos="0" name="hw.product" value="Apple TV (3rd generation)"/>
1511
1660
  <param pos="0" name="hw.device" value="Media Server"/>
1512
1661
  </fingerprint>
1662
+
1513
1663
  <fingerprint pattern="^model=K66AP$">
1514
1664
  <description>Apple TV (2nd generation)</description>
1515
1665
  <example>model=K66AP</example>
@@ -1522,7 +1672,9 @@
1522
1672
  <param pos="0" name="hw.product" value="Apple TV (2nd generation)"/>
1523
1673
  <param pos="0" name="hw.device" value="Media Server"/>
1524
1674
  </fingerprint>
1675
+
1525
1676
  <!-- iPad Pro - Reference for the following: https://www.theiphonewiki.com/ -->
1677
+
1526
1678
  <fingerprint pattern="^model=D331p?AP$">
1527
1679
  <description>iPhone XS Max</description>
1528
1680
  <example>model=D331pAP</example>
@@ -1536,6 +1688,7 @@
1536
1688
  <param pos="0" name="hw.product" value="iPhone XS Max"/>
1537
1689
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1538
1690
  </fingerprint>
1691
+
1539
1692
  <fingerprint pattern="^model=D321AP$">
1540
1693
  <description>iPhone XS</description>
1541
1694
  <example>model=D321AP</example>
@@ -1548,6 +1701,7 @@
1548
1701
  <param pos="0" name="hw.product" value="iPhone XS"/>
1549
1702
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1550
1703
  </fingerprint>
1704
+
1551
1705
  <fingerprint pattern="^model=N841AP$">
1552
1706
  <description>iPhone XR</description>
1553
1707
  <example>model=N841AP</example>
@@ -1560,6 +1714,7 @@
1560
1714
  <param pos="0" name="hw.product" value="iPhone XR"/>
1561
1715
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1562
1716
  </fingerprint>
1717
+
1563
1718
  <fingerprint pattern="^model=D221?AP$">
1564
1719
  <description>iPhone X</description>
1565
1720
  <example>model=D221AP</example>
@@ -1573,6 +1728,7 @@
1573
1728
  <param pos="0" name="hw.product" value="iPhone X"/>
1574
1729
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1575
1730
  </fingerprint>
1731
+
1576
1732
  <fingerprint pattern="^model=D211?A?AP$">
1577
1733
  <description>iPhone 8 Plus</description>
1578
1734
  <example>model=D21AP</example>
@@ -1588,6 +1744,7 @@
1588
1744
  <param pos="0" name="hw.product" value="iPhone 8 Plus"/>
1589
1745
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1590
1746
  </fingerprint>
1747
+
1591
1748
  <fingerprint pattern="^model=D201?A?AP$">
1592
1749
  <description>iPhone 8</description>
1593
1750
  <example>model=D20AP</example>
@@ -1603,6 +1760,7 @@
1603
1760
  <param pos="0" name="hw.product" value="iPhone 8"/>
1604
1761
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1605
1762
  </fingerprint>
1763
+
1606
1764
  <fingerprint pattern="^model=D111?AP$">
1607
1765
  <description>iPhone 7 Plus</description>
1608
1766
  <example>model=D11AP</example>
@@ -1616,6 +1774,7 @@
1616
1774
  <param pos="0" name="hw.product" value="iPhone 7 Plus"/>
1617
1775
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1618
1776
  </fingerprint>
1777
+
1619
1778
  <fingerprint pattern="^model=D101?AP$">
1620
1779
  <description>iPhone 7</description>
1621
1780
  <example>model=D10AP</example>
@@ -1629,6 +1788,7 @@
1629
1788
  <param pos="0" name="hw.product" value="iPhone 7"/>
1630
1789
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1631
1790
  </fingerprint>
1791
+
1632
1792
  <fingerprint pattern="^model=N69u?AP$">
1633
1793
  <description>iPhone SE</description>
1634
1794
  <example>model=N69AP</example>
@@ -1642,6 +1802,7 @@
1642
1802
  <param pos="0" name="hw.product" value="iPhone SE"/>
1643
1803
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1644
1804
  </fingerprint>
1805
+
1645
1806
  <fingerprint pattern="^model=N66m?AP$">
1646
1807
  <description>iPhone 6s Plus</description>
1647
1808
  <example>model=N66mAP</example>
@@ -1655,6 +1816,7 @@
1655
1816
  <param pos="0" name="hw.product" value="iPhone 6s Plus"/>
1656
1817
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1657
1818
  </fingerprint>
1819
+
1658
1820
  <fingerprint pattern="^model=N71m?AP$">
1659
1821
  <description>iPhone 6s</description>
1660
1822
  <example>model=N71mAP</example>
@@ -1668,6 +1830,7 @@
1668
1830
  <param pos="0" name="hw.product" value="iPhone 6s"/>
1669
1831
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1670
1832
  </fingerprint>
1833
+
1671
1834
  <fingerprint pattern="^model=N56AP$">
1672
1835
  <description>iPhone 6 Plus</description>
1673
1836
  <example>model=N56AP</example>
@@ -1680,6 +1843,7 @@
1680
1843
  <param pos="0" name="hw.product" value="iPhone 6 Plus"/>
1681
1844
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1682
1845
  </fingerprint>
1846
+
1683
1847
  <fingerprint pattern="^model=N61AP$">
1684
1848
  <description>iPhone 6</description>
1685
1849
  <example>model=N61AP</example>
@@ -1692,6 +1856,7 @@
1692
1856
  <param pos="0" name="hw.product" value="iPhone 6"/>
1693
1857
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1694
1858
  </fingerprint>
1859
+
1695
1860
  <fingerprint pattern="^model=N5[13]AP$">
1696
1861
  <description>iPhone 5s</description>
1697
1862
  <example>model=N51AP</example>
@@ -1705,6 +1870,7 @@
1705
1870
  <param pos="0" name="hw.product" value="iPhone 5s"/>
1706
1871
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1707
1872
  </fingerprint>
1873
+
1708
1874
  <fingerprint pattern="^model=N4[89]AP$">
1709
1875
  <description>iPhone 5c</description>
1710
1876
  <example>model=N48AP</example>
@@ -1718,6 +1884,7 @@
1718
1884
  <param pos="0" name="hw.product" value="iPhone 5c"/>
1719
1885
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1720
1886
  </fingerprint>
1887
+
1721
1888
  <fingerprint pattern="^model=N4[12]AP$">
1722
1889
  <description>iPhone 5</description>
1723
1890
  <example>model=N41AP</example>
@@ -1732,6 +1899,7 @@
1732
1899
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1733
1900
  <param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_5:-"/>
1734
1901
  </fingerprint>
1902
+
1735
1903
  <fingerprint pattern="^model=N94AP$">
1736
1904
  <description>iPhone 4s</description>
1737
1905
  <example>model=N94AP</example>
@@ -1745,6 +1913,7 @@
1745
1913
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1746
1914
  <param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_4s:-"/>
1747
1915
  </fingerprint>
1916
+
1748
1917
  <fingerprint pattern="^model=N9[02]B?AP$">
1749
1918
  <description>iPhone 4</description>
1750
1919
  <example>model=N90AP</example>
@@ -1759,6 +1928,7 @@
1759
1928
  <param pos="0" name="hw.product" value="iPhone 4"/>
1760
1929
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1761
1930
  </fingerprint>
1931
+
1762
1932
  <fingerprint pattern="^model=N88AP$">
1763
1933
  <description>iPhone 3GS</description>
1764
1934
  <example>model=N88AP</example>
@@ -1772,6 +1942,7 @@
1772
1942
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1773
1943
  <param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone_3gs:-"/>
1774
1944
  </fingerprint>
1945
+
1775
1946
  <fingerprint pattern="^model=N82AP$">
1776
1947
  <description>iPhone 3G</description>
1777
1948
  <example>model=N82AP</example>
@@ -1784,6 +1955,7 @@
1784
1955
  <param pos="0" name="hw.product" value="iPhone 3G"/>
1785
1956
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1786
1957
  </fingerprint>
1958
+
1787
1959
  <fingerprint pattern="^model=M68AP$">
1788
1960
  <description>iPhone</description>
1789
1961
  <example>model=M68AP</example>
@@ -1797,4 +1969,5 @@
1797
1969
  <param pos="0" name="hw.device" value="Mobile Phone"/>
1798
1970
  <param pos="0" name="hw.cpe23" value="cpe:/h:apple:iphone:-"/>
1799
1971
  </fingerprint>
1800
- </fingerprints>
1972
+
1973
+ </fingerprints>