forked from Cacti/plugin_mactrack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCHANGELOG.md
More file actions
435 lines (236 loc) · 11.9 KB
/
Copy pathCHANGELOG.md
File metadata and controls
435 lines (236 loc) · 11.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
## ChangeLog
--- develop ---
* issue: MacTrack View Devices continues to use a legacy icon over a Fontawesome glyph
* issue#165: The file mactrack_actions.php will throw and error if an the $save array is discarded by another plugin
--- 4.3 / 4.4 ---
* bug: unable to delete Mac Watch and Sites records
* bug: Mac Watch can not send mail
* bug: Number of devices scanned incorrect for main scanner
* bug: MacAuthorizations Interface not accessible through MacTrack tab
* bug: Mac Watch can not send mail
* issue#70: Fix issue with Prompt confirmation button
* issue#75: Command Line does not show output
* issue#77: dlink switch vlan name is null
* issue#75: Command Line does not show output
* issue#81: Add support for FontAwesome 5.0 under Cacti 1.2
* issue#82: Device Type shows twice / % does not work with Vendor SNMP Object ID Match
* issue#87: Cant save settings on Cacti devices when MacTrack plugin is enabled
* issue#94: Fix issue with Mac Watch emails disabling plugin
* issue#98: Fix DB maintenance not running automatically
* issue#105: Error when starting Mactrack scan
* issue#107: MACTRACK ERROR: Can not start MAC Tracking process. There is already one in progress
* issue#109: Column 'vlan_name' cannot be null
* issue#110: Undefined offset for all vlans retrieved.
* issue#111: String size overflow in file:cacti/plugins/mactrack/lib/mactrack_functions.php on line: 1774
* issue#112: Mactrack user settings typo says max addresses instead of mac addresses.
* issue#114: Uncaught Error: Class 'Net_DNS2_Resolver' not found in mactrack_resolver.php
* issue#115: ERROR: 802.1x Address Scanning Function Does Not Exist.
* issue#116: cacti 1.1.38 mactrack 4.2 ED IP ADDRESS - ED DNS Hostname
* issue#117: Juniper EX4200 issues with getJEX_switch_ports
* issue#118: Undefined property: Net_DNS2_RR_CNAME::$ptrdname in file
* issue#117: Juniper EX4200 issues with getJEX_switch_ports
* issue#119: No values for Dot1x and browser hangs
* issue#120: mactrack_import_ouidb.php has incorrect path to function definitions
* issue#128: Re-HUPping MacTrack Plugin post Maria upgrade getting the 'Error: Index column size too large. The maximum column size is 767 bytes.'
* issue#132: Changing device type sometimes create a duplicate entry
* issue#137: CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '7' for key 'PRIMARY'
* issue#143: mactrack_resolver.php variable vlan_id line 176
* feature: PHP 7.2 compatibility
* feature: Switch port_number to integer type of performance reasons
* feature: Update Net_DNS2 to version 1.5
* feature: Use local DNS to resolve when either the resolver fails or there are no DNS servers listed
* feature: Update Net_DNS2 to version 1.5
--- 4.2 ---
* feature: Basic documentation under github wiki + screenshots
* issue#50: False positive errors in Cacti log relative to 802.1x functions
* issue#52: Issues with paths to icons and pages
* issue#53: Issues with unset $scan_date variable
* issue#54: Resolving SQL errors in mactrack_resolver.php
* issue#57: Correct percentage sign issues in setup.php
* issue#61: Correct issue with function detection in mactrack_scanner.php
* feature: new 802.1x scanning function (for cisco devices).
* feature: new IP Scanning function 'DHCP Snooping' (for cisco devices).
* feature: add port name column to IP Address view
* feature: cacti.pot updated
* feature: Added new TAB View Dot1x Sessions
* feature: Added mactrack.css for every theme.
* issue: Fix OUI Database import was removing existing records when failed.
--- 4.1 ---
* feature: Updates to facilitate i18n by contributors
* issue#25: Unable to remove Site
* issue#34: Ambiguous messages when running the MacTrack poller
--- 4.0 ---
* feature: Cacti 1.0 compatibility
* feature: i18n MacTrack
* feature: interface backgrounds in CSS
* feature: use jQuery exclusively for dom manipulation
* issue#22: Mactrack devices, 'Save' option missing.
* issue#17: MacTrack Show Site SQL Syntax
* issue#16: MacTrack Undefined indexes and offsets
* issue: MacTrack view Interfaces showed wrong color for interfaces UP.
* issue: MacTrack view MACs 'portname' filter option missing.
* feature: Removed deprecated ifInNUcastPkts and IfOutNUcastPkts and replaced by
Ifin/OutMulticastPkt and Ifin/OutBroadcastPkt.
* feature: Updated spanish translations
--- 3.0 ---
* bug#0001838: support partitioned tables mac_track_ports
* bug#0001858: No device filter on Graphs tab
* bug#0001873: hook 'mactrack', 'page_head'
* bug#0001865: rescan doesn't work
* bug: don't use htmlspecialchars recursively in forms
* bug: make the device removal a global function
* bug: don't generate replace errors if device has an apostrophe
* bug: reorganize API functions to assist third party integrations
* bug: use qstr instead of addslashes as it's not reliable
* feature: Attempt to kill processes if they have run over their allotted time
* feature: Support new Theme engine
--- 2.9 ---
* bug#0001799: Select all checkbox on Mac Addresses tab not working
* bug#0001723: Can't import devices
* bug#0001751: Multiple ignore ports for Extreme Network switch
* bug#0001777: MacTrack MacAuth Filters not working
* bug#0001779: Site IP Range Report View
* bug#0001841: Mactrack ARP table unreadable
* bug: Saving an edited site redirects to blank page
--- 2.8 ---
* compat: Allow proper navigation text generation
* bug: Guest user could not access site
--- 2.7 ---
* bug#0001742: PHP error () in lib/mactrack_extreme.php
* bug#0001743: DEBUG: Authorized MAC ID: empty
* bug: Correcting SNMPv3 and Cisco support
* bug: Importing OUIDB broken with redefine function error
* bug: Exporting Devices from the Console did not work
* bug: Lastchange was not displaying correctly
--- 2.6 ---
* feature:#0001718: New get_arp_table function for Extreme Networks devices
* bug#0001665: New line missing when printing Cisco device stats
* bug#0001668: Mactrack sometimes shows "No results found" when results are
shown
* bug#0001670: spikekill and mactrack JS functions clash stateChanged and
getfromserver
* bug#0001677: index initialization errors (courtesy toe_cutter)
* bug#0001677: unintended overwrite of non-synced devices (courtesy toe_cutter)
* bug#0001717: Ip addresses range report a false value
* bug: Undefined index when paging through interfaces
* bug: Graph View still being called for one class of graphs incorrectly
* bug: With Scan Date set to 'All' rows counter was not correct for matches
* bug: When viewing IP's, device filter not operable
--- 2.5 ---
* bug#0001677: Undefined indexes
* bug: Undefined index reports in mactrak_view_graphs.php
* bug: Small visual issue with Site Details
* bug: Interfaces table not being created during upgrade
* feature: Portname search filter courtesy KAA and gthe
--- 2.4 ---
* bug: 0001546: mactrack_view_devices does not display the proper page numbers
* bug: 0001545: mactrack_scanner does not complete successfully for some hosts
* bug: 0001547: mactrack_view_sites does not show page numbers
* bug: 0001548: mactrack_view_macs various issues
* bug: IEEE Database import runs out of memory
* bug: Correct uninitialized error in mactrack_hp.php
* bug: Resolved issue where Vendor Mac was lost during resolver process
* bug: fix syntax of cacti_snmp_* calls
* feature: 0001638: Allow Interface Data to Be "Scaned" on Demand from the WebUI
Similar to Scanner
* feature: 0001637: Enable Site Level Scanning Through the UI and Using Ajax
* feature: Adding support for ArpWatch
* feature: Adding Juniper Support
* feature: Support Foundry Dual Mode Ports
* feature: Implement MacWatch in code. E-Mailing now.
* feature: Adding significant content to the mac_track_interfaces table
* feature: Implement MacAuth functionality and periodic reports
* feature: Implement Interfaces tab to MacTrack
* feature: Aggregated ports patch from Gthe!
* feature: Linux and DLink Scanners from Gthe!
* feature: add all device SNMP options to mac_track_devices
* feature: add full SNMP V3 support
* feature: deprecate readstrings; maintain "SNMP Option Sets" in favour of them
* feature: some Enterasys scanning functions (N7, C2, C3)
* feature: import cacti devices into mac_track_devices (new action hook for
host.php)
* feature: optionally sync SNMP settings of mac_track_devices and cacti device,
governed by a config setting (defaulting to "none") to allow either:
mactrack -> host (when scanning) or
host -> mactrack updates (when manually updating the host)
* feature: allow for "connecting" existing mactrack devices to cacti devices
(via hostname, new action for mactrack_devices.php)
* feature: copy snmp settings from cacti devices to mactrack devices (via
host_id connection, new action for mactrack_devices.php)
* feature: Allow mapping of Cacti graphs to MacTrack
* feature: Add columns for AutoNegotiation - Implementation TBD
--- 1.1 ---
* First Official Release
--- 0.1 ---
* Initial Release! Oh, so long ago
## Changes made in Mactrack plugin by woranhun
### Fixing bug: mac addresses were not visible under MAC Addresses tab
https://github.com/Cacti/plugin_mactrack/commit/cc681b143cfdd43ec79a800009699308d5832407
The bug occurred when using Juniper EX2200 Switches.
```php
$Xvlanid = substr($num, 0, strpos($num, '.'));
```
was changed to
```php
$Xvlanid = substr($num, strpos($num, '.')+1, strpos($num, '.',1)-1);
```
and
```php
$ifIndex = @$port_results[$mac_result];
```
was changed to
```php
$ifIndex = @$port_results[".".strval($mac_result)];
```
in the `lib\mactrack_juniper.php` file.
An extra dot was added to the keys of the port dictionary when it was made from the OID.
### More bug fixing with Juniper switches
https://github.com/Cacti/plugin_mactrack/commit/f2deee43c1229e5bd3110e19e685153b57bfc76c
Changes are available on the link above.
#### Fixing bug: The MAC addresses had 7 groups instead of 6. They were too long.
Basically the start position of the substring was wrong.
#### Fixing Juniper trunk port counter
When using Juniper switches the trunk counter was not implemented.
```php
/* get VLAN Trunk status */
$vlan_trunkstatus = xform_standard_indexed_data('.1.3.6.1.4.1.2636.3.40.1.5.1.7.1.5', $device);
foreach ($vlan_trunkstatus as $vts) {
if ($vts == 2) {
$device['ports_trunk']++;
}
}
```
was added to the code.
#### Fixing: port names issue
Changed Juniper port names, port numbers and port descriptions according to Cisco's equivalent of the same fields in the DB.
Port number became Interface name (e.g. ge-0/0/0.0).
Port name became Interface description.
Port description was added to $ifInterfaces.
Tested with EX-2200 switches.
#### Interface description are now visible under the interfaces tab and port_name cannot be null.
https://github.com/Cacti/plugin_mactrack/commit/bc5ba709134006488a80b4cf3beae782fd9fbd84
### Juniper port ignore
https://github.com/Cacti/plugin_mactrack/commits/develop (it was not accepted by the official Cacti repository when the documentation was made.)
Port ignore option was not implemented for Juniper switches.
## Mactrack cheat sheet
### mactrack scanner
Main debugging tool:
-d stands for debug mode.
-id=deviceid selects the device on which the scan will run
The result of the scan will be saved to the **mac_track_temp_ports** table in mysql. It won't be merged into the **mac_track_ports** table which is used by Cacti to build the view macs webpage.
```bash
php mactrack_scanner.php -d -id=10
```
### mactrack poller
It runs the SNMP poller on all devices
```bash
php poller_mactrack.php -d -f
```
-d stands for debug mode
-f means force (~ run now, don't wait for the next scheduled scan.)
### Terminated mactrack process
If the poller or the scanner was terminated you should clear the **mac_track_processes** table by hand.
### Clear mac addresses
To clear the mac addresses from Cacti you should **TRUNCATE** the **mac_track_ports** table.
### Duplicate device bug
When editing a device from Cacti you should check **mac_track_devices** table. Sometimes it makes a duplicate entry. Simply delete the old one.