ulib/ldif: support de l'opération modrdn
This commit is contained in:
parent
b710461786
commit
8a334183bb
|
@ -272,6 +272,27 @@ function tl_deleteentry() {
|
|||
'
|
||||
}
|
||||
|
||||
function tl_modrdn() {
|
||||
local newrdn newsup keep
|
||||
splitfsep "$1" , newrdn newsup
|
||||
case "$2" in
|
||||
k|keep|keepold|keepoldrdn) keep=1;;
|
||||
esac
|
||||
awkrun newrdn:str="$newrdn" newsup:str="$newsup" keep:int="$keep" '
|
||||
/^dn:/ {
|
||||
dn = $0
|
||||
print dn
|
||||
print "changetype: modrdn"
|
||||
print "newrdn: " newrdn
|
||||
if (keep) print "deleteoldrdn: 0"
|
||||
else print "deleteoldrdn: 1"
|
||||
if (newsup != "") print "newsuperior: " newsup
|
||||
print ""
|
||||
next
|
||||
}
|
||||
'
|
||||
}
|
||||
|
||||
function tl_touchentry() {
|
||||
awk '
|
||||
/^dn:/ {
|
||||
|
@ -1253,6 +1274,9 @@ D, moddelattr
|
|||
Supprimer l'attribut
|
||||
delentry
|
||||
Supprimer l'objet
|
||||
rename, modrdn NEWRDN[,NEWSUPERIOR] [keep[oldrdn]]
|
||||
Déplacer/renommer l'objet. L'ancienne valeur est supprimée, à moins que
|
||||
l'argument keep ne soit spécifié.
|
||||
touchentry
|
||||
Forcer la réplication de l'objet en simulant une modification"
|
||||
|
||||
|
@ -1371,8 +1395,9 @@ function get_transform_cmd() {
|
|||
d|md|moddel|moddelval) cmdparts=(tl_modifyattr delete);;
|
||||
D|moddelattr) cmdparts=(tl_deleteattr);;
|
||||
delentry|moddelentry) cmdparts=(tl_deleteentry);;
|
||||
rename|modrdn|modrename|modmodrdn) cmdparts=(tl_modrdn "$@");;
|
||||
touch|touchentry|modtouchentry) cmdparts=(tl_touchentry);;
|
||||
litteral) cmdpars=("$@");;
|
||||
litteral) cmdparts=("$@");;
|
||||
*)
|
||||
eerror "$cmd: commande inconnue. elle sera ignorée"
|
||||
continue
|
||||
|
|
Loading…
Reference in New Issue