diff -u qmailadmin-1.2.3-orig/limits.c qmailadmin-1.2.3/limits.c --- qmailadmin-1.2.3-orig/limits.c Fri Oct 10 18:36:24 2003 +++ qmailadmin-1.2.3/limits.c Tue Jan 4 21:34:18 2005 @@ -41,7 +41,9 @@ MaxForwards = Limits.maxforwards; MaxAutoResponders = Limits.maxautoresponders; MaxMailingLists = Limits.maxmailinglists; - + + DefaultQuota = Limits.defaultquota; + DisablePOP = Limits.disable_pop; DisableIMAP = Limits.disable_imap; DisableDialup = Limits.disable_dialup; diff -u qmailadmin-1.2.3-orig/qmailadmin.c qmailadmin-1.2.3/qmailadmin.c --- qmailadmin-1.2.3-orig/qmailadmin.c Sat Apr 24 03:06:40 2004 +++ qmailadmin-1.2.3/qmailadmin.c Tue Jan 4 21:32:21 2005 @@ -78,6 +78,8 @@ int MaxAutoResponders; int MaxMailingLists; +int DefaultQuota; + int DisablePOP; int DisableIMAP; int DisableDialup; diff -u qmailadmin-1.2.3-orig/qmailadmin.h qmailadmin-1.2.3/qmailadmin.h --- qmailadmin-1.2.3-orig/qmailadmin.h Wed Sep 10 23:38:43 2003 +++ qmailadmin-1.2.3/qmailadmin.h Tue Jan 4 22:26:21 2005 @@ -39,6 +39,7 @@ char *get_html_text( char *index ); int open_lang( char *lang); +int vquota_to_bytes(char returnval[], int quota); // david chanial prototype int quota_to_bytes(char[], char*); //jhopper prototype int quota_to_megabytes(char[], char*); //jhopper prototype diff -u qmailadmin-1.2.3-orig/qmailadminx.h qmailadmin-1.2.3/qmailadminx.h --- qmailadmin-1.2.3-orig/qmailadminx.h Sat Apr 24 03:06:40 2004 +++ qmailadmin-1.2.3/qmailadminx.h Tue Jan 4 21:32:41 2005 @@ -57,6 +57,8 @@ extern int MaxAutoResponders; extern int MaxMailingLists; +extern int DefaultQuota; + extern int CallVmoduser; extern int DisablePOP; extern int DisableIMAP; diff -u qmailadmin-1.2.3-orig/user.c qmailadmin-1.2.3/user.c --- qmailadmin-1.2.3-orig/user.c Sat Jun 12 23:28:04 2004 +++ qmailadmin-1.2.3/user.c Tue Jan 4 22:20:25 2005 @@ -366,7 +366,7 @@ char spamvalue[50]; static char NewBuf[156]; FILE *fs; - + c_num = malloc(MAX_BUFF); email = malloc(128); tmp = malloc(MAX_BUFF); @@ -447,7 +447,7 @@ vclose(); exit(0); } - } + } for(cnt = 0; cnt < num; cnt++) { sprintf(tmp, "subscribe%d=", cnt); @@ -489,6 +489,15 @@ vsetuserquota (Newu, Domain, qconvert); } } +#else + if(vquota_to_bytes(qconvert, DefaultQuota)) + { + sprintf(StatusMessage, get_html_text("314")); + } + else + { + vsetuserquota(Newu, Domain, qconvert); + } #endif #ifdef MODIFY_SPAM diff -u qmailadmin-1.2.3-orig/util.c qmailadmin-1.2.3/util.c --- qmailadmin-1.2.3-orig/util.c Mon Feb 2 01:39:47 2004 +++ qmailadmin-1.2.3/util.c Tue Jan 4 22:25:10 2005 @@ -370,6 +370,22 @@ return 1; } } +/* vquota_to_bytes: used to convert .qmailadmin-limits (vlimits) quota (given in MB) + * back to bytes for vpasswd file + * return value: 0 for success, 1 for failure + * */ +int vquota_to_bytes(char returnval[], int quota) +{ + char *tmpstr; + double tmp; + + if (quota < 0 ) { return 1; } + + tmp = quota; + tmp *= 1048576; + sprintf(returnval, "%.0lf", tmp); + return 0; +} /* quota_to_megabytes: used to convert vpasswd representation of quota to number of megabytes. return value: 0 for success, 1 for failure