656. [func] Treat an unescaped newline in a quoted string as

an error.  This means that TXT records with missing
                        close quotes should have meaningful errors printed.
This commit is contained in:
Brian Wellington
2001-01-05 01:02:26 +00:00
parent 3dbdaa791c
commit 7357590bee
4 changed files with 15 additions and 5 deletions

View File

@@ -1,3 +1,7 @@
656. [func] Treat an unescaped newline in a quoted string as
an error. This means that TXT records with missing
close quotes should have meaningful errors printed.
655. [bug] Improve error reporting on unexpected eof when loading
zones. [RT #611]

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: result.h,v 1.53 2000/12/27 00:11:25 bwelling Exp $ */
/* $Id: result.h,v 1.54 2001/01/05 01:02:26 bwelling Exp $ */
#ifndef ISC_RESULT_H
#define ISC_RESULT_H 1
@@ -75,10 +75,11 @@
#define ISC_R_BADHEX 49 /* bad hex encoding */
#define ISC_R_TOOMANYOPENFILES 50 /* too many open files */
#define ISC_R_NOTBLOCKING 51 /* not blocking */
#define ISC_R_UNBALANCEDQUOTES 52 /* unbalanced quotes */
/*
* Not a result code: the number of results.
*/
#define ISC_R_NRESULTS 52
#define ISC_R_NRESULTS 53
ISC_LANG_BEGINDECLS

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lex.c,v 1.57 2000/12/09 03:20:05 marka Exp $ */
/* $Id: lex.c,v 1.58 2001/01/05 01:02:24 bwelling Exp $ */
#include <config.h>
@@ -717,6 +717,10 @@ isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp) {
done = ISC_TRUE;
}
} else {
if (c == '\n' && !escaped) {
pushback(source, c);
return (ISC_R_UNBALANCEDQUOTES);
}
if (c == '\\' && !escaped)
escaped = ISC_TRUE;
else

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: result.c,v 1.52 2000/12/27 00:11:24 bwelling Exp $ */
/* $Id: result.c,v 1.53 2001/01/05 01:02:23 bwelling Exp $ */
#include <config.h>
@@ -89,7 +89,8 @@ static const char *text[ISC_R_NRESULTS] = {
"address family not supported", /* 48 */
"bad hex encoding", /* 49 */
"too many open files", /* 50 */
"not blocking" /* 51 */
"not blocking", /* 51 */
"unbalanced quotes" /* 52 */
};
#define ISC_RESULT_RESULTSET 2