Merge branch 'convertSessions-delete-attribute' into 'v2.0'

Exclude attributes in convert sessions script

See merge request lemonldap-ng/lemonldap-ng!206
This commit is contained in:
Clément OUDOT 2021-07-18 15:51:47 +00:00
commit b8b9a08528
2 changed files with 16 additions and 2 deletions

View File

@ -46,6 +46,7 @@ Options:
- ``-c``: job configuration file (mandatory)
- ``-r oldkey=newkey``: rename session keys during conversion (optional, can be given multiple times)
- ``-x key``: remove session keys during conversion (optional, can be given multiple times)
- ``-i``: ignore errors. By default errors will stop the script
execution
- ``-d``: print debugging output

View File

@ -16,18 +16,20 @@ use strict;
use Getopt::Long;
use Pod::Usage;
our $VERSION = "2.0.6";
our $VERSION = "2.0.12";
# Options
# -d: debug mode
# -c: configuration file
# -r: configuration file
# -r: rename attributes
# -i: ignore errors
# -x: exclude attributes
my $debug;
my $config_file;
my $ignore_errors;
my %rename;
my @exclude;
my $help;
my $nb_converted = 0;
my $nb_error = 0;
@ -38,6 +40,7 @@ GetOptions(
'config|c=s' => \$config_file,
'ignore-errors|i' => \$ignore_errors,
'rename|r=s' => \%rename,
'exclude|x=s' => \@exclude,
) or pod2usage(2);
pod2usage(
-exitval => 1,
@ -133,6 +136,16 @@ Lemonldap::NG::Common::Apache::Session->get_key_from_all_sessions(
}
}
if (@exclude) {
for my $excludekey (@exclude) {
if ( $entry->{$excludekey} ) {
print "Exclude $excludekey in session $id\n"
if $debug;
delete $entry->{$excludekey};
}
}
}
print "Processing session $id\n" if $debug;
my $s = Lemonldap::NG::Common::Session->new( {
storageModule => $backendTo->{backend},