Davor Ocelic <docelic@crystallabs.io> [Tue, 30 Apr 2019 01:10:00 +0200] rev 111
Make aliases be auto-detected and inserted into help texts.
Davor Ocelic <docelic@crystallabs.io> [Tue, 30 Apr 2019 01:01:19 +0200] rev 110
Fix autocompleter for all commands.
Davor Ocelic <docelic@crystallabs.io> [Tue, 30 Apr 2019 00:43:52 +0200] rev 109
Multiple help-related changes
- Make every command's POD doc have a single-line introductory description.
This help is then used as a one-liner summary in Term::Shell.
- Tie %cmd_map to IxHash to preserve hash elements' order.
- Fix bug in Term::Shell's code related to command aliases.
(Also emailed Term::Shell author to include the fix in next release.)
- Remove run_() which already exists in Term::Shell.
- Use Term::Shell's help facilities instead of manually redefining
run_help() and other related commands. The complete POD documentation is
still available for viewing if user invokes ./shelldap --help.
- Completer functions are disabled right now (fix coming in the next
commit)
Davor Ocelic <docelic@crystallabs.io> [Mon, 29 Apr 2019 21:57:57 +0200] rev 108
Properly handle Ctrl+C; add '?' and 'man' aliases; don't import symbols
Make Ctrl+C behave like in the shell (abort current line, redisplay)
Add '?' and 'man' as aliases for help
Add qw// on module 'use's to not import any symbols
Davor Ocelic <docelic@crystallabs.io> [Mon, 29 Apr 2019 00:16:14 +0200] rev 107
Do not sort flaglist twice
With this change, 'inspect'ing an element prints its attributes
in a defined order: (requiredness, multivaluedness)
Previously, the order was alphabetical and varying.
Davor Ocelic <docelic@crystallabs.io> [Mon, 29 Apr 2019 00:10:31 +0200] rev 106
Make 'cat' default to '.' (cwd) instead of requiring argument
Davor Ocelic <docelic@crystallabs.io> [Mon, 29 Apr 2019 00:09:43 +0200] rev 105
Improve command descriptions
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 23:42:27 +0200] rev 104
Streamline %cmd_map
%cmd_map was previously a hash containing:
{
real_function => alias_function,
...
}
Now the structure of the hash is:
{
alias_or_real_func => [ real_func/if_any, autocompleter_func ],
...
}
This allows for a more streamlined definition of commands and aliases,
and makes it possible to keep all data in %cmd_map instead of having
additional special cases.
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 22:38:38 +0200] rev 103
Improve 'help' command
POD documentation has been modified to list available shell commands using =head2
instead of =item.
This, combined with run_help() modified to accept arguments, allows one to use
'help <command name>' to get help for a specific command, similar/equal to getting
help for shell builtins in regular shells.
E.g.:
help cat
help list
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 22:11:46 +0200] rev 102
Fix precedence of command line arguments
Previously, when autogenerating the config file, the name of config
itself was included in the YAML contents.
This in turn caused the config file to be re-parsed again and any
command line arguments were overwritten with values from the config
file.
Now the name of config file is not dumped if it is equal to the file
being written, and the config file is not reparsed if it is the same
file.
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 21:40:06 +0200] rev 101
Allow default attributes to be set via config and cmdline
This commit changes the default attribute list from a fixed '*'
to a configurable list, defaulting to ['*'].
It allows one to use config file or command line to set default
attributes to retrieve and display - i.e. to set default attributes
to '+' or to a list of multiple specific attributes.
Printing or changing this value through env/setenv is currently not
supported because env/setenv only work properly with string values
while attributes is a list.
Mahlon E. Smith <mahlon@martini.nu> [Mon, 15 Apr 2019 14:18:12 -0700] rev 100
merge
Mahlon E. Smith <mahlon@martini.nu> [Mon, 15 Apr 2019 14:16:09 -0700] rev 99
Add LICENSE file for packaging, bump copyright.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 04 Apr 2018 12:30:00 -0700] rev 98
Add a link to the Fedora package.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 15:01:15 -0700] rev 97
Added tag v1.4.0 for changeset e8af5aa8bd15
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 15:01:09 -0700] rev 96
Update changelog.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 14:59:48 -0700] rev 95
Merge.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 14:49:06 -0700] rev 94
Version bump.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 14:48:42 -0700] rev 93
Make password extension usage consistent with pager control.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 14:38:08 -0700] rev 92
Optionally use the server side pager control for search results.
Salvatore Bonaccorso <carnil@debian.org> [Sat, 05 Mar 2016 00:00:00 -0800] rev 91
Fix spelling errors
Mahlon E. Smith <mahlon@martini.nu> [Wed, 13 Jan 2016 11:14:26 -0800] rev 90
Added tag v1.3.2 for changeset aa4172c204d4
Mahlon E. Smith <mahlon@martini.nu> [Wed, 13 Jan 2016 11:14:18 -0800] rev 89
Add a "real" change log.
Mahlon Smith <mahlon@martini.nu> [Tue, 12 Jan 2016 08:22:14 +0000] rev 88
README.md edited online with Bitbucket
Mahlon E. Smith <mahlon@martini.nu> [Tue, 12 Jan 2016 00:16:33 -0800] rev 87
eval optional modules in blocks instead of strings.
Mahlon Smith <mahlon@martini.nu> [Tue, 12 Jan 2016 07:20:38 +0000] rev 86
README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu> [Tue, 12 Jan 2016 07:17:05 +0000] rev 85
README.md edited online with Bitbucket
Mahlon E. Smith <mahlon@martini.nu> [Mon, 11 Jan 2016 12:28:23 -0800] rev 84
Fix anonymous binds when SASL is not used.
Reported by Landry Breuil <landry@rhaalovely.net>.
Mahlon E. Smith <mahlon@martini.nu> [Tue, 08 Dec 2015 00:55:48 -0800] rev 83
Update the contributors file.
Mahlon E. Smith <mahlon@martini.nu> [Tue, 08 Dec 2015 00:54:14 -0800] rev 82
Allow the period character when moving an entry by full DN.
Reported by Carlos Jnr <carlos.jnr@gmail.com>.
Mahlon E. Smith <mahlon@martini.nu> [Tue, 08 Dec 2015 00:35:58 -0800] rev 81
Break LCS diffing to its own function. Minor style tweaks.
Andr Goens <andres.goens@tu-dresden.de> [Tue, 08 Dec 2015 00:35:43 -0800] rev 80
Allow editor arguments when editing files externally.
Mahlon E. Smith <mahlon@laika.com> [Wed, 04 Mar 2015 11:21:00 -0800] rev 79
Added signature for changeset ac3c6d1057d5
Mahlon E. Smith <mahlon@martini.nu> [Wed, 04 Mar 2015 11:19:07 -0800] rev 78
Added tag v1.3.1 for changeset 7b7810fee305
Mahlon E. Smith <mahlon@martini.nu> [Wed, 04 Mar 2015 11:18:25 -0800] rev 77
Bump version and copyright.
Mahlon E. Smith <mahlon@laika.com> [Tue, 16 Dec 2014 16:30:08 -0800] rev 76
Use the system tempdir instead of hardcoding /tmp.
Mahlon E. Smith <mahlon@laika.com> [Thu, 04 Dec 2014 14:15:24 -0800] rev 75
Added signature for changeset ceb8bd75e05b
Mahlon E. Smith <mahlon@laika.com> [Thu, 04 Dec 2014 14:15:17 -0800] rev 74
Added tag v1.3.0 for changeset b3b840a4b56c
Mahlon E. Smith <mahlon@laika.com> [Thu, 04 Dec 2014 14:15:09 -0800] rev 73
Minor style cleanups, version bump.
Dennis Kaarsemaker <dennis.kaarsemaker@booking.com> [Wed, 03 Dec 2014 09:47:26 +0100] rev 72
Add a 'less' command, that does the same as cat, but uses a pager.
To avoid code duplication, refactor run_cat to be a thin wrapper around a
common function called by both run_cat and run_less.
Mahlon E. Smith <mahlon@laika.com> [Mon, 11 Aug 2014 11:25:33 -0700] rev 71
Branch merge.
Mahlon E. Smith <mahlon@laika.com> [Mon, 11 Aug 2014 11:19:43 -0700] rev 70
Added signature for changeset b220dc774937
Mahlon E. Smith <mahlon@laika.com> [Mon, 11 Aug 2014 11:19:39 -0700] rev 69
Added tag 1.2.0 for changeset 1a480ba231b6
Dennis Kaarsemaker <dennis.kaarsemaker@booking.com> [Mon, 11 Aug 2014 11:19:01 -0700] rev 68
Explicitly disable wrapping when writing to file, leaving it up to the
user's editor. No reason to have shelldap and editor wrap battles.
Dennis Kaarsemaker <dennis.kaarsemaker@booking.com>
Mahlon E. Smith <mahlon@laika.com> [Mon, 11 Aug 2014 11:07:00 -0700] rev 67
Add 'rm' for a fully qualified DN, instead of only working with RDN.
Reported by Lars Tauber <taeuber@bbaw.de>.
Mahlon E. Smith <mahlon@martini.nu> [Mon, 23 Jun 2014 08:17:18 -0700] rev 66
Fix the pod so it can build without complaint under perl 5.20, bump to
v1.1.1. Patch from Kurt Jaeger <pi@FreeBSD.org>.
Mahlon E. Smith <mahlon@martini.nu> [Sat, 21 Jun 2014 13:36:44 -0700] rev 65
Added tag 1.1.0 for changeset e1728adb2561
Mahlon E. Smith <mahlon@martini.nu> [Sat, 21 Jun 2014 13:36:33 -0700] rev 64
Bump version.
Mahlon E. Smith <mahlon@laika.com> [Tue, 03 Dec 2013 11:47:01 -0800] rev 63
Add CONTRIBUTORS file.
Mahlon E. Smith <mahlon@laika.com> [Tue, 03 Dec 2013 11:11:02 -0800] rev 62
Add quick documentation blurb for SASL mechanisms. Make SASL
dependency optional.
Mahlon E. Smith <mahlon@laika.com> [Tue, 03 Dec 2013 10:27:03 -0800] rev 61
Add simple SASL support. Patch from Michael Raitza <spacefrogg-devel@meterriblecrew.net>.
Mahlon E. Smith <mahlon@laika.com> [Tue, 03 Dec 2013 10:13:24 -0800] rev 60
Fix the DN regexp to include dashes. Patch from Mike Hix <m@hix.io>.
Mahlon E. Smith <mahlon@laika.com> [Wed, 15 May 2013 12:18:54 -0700] rev 59
Added tag 1.0.2 for changeset 94b64bbf93cf
Mahlon E. Smith <mahlon@laika.com> [Wed, 15 May 2013 12:17:51 -0700] rev 58
Automatically use ldif syntax highlighting for editors that understand
LDIF. (rickh_shelldap@printstring.com)
Mahlon E. Smith <mahlon@laika.com> [Fri, 03 May 2013 10:58:03 -0700] rev 57
Catch a case where the LDAP object is defined, but in a state that
schema/root_dse are not obtainable. Add the connected server to
'id/whoami' output.
Mahlon E. Smith <mahlon@laika.com> [Fri, 26 Apr 2013 15:52:03 -0700] rev 56
Fix another LCS edge case that rev #0cc20d93ff50 introduced.
Mahlon E. Smith <mahlon@martini.nu> [Thu, 18 Apr 2013 12:07:56 -0700] rev 55
Added tag 1.0.1 for changeset 0cc20d93ff50
Mahlon E. Smith <mahlon@laika.com> [Thu, 18 Apr 2013 12:06:48 -0700] rev 54
Fix for edge case Diff::LCS traversals. Also ensure re-edit state is
cleared in between attempts.
Mahlon E. Smith <mahlon@laika.com> [Tue, 19 Mar 2013 16:36:30 -0700] rev 53
Added signature for changeset 5de7014b0e60
Mahlon E. Smith <mahlon@laika.com> [Tue, 19 Mar 2013 16:36:14 -0700] rev 52
Added tag 1.0.0 for changeset 27bbe75233a3
Mahlon E. Smith <mahlon@laika.com> [Tue, 19 Mar 2013 16:35:33 -0700] rev 51
Add the "inspect" command, which provides some quick reference for
server schema objectClasses and attributes.
Mahlon E. Smith <mahlon@laika.com> [Fri, 15 Mar 2013 10:02:20 -0700] rev 50
Numerous changes:
- Add a command line option (-f) to specify an alternate configuration file.
- Whitespace and comment cleanup.
- Allow setting the $editor from the config file.
- Break out the fetching of valid must/may attributes for an object
class into a separate function
- Offer to re-enter the editor if there is an error during create or
edit, so changes aren't lost. Thanks to Alexander Perlis <aperlis@math.lsu.edu>
for the suggestion.
- Wrap the passwd command with connection retry.
- Change the version number to reflect semantic versioning
(http://semver.org), in preparation of the 1.0.0 release.
Mahlon E. Smith <mahlon@laika.com> [Fri, 15 Mar 2013 10:02:19 -0700] rev 49
Alter the default wrap width for LDIF to expand to the terminal size,
with an optional rc file override.
Mahlon E. Smith <mahlon@laika.com> [Fri, 15 Mar 2013 10:02:18 -0700] rev 48
More robust path for connection retries. Show optional, unused
attributes as comments in the editor.
Mahlon E. Smith <mahlon@martini.nu> [Sun, 13 Jan 2013 20:29:12 -0800] rev 47
Fix the gmake variable that snags the current version number.
Mahlon E. Smith <mahlon@laika.com> [Thu, 10 Jan 2013 18:24:27 -0800] rev 46
Fix the uninitialized $path value errors I erroneously introduced on
'cd' without an argument.
Mahlon E. Smith <mahlon@laika.com> [Tue, 08 Jan 2013 15:57:22 -0800] rev 45
Added tag 0.7 for changeset 4e77e8e5d467
Mahlon E. Smith <mahlon@laika.com> [Tue, 08 Jan 2013 15:57:18 -0800] rev 44
Bump to v0.7.
Mahlon E. Smith <mahlon@laika.com> [Tue, 08 Jan 2013 11:27:59 -0800] rev 43
Attempt to retry the operation on failure.
Less-than-optimal behavior reported by Alexander Perlis <aperlis@math.lsu.edu>.
Mahlon E. Smith <mahlon@laika.com> [Tue, 27 Nov 2012 11:32:41 -0800] rev 42
Add a flag to force a password prompt, so you can override credentials
from your cached shelldap.rc.
Salvatore Bonaccorso <carnil@debian.org> [Wed, 10 Oct 2012 22:44:40 +0200] rev 41
Take only second argument for run_{cd,edit,mkdir}
Make the behaviour of cd, edit and mkdir similar to cat and delete/rm
and fail if some RDN's in the argument contain spaces without beeing
quoted.
---
shelldap | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Mahlon E. Smith <mahlon@martini.nu> [Mon, 12 Sep 2011 08:35:25 -0700] rev 40
Fix bug introduced in rev:a3a710f720dd with passwd arguments.
Mahlon E. Smith <mahlon@martini.nu> [Tue, 06 Sep 2011 16:28:31 -0700] rev 39
Added tag 0.5 for changeset 12f279ef4f9d
Mahlon E. Smith <mahlon@martini.nu> [Tue, 06 Sep 2011 16:22:42 -0700] rev 38
Backout the additional objectClasses patch for mkdir: same behavior can
be acheived with 'touch', less complex to leave it as is.
Mahlon E. Smith <mahlon@martini.nu> [Tue, 06 Sep 2011 16:10:33 -0700] rev 37
Add a --version flag.
Mahlon E. Smith <mahlon@martini.nu> [Tue, 06 Sep 2011 16:05:35 -0700] rev 36
Small documentation fixes, add better verbosity when saving connection
cache data.
Mahlon E. Smith <mahlon@martini.nu> [Tue, 06 Sep 2011 16:05:34 -0700] rev 35
Make sure the hasSubordinates attribute is defined before checking its
value.
Mahlon E. Smith <mahlon@martini.nu> [Tue, 06 Sep 2011 16:05:31 -0700] rev 34
fix 'ls -R' output, minor style cleanup
Mahlon E. Smith <mahlon@martini.nu> [Tue, 06 Sep 2011 16:03:31 -0700] rev 33
Repair broken path behavior, remove unneeded #path_to_dn 'relative'
flag.
Peter Marschall <peter@adpm.de> [Sun, 06 Mar 2011 20:51:08 +0100] rev 32
[PATCH 19/19] remove rdn_to_dn() after its last users are gone
From 892013debac0aef9937ecfbf2c8aab72c88e07cc Mon Sep 17 00:00:00 2001
Signed-off-by: Peter Marschall <peter@adpm.de>
---
shelldap | 21 ---------------------
1 files changed, 0 insertions(+), 21 deletions(-)
Peter Marschall <peter@adpm.de> [Sun, 06 Mar 2011 20:31:05 +0100] rev 31
run_cat: convert to using path_to_dn()
run_edit: convert to using path_to_dn()
run_copy & run_move: convert to using path_to_dn()
run_grep: convert to using path_to_dn()
run_passwd: convert to using path_to_dn()
Peter Marschall <peter@adpm.de> [Sun, 06 Mar 2011 20:11:47 +0100] rev 30
add method path_to_dn() to convert a given "path" to a DN
path_to_dn() replaces the occurrences of '~', '.' and '..' in a path given
and returns a DN.
However, it does not check whether the DN is valid.
Especially:
- on return it is not guaranteed that the DN exists
- on return the first part does not need to be a valid RDN
Peter Marschall <peter@adpm.de> [Sun, 06 Mar 2011 14:53:39 +0100] rev 29
mkdir: support more objectclasses
Depending on the naming attribute given, support the objectclasses
'country' and 'organization' in addition to the default
'organizationalUnit'.
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 22:22:47 +0100] rev 28
make_filter: cope with filters that are already parenthesized
Treat filter elements correctly that may be more complex filters
themselves; e.g. '(&(sn=Doe)(givenname=John))'
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 22:13:27 +0100] rev 27
run_list: new argument syntax: [<options>] [<filter>] [<attributes>]
From 232fbd24ff43c9c0d0691cf0e1b51a82ef099489 Mon Sep 17 00:00:00 2001
Make run_list work with a properly defined argument syntax:
- start with (optional) options: -R -l
- continue with filter ['(objectclass=*)' as fallback if none given]
- end with attributes (also optional)
Add method is_valid_filter() to check whether a strig is a legal LDAP filter.
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 20:56:20 +0100] rev 26
fix attribute lists for LDAP queries
LDAP does not know of an attribute named 'dn'.
To get only the DN in a search, the attriibute list to use is '1.1'.
On all other cases, the DN of the entries found is automaticlly
part of the result set too.
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 20:24:07 +0100] rev 25
remove now unused parent_dn() method
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 20:19:18 +0100] rev 24
cd: flexible treatment of repeated '..', even as prefix
Treat '..' as any shell does:
- while the path given starts with '..', strip away
the first element of the current base DN
- use ',' as separator
- if anything remains in thep ath given, prepend it to
the stripped down baseDN
- use the result as the new base DN
Mahlon E. Smith <mahlon@martini.nu> [Tue, 06 Sep 2011 15:59:10 -0700] rev 23
small style cleanup
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 19:41:07 +0100] rev 22
base(): make more secure, allow '' as DN
Only accept DNs as arguments to base that are legal DNs.
Convert DN given into canonical form.
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 19:15:48 +0100] rev 21
slight cleanup: make more clear, it's an array
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 19:08:50 +0100] rev 20
use sane way to get a default basedn: RootDSe's namingContexts
Mahlon E. Smith <mahlon@martini.nu> [Tue, 06 Sep 2011 15:59:07 -0700] rev 19
Add documentation for the additional short flags.
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 18:50:27 +0100] rev 18
accept short option names for some options
Accept short name equivalents like in ldap... commands
for 'server', 'basedn' and 'binddn'.
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 17:46:57 +0100] rev 17
simplify over-complex call of N:L:E->get_value()
@{ Net::LDAP::Entry->get_value(..., asref => 1) }
is equivalent to
Net::LDAP::Entry->get_value(...)
Peter Marschall <peter@adpm.de> [Sat, 05 Mar 2011 17:33:41 +0100] rev 16
use symbolic LDAP error codes instead of numbers