Release 2.8.1-1
SVN revision: 2350
This commit is contained in:
@@ -1,3 +1,22 @@
|
||||
Version 2.8.1, released December 23th 2010
|
||||
==========================================
|
||||
|
||||
- Fixed bug with regexec, thanks to Christian Richter
|
||||
- Fixed bug with $attachments in shell command
|
||||
- Fixed problem with hitting "submit" twice
|
||||
- Fixed submission_locked in <textarea>
|
||||
- Fixed bug with init script
|
||||
- Prevent form submission via <Enter> key, put focus on first input field
|
||||
- Implemented 'Thumbnail options'
|
||||
- Fixed crash with '%' in attribute and 'Preset on reply <attr> = Re: $sttr'
|
||||
- Added MIME-Version: 1.0
|
||||
- Fixed bug with name of textarea
|
||||
- Implemented 'List after submit'
|
||||
- Implemented 'Custom xxx form'
|
||||
- Add logbook dir to custom form
|
||||
- Implemented custom form
|
||||
- Fixed password conversion wiht several top groups
|
||||
|
||||
Version 2.8.0, released August 2nd 2010
|
||||
=======================================
|
||||
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@
|
||||
[<a class="nav" href="#links">Links</a>] * </div>
|
||||
<P class="Sub">Home of the <i>Electronic Logbook</i> package by <a href="mailto:Stefan.Ritt@psi.ch">
|
||||
Stefan Ritt</a></P>
|
||||
<div class="version">Current version is : 2.8.0</div>
|
||||
<div class="version">Current version is : 2.8.1</div>
|
||||
<center>
|
||||
<a href="http://www.softpedia.com/progClean/ELOG-Clean-30897.html"><img border="0" src="http://www.softpedia.com/images/spyward/softpedia_free_award_f.gif" alt="certificate" title="certificate" /></a>
|
||||
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@
|
||||
[<a class="nav" href="#links">Links</a>] * </div>
|
||||
<P class="Sub">Home of the <i>Electronic Logbook</i> package by <a href="mailto:Stefan.Ritt@psi.ch">
|
||||
Stefan Ritt</a></P>
|
||||
<div class="version">Current version is : 2.8.0</div>
|
||||
<div class="version">Current version is : 2.8.1</div>
|
||||
<center>
|
||||
<a href="http://www.softpedia.com/progClean/ELOG-Clean-30897.html"><img border="0" src="http://www.softpedia.com/images/spyward/softpedia_free_award_f.gif" alt="certificate" title="certificate" /></a>
|
||||
</center>
|
||||
|
||||
@@ -474,3 +474,4 @@ Only user <b>%s</b> can delete this entry =
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -474,3 +474,4 @@ Only user <b>%s</b> can delete this entry =
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -471,3 +471,4 @@ Only user <b>%s</b> can delete this entry =
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -474,3 +474,4 @@ File system full, ELOG cannot continue to work = Filsystemet er l
|
||||
#
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -473,3 +473,4 @@ Only user <b>%s</b> can delete this entry = Alleen gebruiker <b>%s</b> kan dit b
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -471,3 +471,4 @@ File system full, ELOG cannot continue to work = Le syst
|
||||
#
|
||||
3 Days = 3 jours
|
||||
Last 3 Days = Les 3 derniers jours
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -466,3 +466,5 @@ Only user <b>%s</b> can delete this entry = Nur der Benutzer <b>%s</b> kann dies
|
||||
File system full, ELOG cannot continue to work = Dateisystem voll, ELOG kann nicht weiterarbeiten
|
||||
3 Days = 3 Tage
|
||||
Last 3 Days = Letzte 3 Tage
|
||||
Really submit this entry? = Diesen Entrag wirklich abschicken?
|
||||
|
||||
|
||||
@@ -469,3 +469,4 @@ Only user <b>%s</b> can delete this entry =
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -470,3 +470,4 @@ Only user <b>%s</b> can delete this entry =
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -475,3 +475,4 @@ Only user <b>%s</b> can delete this entry =
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -476,3 +476,4 @@ Only user <b>%s</b> can delete this entry = S
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -473,3 +473,4 @@ File system full, ELOG cannot continue to work = Filsystemet fullt, ELOG kan int
|
||||
#
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -473,3 +473,4 @@ Only user <b>%s</b> can delete this entry =
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -472,3 +472,4 @@ Only user <b>%s</b> can delete this entry =
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
@@ -472,3 +472,4 @@ Only user <b>%s</b> can delete this entry =
|
||||
File system full, ELOG cannot continue to work =
|
||||
3 Days =
|
||||
Last 3 Days =
|
||||
Really submit this entry? =
|
||||
|
||||
+6
-6
@@ -29,7 +29,7 @@ typedef unsigned int uint32_t;
|
||||
#define MAX(x,y) ((x)>(y)?(x):(y))
|
||||
#define MIN(x,y) ((x)<(y)?(x):(y))
|
||||
#endif
|
||||
|
||||
|
||||
/* Structure to save state of computation between the single steps. */
|
||||
struct sha256_ctx {
|
||||
uint32_t H[8];
|
||||
@@ -41,10 +41,10 @@ struct sha256_ctx {
|
||||
|
||||
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
# define SWAP(n) \
|
||||
#define SWAP(n) \
|
||||
(((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
|
||||
#else
|
||||
# define SWAP(n) (n)
|
||||
#define SWAP(n) (n)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -252,9 +252,9 @@ static void sha256_process_bytes(const void *buffer, size_t len, struct sha256_c
|
||||
/* To check alignment gcc has an appropriate operator. Other
|
||||
compilers don't. */
|
||||
#if __GNUC__ >= 2
|
||||
# define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint32_t) != 0)
|
||||
#define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint32_t) != 0)
|
||||
#else
|
||||
# define UNALIGNED_P(p) (((uintptr_t) p) % sizeof (uint32_t) != 0)
|
||||
#define UNALIGNED_P(p) (((uintptr_t) p) % sizeof (uint32_t) != 0)
|
||||
#endif
|
||||
if (UNALIGNED_P(buffer))
|
||||
while (len > 64) {
|
||||
@@ -422,7 +422,7 @@ static char *sha256_crypt_r(const char *key, const char *salt, char *buffer, int
|
||||
for (cnt = key_len; cnt >= 32; cnt -= 32) {
|
||||
memcpy(cp, temp_result, 32);
|
||||
cp += 32;
|
||||
}
|
||||
}
|
||||
memcpy(cp, temp_result, cnt);
|
||||
|
||||
/* Start computation of S byte sequence. */
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@
|
||||
|
||||
\********************************************************************/
|
||||
|
||||
#define VERSION "2.8.0"
|
||||
#define VERSION "2.8.1"
|
||||
char svn_revision[] = "$Id$";
|
||||
|
||||
/* ELOG identification */
|
||||
@@ -348,7 +348,7 @@ int ssl_connect(int sock, SSL ** ssl_con)
|
||||
SSL_library_init();
|
||||
SSL_load_error_strings();
|
||||
|
||||
meth = (SSL_METHOD *)SSLv23_method();
|
||||
meth = (SSL_METHOD *) SSLv23_method();
|
||||
ctx = SSL_CTX_new(meth);
|
||||
|
||||
*ssl_con = SSL_new(ctx);
|
||||
|
||||
+26
-19
@@ -9,7 +9,7 @@
|
||||
\********************************************************************/
|
||||
|
||||
/* Version of ELOG */
|
||||
#define VERSION "2.8.0"
|
||||
#define VERSION "2.8.1"
|
||||
char svn_revision[] = "$Id$";
|
||||
|
||||
/* ELOG identification */
|
||||
@@ -741,7 +741,7 @@ char *xstrdup(const char *string)
|
||||
|
||||
/* Have vasprintf? (seems that only libc6 based Linux has this) */
|
||||
#ifdef __linux__
|
||||
# define HAVE_VASPRintF
|
||||
#define HAVE_VASPRintF
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_VASPRintF
|
||||
@@ -847,11 +847,11 @@ int xvasprintf(char **ptr, const char *format, va_list ap)
|
||||
#ifdef va_copy
|
||||
va_copy(save, ap);
|
||||
#else
|
||||
# ifdef __va_copy
|
||||
#ifdef __va_copy
|
||||
__va_copy(save, ap);
|
||||
# else
|
||||
#else
|
||||
save = ap;
|
||||
# endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
n = vasprintf(ptr, format, save);
|
||||
@@ -2149,14 +2149,16 @@ void compose_email_header(LOGBOOK * lbs, char *subject, char *from, char *to, ch
|
||||
|
||||
sprintf(multipart_boundary, "------------%04X%04X%04X", rand(), rand(), rand());
|
||||
snprintf(mail_text + strlen(mail_text), size - strlen(mail_text) - 1,
|
||||
"MIME-Version: 1.0\r\nContent-Type: multipart/alternative;\r\n boundary=\"%s\"\r\n\r\n", multipart_boundary);
|
||||
"MIME-Version: 1.0\r\nContent-Type: multipart/alternative;\r\n boundary=\"%s\"\r\n\r\n",
|
||||
multipart_boundary);
|
||||
|
||||
strlcat(mail_text, "This is a multi-part message in MIME format.\r\n", size);
|
||||
} else {
|
||||
if (n_attachments) {
|
||||
sprintf(multipart_boundary, "------------%04X%04X%04X", rand(), rand(), rand());
|
||||
snprintf(mail_text + strlen(mail_text), size - strlen(mail_text) - 1,
|
||||
"MIME-Version: 1.0\r\nContent-Type: multipart/mixed;\r\n boundary=\"%s\"\r\n\r\n", multipart_boundary);
|
||||
"MIME-Version: 1.0\r\nContent-Type: multipart/mixed;\r\n boundary=\"%s\"\r\n\r\n",
|
||||
multipart_boundary);
|
||||
|
||||
strlcat(mail_text, "This is a multi-part message in MIME format.\r\n", size);
|
||||
} else {
|
||||
@@ -8619,7 +8621,8 @@ BOOL change_pwd(LOGBOOK * lbs, char *user, char *pwd)
|
||||
|
||||
void show_change_pwd_page(LOGBOOK * lbs)
|
||||
{
|
||||
char str[256], config[256], old_pwd[256], new_pwd[256], new_pwd2[256], act_pwd[256], user[256], full_user[256];
|
||||
char str[256], config[256], old_pwd[256], new_pwd[256], new_pwd2[256], act_pwd[256], user[256],
|
||||
full_user[256];
|
||||
int wrong_pwd;
|
||||
|
||||
old_pwd[0] = new_pwd[0] = new_pwd2[0] = 0;
|
||||
@@ -9202,7 +9205,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
||||
|
||||
/* check for custom form for new entries */
|
||||
if (!bedit && getcfg(lbs->name, "Custom new form", str, sizeof(str))) {
|
||||
/* check if file starts with an absolute directory */
|
||||
/* check if file starts with an absolute directory */
|
||||
if (str[0] == DIR_SEPARATOR || str[1] == ':')
|
||||
strcpy(file_name, str);
|
||||
else {
|
||||
@@ -9215,7 +9218,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
||||
|
||||
/* check for custom form for editing an entry */
|
||||
if (bedit && getcfg(lbs->name, "Custom edit form", str, sizeof(str))) {
|
||||
/* check if file starts with an absolute directory */
|
||||
/* check if file starts with an absolute directory */
|
||||
if (str[0] == DIR_SEPARATOR || str[1] == ':')
|
||||
strcpy(file_name, str);
|
||||
else {
|
||||
@@ -21255,7 +21258,8 @@ void format_email_html(LOGBOOK * lbs, int message_id, char attrib[MAX_N_ATTR][NA
|
||||
if (attachments_present) {
|
||||
sprintf(multipart_boundary_related, "------------%04X%04X%04X", rand(), rand(), rand());
|
||||
snprintf(mail_text + strlen(mail_text), size - strlen(mail_text) - 1,
|
||||
"MIME-Version: 1.0\r\nContent-Type: multipart/related;\r\n boundary=\"%s\"\r\n\r\n", multipart_boundary_related);
|
||||
"MIME-Version: 1.0\r\nContent-Type: multipart/related;\r\n boundary=\"%s\"\r\n\r\n",
|
||||
multipart_boundary_related);
|
||||
strlcat(mail_text, "--", size);
|
||||
strlcat(mail_text, multipart_boundary_related, size);
|
||||
strlcat(mail_text, "\r\n", size);
|
||||
@@ -21446,7 +21450,8 @@ void format_email_html2(LOGBOOK * lbs, int message_id, char att_file[MAX_ATTACHM
|
||||
if (attachments_present) {
|
||||
sprintf(multipart_boundary_related, "------------%04X%04X%04X", rand(), rand(), rand());
|
||||
snprintf(mail_text + strlen(mail_text), size - strlen(mail_text) - 1,
|
||||
"MIME-Version: 1.0\r\nContent-Type: multipart/related;\r\n boundary=\"%s\"\r\n\r\n", multipart_boundary_related);
|
||||
"MIME-Version: 1.0\r\nContent-Type: multipart/related;\r\n boundary=\"%s\"\r\n\r\n",
|
||||
multipart_boundary_related);
|
||||
strlcat(mail_text, "--", size);
|
||||
strlcat(mail_text, multipart_boundary_related, size);
|
||||
strlcat(mail_text, "\r\n", size);
|
||||
@@ -23298,7 +23303,7 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command)
|
||||
|
||||
/* check for custom form to display entry */
|
||||
if (getcfg(lbs->name, "Custom display form", str, sizeof(str))) {
|
||||
/* check if file starts with an absolute directory */
|
||||
/* check if file starts with an absolute directory */
|
||||
if (str[0] == DIR_SEPARATOR || str[1] == ':')
|
||||
strcpy(file_name, str);
|
||||
else {
|
||||
@@ -25271,10 +25276,10 @@ void show_logbook_node(LBLIST plb, LBLIST pparent, int level, int btop)
|
||||
if (getcfg(lb_list[index].name, "Read password", str, sizeof(str)) || (getcfg(lb_list[index].name,
|
||||
"Password file", str,
|
||||
sizeof(str))
|
||||
&& !getcfg(lb_list[index].
|
||||
name,
|
||||
"Guest menu commands",
|
||||
str, sizeof(str))))
|
||||
&&
|
||||
!getcfg(lb_list[index].name,
|
||||
"Guest menu commands",
|
||||
str, sizeof(str))))
|
||||
rsprintf(" <img src=\"lock.png\" alt=\"%s\" title=\"%s\">",
|
||||
loc("This logbook requires authentication"),
|
||||
loc("This logbook requires authentication"));
|
||||
@@ -27193,7 +27198,9 @@ int process_http_request(const char *request, int i_conn)
|
||||
struct tm *ts;
|
||||
|
||||
const char *cookie_list[] =
|
||||
{ "upwd", "unm", "ufnm", "elmode", "urem", "wpwd", "apwd", "uname", "upassword", "elattach", "hsm", NULL };
|
||||
{ "upwd", "unm", "ufnm", "elmode", "urem", "wpwd", "apwd", "uname", "upassword", "elattach", "hsm",
|
||||
NULL
|
||||
};
|
||||
|
||||
if (!strchr(request, '\r'))
|
||||
return 0;
|
||||
@@ -28007,7 +28014,7 @@ SSL_CTX *init_ssl(void)
|
||||
SSL_library_init();
|
||||
SSL_load_error_strings();
|
||||
|
||||
meth = (SSL_METHOD *)SSLv23_method();
|
||||
meth = (SSL_METHOD *) SSLv23_method();
|
||||
ctx = SSL_CTX_new(meth);
|
||||
|
||||
if (getcfg("global", "SSL Passphrase", pwd, sizeof(pwd))) {
|
||||
|
||||
+3
-3
@@ -4553,7 +4553,7 @@ int cflags;
|
||||
} else
|
||||
preg->newline_anchor = 0;
|
||||
|
||||
preg->no_sub = !!(cflags & REG_NOSUB);
|
||||
preg->no_sub = ! !(cflags & REG_NOSUB);
|
||||
|
||||
/* POSIX says a null character in the pattern terminates it, so we
|
||||
can use strlen here in compiling the pattern. */
|
||||
@@ -4597,8 +4597,8 @@ int eflags;
|
||||
|
||||
private_preg = *preg;
|
||||
|
||||
private_preg.not_bol = !!(eflags & REG_NOTBOL);
|
||||
private_preg.not_eol = !!(eflags & REG_NOTEOL);
|
||||
private_preg.not_bol = ! !(eflags & REG_NOTBOL);
|
||||
private_preg.not_eol = ! !(eflags & REG_NOTEOL);
|
||||
|
||||
/* The user has told us exactly how many registers to return
|
||||
information about, via `nmatch'. We have to pass that on to the
|
||||
|
||||
Reference in New Issue
Block a user