diff --git a/checklist.txt b/checklist.txt index 09aab5e2..e234402c 100755 --- a/checklist.txt +++ b/checklist.txt @@ -11,8 +11,8 @@ On PC4534: - Do a "make indent" - Do a "make loc" - Translate new strings in eloglang.german -- c:\elog> cvs commit -m "Version x.x.x" -- build xxx +- c:\elog> cvs commit -m "Version x.x.x-1" +- build xxx-1 On PC5082: diff --git a/doc/ChangeLog b/doc/ChangeLog index 559041c0..debdeee7 100755 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,32 @@ +Version 2.5.6, released Januar 25th, 2005 +========================================= + +- Implemented 'Mirror exclude' +- Switched from GIF to PNG +- Remove any CR/LF from attributes submitted from browser +- Implemented OR'ing of MOptions values in find page +- Display thread in single entry page if present +- Implemented 'show attributes' +- Made extendable attributes work with MOptions +- Added message_id and date to CSV export +- Made extendable attributes work with conditional attributes +- Logbook hierarchy can now be deeper than two levels +- Cancel button on 'create new logbook' now also works without password files +- Fixed non-functioning Cancel button in 'create new logbook' +- Changed date format to RFC-822 in RSS feed +- Fixed endless loop with handcrafted POST header +- Changed locale to 'C' for email header date +- Use hostname from -n parameter for redirection if given +- Fixed attribute substitutions in 'use email from' +- Fixed problem with invalid RFC2822 date in email header for different locale +- Implemented 'sort attribute' +- Look for parameters first under conditions, then unconditional if not found +- Fixed bug in XML export +- Implemented USERLIST as attribute type +- Increased NAME_LENGTH to 1500, requires a stack size of 4MB +- Changed charset for RSS feeds +- Fixed wrong link if last entry in logbook has been moved + Version 2.5.5, released November 3rd, 2004 ========================================== diff --git a/doc/index.html b/doc/index.html index 79ac15be..1f405f46 100755 --- a/doc/index.html +++ b/doc/index.html @@ -25,7 +25,7 @@  [Links]  * 

Home of the Electronic Logbook package by Stefan Ritt

-
Current version is : 2.5.5
+
Current version is : 2.5.6

  What is ELOG ?  
diff --git a/eloglang.brazilian b/eloglang.brazilian index cdfd433d..981840dd 100755 --- a/eloglang.brazilian +++ b/eloglang.brazilian @@ -339,7 +339,6 @@ Hide all = Show all = This logbook requires authentication = Attachment file "%s" empty or not found = -Please increase "Max content length" in config file = Text fields may contain regular expressions = Case sensitive = List = diff --git a/eloglang.bulgarian b/eloglang.bulgarian index 9ff2d1fb..dd4fdd72 100755 --- a/eloglang.bulgarian +++ b/eloglang.bulgarian @@ -340,8 +340,6 @@ Previous Year = Next Year = Ñëåäâàùà ãîäèíà Error: Command "%s" not allowed = Ãðåøêà: Êîìàíäàòà "%s" íå å ïîçâîëåíà Attachment file "%s" empty or not found = Ïðèêà÷åíèÿò ôàéë "%s" å ïðàçåí èëè íå å íàìåðåí -Please increase "Max content length" in config file = Ìîëÿ, óâåëè÷åòå "Max content length" âúâ ôàéëà ñ íàñòðîéêè - # #---- please translate following items and then remove this comment ----# # diff --git a/eloglang.danish b/eloglang.danish index 696b0970..a219b7c5 100755 --- a/eloglang.danish +++ b/eloglang.danish @@ -339,7 +339,6 @@ Hide all = Show all = This logbook requires authentication = Attachment file "%s" empty or not found = -Please increase "Max content length" in config file = Text fields may contain regular expressions = Case sensitive = List = diff --git a/eloglang.dutch b/eloglang.dutch index 436ec3e6..aebf0c87 100755 --- a/eloglang.dutch +++ b/eloglang.dutch @@ -337,7 +337,6 @@ Hide all = Alles Verbergen Show all = Alles laten zien This logbook requires authentication = Dit logboek vereist authenticatie Attachment file "%s" empty or not found = Bijlage bestand "%s" leeg of niet gevonden -Please increase "Max content length" in config file = Verhoog astublieft de "Max content length" (maximale lengte van inhoud) in het configuratie bestand Text fields may contain regular expressions = Tekstvelden kunnen reguliere uitdrukkingen bevatten Case sensitive = Hoofdlettergevoelig From = Van diff --git a/eloglang.french b/eloglang.french index 78b78d99..daacd224 100755 --- a/eloglang.french +++ b/eloglang.french @@ -334,7 +334,6 @@ Hide all = Cacher tout Show all = Montrer tout This logbook requires authentication = Ce registre nécessite une authentification Attachment file "%s" empty or not found = Fichier joint "%s" vide ou non trouvé -Please increase "Max content length" in config file = Veuiller augmenter "Max content length" dans le fichier de configuration Text fields may contain regular expressions = Les champs "texte" peuvent contenir des expressions régulières Case sensitive = Tient compte de la casse List = Liste diff --git a/eloglang.german b/eloglang.german index 9218fedb..5eb691cc 100755 --- a/eloglang.german +++ b/eloglang.german @@ -334,7 +334,6 @@ Hide all = Alle verstecken Show all = Alle anzeigen This logbook requires authentication = Dieses Logbuch erfordert Authentifizierung Attachment file "%s" empty or not found = Datei "%s" ist leer oder nicht vorhanden -Please increase "Max content length" in config file = Bitte "Max content length" in Konfigurationsdatei erhöhen Text fields may contain regular expressions = Texteingabefelder können Reguläre Ausdrücke enthalten Case sensitive = Großschrteibung beachten List = Liste diff --git a/eloglang.italian b/eloglang.italian index bd021632..a066e506 100755 --- a/eloglang.italian +++ b/eloglang.italian @@ -338,7 +338,6 @@ Hide all = Show all = This logbook requires authentication = Attachment file "%s" empty or not found = -Please increase "Max content length" in config file = Text fields may contain regular expressions = Case sensitive = List = diff --git a/eloglang.japanese b/eloglang.japanese index c3fb2d46..ec84f9a2 100755 --- a/eloglang.japanese +++ b/eloglang.japanese @@ -337,7 +337,6 @@ Hide all = Show all = This logbook requires authentication = Attachment file "%s" empty or not found = -Please increase "Max content length" in config file = Text fields may contain regular expressions = Case sensitive = List = diff --git a/eloglang.spanish b/eloglang.spanish index 41e586ce..874f2d15 100755 --- a/eloglang.spanish +++ b/eloglang.spanish @@ -331,8 +331,6 @@ Hide all = Esconder todo Show all = Mostrar todo This logbook requires authentication = Este libro de anotaciones requiere autenticación Attachment file "%s" empty or not found = Archivo adjunto "%s" está vacio o no se encontró -Please increase "Max content length" in config file = Por favor aumente "Max content length" en el archivo de configuración - # #---- please translate following items and then remove this comment ----# # diff --git a/src/elogd.c b/src/elogd.c index 376dd355..b9f41620 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -6,6 +6,9 @@ Contents: Web server program for Electronic Logbook ELOG $Log$ + Revision 1.546 2005/01/25 21:06:56 ritt + Version 2.5.6-1 + Revision 1.545 2005/01/25 20:49:18 ritt Implemented 'Mirror exclude' @@ -746,7 +749,7 @@ \********************************************************************/ /* Version of ELOG */ -#define VERSION "2.5.5-4" +#define VERSION "2.5.6-1" char cvs_revision[] = "$Id$"; /* ELOG identification */ @@ -874,7 +877,7 @@ typedef int INT; #define DEFAULT_TIME_FORMAT "%c" #define DEFAULT_DATE_FORMAT "%x" - + #define DEFAULT_HTTP_CHARSET "ISO-8859-1" #define SUCCESS 1 @@ -3454,7 +3457,7 @@ void check_config() void retrieve_email_from(LOGBOOK * lbs, char *ret, char attrib[MAX_N_ATTR][NAME_LENGTH]) { char str[256]; - char slist[MAX_N_ATTR+10][NAME_LENGTH], svalue[MAX_N_ATTR+10][NAME_LENGTH]; + char slist[MAX_N_ATTR + 10][NAME_LENGTH], svalue[MAX_N_ATTR + 10][NAME_LENGTH]; int i; if (!getcfg(lbs->name, "Use Email from", str, sizeof(str))) { @@ -4207,7 +4210,7 @@ INT el_retrieve(LOGBOOK * lbs, close(fh); if (strncmp(message, "$@MID@$:", 8) != 0) { - free(message); + free(message); /* file might have been edited, rebuild index */ el_build_index(lbs, TRUE); return el_retrieve(lbs, message_id, date, attr_list, attrib, n_attr, @@ -6376,9 +6379,9 @@ LBLIST get_logbook_hierarchy(void) for (j = 0; j < root->n_members; j++) { if (i != j && root->member[j] != NULL && - (pgrp = get_subgroup(root->member[j], root->member[i]->name)) != NULL) { + (pgrp = get_subgroup(root->member[j], root->member[i]->name)) != NULL) { - /* node is allocated twice, so free one...*/ + /* node is allocated twice, so free one... */ xfree(*pgrp); /* ... and reference the other */ @@ -6808,7 +6811,7 @@ void set_login_cookies(LOGBOOK * lbs, char *user, char *enc_pwd) if (getcfg(lbs->name, "Login expiration", str, sizeof(str)) || atof(str) > 0) strcpy(exp, str); else if (isparam("remember")) { - strcpy(exp, "744"); /* one month by default = 31*24 */ + strcpy(exp, "744"); /* one month by default = 31*24 */ } else exp[0] = 0; @@ -7966,7 +7969,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL rsprintf("%s:", loc("Entry time")); rsprintf("%s\n", str); rsprintf("\n", date); - + if (condition[0]) rsprintf("\n", condition); @@ -7986,17 +7989,17 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL /* generate list of attributes to show */ if (getcfg(lbs->name, "Show attributes", str, sizeof(str))) { n_disp_attr = strbreak(str, list, MAX_N_ATTR, ","); - for (i=0 ; i\n"); } else if (attr_flags[index] & AF_USERLIST) { - + rsprintf("\n", title); /* display drop-down box with list of users */ @@ -8188,7 +8191,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL /* display emtpy option */ rsprintf("
", ref); - if (attr_icon[0]) + if (attr_icon[0]) rsprintf(" ", attr_icon); else { /* if top level only, display reply icon if message has a reply */ @@ -13706,8 +13709,7 @@ void display_line(LOGBOOK * lbs, int message_id, int number, char *mode, void display_reply(LOGBOOK * lbs, int message_id, int printable, int expand, int n_line, int n_attr_disp, - char disp_attr[MAX_N_ATTR + 4][NAME_LENGTH], - BOOL show_text, int level, int highlight) + char disp_attr[MAX_N_ATTR + 4][NAME_LENGTH], BOOL show_text, int level, int highlight) { char *date, *text, *in_reply_to, *reply_to, *encoding, *locked_by, *attachment, *attrib, *p; int status, size; @@ -13744,13 +13746,13 @@ void display_reply(LOGBOOK * lbs, int message_id, int printable, display_line(lbs, message_id, 0, "threaded", expand, level, printable, n_line, FALSE, date, in_reply_to, reply_to, n_attr_disp, - disp_attr, (void *) attrib, lbs->n_attr, text, show_text, + disp_attr, (void *) attrib, lbs->n_attr, text, show_text, NULL, encoding, 0, NULL, locked_by, highlight); if (reply_to[0]) { p = reply_to; do { - display_reply(lbs, atoi(p), printable, expand, n_line, n_attr_disp, + display_reply(lbs, atoi(p), printable, expand, n_line, n_attr_disp, disp_attr, show_text, level + 1, highlight); while (*p && isdigit(*p)) @@ -14687,8 +14689,8 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf menu_str[1000], menu_item[MAX_N_LIST][NAME_LENGTH], param[NAME_LENGTH], format[80], sort_attr[MAX_N_ATTR + 4][NAME_LENGTH]; char *p, *pt, *pt1, *pt2, *slist, *svalue, *gattr, line[1024], iattr[256]; - BOOL show_attachments, threaded, csv, xml, mode_commands, expand, filtering, disp_filter, - show_text, searched, found; + BOOL show_attachments, threaded, csv, xml, mode_commands, expand, filtering, disp_filter, + show_text, searched, found; time_t ltime, ltime_start, ltime_end, now, ltime1, ltime2; struct tm tms, *ptms; MSG_LIST *msg_list; @@ -15036,8 +15038,8 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf } } } - - + + /* check if sort by attribute */ if (strieq(getparam("sort"), attr_list[i]) || strieq(getparam("rsort"), attr_list[i])) @@ -15114,7 +15116,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf /* apply filter for AF_MULTI attributes */ for (i = 0; i < lbs->n_attr; i++) { if (attr_flags[i] & AF_MULTI) { - + /* OR of any of the values */ searched = found = FALSE; for (j = 0; j < MAX_N_LIST && attr_options[i][j][0]; j++) { @@ -15145,7 +15147,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf searched = found = FALSE; for (i = 0; i < lbs->n_attr; i++) { - + if (*getparam(attr_list[i])) { /* check non-multi attributes */ @@ -15223,8 +15225,9 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf continue; } } - } /* if (filtering) */ + } + /* if (filtering) */ /* in threaded mode, find message head */ if (threaded && in_reply_to_id) { do { @@ -16067,9 +16070,9 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf void show_elog_thread(LOGBOOK * lbs, int message_id) { int i, size, status, in_reply_to_id, head_id, n_display, n_attr_disp; - char date[80], attrib[MAX_N_ATTR][NAME_LENGTH], *text, in_reply_to[80], - reply_to[MAX_REPLY_TO * 10], attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH], - encoding[80], locked_by[256], disp_attr[MAX_N_ATTR + 4][NAME_LENGTH]; + char date[80], attrib[MAX_N_ATTR][NAME_LENGTH], *text, in_reply_to[80], + reply_to[MAX_REPLY_TO * 10], attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH], + encoding[80], locked_by[256], disp_attr[MAX_N_ATTR + 4][NAME_LENGTH]; char *p; text = xmalloc(TEXT_SIZE); @@ -16077,11 +16080,11 @@ void show_elog_thread(LOGBOOK * lbs, int message_id) /* retrieve message */ size = TEXT_SIZE; status = - el_retrieve(lbs, message_id, date, attr_list, attrib, - lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by); + el_retrieve(lbs, message_id, date, attr_list, attrib, + lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by); in_reply_to_id = atoi(in_reply_to); - + /* find message head */ head_id = message_id; if (in_reply_to_id) { @@ -16109,8 +16112,8 @@ void show_elog_thread(LOGBOOK * lbs, int message_id) size = TEXT_SIZE; status = - el_retrieve(lbs, head_id, date, attr_list, attrib, - lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by); + el_retrieve(lbs, head_id, date, attr_list, attrib, + lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by); rsprintf("\n"); @@ -16606,12 +16609,12 @@ void submit_elog(LOGBOOK * lbs) /* check for extended attributs */ if (isparam("condition")) { set_condition(getparam("condition")); - + /* rescan attributes */ n_attr = scan_attributes(lbs->name); } else n_attr = lbs->n_attr; - + for (i = 0; i < n_attr; i++) { strcpy(ua, attr_list[i]); btou(ua); @@ -20120,7 +20123,7 @@ void decode_post(LOGBOOK * lbs, char *string, char *boundary, int length) while (*string == '-' || *string == '\n' || *string == '\r') string++; } else - return; /* invalid request */ + return; /* invalid request */ } while ((int) (string - pinit) < length); interprete(lbs->name, ""); @@ -20636,7 +20639,9 @@ void server_loop(void) ("Error: Content length (%d) larger than maximum content length (%d)"), content_length, _max_content_length); strcat(str, "
"); - strcat(str, loc("Please increase \"Max content length\" in [global] part of config file and restart elogd")); + strcat(str, + loc + ("Please increase \"Max content length\" in [global] part of config file and restart elogd")); keep_alive = FALSE; show_error(str); goto redir;