diff -c ../old/alias.c ./alias.c *** ../old/alias.c Wed Feb 26 19:49:40 2003 --- ./alias.c Sun Mar 23 19:15:03 2003 *************** *** 386,392 **** exit(0); } pw = vauth_getpw( Newu, Domain ); ! sprintf(TmpBuf2, "%s/Maildir/\n",pw->pw_dir); if (dotqmail_add_line(ActionUser,TmpBuf2)) { sprintf(StatusMessage, "%s %d\n", get_html_text("150"), 3); --- 386,395 ---- exit(0); } pw = vauth_getpw( Newu, Domain ); ! //HACK TO CREATE A FORWARD TO ACCOUNT@LOCALDOMAIN INSTEAD OF AN ALIAS! ! //sprintf(TmpBuf2, "%s/Maildir/\n",pw->pw_dir); ! sprintf(TmpBuf2, "&%s@%s\n",Newu, Domain); ! //END if (dotqmail_add_line(ActionUser,TmpBuf2)) { sprintf(StatusMessage, "%s %d\n", get_html_text("150"), 3); *************** *** 511,517 **** if (!err) { if (!(strcmp(AliasType, "alias"))) { pw = vauth_getpw( ActionUser, Domain ); ! sprintf(TmpBuf2, "%s/Maildir/\n", pw->pw_dir); dotqmail_add_line(Alias, TmpBuf2); } else if (!(strcmp(AliasType, "forward"))) { sprintf(TmpBuf2, "&%s\n", ActionUser); --- 514,523 ---- if (!err) { if (!(strcmp(AliasType, "alias"))) { pw = vauth_getpw( ActionUser, Domain ); ! //HACK TO CREATE A FORWARD TO ACCOUNT@LOCALDOMAIN INSTEAD OF AN ALIAS! ! //sprintf(TmpBuf2, "%s/Maildir/\n", pw->pw_dir); ! sprintf(TmpBuf2, "&%s@%s\n", ActionUser, Domain); ! //END dotqmail_add_line(Alias, TmpBuf2); } else if (!(strcmp(AliasType, "forward"))) { sprintf(TmpBuf2, "&%s\n", ActionUser); diff -c ../old/command.c ./command.c *** ../old/command.c Tue Feb 25 19:30:30 2003 --- ./command.c Sun Mar 23 19:15:40 2003 *************** *** 277,283 **** if ((pw = vauth_getpw( ActionUser, Domain )) == NULL) { sprintf(StatusMessage,"%s $s@%s", get_html_text("223"),ActionUser,Domain); } else { ! fprintf(fs, "| %s/bin/vdelivermail '' %s\n", VPOPMAILDIR, pw->pw_dir); } fclose(fs); } --- 277,287 ---- if ((pw = vauth_getpw( ActionUser, Domain )) == NULL) { sprintf(StatusMessage,"%s $s@%s", get_html_text("223"),ActionUser,Domain); } else { ! //HACK TO SET THE DEFAULTCATCHALL TO ACCOUNT@LOCALDOMAIN ISTEAD OF DELIVERING TO THE MAILDIR ! //fprintf(fs, "| %s/bin/vdelivermail '' %s\n", VPOPMAILDIR, pw->pw_dir); ! fprintf(fs, "| %s/bin/vdelivermail '' %s@%s\n", VPOPMAILDIR, ActionUser, Domain); ! //END ! } fclose(fs); } Common subdirectories: ../old/html and ./html Common subdirectories: ../old/images and ./images diff -c ../old/user.c ./user.c *** ../old/user.c Thu Mar 20 19:01:53 2003 --- ./user.c Sun Mar 23 19:13:57 2003 *************** *** 108,113 **** --- 108,121 ---- bounced = 1; } else if ( strstr(TmpBuf, "@") != NULL ) { bounced = 0; + //HACK TO HANDLE ACCOUNT@LOCALDOMAIN AS A LOCAL CATCHALL! + if ( strstr(TmpBuf, dom) != NULL ) { + i = strlen(TmpBuf); --i; TmpBuf[i] = 0; /* take off newline */ + for(;TmpBuf[i]!=' ';--i); + for(j=0,++i;TmpBuf[i]!=0 && TmpBuf[i]!='@';++j,++i) TmpBuf3[j] = TmpBuf[i]; + TmpBuf3[j]=0; + } + //END } else { bounced = 0; i = strlen(TmpBuf); --i; TmpBuf[i] = 0; /* take off newline */