summaryrefslogtreecommitdiff
path: root/tools/libskrewt.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/libskrewt.h')
-rw-r--r--tools/libskrewt.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/tools/libskrewt.h b/tools/libskrewt.h
index c9d6721..94d06dd 100644
--- a/tools/libskrewt.h
+++ b/tools/libskrewt.h
@@ -1,4 +1,44 @@
#include <string>
+#include <vector>
+#include "qq_exit_codes.h" // a bit of a kludge
+extern std::string progid;
+
+class skrewt{
+public:
+ std::string received_from; // envelope HELO among other things
+ std::string proximta_HELO;
+ std::string proximta_rDNS;
+ std::string proximta_IP;
+ std::string proximta_AuthUser;
+ std::string return_path; // envelope MAIL FROM
+ std::string boundary;
+ std::string to;
+ std::string from;
+ std::string subject;
+ std::string date;
+ std::string message_id;
+ std::string content_type;
+ std::string delivered_to;
+ int msgsize;
+ std::vector<std::string> bigbuf;
+ int saw_blank_line;
+ int recno;
+
+ int maxsize;
+ int error_exit;
+ int mid_required;
+
+ // constructor
+ skrewt()
+ : boundary("x-xx-x"), msgsize(0), saw_blank_line(0), recno(0),
+ maxsize(1000*1000), error_exit(0), mid_required(0)
+ {}
+
+ int headers();
+ int interstage();
+ int body();
+ int krunch_rfrom();
+};
void parse_content(const std::string type_spec_line,
std::string &maintype, std::string &boundary);