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!


Cevap