Compare commits
4 commits
7a65b31a6c
...
7cbbfe3de8
| Author | SHA1 | Date | |
|---|---|---|---|
| 7cbbfe3de8 | |||
| 416a458607 | |||
| fb26545a00 | |||
| d4c7e5d5f3 |
6 changed files with 31 additions and 31 deletions
4
.hgsigs
4
.hgsigs
|
|
@ -1,4 +0,0 @@
|
|||
5de7014b0e608e3e95ce8d48125b18d8d8ef3b2c 0 iD8DBQBRSPZ01bsjBDapbeMRAhQLAKCNbDa6gxBJTz2AsyV6A8trw+BrrQCcDUrEWbabfbuYBX3U3cLltIZGsys=
|
||||
b220dc77493703900627d6cb556728217fe40fe1 0 iD8DBQBT6Qk91bsjBDapbeMRAmXLAKCgAyR+SeXy1q91mAnyv3P0OM6rBwCfaVuVRsGEFd2e7uJiNpUvyIFqm2g=
|
||||
ceb8bd75e05b98d61db8e37c2778995ecb377dab 0 iD8DBQBUgNz51bsjBDapbeMRAm+UAJ4xM+eF77Lter5brh156c13yObYJACgl6tCkqgGpwCvtC9vv4VR5elzfYo=
|
||||
ac3c6d1057d5fd99bee1081741ed5247c3a29e80 0 iD8DBQBU91sZ1bsjBDapbeMRAoPWAJ9qrdy8Kn7RuOo2HftFTG2SBXZDgACfSEWBxLYJWGaNY2DI22JC0IF9h2c=
|
||||
6
.hgtags
6
.hgtags
|
|
@ -1,6 +0,0 @@
|
|||
27bbe75233a3da1482fededd7f67215bc716b2d5 v1.0.0
|
||||
e1728adb2561a87a3ab10e57ae4b3140abf4b5cf v1.1.0
|
||||
1a480ba231b6ef7714a08151434b7773a1851936 v1.2.0
|
||||
b3b840a4b56c534501ee930a8ca0b2e08ecb43bb v1.3.0
|
||||
e8af5aa8bd1541bd7d06f5f08c27d0c16b176df4 v1.4.0
|
||||
d6a75d14db1261943924f265119c1812736aabd1 v1.5.0
|
||||
|
|
@ -1,4 +1,10 @@
|
|||
|
||||
2024-12-29 v1.5.2
|
||||
|
||||
* Revert an LCS deletion edge case, allowing final attribute
|
||||
in a list of changes to be properly removed.
|
||||
|
||||
|
||||
2019-10-13 v1.5.1
|
||||
|
||||
* Repair SASL authentications, add a 'sasluser' option
|
||||
|
|
|
|||
2
LICENSE
2
LICENSE
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
Copyright (c) 2006-2019, Mahlon E. Smith <mahlon@martini.nu>
|
||||
Copyright (c) 2006-2024, Mahlon E. Smith <mahlon@martini.nu>
|
||||
All rights reserved.
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
|
|
|||
19
README.md
19
README.md
|
|
@ -51,12 +51,18 @@ ou=People,~ >
|
|||
Downloads
|
||||
---------
|
||||
|
||||
You can download the latest script [here](http://code.martini.nu/shelldap/archive/tip.zip).
|
||||
You can download the latest script
|
||||
[here](https://code.martini.nu/fossil/shelldap/tarball/tip/shelldap-tip.tar.gz).
|
||||
|
||||
It is also available via the
|
||||
[FreeBSD ports](http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/shelldap/) system, OS X via
|
||||
[macports](https://trac.macports.org/browser/trunk/dports/net/shelldap/Portfile), Debian/Ubuntu via [apt](https://packages.debian.org/shelldap),
|
||||
NetBSD's [pkgsrc](ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/sysutils/shelldap/README.html), OpenBSD [ports](http://openports.se/sysutils/shelldap), openSUSE's [build service](http://software.opensuse.org/search?q=shelldap&baseproject=openSUSE%3AFactory&lang=en), and as a Fedora [RPM](https://src.fedoraproject.org/rpms/shelldap).
|
||||
[FreeBSD ports](https://ports.freebsd.org/cgi/ports.cgi?query=shelldap&stype=all&sektion=all) system,
|
||||
OS X via [macports](https://trac.macports.org/browser/trunk/dports/net/shelldap/Portfile),
|
||||
Debian/Ubuntu via [apt](https://packages.debian.org/shelldap),
|
||||
NetBSD's [pkgsrc](http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/sysutils/shelldap/index.html),
|
||||
OpenBSD [ports](https://openports.pl/path/sysutils/shelldap),
|
||||
openSUSE's [build service](https://software.opensuse.org/package/shelldap?search_term=shelldap),
|
||||
Arch's User Repository [AUR](https://aur.archlinux.org/packages/shelldap),
|
||||
and as a Fedora [RPM](https://src.fedoraproject.org/rpms/shelldap).
|
||||
|
||||
Many thanks to the maintainers of these packages.
|
||||
|
||||
|
|
@ -85,9 +91,9 @@ Development
|
|||
-----------
|
||||
|
||||
|
||||
You can also check out the source via [Mercurial](http://mercurial.selenic.com/wiki/) from the following uri:
|
||||
You can also check out the source via [Fossil](http://fossil-scm.org/) from the following uri:
|
||||
|
||||
% hg clone http://code.martini.nu/shelldap/
|
||||
% fossil clone https://code.martini.nu/fossil/shelldap
|
||||
|
||||
or via its [GitHub](https://github.com/) mirror at:
|
||||
|
||||
|
|
@ -98,3 +104,4 @@ Documentation
|
|||
-------------
|
||||
|
||||
Once installed, Shelldap is fully documented via perldoc, and has a built-in `help` command as well.
|
||||
|
||||
|
|
|
|||
7
shelldap
7
shelldap
|
|
@ -1485,6 +1485,7 @@ sub diff {
|
|||
#
|
||||
if ( $cur_valcount == 1 ) {
|
||||
$e->replace( $attr => $val );
|
||||
$seen_attr{ $attr }++;
|
||||
}
|
||||
else {
|
||||
|
||||
|
|
@ -1509,10 +1510,6 @@ sub diff {
|
|||
#
|
||||
foreach ( $diff->Items(1) ) {
|
||||
my ( $attr, $val ) = $parse->( $_ ) or next;
|
||||
my $cur_vals = $e->get_value( $attr, asref => 1 ) || [];
|
||||
my $cur_valcount = scalar @$cur_vals;
|
||||
|
||||
next if $cur_valcount == 1;
|
||||
next if $seen_attr{ $attr };
|
||||
$self->debug("DELETE: $_");
|
||||
$e->delete( $attr => [ $val ] );
|
||||
|
|
@ -2706,7 +2703,7 @@ use warnings;
|
|||
use Fatal qw/open/;
|
||||
|
||||
$0 = 'shelldap';
|
||||
my $VERSION = '1.5.1';
|
||||
my $VERSION = '1.5.2';
|
||||
|
||||
use Getopt::Long qw(:config no_ignore_case);
|
||||
use YAML::Syck qw//;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue