Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 659 of 808  Not logged in ELOG logo
New entries since:Thu Jan 1 01:00:00 1970
    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
icon1.gif   boundary problem with Type lists display, posted by Emiliano Gabrielli on Wed Feb 23 18:07:24 2005 
using:
Display mode = threaded
List display = Subject, Type, Author, Date

in the config file (omitting "ID" then) rise the bug

ie, an unneeded "," is displayed after the "supposed to be printed" ID
    icon2.gif   Re: HTML 4.1 transitional validation fails, posted by Emiliano Gabrielli on Thu Feb 24 11:23:44 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? uhmm... http://midas.psi.ch/elogs/Forum/page2?mode=threaded&expand=0&last=7 the bug is also a "documentation bug", infact similar tricks are also in FAQs (FAQ 5 for example) I tried to substitute avery occurrence of hard coded "&" with "&amp;" but it does not do the job at all ... infact the first time the HTML code is ok, but following a link let the browser to automatically decode html entities .. and everything turns wrong again ... maybe the encoding should be done in printing-to-the-browser-time ..
ELOG V3.1.5-3fb85fa6