Skip to content

Commit

Permalink
Merge branch 'release/2.4.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
g-bougard committed Oct 3, 2018
2 parents 7c7db66 + f7767ab commit 7e260b5
Show file tree
Hide file tree
Showing 79 changed files with 3,238 additions and 753 deletions.
30 changes: 30 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
version: 2

general:
branches:
only:
- develop

jobs:
build:
macos:
xcode: "9.0"

steps:
- checkout
- run:
name: Install cpanminus
command: |
curl -L https://cpanmin.us | perl - App::cpanminus
$HOME/perl5/bin/cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
echo 'export PERL5LIB="$HOME/perl5/lib/perl5"' >> $BASH_ENV
- run:
name: Install deps
command: |
echo $PERL5LIB
$HOME/perl5/bin/cpanm -L ~/perl5 Module::Install
touch Makefile.PL
$HOME/perl5/bin/cpanm -L ~/perl5 --installdeps --verbose --notest .
- run: perl Makefile.PL
- run: make
- run: make test
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ notifications:
branches:
only:
- master
- 2.4.x
- develop
75 changes: 75 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,5 +1,80 @@
Revision history for FusionInventory agent

2.4.2 Wed, 03 Oct 2018

core:
* Linux: fix agent not listening on http port when syslog logger is active
and Sys::Sylog module is too old

inventory:
* Bump Inventory task version to 1.5
* Fix physical memory error correction detection via WMI under win32
* Fix #299: Added UWP/APPX/Windows Store software inventory
* win32 antivirus detection enhanced support:
- add support for few antivirus base versions (defender, kaspersky,
EST, avira, MSE, McAfee, F-Secure)
- try to set license expiration date for F-Secure, kaspersky & avira
* Fix #442: kaspersky not fully recognized in russia
* Fix #501: wrong status was reported when windows defender was disabled
* Enhanced software inventory under Arch Linux
* Fix #453: under MacOS, skip XML DTD validation for software inventory as
parsing may fail if a proxy is enabled
* Fix #473: fix arch detection under MacOS
* Fix #475: fix video cards support under MacOS
* Fix #504: support non-standard ssh port to report local ssh server pubkey
* Updated pci.ids to 2018.10.02 version
* Updated usb.ids to 2018.08.15 version

deploy:
* Bump Deploy task version to 2.7
* Fix deployment of private packages: their downloaded parts were not
fully found when download were too long (closes: #542)
* Handle retention duration differently for p2p and not p2p files
* P2p files have a default retention of 3 days by default
* P2p files have a default retention of 3 times the target prolog delay
after download, parts retention is reset to the same delay for all file parts,
so the retention duration applies at the time parts has been downloaded
* P2p file parts are now cleaned up after job success if retention duration
is null
* Fix WinKeyNotEquals audit check to also be true when the registry key is
simply missing
* Add support to "startjob" key for failing deploy audit check to permit
to skip remaining checks when a failing condition makes them obsolete.

esx:
* Bump ESX task version to 2.4
* Support 2 ServiceTags case to cover chassis & lame board S/N inventory
* Updated AssetTag support
* fix wrong cpu core computation when only one package is available

netdiscovery/netinventory:
* Bump NetDiscovery task version to 2.7
* Bump NetInventory task version to 3.1
* Thanks to @QuickNerd357, Brocade devices will now show serial number and
firmware informations.
* Sanitize VLAN names. This fixes an issue with Cisco Small Business Switches.
* Get rid of unofficial Net::Ping::TimeStamp support to only use official
support if available. Net::Ping v2.67 is now mandatory to discover
devices thanks to timestamp ping.
* Fix #481: Add Synology NAS support
* Fix #480: Add CheckPoint support
* Fix #488: Update HP Printers support
* Updated LLDP/CDP connection match checks
* Updated sysobject.ids (tagged fia-2.4.2 tag on github repository)

collect:
* Bump Collect task version to 2.5
* Thanks to David Durieux, add support for dynamic pattern in registry key
collect under win32. The dynamic pattern is '**' to glob subkeys like in:
HKEY_USERS/**/Software/**/**/CurrentVersion

maintenance:
* Bump Maintenance task version to 1.1
* Disable Maintenance task if no maintenance module could be used

test suite:
* Make snmp walk tests faster

2.4.1 Fri, 29 Jun 2018

core:
Expand Down
1 change: 1 addition & 0 deletions MANIFEST.SKIP
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ CVS/
^.travis.yml$
^appveyor.yml$
^circle.yml$
.circleci
.svn
.merge

Expand Down
27 changes: 14 additions & 13 deletions README.Cron
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ WARNING: FusionInventory Agent would better be installed as systemd service and
this is the recommanded way of doing.

FusionInventory agent is expected to run its tasks on a regular basis and is better
installed as service. Its memory and load footprints are low enough for this mode.
installed as service. Its memory and load footprints are low enough for modern desktop computers.

To know better about the FusionInventory agent execution modes, you should be read
the our online Agent usage page:
To know better about the FusionInventory agent execution modes, you should read
the online Agent usage page:
http://fusioninventory.org/documentation/agent/usage.html

Cron mode could be used if you don't want a fusioninventory-agent process to be running
You should use cron if you don't want a fusioninventory-agent process to be running
all the time and if you don't need to trigger it remotely (from the server
or manually, locally contacting the `http://localhost:62354/` page).

Expand All @@ -32,16 +32,17 @@ to do the following as root:
# time before really run its work
00 */4 * * * /usr/bin/fusioninventory-agent --wait=1800 >/var/lib/fusioninventory-agent/cron.log 2>&1

For large companies, be aware, if you don't enable lazy option in cron mode and you schedule
many computer to make inventory at the same cron time, you can flood your GLPI server at the
scheduled time, even more if you forget to use `--wait` option. To avoid such missconfiguration,
you would prefer leave the agent started as systemd service and define a peaceful delay
on server. You may adjust scheduled time and wait command line only option to your needs.

As a reminder, cron mode disables the httpd daemon listening feature permitting server
to manually and remotely trigger fusioninventory-agent to run its tasks.
For large companies, be aware you can lead to concurrent execution issues
if you don't enable agent `lazy` option with cron scheduling and even more if you forget to
use `--wait` option. To avoid such missconfiguration, you would prefer leave the agent
started as systemd service and define a peaceful delay on server. You may adjust scheduled
time and wait command line only option to your needs.

As a reminder, when launched without the daemonize configuration directive
as usually done from cron, the agent is a short-lived process, without
the ability to listen on the network for out-of-schedule activation requests
from the server.
===

Review our mandatory agent cron mode page:
Review our mandatory 'schedule agent with cron' page:
http://fusioninventory.org/documentation/agent/cron.html
2 changes: 1 addition & 1 deletion README.Packaging
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ package FusionInventory::Agent::Version;
use strict;
use warnings;

our $VERSION = "2.4-1";
our $VERSION = "2.4.2-1";
our $PROVIDER = "FusionInventory";
our $COMMENTS = [ "My distro package built on some computer", "Built on that date" ];

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# FusionInventory Agent

[![Travis Build Status](https://travis-ci.org/fusioninventory/fusioninventory-agent.svg?branch=master)](https://travis-ci.org/fusioninventory/fusioninventory-agent)
[![Travis Build Status](https://travis-ci.org/fusioninventory/fusioninventory-agent.svg?branch=develop)](https://travis-ci.org/fusioninventory/fusioninventory-agent)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/f2oh6p3qnr2bck1b?svg=true)](https://ci.appveyor.com/project/fusioninventory/fusioninventory-agent)
[![CircleCI Build status](https://circleci.com/gh/fusioninventory/fusioninventory-agent.svg?style=svg)](https://circleci.com/gh/fusioninventory/fusioninventory-agent)

Expand Down Expand Up @@ -129,9 +129,9 @@ Please report any issues on project forge bugtracker.

Copyright 2006-2010 [OCS Inventory contributors](https://www.ocsinventory-ng.org/)

Copyright 2010-2017 [FusionInventory Team](http://fusioninventory.org)
Copyright 2010-2018 [FusionInventory Team](http://fusioninventory.org)

Copyright 2011-2017 [Teclib Editions](http://www.teclib-edition.com/)
Copyright 2011-2018 [Teclib Editions](http://www.teclib-edition.com/)

## License

Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
branches:
only:
- 2.4.x
- develop

notifications:
- provider: Email
Expand Down
1 change: 1 addition & 0 deletions bin/fusioninventory-netdiscovery
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ $discovery->{client} =

$discovery->run();

## no critic (ProhibitMultiplePackages)
package FusionInventory::Agent::Task::NetInventory::Client;

sub new {
Expand Down
1 change: 1 addition & 0 deletions bin/fusioninventory-netinventory
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ sub send {
print $params{message}->getContent();
}

## no critic (ProhibitMultiplePackages)
package FusionInventory::Agent::Task::NetInventory::Target;

sub new {
Expand Down
31 changes: 0 additions & 31 deletions circle.yml

This file was deleted.

3 changes: 2 additions & 1 deletion lib/FusionInventory/Agent/HTTP/Protocol/https.pm
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ sub _extra_sock_opts {
## no critic (ProhibitMultiplePackages)
package FusionInventory::Agent::HTTP::Protocol::https::Socket;

our @ISA = qw(Net::HTTPS LWP::Protocol::http::SocketMethods);
use parent qw(Net::HTTPS);
use parent -norequire, qw(LWP::Protocol::http::SocketMethods);

1;
__END__
Expand Down
4 changes: 2 additions & 2 deletions lib/FusionInventory/Agent/Inventory.pm
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ my %fields = (
ACCESSLOG => [ qw/USERID LOGDATE/ ],

ANTIVIRUS => [ qw/COMPANY ENABLED GUID NAME UPTODATE VERSION
DATFILECREATION DATFILEVERSION ENGINEVERSION32
ENGINEVERSION64/ ],
EXPIRATION BASE_CREATION BASE_VERSION
32ENGINE_VERSION 64ENGINE_VERSION/ ],
BATTERIES => [ qw/CAPACITY CHEMISTRY DATE NAME SERIAL MANUFACTURER
VOLTAGE/ ],
CONTROLLERS => [ qw/CAPTION DRIVER NAME MANUFACTURER PCICLASS VENDORID
Expand Down
4 changes: 4 additions & 0 deletions lib/FusionInventory/Agent/Logger/Syslog.pm
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ sub new {

openlog($syslog_name, 'cons,pid', $params{logfacility} || 'LOG_USER');

# Fix agent not listening on http port issue when 'syslog' logger is
# active and Sys::Syslog is too old. Problem seen on CentOS 6.10
Sys::Syslog::setlogsock('unix') if $Sys::Syslog::VERSION < 0.28 ;

return $self;
}

Expand Down
4 changes: 2 additions & 2 deletions lib/FusionInventory/Agent/SNMP/Device.pm
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ sub _cleanHash {
$keys++;
next if defined($hashref->{$key});
delete $hashref->{$key};
$keys--,
$keys--;
}

return $keys;
Expand Down Expand Up @@ -440,7 +440,7 @@ sub setType {
sub setManufacturer {
my ($self) = @_;

# Permit mib support to reset type
# Permit mib support to reset manufacturer
if ($self->{MIBSUPPORT}) {
my $manufacturer = $self->{MIBSUPPORT}->getMethod('getManufacturer');
$self->{MANUFACTURER} = $manufacturer if $manufacturer;
Expand Down
45 changes: 45 additions & 0 deletions lib/FusionInventory/Agent/SNMP/MibSupport/Brocade.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package FusionInventory::Agent::SNMP::MibSupport::Brocade;

use strict;
use warnings;

use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate';

use FusionInventory::Agent::Tools;
use FusionInventory::Agent::Tools::SNMP;

use constant brocade => '.1.3.6.1.4.1.1991' ;
use constant serial => brocade .'.1.1.1.1.2.0' ;
use constant fw_pri => brocade . '.1.1.2.1.11.0' ;

our $mibSupport = [
{
name => "brocade-switch",
sysobjectid => getRegexpOidMatch(brocade)
}
];

sub getSerial {
my ($self) = @_;

return $self->get(serial);
}


sub getFirmware {
my ($self) = @_;

return $self->get(fw_pri);
}

1;

__END__
=head1 NAME
Inventory module for Brocade Switches
=head1 DESCRIPTION
The module enhances Brocade Switches devices support.
4 changes: 2 additions & 2 deletions lib/FusionInventory/Agent/SNMP/MibSupport/Epson.pm
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ use FusionInventory::Agent::Tools;
use FusionInventory::Agent::Tools::SNMP;

use constant epson => '.1.3.6.1.4.1.1248' ;
use constant model => epson .'.1.2.2.1.1.1.2.1' ;
use constant serial => epson .'.1.2.2.1.1.1.5.1' ;
use constant model => epson . '.1.2.2.1.1.1.2.1' ;
use constant serial => epson . '.1.2.2.1.1.1.5.1' ;
use constant fw_base => epson . '.1.2.2.2.1.1' ;

our $mibSupport = [
Expand Down
7 changes: 6 additions & 1 deletion lib/FusionInventory/Agent/SNMP/MibSupport/HPNetPeripheral.pm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ use FusionInventory::Agent::Tools::SNMP;
# See HP-LASERJET-COMMON-MIB / JETDIRECT3-MIB
use constant hpPeripheral => '.1.3.6.1.4.1.11.2.3.9' ; # hp.nm.system.net-peripheral
use constant hpOfficePrinter => '.1.3.6.1.4.1.29999' ;
use constant hpNetPrinter => hpPeripheral .'.1' ;
use constant hpSystem => '.1.3.6.1.4.1.11.1' ;
use constant hpNetPrinter => hpPeripheral . '.1' ;
use constant hpDevice => hpPeripheral . '.4.2.1' ; # + netPML.netPMLmgmt.device

use constant gdStatusId => hpNetPrinter . '.1.7.0' ;
Expand Down Expand Up @@ -43,6 +44,10 @@ our $mibSupport = [
{
name => "hp-office",
sysobjectid => getRegexpOidMatch(hpOfficePrinter)
},
{
name => "hp-system",
sysobjectid => getRegexpOidMatch(hpSystem)
}
];

Expand Down
Loading

0 comments on commit 7e260b5

Please sign in to comment.