Download
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
System
>
Systems Administration
>
Authentication/Directory
>
LDAP
>
LISM
>
Ticket List/Search
>
Ticket #10562
LISM
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
CVS
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
Forums
List of Forums
Help (1)
Open Discussion (1)
Mailing Lists
list of ML
lism-devel
lism-users
News
Ticket #10562
Ticket List
Submit New Ticket
RSS
システムデータからマスターへの同期不備
Open Date:
2007-06-10 00:25
Last Update:
2007-06-10 23:16
monitor
ON
OFF
Reporter:
ks0315
Owner:
k-sekiguchi
Type:
Bugs
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None
Details
Reply
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
dn: uid=Xoopsuser,ou=People,ou=Xoops,dc=lism,dc=com
objectClass: Person
uid: Xoopsuser
cn: 関口
mail: syncuser@lism.com
userPassword: password
businessCategory: cn=User,ou=Role,ou=Xoops,dc=lism,dc=com
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
上のデータをシステムデータXoops下に登録後
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
dn: cn=sync,ou=LDAP,dc=lism,dc=com
changetype: modify
replace: description
description: sync
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
#ldapmodify -x -H ldap://localhost:9001 -D
'cn=Manager,dc=lism,dc=com' -w secret -f desc.ldif
と入力したところ次の様なログがでてサーバがおちました。
modifications:
replace: description
one value, length 4
Cannot decode string with wide characters at
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/Encode.pm
line 166, <DATA> line 995.
Ticket History (3/3 Histories)
2007-06-10 02:05
Updated by:
k-sekiguchi
Owner
Update from
ks0315
to
k-sekiguchi
Comment
Reply
Logged In: YES
user_id=20689
LISMの設定ファイル(lism.conf)についても、教えて下さい。
2007-06-10 19:10
Updated by:
ks0315
Comment
Reply
Logged In: YES
user_id=22777
ちなみにlismの設定ファイルは
<config>
<sync>
<transaction>off</transaction>
<data name="Xoops">
<masterop>add-delete</masterop>
<masterop>modify</masterop>
<object name="User">
<syncdn>ou=People</syncdn>
<masterdn>ou=People</masterdn>
<masterattr>cn</masterattr>
<masterattr>userPassword</masterattr>
<masterattr>mail</masterattr>
</object>
</data>
<data name="CSV">
<syncop>add-delete</syncop>
<syncop>modify</syncop>
<object name="User">
<syncdn>ou=People</syncdn>
<syncattr>cn</syncattr>
<syncattr>sn</syncattr>
<syncattr>uidNumber</syncattr>
<syncattr>gidNumber</syncattr>
<syncattr>userPassword</syncattr>
<syncattr>mail</syncattr>
<syncattr>homeDirectory</syncattr>
</object>
</data>
<master>LDAP</master>
</sync>
<data name="Xoops">
<rewrite context="request" match="createtimestamp:
*([0-9]*Z)" substitution="createtimestamp: %{date2time('%1')}"/>
<rewrite context="searchResult" match="createtimestamp:
*([0-9]*)" substitution="createtimestamp: %{time2date('%1')}"/>
<container>
<oc>organizationalUnit</oc>
<rdn>ou=Xoops</rdn>
<attr name="description">Web Portal</attr>
<attr name="businessCategory">Area</attr>
</container>
<storage name="SQL" hash="MD5:hex">
<dsn>DBI:mysql:xoops:localhost</dsn>
<admin>admin</admin>
<passwd>secret</passwd>
<object name="User">
<container>
<oc>organizationalUnit</oc>
<rdn>ou=People</rdn>
</container>
<table>xoops_users</table>
<id>uid</id>
<oc>Person</oc>
<oc>inetOrgPerson</oc>
<rdn>uid</rdn>
<attr name="uid">
<column>uname</column>
</attr>
<attr name="cn">
<column>name</column>
</attr>
<attr name="sn">
<selexpr>substring(name,position(' ' in
name)+1,char_length(name)-position(' ' in name))</selexpr>
</attr>
<attr name="userpassword">
<column>pass</column>
</attr>
<attr name="mail">
<column>email</column>
</attr>
<attr name="createtimestamp">
<column>user_regdate</column>
</attr>
<strginfo>
<addproc>insert into xoops_groups_users_link(uid,
groupid) values(%o, (select groupid from xoops_groups where
group_type = 'Anonymous'))</addproc>
</strginfo>
</object>
<object name="Group">
<container>
<oc>organizationalUnit</oc>
<rdn>ou=Groups</rdn>
</container>
<table>xoops_groups</table>
<id>groupid</id>
<oc>posixGroup</oc>
<rdn>cn</rdn>
<attr name="cn">
<column>group_type</column>
</attr>
<attr name="memberuid">
<selexpr>uname</selexpr>
<fromtbls>xoops_users,xoops_groups_users_link</fromtbls>
<joinwhere>xoops_groups.groupid=xoops_groups_users_link.groupid
and xoops_users.uid=xoops_groups_users_link.uid</joinwhere>
<addproc>insert into xoops_groups_users_link(uid,
groupid) values((select id from xoops_users where uname =
'%a', %o)</addproc>
<delproc>delete from xoops_groups_users_link where
uid = (select id from xoops_users where uname = '%a') and
groupid = %o</delproc>
</attr>
</object>
</storage>
</data>
<data name="CSV">
<container>
<rdn>ou=CSV</rdn>
<oc>organizationalUnit</oc>
</container>
<storage name="CSV" hash="CLEARTEXT">
<delim>,</delim>
<object name="User">
<container>
<rdn>ou=People</rdn>
<oc>organizationalUnit</oc>
</container>
<file>/usr/local/lism/var/csv/user.csv</file>
<id>0</id>
<oc>person</oc>
<oc>inetOrgPerson</oc>
<oc>posixAccount</oc>
<rdn>uid</rdn>
<attr name="uid">
<column>0</column>
</attr>
<attr name="cn">
<column>1</column>
</attr>
<attr name="sn">
<column>2</column>
</attr>
<attr name="uidnumber">
<column>3</column>
</attr>
<attr name="gidnumber">
<column>4</column>
</attr>
<attr name="userpassword">
<column>5</column>
</attr>
<attr name="mail">
<column>6</column>
</attr>
<attr name="businesscategory">
<idcolumn>7</idcolumn>
<file>/usr/local/lism/var/csv/group.csv</file>
<id>0</id>
<value>cn=%0,ou=Role,ou=%1,dc=lism,dc=com</value>
</attr>
<attr name="homedirectory">
<column>8</column>
</attr>
</object>
</storage>
</data>
<data name="LDAP">
<container>
<oc>organizationalUnit</oc>
<rdn>ou=LDAP</rdn>
<attr name="description">LISM Master</attr>
<attr name="businessCategory">Area</attr>
</container>
<handler name="Script" type="post">
<execrule dn=".*,ou=People,ou=LDAP,dc=lism,dc=com">
<op name="add">
<script>/usr/local/lism/lib/scripts/mkhomedir.sh
add %r %i</script>
</op>
<op name="delete">
<script>/usr/local/lism/lib/scripts/mkhomedir.sh
del %r >& /tmp/log</script>
</op>
</execrule>
</handler>
<storage name="LDAP" hash="CLEARTEXT">
<uri>ldap://localhost/dc=example,dc=com</uri>
<binddn>cn=Manager,dc=example,dc=com</binddn>
<bindpw>secret</bindpw>
</storage>
</data>
</config>
2007-06-10 23:16
Updated by:
k-sekiguchi
Ticket Close date
is changed to
2007-06-10 23:16
Resolution
Update from
None
to
Fixed
Status
Update from
Open
to
Closed
Comment
Reply
Logged In: YES
user_id=20689
searchによって、システムデータとマスタデータの差分となるエン
トリを取得して、そのエントリ情報をそのままadd、modify、
deleteといった関数に渡して、他のシステムに対してデータの同期
を行なっています。このとき、add、modify、deleteに渡すエント
リ情報はperlのUTF8フラグが立っていないことを想定しています
が、searchから返って来るエントリの情報はUTF8フラグが立ってい
たため、Encode.pmがエラーを返していました。そこで、差分のエ
ントリ情報をEncode::encodeにより、UTF8フラグを落してから、
add、modify、deleteに渡すように修正しました。
Attachment File List (
0
)
Attachment File List
No attachments
Edit
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Login
Add Comment
Preview
Submit
dn: uid=Xoopsuser,ou=People,ou=Xoops,dc=lism,dc=com
objectClass: Person
uid: Xoopsuser
cn: 関口
mail: syncuser@lism.com
userPassword: password
businessCategory: cn=User,ou=Role,ou=Xoops,dc=lism,dc=com
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
上のデータをシステムデータXoops下に登録後
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
dn: cn=sync,ou=LDAP,dc=lism,dc=com
changetype: modify
replace: description
description: sync
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
#ldapmodify -x -H ldap://localhost:9001 -D
'cn=Manager,dc=lism,dc=com' -w secret -f desc.ldif
と入力したところ次の様なログがでてサーバがおちました。
modifications:
replace: description
one value, length 4
Cannot decode string with wide characters at
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/Encode.pm
line 166, <DATA> line 995.