*** qmail-1.03/qmail-local.c Mon Jun 15 05:53:16 1998 --- qmail-local.c Tue Sep 15 12:16:57 1998 *************** *** 41,46 **** --- 41,49 ---- void temp_qmail(fn) char *fn; { strerr_die5x(111,"Unable to open ",fn,": ",error_str(errno),". (#4.3.0)"); } + char *overquota = + "Recipient's mailbox is full, message returned to sender. (#5.2.2)"; + int flagdoit; int flag99; *************** *** 131,137 **** /* if it was error_exist, almost certainly successful; i hate NFS */ tryunlinktmp(); _exit(0); ! fail: tryunlinktmp(); _exit(1); } /* end child process */ --- 134,145 ---- /* if it was error_exist, almost certainly successful; i hate NFS */ tryunlinktmp(); _exit(0); ! fail: ! if (errno == error_dquot) { ! tryunlinktmp(); _exit(5); ! } else { ! tryunlinktmp(); _exit(1); ! } } /* end child process */ *************** *** 162,167 **** --- 170,176 ---- case 2: strerr_die1x(111,"Unable to chdir to maildir. (#4.2.1)"); case 3: strerr_die1x(111,"Timeout on maildir delivery. (#4.3.0)"); case 4: strerr_die1x(111,"Unable to read message. (#4.3.0)"); + case 5: strerr_die1x(100,overquota); default: strerr_die1x(111,"Temporary error on maildir delivery. (#4.3.0)"); } } *************** *** 221,227 **** return; writeerrs: ! strerr_warn5("Unable to write ",fn,": ",error_str(errno),". (#4.3.0)",0); if (flaglocked) seek_trunc(fd,pos); close(fd); _exit(111); --- 230,241 ---- return; writeerrs: ! if (errno == error_dquot) { ! if (flaglocked) seek_trunc(fd,pos); ! close(fd); ! strerr_die1x(100,overquota); ! } else ! strerr_warn5("Unable to write ",fn,": ",error_str(errno),". (#4.3.0)",0); if (flaglocked) seek_trunc(fd,pos); close(fd); _exit(111); *** qmail-1.03/error.h Mon Jun 15 05:53:16 1998 --- error.h Tue Sep 15 11:52:14 1998 *************** *** 16,21 **** --- 16,22 ---- extern int error_pipe; extern int error_perm; extern int error_acces; + extern int error_dquot; extern char *error_str(); extern int error_temp(); *** qmail-1.03/error.c Mon Jun 15 05:53:16 1998 --- error.c Tue Sep 15 11:53:29 1998 *************** *** 93,95 **** --- 93,102 ---- #else -13; #endif + + int error_dquot = + #ifdef EDQUOT + EDQUOT; + #else + -14; + #endif .