Selamlar, inceleme devam ederken bir sey daha kesfettim vmysql.c icindeki vauth_open_update() fonksiyonu icinde su kontrol var:
/* Try to connect to the mysql update server with the specified database. */ if (!(mysql_real_connect(&mysql_update,MYSQL_UPDATE_SERVER, MYSQL_UPDATE_USER,MYSQL_UPDATE_PASSWD, MYSQL_DATABASE, MYSQL_VPORT,NULL,0))) burada dedigine gore, MYSQL_UPDATE server'e baglanmakya calisiyor. Eger bu kisim hata ile gecerse, yeni bir mysql database yaratmaya calisip bunu update database olarak gorecektir. Bunun kaynagi da derleme sirasindaki: vmysql.h dosyasi icindeki #define MYSQL_UPDATE_SERVER "localhost" #define MYSQL_UPDATE_USER "root" #define MYSQL_UPDATE_PASSWD "secret" girdi degerleri. Bunlari uygun bir sekilde duzenlediginizden emin misiniz? eger problemli ise. vpopmail'i tekrar kurun. Kurarken de bu degerleri vpopmail authentication icin kullanidiginiz database+kullanici+sifre uclusu seklinde duzenleyin. Boylecek problemi total olarak cozeceksiniz. Iyi calismalar. On Tue, Jan 20, 2004 at 12:28:59PM +0200, Halil Demirezen wrote: > On Mon, Jan 19, 2004 at 11:26:57AM +0200, Yalcin Cekic wrote: > > > > Selam, > > > > cron'dan geliyor. > > "Cron <[EMAIL PROTECTED]> /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null" > > Selamlar, > > www.inter7.com dan vpopmail'i indirdim. Crondan gelen hatalarin > nedeni clearopensmtp programinin dondurdugu degerler. Simdi clearopensmtp.c > 91 satirdan olusuyor ve adim adim baktigim zaman, > > > #ifdef USE_MYSQL > vclear_open_smtp(clear_minutes, mytime); > #else > > > bu kisim ilk olarak calisiyor. Cunku USE_MYSQL tanimli sekilde derlemssiniz. > vclear_open_stmp(clear_minutes, mytime) fonksiyonu da vmysql.c dosyasinda tanimli. > Oraya bir cagri yaptigimiz zaman sirasiyla su islemler gerceklesiyor; > > > void vclear_open_smtp(time_t clear_minutes, time_t mytime) > { > time_t delete_time; > int err; > > if ( (err=vauth_open_update()) != 0 ) return; > delete_time = mytime - clear_minutes; > > snprintf( SqlBufUpdate, SQL_BUF_SIZE, "delete from relay where timestamp <= %d", > (int)delete_time); > if (mysql_query(&mysql_update,SqlBufUpdate)) { > vcreate_relay_table(); > return; > } > } > > > dikkat ederseniz ilk once if((err = vauth_open_update() != 0) return; > calisiyor. Simdi bir tane daha call ile vauth_open_update()' ulasmamis gerekiyor. > Bu fonksiyon da ayni dosyada tanimli. Ve fonksiyonun baslik kisminda su yaziyor. > > /* > * Open a connection to mysql for updates > */ > > yaptigi tek is, update islemleri icin mysql baglantisi acmak. Ve sirasiyla > klasik C mysql islemleri gerceklesiyor; > > mysql_init(&mysql_update); > > ilkleme islemi. Bundan sonra da bir kac tane mysql_connect islemleri ve sonunda > ise iste bizim islem: > > /* we were able to connect, so create the database */ > snprintf( SqlBufUpdate, SQL_BUF_SIZE, > "create database %s", MYSQL_DATABASE ); > > > if (mysql_query(&mysql_update,SqlBufUpdate)) { > > /* we could not create the database > * so report the error and return > */ > printf("vmysql: sql error[1]: %s\n", mysql_error(&mysql_update)); > return(-1); > } > > > problem burada kaynaklaniyor. mysql var olan bir dabase uzerine tekrar ayni > isimli database'yi yaratmaya calisiyor. Ve dolayisiyla log'da gorebileceginiz > hata geliyor. -1 ile ciktigi icin, cagri yapan fonsiyon -1 degeriyle karsilasiyor. > vclear_open_smtp fonksiyonu icinde 0 a esit mi sorgusu oldugu icin ve -1 degerini > gordugu icin direk cikiyor ve bunun sonucu olarak database'de bulunan kullanicilar > icin acik relay ip'leri sonsuza kadar orada kaliyor. Simdi dogal olarak > bu prosedurlerin hepsi olmasi gerekir. Hatta ve hatta var olan bir database i tekrar > yaratmak dogru olmaz zaten. > > Ama vpopmail i derlerken --enable-roaming-users=y kullandiniz degil mi? > > p.s: sanirim cok fazla acik gittik :) > > > > > > > Y.C > > > > Tuesday, January 20, 2004, 10:17:15 AM, you wrote: > > > > HD> Selamlar bu hatayi ne yaparken aliyorsunuz? > > HD> Ya da loglardan mi aliyorsunuz? > > > > HD> On Mon, Jan 19, 2004 at 10:18:23AM +0200, Yalcin Cekic wrote: > > >> > > >> Selam, > > >> > > >> Bir qmail + vpopmail + mysql mail box'in var. > > >> Bir suredir > > >> "vmysql: sql error[1]: Can't create database 'vpopmail'. Database exists" > > >> seklinde hata almaya basladim. Mail almada veya gondermede bir problem > > >> yok. Boyle bir seyle karsilasan varmi? > > >> > > >> Kolay gelsin, > > >> > > >> Y.C > > >> > > >> > > >> > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > Liste arsivi: http://lists.enderunix.org ve > > http://www.mail-archive.com/[EMAIL PROTECTED] > > http://ipucu.EnderUNIX.org - ihtiyac duyacaginiz kisa bilgiler bu sitede! > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > Liste arsivi: http://lists.enderunix.org ve > http://www.mail-archive.com/[EMAIL PROTECTED] > http://ipucu.EnderUNIX.org - ihtiyac duyacaginiz kisa bilgiler bu sitede! > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Liste arsivi: http://lists.enderunix.org ve http://www.mail-archive.com/[EMAIL PROTECTED] http://ipucu.EnderUNIX.org - ihtiyac duyacaginiz kisa bilgiler bu sitede!