summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@redhat.com>2012-02-23 20:01:03 -0500
committerNalin Dahyabhai <nalin@redhat.com>2012-02-23 20:01:03 -0500
commit7874eabc4dd75d86cbccd3f4bc0d4d77ef4606a7 (patch)
tree1d4c719200e4c56b0799a24278206db199ee411c /tests
parentebd8dda68bb83ea82bc2f5107a2f6d5714a1d0cf (diff)
downloadslapi-nis-7874eabc4dd75d86cbccd3f4bc0d4d77ef4606a7.tar.gz
slapi-nis-7874eabc4dd75d86cbccd3f4bc0d4d77ef4606a7.tar.xz
slapi-nis-7874eabc4dd75d86cbccd3f4bc0d4d77ef4606a7.zip
properly escape RDN values when building compat entries (#796509)
Diffstat (limited to 'tests')
-rwxr-xr-xtests/test31-schema-weird-rdn/after.sh4
-rw-r--r--tests/test31-schema-weird-rdn/after.txt13
-rwxr-xr-xtests/test31-schema-weird-rdn/before.sh4
-rw-r--r--tests/test31-schema-weird-rdn/before.txt5
-rwxr-xr-xtests/test31-schema-weird-rdn/change.sh91
-rw-r--r--tests/test31-schema-weird-rdn/description.txt1
-rw-r--r--tests/test31-schema-weird-rdn/dse.ldif13
7 files changed, 131 insertions, 0 deletions
diff --git a/tests/test31-schema-weird-rdn/after.sh b/tests/test31-schema-weird-rdn/after.sh
new file mode 100755
index 0000000..32c64be
--- /dev/null
+++ b/tests/test31-schema-weird-rdn/after.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+{ search -b cn=compat,cn=accounts,dc=example,dc=com dn ; \
+ search -b cn=compat2,cn=accounts,dc=example,dc=com dn; } |\
+grep ^dn: | env LANG=C sort
diff --git a/tests/test31-schema-weird-rdn/after.txt b/tests/test31-schema-weird-rdn/after.txt
new file mode 100644
index 0000000..4536f9b
--- /dev/null
+++ b/tests/test31-schema-weird-rdn/after.txt
@@ -0,0 +1,13 @@
+dn: cn=-User 1 E,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=CRON\2C the destroyer,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=User 1 A,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=User 1 B,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=User 1 C,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=User 1 F\2B,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=User 1 G-,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=User 1\2BH,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=User 1\5C\2BI,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=You \2B Me \3D We,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=\2BUser 1 D,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=compat,cn=accounts,dc=example,dc=com
+dn: ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
diff --git a/tests/test31-schema-weird-rdn/before.sh b/tests/test31-schema-weird-rdn/before.sh
new file mode 100755
index 0000000..32c64be
--- /dev/null
+++ b/tests/test31-schema-weird-rdn/before.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+{ search -b cn=compat,cn=accounts,dc=example,dc=com dn ; \
+ search -b cn=compat2,cn=accounts,dc=example,dc=com dn; } |\
+grep ^dn: | env LANG=C sort
diff --git a/tests/test31-schema-weird-rdn/before.txt b/tests/test31-schema-weird-rdn/before.txt
new file mode 100644
index 0000000..07e162b
--- /dev/null
+++ b/tests/test31-schema-weird-rdn/before.txt
@@ -0,0 +1,5 @@
+dn: cn=User 1 A,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=User 1 B,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=User 1 C,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+dn: cn=compat,cn=accounts,dc=example,dc=com
+dn: ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
diff --git a/tests/test31-schema-weird-rdn/change.sh b/tests/test31-schema-weird-rdn/change.sh
new file mode 100755
index 0000000..b5ffd76
--- /dev/null
+++ b/tests/test31-schema-weird-rdn/change.sh
@@ -0,0 +1,91 @@
+#!/bin/sh
+add << EOF
+dn: uid=user1d,cn=Users1,cn=Accounts,dc=example,dc=com
+objectClass: posixAccount
+objectClass: inetUser
+uid: user1d
+uidNumber: 1004
+gidNumber: 1004
+cn: +User 1 D
+gecos: User 1 D
+loginShell: /bin/sh
+homeDirectory: /home/user1d
+
+dn: uid=user1e,cn=Users1,cn=Accounts,dc=example,dc=com
+objectClass: posixAccount
+objectClass: inetUser
+uid: user1e
+uidNumber: 1005
+gidNumber: 1005
+cn: -User 1 E
+gecos: User 1 E
+loginShell: /bin/sh
+homeDirectory: /home/user1e
+
+dn: uid=user1f,cn=Users1,cn=Accounts,dc=example,dc=com
+objectClass: posixAccount
+objectClass: inetUser
+uid: user1f
+uidNumber: 1006
+gidNumber: 1006
+cn: User 1 F+
+gecos: User 1 F
+loginShell: /bin/sh
+homeDirectory: /home/user1f
+
+dn: uid=user1g,cn=Users1,cn=Accounts,dc=example,dc=com
+objectClass: posixAccount
+objectClass: inetUser
+uid: user1g
+uidNumber: 1007
+gidNumber: 1007
+cn: User 1 G-
+gecos: User 1 G
+loginShell: /bin/sh
+homeDirectory: /home/user1g
+
+dn: uid=user1h,cn=Users1,cn=Accounts,dc=example,dc=com
+objectClass: posixAccount
+objectClass: inetUser
+uid: user1h
+uidNumber: 1008
+gidNumber: 1008
+cn: User 1+H
+gecos: User 1 H
+loginShell: /bin/sh
+homeDirectory: /home/user1h
+
+dn: uid=user1i,cn=Users1,cn=Accounts,dc=example,dc=com
+objectClass: posixAccount
+objectClass: inetUser
+uid: user1i
+uidNumber: 1009
+gidNumber: 1009
+cn: User 1\+I
+gecos: User 1 I
+loginShell: /bin/sh
+homeDirectory: /home/user1i
+
+dn: uid=user1j,cn=Users1,cn=Accounts,dc=example,dc=com
+objectClass: posixAccount
+objectClass: inetUser
+uid: user1j
+uidNumber: 1010
+gidNumber: 1010
+cn: CRON, the destroyer
+gecos: User 1 J
+loginShell: /bin/sh
+homeDirectory: /home/user1j
+
+dn: uid=user1k,cn=Users1,cn=Accounts,dc=example,dc=com
+objectClass: posixAccount
+objectClass: inetUser
+uid: user1k
+uidNumber: 1011
+gidNumber: 1011
+cn: You + Me = We
+gecos: User 1 K
+loginShell: /bin/sh
+homeDirectory: /home/user1k
+
+EOF
diff --git a/tests/test31-schema-weird-rdn/description.txt b/tests/test31-schema-weird-rdn/description.txt
new file mode 100644
index 0000000..c3b091d
--- /dev/null
+++ b/tests/test31-schema-weird-rdn/description.txt
@@ -0,0 +1 @@
+an RDN that needs escaping
diff --git a/tests/test31-schema-weird-rdn/dse.ldif b/tests/test31-schema-weird-rdn/dse.ldif
new file mode 100644
index 0000000..0897534
--- /dev/null
+++ b/tests/test31-schema-weird-rdn/dse.ldif
@@ -0,0 +1,13 @@
+dn: cn=compat-passwd,cn=Schema Compatibility,cn=plugins,cn=config
+objectClass: top
+objectClass: extensibleObject
+cn: compat-passwd
+schema-compat-container-group: cn=compat,cn=Accounts,dc=example,dc=com
+schema-compat-container-rdn: ou=passwd
+schema-compat-check-access: yes
+schema-compat-search-base: cn=Users1,cn=Accounts,dc=example,dc=com
+schema-compat-search-filter: (objectClass=posixAccount)
+schema-compat-entry-rdn: cn=%{cn}
+schema-compat-entry-attribute: objectclass=extensibleobject
+schema-compat-entry-attribute: uidNumber=%{uidNumber}
+