Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 763 of 796  Not logged in ELOG logo
ID Date Icon Author Author Email Categorydown OS ELOG Version Subject
  691   Wed Sep 8 13:46:56 2004 Warning Stefan Rittstefan.ritt@psi.chBug fixLinux2.5.4Re: text display of ascii files not a good idea
> [...]
> > Probably it is fine to display only files ending in '.txt' per default.
> > In addition a file that has more than say 1000 lines should probably 
> > also not be displayed (as default, optional OK).  
> 
> No, '.txt' would definitely not be enough for me. I'm using elog to log all
> administration of our network. In many cases, I simply attach a configuration
> file. All those files are plain ASCII and none of them end in '.txt' - and I
> would most definitely like them to be displayed inline like they are now. In
> fact, this change was the main reason for me to upgrade to 2.5.4
> 
> Maybe a configuration option or a "display attachment" button would be the
> best solution, then?
> 
> Cheerio,
> 
> Thomas

So to make everybody happy, it would probably be enough not to display inline any
*.ps file, is that right? Is there any other ASCII format, which should not be
displayed? PDF is binary, so it won't be displayed. What about long C files? Most
people want to see them. In the recent version there is the "Hide attachment"
link which can be clicked to not display an attachment inline. Mabe there should
be a "Hide default = 0|1" config option...
  698   Wed Sep 8 23:35:01 2004 Warning Heiko Scheith.scheit@mpi-hd.mpg.deBug fixLinux2.5.4Re: text display of ascii files not a good idea
> > [...]
> > > Probably it is fine to display only files ending in '.txt' per default.
> > > In addition a file that has more than say 1000 lines should probably 
> > > also not be displayed (as default, optional OK).  
> > 
> > No, '.txt' would definitely not be enough for me. I'm using elog to log all
> > administration of our network. In many cases, I simply attach a configuration
> > file. All those files are plain ASCII and none of them end in '.txt' - and I
> > would most definitely like them to be displayed inline like they are now. In
> > fact, this change was the main reason for me to upgrade to 2.5.4
> > 
> > Maybe a configuration option or a "display attachment" button would be the
> > best solution, then?
> > 
> > Cheerio,
> > 
> > Thomas
> 
> So to make everybody happy, it would probably be enough not to display inline any
> *.ps file, is that right? 

I think there should be size limit.  Imagine a multi MB text file (whatever it is;
elogd.c is already more than 1/2 MB and is likely to increase due to your
excellent support).  A client on an ISDN line would have to wait
several minutes and during this time elogd is busy and no other client can connect
(correct?).  Of course, if somebody really wants to see this file then there is
nothing to be done, but likely someone is flipping throught the messages using
to arrows on top to find the right entry....
So a configurable size limit seems appropriate, from which on 
only 'Display attachment' is displayed.  And/Or, for files
exceeding this limit, the first N (new config option) lines could be displayed.

But this should only influence ASCII files.  E.g. the behaviour for jpeg files
should not change, which is controlled by 'Hide default'.  Maybe a 'Display/Hide
defaut extension' option, where the extensions are listed that are to be displayed
is another idea, in addition to a 'Max Display ASCII inline size' option,
which can be set to zero to disable it altogether.

In any case, whatever you think is best.

Cheers, Heiko

> Is there any other ASCII format, which should not be
> displayed? PDF is binary, so it won't be displayed. What about long C files? Most
> people want to see them. In the recent version there is the "Hide attachment"
> link which can be clicked to not display an attachment inline. Mabe there should
> be a "Hide default = 0|1" config option...
  702   Wed Sep 15 04:08:46 2004 Reply Stefan Rittstefan.ritt@psi.chBug fixLinux2.5.4Re: text display of ascii files not a good idea
> So a configurable size limit seems appropriate, from which on 
> only 'Display attachment' is displayed.  And/Or, for files
> exceeding this limit, the first N (new config option) lines could be displayed.

Ok, I changed elogd such that only the first 1000 lines of inline attachments are
displayed, with a note of how many lines are truncated. By clicking on the attachment
name, one can still download the complete attachment. I guess the number of lines do
not have to be configurable, but if someone is not happy with the 1000 lines that could
be added.
  807   Wed Nov 24 00:44:09 2004 Warning Rich Persauddev2id at yahoo dot comBug fixLinux2.5.4-6Konqueror and Calendar widget
Date selection from the calendar widget does not work in Konqueror.  

Clicking on a date results in year being populated, but month and day are 
blank.
  815   Wed Nov 24 14:19:01 2004 Warning Stefan Rittstefan.ritt@psi.chBug fixLinux2.5.4-6Re: Konqueror and Calendar widget
> Date selection from the calendar widget does not work in Konqueror.  
> 
> Clicking on a date results in year being populated, but month and day are 
> blank.

I use following Javascript to populate the date:

function submit_day(day)
{
  opener.document.form1.d3.value = "24";
  opener.document.form1.m3.value = "11";
  opener.document.form1.y3.value = "2004";
  window.close();
}

which workes everywhere except in Konqueror. If you tell me how to convince
Konqueror to accept this, I'm happy to put it into the elog code.
  924   Tue Feb 8 15:41:55 2005 Agree Emiliano GabrielliAlberT@SuperAlberT.itBug fixLinux2.5.6Re: erroneus encoding
the following patch corrects the problem, plz apply :


--- elogd.c     2005-02-03 16:46:10.000000000 +0100
+++ elogd_albert.c      2005-02-08 15:40:36.000000000 +0100
@@ -6178,7 +6178,7 @@
    if (getcfg("global", "charset", str, sizeof(str)))
       rsprintf("Content-Type: text/html;charset=%s\r\n", str);
    else
-      rsprintf("Content-Type: text/html;charset=%S\r\n", DEFAULT_HTTP_CHARSET);
+      rsprintf("Content-Type: text/html;charset=%s\r\n", DEFAULT_HTTP_CHARSET);

    if (use_keepalive) {
       rsprintf("Connection: Keep-Alive\r\n");
@@ -11267,7 +11267,7 @@
    rsprintf("Server: ELOG HTTP %s\r\n", VERSION);
    rsprintf("Accept-Ranges: bytes\r\n");
    rsprintf("Connection: close\r\n");
-   rsprintf("Content-Type: text/plain;charset=%S\r\n", DEFAULT_HTTP_CHARSET);
+   rsprintf("Content-Type: text/plain;charset=%s\r\n", DEFAULT_HTTP_CHARSET);
    rsprintf("Pragma: no-cache\r\n");
    rsprintf("Expires: Fri, 01 Jan 1983 00:00:00 GMT\r\n\r\n");
  925   Tue Feb 8 17:40:54 2005 Idea Emiliano GabrielliAlberT@SuperAlberT.itBug fixAll2.5.6 cvs[patch]: fixed wrong extention check
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;
#######################################################################
  934   Sat Feb 12 17:45:39 2005 Reply Stefan Rittstefan.ritt@psi.chBug fixAll2.5.6 cvsRe: [patch]: fixed wrong extention check
> 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.
ELOG V3.1.5-2eba886