recog 2.3.8 → 2.3.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) 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/cpe-remap.yaml +18 -2
  8. data/identifiers/README.md +9 -0
  9. data/identifiers/hw_device.txt +77 -0
  10. data/identifiers/hw_family.txt +96 -0
  11. data/identifiers/hw_product.txt +328 -0
  12. data/identifiers/os_architecture.txt +6 -6
  13. data/identifiers/os_device.txt +45 -3
  14. data/identifiers/os_family.txt +206 -41
  15. data/identifiers/os_product.txt +238 -17
  16. data/identifiers/service_family.txt +144 -57
  17. data/identifiers/service_product.txt +385 -83
  18. data/identifiers/vendor.txt +554 -68
  19. data/lib/recog/version.rb +1 -1
  20. data/requirements.txt +1 -1
  21. data/update_cpes.py +3 -0
  22. data/xml/apache_modules.xml +292 -5
  23. data/xml/apache_os.xml +41 -2
  24. data/xml/architecture.xml +11 -3
  25. data/xml/dns_versionbind.xml +191 -15
  26. data/xml/favicons.xml +1701 -0
  27. data/xml/ftp_banners.xml +250 -18
  28. data/xml/h323_callresp.xml +112 -12
  29. data/xml/hp_pjl_id.xml +47 -5
  30. data/xml/html_title.xml +1278 -25
  31. data/xml/http_cookies.xml +64 -9
  32. data/xml/http_servers.xml +1013 -96
  33. data/xml/http_wwwauth.xml +141 -26
  34. data/xml/imap_banners.xml +62 -13
  35. data/xml/ldap_searchresult.xml +81 -9
  36. data/xml/mdns_device-info_txt.xml +175 -2
  37. data/xml/mdns_workstation_txt.xml +4 -2
  38. data/xml/mysql_banners.xml +134 -7
  39. data/xml/mysql_error.xml +113 -6
  40. data/xml/nntp_banners.xml +10 -2
  41. data/xml/ntp_banners.xml +80 -4
  42. data/xml/operating_system.xml +89 -3
  43. data/xml/pop_banners.xml +87 -33
  44. data/xml/rsh_resp.xml +11 -2
  45. data/xml/rtsp_servers.xml +22 -2
  46. data/xml/sip_banners.xml +35 -4
  47. data/xml/sip_user_agents.xml +29 -2
  48. data/xml/smb_native_lm.xml +10 -2
  49. data/xml/smb_native_os.xml +79 -2
  50. data/xml/smtp_banners.xml +230 -9
  51. data/xml/smtp_debug.xml +6 -4
  52. data/xml/smtp_ehlo.xml +7 -5
  53. data/xml/smtp_expn.xml +13 -4
  54. data/xml/smtp_help.xml +23 -4
  55. data/xml/smtp_mailfrom.xml +5 -2
  56. data/xml/smtp_noop.xml +6 -5
  57. data/xml/smtp_quit.xml +5 -4
  58. data/xml/smtp_rcptto.xml +5 -2
  59. data/xml/smtp_rset.xml +4 -4
  60. data/xml/smtp_turn.xml +4 -4
  61. data/xml/smtp_vrfy.xml +14 -4
  62. data/xml/snmp_sysdescr.xml +733 -25
  63. data/xml/snmp_sysobjid.xml +47 -2
  64. data/xml/ssh_banners.xml +182 -8
  65. data/xml/telnet_banners.xml +493 -22
  66. data/xml/x11_banners.xml +26 -3
  67. data/xml/x509_issuers.xml +30 -6
  68. data/xml/x509_subjects.xml +200 -31
  69. 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>