~ubuntu-branches/ubuntu/saucy/postfix/saucy

« back to all changes in this revision

Viewing changes to src/smtpstone/smtp-source.c

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones
  • Date: 2011-02-22 11:20:43 UTC
  • mfrom: (1.1.27 upstream)
  • Revision ID: james.westby@ubuntu.com-20110222112043-c34ht219w3ybrilr
Tags: 2.8.0-2
* a little more lintian cleanup
* Fix missing format strings in smtp-sink.c

Show diffs side-by-side

added added

removed removed

Lines of Context:
230
230
static void rset_done(int, char *);
231
231
static void send_quit(SESSION *);
232
232
static void quit_done(int, char *);
 
233
static void close_session(SESSION *);
233
234
 
234
235
/* random_interval - generate a random value in 0 .. (small) interval */
235
236
 
573
574
         /* void */ ;
574
575
    } else if (allow_reject) {
575
576
        msg_warn("%s rejected: %d %s", protocol, resp->code, resp->str);
 
577
        if (resp->code == 421 || resp->code == 521) {
 
578
            close_session(session);
 
579
            return;
 
580
        }
576
581
    } else {
577
582
        msg_fatal("%s rejected: %d %s", protocol, resp->code, resp->str);
578
583
    }
621
626
        send_rcpt(unused, context);
622
627
    } else if (allow_reject) {
623
628
        msg_warn("sender rejected: %d %s", resp->code, resp->str);
 
629
        if (resp->code == 421 || resp->code == 521) {
 
630
            close_session(session);
 
631
            return;
 
632
        }
624
633
        send_rset(unused, context);
625
634
    } else {
626
635
        msg_fatal("sender rejected: %d %s", resp->code, resp->str);
673
682
        session->rcpt_accepted++;
674
683
    } else if (allow_reject) {
675
684
        msg_warn("recipient rejected: %d %s", resp->code, resp->str);
 
685
        if (resp->code == 421 || resp->code == 521) {
 
686
            close_session(session);
 
687
            return;
 
688
        }
676
689
    } else {
677
690
        msg_fatal("recipient rejected: %d %s", resp->code, resp->str);
678
691
    }
727
740
         /* see below */ ;
728
741
    } else if (allow_reject) {
729
742
        msg_warn("data rejected: %d %s", resp->code, resp->str);
 
743
        if (resp->code == 421 || resp->code == 521) {
 
744
            close_session(session);
 
745
            return;
 
746
        }
730
747
        send_rset(unused, context);
731
748
        return;
732
749
    } else {
808
825
             /* void */ ;
809
826
        } else if (allow_reject) {
810
827
            msg_warn("end of data rejected: %d %s", resp->code, resp->str);
 
828
            if (resp->code == 421 || resp->code == 521) {
 
829
                close_session(session);
 
830
                return;
 
831
            }
811
832
        } else {
812
833
            msg_fatal("end of data rejected: %d %s", resp->code, resp->str);
813
834
        }
852
873
        /* void */
853
874
    } else if (allow_reject) {
854
875
        msg_warn("rset rejected: %d %s", resp->code, resp->str);
 
876
        if (resp->code == 421 || resp->code == 521) {
 
877
            close_session(session);
 
878
            return;
 
879
        }
855
880
    } else {
856
881
        msg_fatal("rset rejected: %d %s", resp->code, resp->str);
857
882
    }
888
913
    start_another(session);
889
914
}
890
915
 
 
916
/* close_session - disconnect, for example after 421 or 521 reply */
 
917
 
 
918
static void close_session(SESSION *session)
 
919
{
 
920
    event_disable_readwrite(vstream_fileno(session->stream));
 
921
    vstream_fclose(session->stream);
 
922
    session->stream = 0;
 
923
    start_another(session);
 
924
}
 
925
 
891
926
/* usage - explain */
892
927
 
893
928
static void usage(char *myname)