From 5ca6d115da010e279c2f928990b3c8d220378f24 Mon Sep 17 00:00:00 2001 From: Nigel Metheringham Date: Thu, 5 Nov 2009 19:40:51 +0000 Subject: [PATCH] Fix signed/unsigned and UTF errors Fixes: #901 --- doc/doc-txt/ChangeLog | 5 ++++- src/src/malware.c | 4 ++-- src/src/parse.c | 9 ++++----- src/src/sieve.c | 12 ++++++------ src/src/tls-openssl.c | 12 ++++++------ 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 9803382dc..defe1e08f 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.586 2009/11/05 19:31:15 nm4 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.587 2009/11/05 19:40:51 nm4 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -145,6 +145,9 @@ NM/32 Bugzilla 889: Change all instances of "expr" in shell scripts to "expr --" NM/33 Bugzilla 898: Transport filter timeout fix Patch by Todd Rinaldo +NM/34 Bugzilla 901: Fix sign/unsigned and UTF mistmatches + Patch by Serge Demonchaux + Exim version 4.69 ----------------- diff --git a/src/src/malware.c b/src/src/malware.c index 99f82257f..9b1bd334d 100644 --- a/src/src/malware.c +++ b/src/src/malware.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/malware.c,v 1.16 2008/03/27 13:16:52 tom Exp $ */ +/* $Cambridge: exim/src/src/malware.c,v 1.17 2009/11/05 19:40:51 nm4 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -231,7 +231,7 @@ int malware(uschar **listptr) { if ( Ustrstr(buf, US"")) ) { - if (strhelper2 = Ustrstr(buf, US"")) { + if (strhelper2 = (Ustrstr(buf, US""))) { *strhelper2 = '\0'; Ustrcpy(malware_name_buffer, strhelper + 6); } diff --git a/src/src/parse.c b/src/src/parse.c index 1558977a4..d608d56de 100644 --- a/src/src/parse.c +++ b/src/src/parse.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/parse.c,v 1.13 2008/06/06 14:40:21 michael Exp $ */ +/* $Cambridge: exim/src/src/parse.c,v 1.14 2009/11/05 19:40:51 nm4 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -1775,8 +1775,7 @@ day-name = "Mon" / "Tue" / "Wed" / "Thu" / obs-day-of-week = [CFWS] day-name [CFWS] */ -uschar *o; -static const uschar *day_name[7]={ "mon", "tue", "wed", "thu", "fri", "sat", "sun" }; +static const uschar *day_name[7]={ US"mon", US"tue", US"wed", US"thu", US"fri", US"sat", US"sun" }; int i; uschar day[4]; @@ -1787,7 +1786,7 @@ for (i=0; i<3; ++i) ++str; } day[3]='\0'; -for (i=0; i<7; ++i) if (strcmp(day,day_name[i])==0) break; +for (i=0; i<7; ++i) if (Ustrcmp(day,day_name[i])==0) break; if (i==7) return NULL; str=skip_comment(str); return str; @@ -1834,7 +1833,7 @@ obs-day = [CFWS] 1*2DIGIT [CFWS] */ uschar *c,*n; -static const uschar *month_name[]={ "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec" }; +static const uschar *month_name[]={ US"jan", US"feb", US"mar", US"apr", US"may", US"jun", US"jul", US"aug", US"sep", US"oct", US"nov", US"dec" }; int i; uschar month[4]; diff --git a/src/src/sieve.c b/src/src/sieve.c index bbbabdfd0..db19d713b 100644 --- a/src/src/sieve.c +++ b/src/src/sieve.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/sieve.c,v 1.37 2009/02/04 11:31:13 michael Exp $ */ +/* $Cambridge: exim/src/src/sieve.c,v 1.38 2009/11/05 19:40:51 nm4 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -2971,7 +2971,7 @@ while (*filter->pc) subject.character=(uschar*)0; body.length=-1; body.character=(uschar*)0; - envelope_from=(sender_address && sender_address[0]) ? expand_string("$local_part_prefix$local_part$local_part_suffix@$domain") : US ""; + envelope_from=(sender_address && sender_address[0]) ? expand_string(US"$local_part_prefix$local_part$local_part_suffix@$domain") : US ""; for (;;) { if (parse_white(filter)==-1) return -1; @@ -3038,11 +3038,11 @@ while (*filter->pc) for (already=filter->notified; already; already=already->next) { if (already->method.length==method.length - && (method.length==-1 || strcmp(already->method.character,method.character)==0) + && (method.length==-1 || Ustrcmp(already->method.character,method.character)==0) && already->importance.length==importance.length - && (importance.length==-1 || strcmp(already->importance.character,importance.character)==0) + && (importance.length==-1 || Ustrcmp(already->importance.character,importance.character)==0) && already->message.length==message.length - && (message.length==-1 || strcmp(already->message.character,message.character)==0)) + && (message.length==-1 || Ustrcmp(already->message.character,message.character)==0)) break; } if (already==(struct Notification*)0) @@ -3068,7 +3068,7 @@ while (*filter->pc) int buffer_capacity; f = fdopen(fd, "wb"); - fprintf(f,"From: %s\n",from.length==-1 ? expand_string("$local_part_prefix$local_part$local_part_suffix@$domain") : from.character); + fprintf(f,"From: %s\n",from.length==-1 ? expand_string(US"$local_part_prefix$local_part$local_part_suffix@$domain") : from.character); for (p=recipient; p; p=p->next) fprintf(f,"To: %s\n",p->text); fprintf(f,"Auto-Submitted: auto-notified; %s\n",filter->enotify_mailto_owner); if (header.length>0) fprintf(f,"%s",header.character); diff --git a/src/src/tls-openssl.c b/src/src/tls-openssl.c index 80ac0ffe7..d5ccd2caa 100644 --- a/src/src/tls-openssl.c +++ b/src/src/tls-openssl.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/tls-openssl.c,v 1.20 2009/10/19 11:25:31 nm4 Exp $ */ +/* $Cambridge: exim/src/src/tls-openssl.c,v 1.21 2009/11/05 19:40:51 nm4 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -73,13 +73,13 @@ tls_error(uschar *prefix, host_item *host, uschar *msg) if (msg == NULL) { ERR_error_string(ERR_get_error(), ssl_errstring); - msg = ssl_errstring; + msg = (uschar *)ssl_errstring; } if (host == NULL) { uschar *conn_info = smtp_get_connection_info(); - if (strncmp(conn_info, "SMTP ", 5) == 0) + if (Ustrncmp(conn_info, US"SMTP ", 5) == 0) conn_info += 5; log_write(0, LOG_MAIN, "TLS error on %s (%s): %s", conn_info, prefix, msg); @@ -253,7 +253,7 @@ if (dhexpanded == NULL) return TRUE; if ((bio = BIO_new_file(CS dhexpanded, "r")) == NULL) { tls_error(string_sprintf("could not read dhparams file %s", dhexpanded), - host, strerror(errno)); + host, (uschar *)strerror(errno)); yield = FALSE; } else @@ -338,7 +338,7 @@ if (!RAND_status()) if (!RAND_status()) return tls_error(US"RAND_status", host, - "unable to seed random number generator"); + US"unable to seed random number generator"); } /* Set up the information callback, which outputs if debugging is at a suitable @@ -621,7 +621,7 @@ uschar *expciphers; if (tls_active >= 0) { - tls_error("STARTTLS received after TLS started", NULL, ""); + tls_error(US"STARTTLS received after TLS started", NULL, US""); smtp_printf("554 Already in TLS\r\n"); return FAIL; } -- 2.25.1