X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhbuild.c;h=fd6cee0e17e8ae34622145543c300ae795f29169;hp=f659a30bc25235afeab9a7596c621485961ca274;hb=3363e2624dce0eb8164cf8b3f1ab385c8ff72e88;hpb=90d53cbbe431a89ac2066a527bbfe46ac0f3cbe7 diff --git a/uip/mhbuild.c b/uip/mhbuild.c index f659a30..fd6cee0 100644 --- a/uip/mhbuild.c +++ b/uip/mhbuild.c @@ -29,39 +29,27 @@ #include static struct swit switches[] = { -#define EBCDICSW 0 - { "ebcdicsafe", 0 }, -#define NEBCDICSW 1 - { "noebcdicsafe", 0 }, -#define HEADSW 2 +#define HEADSW 0 { "headers", 0 }, -#define NHEADSW 3 +#define NHEADSW 1 { "noheaders", 0 }, -#define LISTSW 4 +#define LISTSW 2 { "list", 0 }, -#define NLISTSW 5 +#define NLISTSW 3 { "nolist", 0 }, -#define SIZESW 6 - { "realsize", 0 }, -#define NSIZESW 7 - { "norealsize", 0 }, -#define RFC934SW 8 - { "rfc934mode", 0 }, -#define NRFC934SW 9 - { "norfc934mode", 0 }, -#define VERBSW 10 +#define VERBSW 4 { "verbose", 0 }, -#define NVERBSW 11 +#define NVERBSW 5 { "noverbose", 0 }, -#define CONTENTIDSW 12 +#define CONTENTIDSW 6 { "contentid", 0 }, -#define NCONTENTIDSW 13 +#define NCONTENTIDSW 7 { "nocontentid", 0 }, -#define VERSIONSW 14 +#define VERSIONSW 8 { "version", 0 }, -#define HELPSW 15 +#define HELPSW 9 { "help", 0 }, -#define DEBUGSW 16 +#define DEBUGSW 10 { "debug", -5 }, { NULL, 0 } }; @@ -86,9 +74,6 @@ static char prefix[] = "----- =_aaaaaaaaaa"; int make_intermediates(char *); void content_error(char *, CT, char *, ...); -/* ftpsbr.c */ -int ftp_get(char *, char *, char *, char *, char *, char *, int, int); - /* mhfree.c */ void free_content(CT); void free_ctinfo(CT); @@ -110,9 +95,7 @@ static CT build_mime(char *); int debugsw = 0; int verbosw = 0; -int ebcdicsw = 0; int listsw = 0; -int rfc934sw = 0; int contentidsw = 1; /* @@ -131,7 +114,7 @@ int output_message(CT, char *); int output_message_fp(CT, FILE *, char*); /* mhlistsbr.c */ -int list_all_messages(CT *, int, int, int, int); +int list_all_messages(CT *, int, int, int); /* mhmisc.c */ void set_endian(void); @@ -143,7 +126,7 @@ void free_content(CT); int main(int argc, char **argv) { - int sizesw = 1, headsw = 1; + int headsw = 1; char *cp, buf[BUFSIZ]; char buffer[BUFSIZ], *compfile = NULL; char **argp, **arguments; @@ -190,13 +173,6 @@ main(int argc, char **argv) print_version(invo_name); done(1); - case EBCDICSW: - ebcdicsw++; - continue; - case NEBCDICSW: - ebcdicsw = 0; - continue; - case HEADSW: headsw++; continue; @@ -211,20 +187,6 @@ main(int argc, char **argv) listsw = 0; continue; - case RFC934SW: - rfc934sw++; - continue; - case NRFC934SW: - rfc934sw = 0; - continue; - - case SIZESW: - sizesw++; - continue; - case NSIZESW: - sizesw = 0; - continue; - case CONTENTIDSW: contentidsw = 1; continue; @@ -355,7 +317,7 @@ main(int argc, char **argv) ** List the message info */ if (listsw) - list_all_messages(cts, headsw, sizesw, verbosw, debugsw); + list_all_messages(cts, headsw, verbosw, debugsw); /* Rename composition draft */ snprintf(buffer, sizeof(buffer), "%s.orig", m_backup(compfile)); @@ -1144,42 +1106,6 @@ set_id(CT ct, int top) } -static char ebcdicsafe[0x100] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - - /* ** Fill out, or expand the various contents in the composition ** draft. Read-in any necessary files. Parse and execute any @@ -1219,37 +1145,8 @@ compose_content(CT ct) return NOTOK; } - /* - ** If the -rfc934mode switch is given, then check all - ** the subparts of a multipart/digest. If they are all - ** message/rfc822, then mark this content and all - ** subparts with the rfc934 compatibility mode flag. - */ - if (rfc934sw && ct->c_subtype == MULTI_DIGEST) { - int is934 = 1; - - for (part = m->mp_parts; part; part = part->mp_next) { - CT p = part->mp_part; - - if (p->c_subtype != MESSAGE_RFC822) { - is934 = 0; - break; - } - } - ct->c_rfc934 = is934; - for (part = m->mp_parts; part; part = part->mp_next) { - CT p = part->mp_part; - - if ((p->c_rfc934 = is934)) - p->c_end++; - } - } - if (listsw) { ct->c_end = (partnum = strlen(prefix) + 2) + 2; - if (ct->c_rfc934) - ct->c_end += 1; - for (part = m->mp_parts; part; part = part->mp_next) ct->c_end += part->mp_part->c_end + partnum; } @@ -1426,7 +1323,6 @@ scan_content(CT ct) int checklinelen = 0, linelen = 0; /* check for long lines */ int checkboundary = 0, boundaryclash = 0; /* check if clashes with multipart boundary */ int checklinespace = 0, linespace = 0; /* check if any line ends with space */ - int checkebcdic = 0, ebcdicunsafe = 0; /* check if contains ebcdic unsafe characters */ unsigned char *cp = NULL, buffer[BUFSIZ]; struct text *t = NULL; FILE *in = NULL; @@ -1473,11 +1369,9 @@ scan_content(CT ct) check8bit = 1; checkboundary = 1; if (ct->c_subtype == TEXT_PLAIN) { - checkebcdic = 0; checklinelen = 0; checklinespace = 0; } else { - checkebcdic = ebcdicsw; checklinelen = 1; checklinespace = 1; } @@ -1485,7 +1379,6 @@ scan_content(CT ct) case CT_APPLICATION: check8bit = 1; - checkebcdic = ebcdicsw; checklinelen = 1; checklinespace = 1; checkboundary = 1; @@ -1493,7 +1386,6 @@ scan_content(CT ct) case CT_MESSAGE: check8bit = 0; - checkebcdic = 0; checklinelen = 0; checklinespace = 0; checkboundary = 1; @@ -1507,7 +1399,6 @@ scan_content(CT ct) ** since we are forcing use of base64. */ check8bit = 0; - checkebcdic = 0; checklinelen = 0; checklinespace = 0; checkboundary = 0; @@ -1533,16 +1424,6 @@ scan_content(CT ct) /* no need to keep checking */ check8bit = 0; } - /* - ** Check if character is ebcdic-safe. - ** We only check this if also checking - ** for 8bit data. - */ - if (checkebcdic && !ebcdicsafe[*cp & 0xff]) { - ebcdicunsafe = 1; - /* no need to keep checking */ - checkebcdic = 0; - } } } @@ -1619,7 +1500,7 @@ scan_content(CT ct) *ep = cp; } - if (contains8bit || ebcdicunsafe || linelen || linespace) + if (contains8bit || linelen || linespace) ct->c_encoding = CE_QUOTED; else ct->c_encoding = CE_7BIT; @@ -1627,7 +1508,7 @@ scan_content(CT ct) case CT_APPLICATION: /* For application type, use base64, except when postscript */ - if (contains8bit || ebcdicunsafe || linelen || linespace) + if (contains8bit || linelen || linespace) ct->c_encoding = (ct->c_subtype == APPLICATION_POSTSCRIPT) ? CE_QUOTED : CE_BASE64; @@ -1684,16 +1565,6 @@ build_headers(CT ct) } /* - ** Skip the output of Content-Type, parameters, content - ** description and disposition, and Content-ID if the - ** content is of type "message" and the rfc934 compatibility - ** flag is set (which means we are inside multipart/digest - ** and the switch -rfc934mode was given). - */ - if (ct->c_type == CT_MESSAGE && ct->c_rfc934) - goto skip_headers; - - /* ** output the content type and subtype */ np = getcpy(TYPE_FIELD); @@ -1769,7 +1640,6 @@ build_headers(CT ct) add_header(ct, np, vp); } -skip_headers: /* ** output the Content-Transfer-Encoding */