Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 658 of 807  Not logged in ELOG logo
icon4.gif   HTML 4.1 transitional validation fails, posted by Emiliano Gabrielli on Mon Feb 7 18:55:02 2005 
as this url shows http://www.htmlhelp.com/tools/validator/problems.html#amp it should be used an HTML entity instead of the ampersand sign.
    icon2.gif   Re: HTML 4.1 transitional validation fails, posted by Stefan Ritt on Mon Feb 7 20:13:28 2005 
> as this url shows http://www.htmlhelp.com/tools/validator/problems.html#amp

> it should be used an HTML entity instead of the ampersand sign.<p> Can you please be a bit more specific? In which URL should the ampersand be replaced?
    icon4.gif   Re: HTML 4.1 transitional validation fails, posted by Emiliano Gabrielli on Tue Feb 8 13:11:30 2005 
> as this url shows http://www.htmlhelp.com/tools/validator/problems.html#amp

> it should be used an HTML entity instead of the ampersand sign.<p> another problem with validation: required attribute "ALT" not specified in every <img> tag used in the elog (icons) here is an example of the validator results: http://validator.w3.org/check?uri=http%3A%2F%2Fmidas.psi.ch%2Felogs%2FLinux+Demo%2F&charset=iso-8859-1+%28Western+Europe%29&verbose=1
icon3.gif   [patch]: fixed wrong extention check, posted by Emiliano Gabrielli on Tue Feb 8 17:40:54 2005 
current version uses strstr() to check if the file has the expected ascii
text extension ... this is buggy becouse this way a file named
".txt_hidden_file" or "foo.config.dat" are both seen as .txt files.

the following patch fixes the problem, plz apply to cvs:



#######################################################################
--- elogd_orig.c        2005-02-03 16:46:10.000000000 +0100
+++ elogd_extchk_fix.c  2005-02-08 17:32:21.000000000 +0100
@@ -1160,6 +1160,28 @@

 #define my_toupper(_c)    ( ((_c)>='a' && (_c)<='z') ? ((_c)-'a'+'A') : (_c) )

+static BOOL chkext(const char *str, const char *ext)
+{
+   int extl, strl;
+   char c1, c2;
+
+   if (ext == NULL || str == NULL)
+      return FALSE;
+
+   extl = strlen(ext);
+   strl = strlen(str);
+   if (extl >= strl)
+      return FALSE;
+   str = str+strl-extl;
+   while (*str) {
+      c1 = *str++;
+      c2 = *ext++;
+      if (my_toupper(c1) != my_toupper(c2))
+         return FALSE;
+   }
+   return TRUE;
+}
+
 BOOL strieq(const char *str1, const char *str2)
 {
    char c1, c2;
@@ -1168,6 +1190,8 @@
       return TRUE;
    if (str1 == NULL || str2 == NULL)
       return FALSE;
+   if (strlen(str1)!=strlen(str2))
+      return FALSE;

    while (*str1) {
       c1 = *str1++;
@@ -13698,8 +13722,8 @@
                       ("<tr><td colspan=%d class=\"attachment\">%s %d: <a
href=\"%s\">%s</a>\n",
                        colspan, loc("Attachment"), index + 1, ref,
attachment[index] + 14);

-                  if ((strstr(str, ".TXT") || strstr(str, ".ASC") ||
strstr(str, ".CFG")
-                       || strstr(str, ".CONF")
+                  if ((chkext(str, ".TXT") || chkext(str, ".ASC") ||
chkext(str, ".CFG")
+                       || chkext(str, ".CONF")
                        || strchr(str, '.') == NULL) && show_attachments) {
                      /* display attachment */
                      rsprintf("</td></tr><tr><td colspan=%d
class=\"messagelist\"><pre>", colspan);
@@ -14779,7 +14803,7 @@
    regex_t re_buf[MAX_N_ATTR + 1];
    regmatch_t pmatch[10];

-   /* redirect if enpty parameters */
+   /* redirect if empty parameters */
    if (strstr(_cmdline, "=&")) {
       while ((pt1 = strstr(_cmdline, "=&")) != NULL) {
          pt2 = pt1;
#######################################################################
    icon2.gif   Re: HTML 4.1 transitional validation fails, posted by Stefan Ritt on Sat Feb 12 17:40:55 2005 
I added ths missing tags. The validator at least does not complain any more.
    icon2.gif   Re: [patch]: fixed wrong extention check, posted by Stefan Ritt on Sat Feb 12 17:45:39 2005 
> current version uses strstr() to check if the file has the expected ascii
> text extension ... this is buggy becouse this way a file named
> ".txt_hidden_file" or "foo.config.dat" are both seen as .txt files.

I added your routine chkext() to the code, but actually use it differently. I
display now ASCII files not by their extension, but the code checks for each file
to contain non-printable characters. If it contains all printable letters, and does
not have the extension PDF, PS or EPS, it's shown inline.
    icon7.gif   Re: [patch]: fixed wrong extention check, posted by Emiliano Gabrielli on Wed Feb 16 08:48:52 2005 
> > current version uses strstr() to check if the file has the expected ascii 
> > text extension ... this is buggy becouse this way a file named 
> > ".txt_hidden_file" or "foo.config.dat" are both seen as .txt files. 
>  
> I added your routine chkext() to the code, but actually use it differently. I 
> display now ASCII files not by their extension, but the code checks for each file 
> to contain non-printable characters. If it contains all printable letters, and does 
> not have the extension PDF, PS or EPS, it's shown inline. 
 
I totally agree with you choice :-) 
icon5.gif   length of fields, posted by Paul Harrington on Wed Feb 23 13:02:59 2005 
When creating/updating entries in elog, excluding the main text field are 
there any limits on the size of the other fields?

many thanks

Paul
ELOG V3.1.5-3fb85fa6