*/
#include <h/mf.h>
-#include <ctype.h>
-#include <stdio.h>
#include <h/utils.h>
/*
static int domain (char *);
static int route (char *);
static int my_lex (char *);
+static int contains8bit (const char *);
int
break;
}
+ /*
+ * Reject the address if key fields contain 8bit characters
+ */
+
+ if (contains8bit(mbox) || contains8bit(host) || contains8bit(path) ||
+ contains8bit(grp)) {
+ strcpy(err, "Address contains 8-bit characters");
+ }
+
if (err[0])
for (;;) {
switch (last_lex) {
}
+/*
+ * Return true if the string contains an 8-bit character
+ */
+
+static int
+contains8bit(const char *p)
+{
+ if (! p)
+ return 0;
+
+ for (; *p; p++) {
+ if (! isascii((unsigned char) *p))
+ return 1;
+ }
+
+ return 0;
+}
+
+
char *
legal_person (const char *p)
{