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() {
|
function tl_touchentry() {
|
||||||
awk '
|
awk '
|
||||||
/^dn:/ {
|
/^dn:/ {
|
||||||
|
@ -1253,6 +1274,9 @@ D, moddelattr
|
||||||
Supprimer l'attribut
|
Supprimer l'attribut
|
||||||
delentry
|
delentry
|
||||||
Supprimer l'objet
|
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
|
touchentry
|
||||||
Forcer la réplication de l'objet en simulant une modification"
|
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|md|moddel|moddelval) cmdparts=(tl_modifyattr delete);;
|
||||||
D|moddelattr) cmdparts=(tl_deleteattr);;
|
D|moddelattr) cmdparts=(tl_deleteattr);;
|
||||||
delentry|moddelentry) cmdparts=(tl_deleteentry);;
|
delentry|moddelentry) cmdparts=(tl_deleteentry);;
|
||||||
|
rename|modrdn|modrename|modmodrdn) cmdparts=(tl_modrdn "$@");;
|
||||||
touch|touchentry|modtouchentry) cmdparts=(tl_touchentry);;
|
touch|touchentry|modtouchentry) cmdparts=(tl_touchentry);;
|
||||||
litteral) cmdpars=("$@");;
|
litteral) cmdparts=("$@");;
|
||||||
*)
|
*)
|
||||||
eerror "$cmd: commande inconnue. elle sera ignorée"
|
eerror "$cmd: commande inconnue. elle sera ignorée"
|
||||||
continue
|
continue
|
||||||
|
|
Loading…
Reference in New Issue