* src/addressbook.c
* src/ldapupdate.c
fix bug 1375, 'Impossible to modify e-mail
in LDAP addressbook twice'; Try two. update
externalID, don't make display lag, and
fix the cases where dn is not mail.
+2007-11-09 [colin] 3.0.2cvs129
+
+ * src/addressbook.c
+ * src/ldapupdate.c
+ fix bug 1375, 'Impossible to modify e-mail
+ in LDAP addressbook twice'; Try two. update
+ externalID, don't make display lag, and
+ fix the cases where dn is not mail.
+
2007-11-08 [paul] 3.0.2cvs128
* src/account.c
2007-11-08 [paul] 3.0.2cvs128
* src/account.c
( cvs diff -u -r 1.43.2.93 -r 1.43.2.94 src/toolbar.c; ) > 3.0.2cvs126.patchset
( cvs diff -u -r 1.96.2.191 -r 1.96.2.192 src/textview.c; ) > 3.0.2cvs127.patchset
( cvs diff -u -r 1.61.2.75 -r 1.61.2.76 src/account.c; cvs diff -u -r 1.382.2.419 -r 1.382.2.420 src/compose.c; cvs diff -u -r 1.94.2.162 -r 1.94.2.163 src/messageview.c; cvs diff -u -r 1.105.2.115 -r 1.105.2.116 src/prefs_account.c; cvs diff -u -r 1.49.2.34 -r 1.49.2.35 src/prefs_account.h; ) > 3.0.2cvs128.patchset
( cvs diff -u -r 1.43.2.93 -r 1.43.2.94 src/toolbar.c; ) > 3.0.2cvs126.patchset
( cvs diff -u -r 1.96.2.191 -r 1.96.2.192 src/textview.c; ) > 3.0.2cvs127.patchset
( cvs diff -u -r 1.61.2.75 -r 1.61.2.76 src/account.c; cvs diff -u -r 1.382.2.419 -r 1.382.2.420 src/compose.c; cvs diff -u -r 1.94.2.162 -r 1.94.2.163 src/messageview.c; cvs diff -u -r 1.105.2.115 -r 1.105.2.116 src/prefs_account.c; cvs diff -u -r 1.49.2.34 -r 1.49.2.35 src/prefs_account.h; ) > 3.0.2cvs128.patchset
+( cvs diff -u -r 1.60.2.104 -r 1.60.2.105 src/addressbook.c; cvs diff -u -r 1.1.2.17 -r 1.1.2.18 src/ldapupdate.c; ) > 3.0.2cvs129.patchset
MICRO_VERSION=2
INTERFACE_AGE=0
BINARY_AGE=0
MICRO_VERSION=2
INTERFACE_AGE=0
BINARY_AGE=0
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
static void addressbook_edit_address_post_cb( ItemPerson *person )
{
if( person ) {
static void addressbook_edit_address_post_cb( ItemPerson *person )
{
if( person ) {
+#ifdef USE_LDAP
+ if (strcmp2(person->nickName, ADDRITEM_NAME(person)))
+ addritem_person_set_nick_name( person, ADDRITEM_NAME(person));
+#endif
addressbook_folder_refresh_one_person( GTK_CTREE(addrbook.clist), person );
invalidate_address_completion();
}
addressbook_folder_refresh_one_person( GTK_CTREE(addrbook.clist), person );
invalidate_address_completion();
}
g_hash_table_insert(array, "sn", person->lastName);
g_hash_table_insert(array, "nickName", person->nickName);
g_hash_table_insert(array, "dn", person->externalID);
g_hash_table_insert(array, "sn", person->lastName);
g_hash_table_insert(array, "nickName", person->nickName);
g_hash_table_insert(array, "dn", person->externalID);
+ g_hash_table_insert(array, "person", person);
node = person->listEMail;
attr = NULL;
while (node) {
node = person->listEMail;
attr = NULL;
while (node) {
*/
void update_rdn(Rdn *rdn, gchar *head, gchar *tail) {
rdn->value = g_strdup(head);
*/
void update_rdn(Rdn *rdn, gchar *head, gchar *tail) {
rdn->value = g_strdup(head);
- rdn->new_dn = g_strdup_printf("mail=%s%s", head, tail);
+ rdn->new_dn = g_strdup_printf("%s=%s%s", rdn->attribute, head, tail);
return;
}
dn = g_hash_table_lookup(contact, "dn");
return;
}
dn = g_hash_table_lookup(contact, "dn");
if (dn == NULL) {
clean_up(ld, server, contact);
return;
if (dn == NULL) {
clean_up(ld, server, contact);
return;
+ ItemPerson *person = g_hash_table_lookup(contact, "person");
g_free(newRdn);
dn = g_strdup(NoRemove->new_dn);
g_hash_table_replace(contact, "dn", dn);
g_free(newRdn);
dn = g_strdup(NoRemove->new_dn);
g_hash_table_replace(contact, "dn", dn);
+ if (person) {
+ g_free(person->externalID);
+ person->externalID = dn;
+ }