X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fupgrade%2Fserv_upgrade.c;h=ae5c8da11b7b35ef806ea7ca6ba45f74467c49df;hb=8c47559cb5ae97ec0fa35660ee16fd61a9451c72;hp=df2c197aae0af8f8ed802d89b000d2a03ff43802;hpb=6e1b646b62cd5be85e15a432ca8fd399d97531c5;p=citadel.git diff --git a/citadel/modules/upgrade/serv_upgrade.c b/citadel/modules/upgrade/serv_upgrade.c index df2c197aa..ae5c8da11 100644 --- a/citadel/modules/upgrade/serv_upgrade.c +++ b/citadel/modules/upgrade/serv_upgrade.c @@ -3,6 +3,21 @@ * * Transparently handle the upgrading of server data formats. * + * Copyright (c) 1987-2009 by the citadel.org team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "sysdep.h" @@ -195,6 +210,27 @@ void convert_ctdluid_to_minusone(void) { return; } + +/* + * Attempt to guess the name of the time zone currently in use + * on the underlying host system. + */ +void guess_time_zone(void) { + FILE *fp; + char buf[PATH_MAX]; + + fp = popen(file_guesstimezone, "r"); + if (fp) { + if (fgets(buf, sizeof buf, fp) && (strlen(buf) > 2)) { + buf[strlen(buf)-1] = 0; + safestrncpy(config.c_default_cal_zone, buf, sizeof config.c_default_cal_zone); + CtdlLogPrintf(CTDL_INFO, "Configuring timezone: %s\n", config.c_default_cal_zone); + } + fclose(fp); + } +} + + /* * Do various things to our configuration file */ @@ -230,6 +266,21 @@ void update_config(void) { config.c_xmpp_s2s_port = 5269; } + /* Erase LDAP config that might be left over from the old connector + * which served a different purpose. + */ + if (CitControl.version < 760) { + strcpy(config.c_ldap_host, ""); + config.c_ldap_port = 389; + strcpy(config.c_ldap_base_dn, ""); + strcpy(config.c_ldap_bind_dn, ""); + strcpy(config.c_ldap_bind_pw, ""); + } + + if (IsEmptyStr(config.c_default_cal_zone)) { + guess_time_zone(); + } + put_config(); } @@ -283,7 +334,6 @@ void check_server_upgrades(void) { CTDL_MODULE_UPGRADE(upgrade) { check_server_upgrades(); - rebuild_usersbynumber(); // FIXME take this out /* return our Subversion id for the Log */ return "$Id$";