Looks good. I put it in 4.10.5, you might want to download it and 
try it out on your machine. So we know it works :)

Ken

Justin Heesemann wrote:
> 
> hi..
> after trying to find the cause for my cdb to mysql converting troubles
> i came up with this conclusion:
> 
> replace the function
> 
> int cdb_to_sql(char *domain, int site_size)
> 
> with my version:
> 
> --------
> 
> int cdb_to_sql( char *domain, int site_size )
> {
> #ifdef USE_SQL
>  FILE *fs;
>  char tmpbuf[200];
>  struct vqpasswd *pw;
> 
>         vauth_deldomain_size(domain, site_size);
>         vauth_adddomain_size(domain, site_size);
> 
>         sprintf(tmpbuf, "%s/domains/%s/vpasswd", VPOPMAILDIR, domain);
>         fs = fopen(tmpbuf,"r");
>         if ( fs == NULL ) {
>                 return(-1);
>         }
> 
>         while( (pw=vgetent(fs)) != NULL ) {
>                 vauth_adduser_size(pw->pw_name, domain, pw->pw_passwd,
>                         pw->pw_gecos, NULL, pw->pw_uid, site_size);
> 
>                 vauth_setpw_size (pw, domain, site_size);
>         }
> #endif
>         return(0);
> }
> 
> -------
> 
> what does it different than the original version ?
> - after vauth_adduser_size () (which basically INSERTS the user into
> the sql table) it calls vauth_setpw_size (which basically UPDATES the
> user information in the sql table)
> the thing is:
> vauth_adduser_size  ALWAYS encrypts the password. however in the cdb
> file, the pop3 passwords ARE already encrypted, and therefor are
> encrypted twice.
> so no user could log in with his true password anymore.
> 
> this is, why i call vauth_setpw_size() right after. it does not
> encrypt the password, and updates the password field with the true
> value: the encrypted password which was in the cdb file before.
> 
> (oh.. and i removed some of the code which tried to set the correct
> maildir path for every added user..  the vauth_setpw_size () does it
> correctly.)
> 
> as i'm by no means into c, please don't expect it to run or even work
> :)
> 
> regards, justin

Reply via email to