mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-12 19:33:03 +00:00
Incresed attribute value size to 1000 Bytes
SVN revision: 398
This commit is contained in:
parent
115fbfd728
commit
05a37d9e42
201
src/elogd.c
201
src/elogd.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Web server program for Electronic Logbook ELOG
|
Contents: Web server program for Electronic Logbook ELOG
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.15 2003/02/17 15:08:53 midas
|
||||||
|
Incresed attribute value size to 1000 Bytes
|
||||||
|
|
||||||
Revision 1.14 2003/02/16 13:29:02 midas
|
Revision 1.14 2003/02/16 13:29:02 midas
|
||||||
Added option 'Reply string'
|
Added option 'Reply string'
|
||||||
|
|
||||||
@ -621,22 +624,23 @@ typedef int INT;
|
|||||||
|
|
||||||
#define TELL(fh) lseek(fh, 0, SEEK_CUR)
|
#define TELL(fh) lseek(fh, 0, SEEK_CUR)
|
||||||
|
|
||||||
#define NAME_LENGTH 256
|
#define NAME_LENGTH 500
|
||||||
#define SUCCESS 1
|
|
||||||
|
|
||||||
#define EL_SUCCESS 1
|
#define SUCCESS 1
|
||||||
#define EL_FIRST_MSG 2
|
|
||||||
#define EL_LAST_MSG 3
|
|
||||||
#define EL_NO_MSG 4
|
|
||||||
#define EL_FILE_ERROR 5
|
|
||||||
#define EL_UPGRADE 6
|
|
||||||
#define EL_EMPTY 7
|
|
||||||
#define EL_MEM_ERROR 8
|
|
||||||
|
|
||||||
#define EL_FIRST 1
|
#define EL_SUCCESS 1
|
||||||
#define EL_LAST 2
|
#define EL_FIRST_MSG 2
|
||||||
#define EL_NEXT 3
|
#define EL_LAST_MSG 3
|
||||||
#define EL_PREV 4
|
#define EL_NO_MSG 4
|
||||||
|
#define EL_FILE_ERROR 5
|
||||||
|
#define EL_UPGRADE 6
|
||||||
|
#define EL_EMPTY 7
|
||||||
|
#define EL_MEM_ERROR 8
|
||||||
|
|
||||||
|
#define EL_FIRST 1
|
||||||
|
#define EL_LAST 2
|
||||||
|
#define EL_NEXT 3
|
||||||
|
#define EL_PREV 4
|
||||||
|
|
||||||
#define WEB_BUFFER_SIZE 2000000
|
#define WEB_BUFFER_SIZE 2000000
|
||||||
|
|
||||||
@ -660,14 +664,12 @@ char theme_name[80];
|
|||||||
#define MAX_ATTACHMENTS 20
|
#define MAX_ATTACHMENTS 20
|
||||||
#define MAX_N_LIST 100
|
#define MAX_N_LIST 100
|
||||||
#define MAX_N_ATTR 50
|
#define MAX_N_ATTR 50
|
||||||
#define VALUE_SIZE 256
|
|
||||||
#define PARAM_LENGTH 256
|
|
||||||
#define CMD_SIZE 10000
|
#define CMD_SIZE 10000
|
||||||
#define TEXT_SIZE 100000
|
#define TEXT_SIZE 100000
|
||||||
#define MAX_PATH_LENGTH 256
|
#define MAX_PATH_LENGTH 256
|
||||||
|
|
||||||
char _param[MAX_PARAM][PARAM_LENGTH];
|
char _param[MAX_PARAM][NAME_LENGTH];
|
||||||
char _value[MAX_PARAM][VALUE_SIZE];
|
char _value[MAX_PARAM][NAME_LENGTH];
|
||||||
char _mtext[TEXT_SIZE];
|
char _mtext[TEXT_SIZE];
|
||||||
char _cmdline[CMD_SIZE];
|
char _cmdline[CMD_SIZE];
|
||||||
char *_attachment_buffer;
|
char *_attachment_buffer;
|
||||||
@ -901,7 +903,7 @@ void strsubst(char *string, char name[][NAME_LENGTH], char value[][NAME_LENGTH],
|
|||||||
/* subsitute "$name" with value corresponding to name */
|
/* subsitute "$name" with value corresponding to name */
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
char tmp[1000], str[256], uattr[256], *ps, *pt, *p;
|
char tmp[1000], str[NAME_LENGTH], uattr[NAME_LENGTH], *ps, *pt, *p;
|
||||||
|
|
||||||
pt = tmp;
|
pt = tmp;
|
||||||
ps = string;
|
ps = string;
|
||||||
@ -999,7 +1001,7 @@ void url_encode(char *ps, int size)
|
|||||||
Encode the given string in-place by adding %XX escapes
|
Encode the given string in-place by adding %XX escapes
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
{
|
{
|
||||||
char *pd, *p, str[256];
|
char *pd, *p, str[NAME_LENGTH];
|
||||||
|
|
||||||
pd = str;
|
pd = str;
|
||||||
p = ps;
|
p = ps;
|
||||||
@ -1144,9 +1146,9 @@ INT sendmail(char *smtp_host, char *from, char *to, char *subject, char *text, B
|
|||||||
{
|
{
|
||||||
struct sockaddr_in bind_addr;
|
struct sockaddr_in bind_addr;
|
||||||
struct hostent *phe;
|
struct hostent *phe;
|
||||||
int i, n, s, offset;
|
int i, n, s, offset, strsize;
|
||||||
char buf[80];
|
char buf[80];
|
||||||
char str[TEXT_SIZE+1000];
|
char *str;
|
||||||
time_t now;
|
time_t now;
|
||||||
struct tm *ts;
|
struct tm *ts;
|
||||||
char list[1024][NAME_LENGTH];
|
char list[1024][NAME_LENGTH];
|
||||||
@ -1175,27 +1177,30 @@ char list[1024][NAME_LENGTH];
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
recv_string(s, str, sizeof(str), 10000);
|
strsize = TEXT_SIZE+1000;
|
||||||
|
str = malloc(strsize);
|
||||||
|
|
||||||
|
recv_string(s, str, strsize, 10000);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
/* drain server messages */
|
/* drain server messages */
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
str[0] = 0;
|
str[0] = 0;
|
||||||
recv_string(s, str, sizeof(str), 300);
|
recv_string(s, str, strsize, 300);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
} while (str[0]);
|
} while (str[0]);
|
||||||
|
|
||||||
snprintf(str, sizeof(str) - 1, "HELO %s\r\n", host_name);
|
snprintf(str, strsize - 1, "HELO %s\r\n", host_name);
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
recv_string(s, str, sizeof(str), 3000);
|
recv_string(s, str, strsize, 3000);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
snprintf(str, sizeof(str) - 1, "MAIL FROM: <%s>\r\n", from);
|
snprintf(str, strsize - 1, "MAIL FROM: <%s>\r\n", from);
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
recv_string(s, str, sizeof(str), 3000);
|
recv_string(s, str, strsize, 3000);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
/* break recipients into list */
|
/* break recipients into list */
|
||||||
@ -1203,32 +1208,32 @@ char list[1024][NAME_LENGTH];
|
|||||||
|
|
||||||
for (i=0 ; i<n ; i++)
|
for (i=0 ; i<n ; i++)
|
||||||
{
|
{
|
||||||
snprintf(str, sizeof(str) - 1, "RCPT TO: <%s>\r\n", list[i]);
|
snprintf(str, strsize - 1, "RCPT TO: <%s>\r\n", list[i]);
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
recv_string(s, str, sizeof(str), 3000);
|
recv_string(s, str, strsize, 3000);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(str, sizeof(str) - 1, "DATA\r\n");
|
snprintf(str, strsize - 1, "DATA\r\n");
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
recv_string(s, str, sizeof(str), 3000);
|
recv_string(s, str, strsize, 3000);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
if (email_to)
|
if (email_to)
|
||||||
snprintf(str, sizeof(str) - 1, "To: %s\r\n", to);
|
snprintf(str, strsize - 1, "To: %s\r\n", to);
|
||||||
else
|
else
|
||||||
snprintf(str, sizeof(str) - 1, "To: ELOG user\r\n");
|
snprintf(str, strsize - 1, "To: ELOG user\r\n");
|
||||||
|
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
snprintf(str, sizeof(str) - 1, "From: %s\r\nSubject: %s\r\n", from, subject);
|
snprintf(str, strsize - 1, "From: %s\r\nSubject: %s\r\n", from, subject);
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
snprintf(str, sizeof(str) - 1, "Content-Type: text/plain\r\n");
|
snprintf(str, strsize - 1, "Content-Type: text/plain\r\n");
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
@ -1238,24 +1243,25 @@ char list[1024][NAME_LENGTH];
|
|||||||
offset = (-(int)timezone);
|
offset = (-(int)timezone);
|
||||||
if (ts->tm_isdst)
|
if (ts->tm_isdst)
|
||||||
offset += 3600;
|
offset += 3600;
|
||||||
snprintf(str, sizeof(str) - 1, "Date: %s %+03d%02d\r\n\r\n", buf,
|
snprintf(str, strsize - 1, "Date: %s %+03d%02d\r\n\r\n", buf,
|
||||||
(int) (offset/3600), (int) ((abs((int)offset)/60) % 60));
|
(int) (offset/3600), (int) ((abs((int)offset)/60) % 60));
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
snprintf(str, sizeof(str) - 1, "%s\r\n.\r\n", text);
|
snprintf(str, strsize - 1, "%s\r\n.\r\n", text);
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
recv_string(s, str, sizeof(str), 3000);
|
recv_string(s, str, strsize, 3000);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
snprintf(str, sizeof(str) - 1, "QUIT\r\n");
|
snprintf(str, strsize - 1, "QUIT\r\n");
|
||||||
send(s, str, strlen(str), 0);
|
send(s, str, strlen(str), 0);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
recv_string(s, str, sizeof(str), 3000);
|
recv_string(s, str, strsize, 3000);
|
||||||
if (verbose) puts(str);
|
if (verbose) puts(str);
|
||||||
|
|
||||||
closesocket(s);
|
closesocket(s);
|
||||||
|
free(str);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -1850,7 +1856,7 @@ int eli_compare(const void *e1, const void *e2)
|
|||||||
int el_build_index(LOGBOOK *lbs, BOOL rebuild)
|
int el_build_index(LOGBOOK *lbs, BOOL rebuild)
|
||||||
/* scan all ??????a.log files and build an index table in eli[] */
|
/* scan all ??????a.log files and build an index table in eli[] */
|
||||||
{
|
{
|
||||||
char *file_list, str[256], date[256], dir[256], file_name[256], *buffer, *p,
|
char *file_list, str[256], date[256], dir[256], file_name[MAX_PATH_LENGTH], *buffer, *p,
|
||||||
in_reply_to[80];
|
in_reply_to[80];
|
||||||
int index, n, length;
|
int index, n, length;
|
||||||
int i, fh;
|
int i, fh;
|
||||||
@ -2261,7 +2267,7 @@ INT el_retrieve(LOGBOOK *lbs,
|
|||||||
char attrib[MAX_N_ATTR][NAME_LENGTH], int n_attr,
|
char attrib[MAX_N_ATTR][NAME_LENGTH], int n_attr,
|
||||||
char *text, int *textsize,
|
char *text, int *textsize,
|
||||||
char *in_reply_to, char *reply_to,
|
char *in_reply_to, char *reply_to,
|
||||||
char attachment[MAX_ATTACHMENTS][256],
|
char attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH],
|
||||||
char *encoding)
|
char *encoding)
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
|
|
||||||
@ -2296,7 +2302,7 @@ INT el_retrieve(LOGBOOK *lbs,
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
{
|
{
|
||||||
int i, index, size, fh;
|
int i, index, size, fh;
|
||||||
char str[256], file_name[256], *p;
|
char str[NAME_LENGTH], file_name[256], *p;
|
||||||
char message[TEXT_SIZE+1000], attachment_all[64*MAX_ATTACHMENTS];
|
char message[TEXT_SIZE+1000], attachment_all[64*MAX_ATTACHMENTS];
|
||||||
|
|
||||||
if (message_id == 0)
|
if (message_id == 0)
|
||||||
@ -2445,7 +2451,7 @@ char message[TEXT_SIZE+1000], attachment_all[64*MAX_ATTACHMENTS];
|
|||||||
int el_submit_attachment(LOGBOOK *lbs, char *afilename, char *buffer,
|
int el_submit_attachment(LOGBOOK *lbs, char *afilename, char *buffer,
|
||||||
int buffer_size, char *full_name)
|
int buffer_size, char *full_name)
|
||||||
{
|
{
|
||||||
char file_name[256], dir[256], str[256], *p;
|
char file_name[MAX_PATH_LENGTH], dir[MAX_PATH_LENGTH], str[MAX_PATH_LENGTH], *p;
|
||||||
int fh;
|
int fh;
|
||||||
time_t now;
|
time_t now;
|
||||||
struct tm tms;
|
struct tm tms;
|
||||||
@ -2500,7 +2506,7 @@ struct tm tms;
|
|||||||
|
|
||||||
void el_delete_attachment(LOGBOOK *lbs, char *file_name)
|
void el_delete_attachment(LOGBOOK *lbs, char *file_name)
|
||||||
{
|
{
|
||||||
char str[256];
|
char str[MAX_PATH_LENGTH];
|
||||||
|
|
||||||
strlcpy(str, lbs->data_dir, sizeof(str));
|
strlcpy(str, lbs->data_dir, sizeof(str));
|
||||||
strlcat(str, file_name, sizeof(str));
|
strlcat(str, file_name, sizeof(str));
|
||||||
@ -2550,8 +2556,7 @@ int el_submit(LOGBOOK *lbs, int message_id,
|
|||||||
{
|
{
|
||||||
INT n, i, j, size, fh, index, tail_size, orig_size, delta, reply_id;
|
INT n, i, j, size, fh, index, tail_size, orig_size, delta, reply_id;
|
||||||
struct tm tms;
|
struct tm tms;
|
||||||
char file_name[256], dir[256], str[256],
|
char file_name[256], dir[256], str[NAME_LENGTH];
|
||||||
rep1[256], rep2[256];
|
|
||||||
time_t now, ltime;
|
time_t now, ltime;
|
||||||
char message[TEXT_SIZE+100], *p, *buffer;
|
char message[TEXT_SIZE+100], *p, *buffer;
|
||||||
BOOL bedit;
|
BOOL bedit;
|
||||||
@ -2560,7 +2565,6 @@ BOOL bedit;
|
|||||||
strcpy(dir, lbs->data_dir);
|
strcpy(dir, lbs->data_dir);
|
||||||
|
|
||||||
bedit = (message_id > 0);
|
bedit = (message_id > 0);
|
||||||
rep1[0] = rep2[0] = 0;
|
|
||||||
|
|
||||||
if (bedit)
|
if (bedit)
|
||||||
{
|
{
|
||||||
@ -2857,7 +2861,7 @@ int size, status;
|
|||||||
/*------------------------------------------------------------------*/
|
/*------------------------------------------------------------------*/
|
||||||
|
|
||||||
INT el_delete_message(LOGBOOK *lbs, int message_id, BOOL delete_attachments,
|
INT el_delete_message(LOGBOOK *lbs, int message_id, BOOL delete_attachments,
|
||||||
char attachment[MAX_ATTACHMENTS][256], BOOL delete_bw_ref,
|
char attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH], BOOL delete_bw_ref,
|
||||||
BOOL delete_reply_to)
|
BOOL delete_reply_to)
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
|
|
||||||
@ -2882,7 +2886,7 @@ INT el_delete_message(LOGBOOK *lbs, int message_id, BOOL delete_attachments,
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
{
|
{
|
||||||
INT i, index, n, size, fh, tail_size;
|
INT i, index, n, size, fh, tail_size;
|
||||||
char str[256], file_name[256], reply_to[80], in_reply_to[256];
|
char str[MAX_PATH_LENGTH], file_name[MAX_PATH_LENGTH], reply_to[80], in_reply_to[256];
|
||||||
char *buffer, *p;
|
char *buffer, *p;
|
||||||
char message[TEXT_SIZE+1000], attachment_all[64*MAX_ATTACHMENTS];
|
char message[TEXT_SIZE+1000], attachment_all[64*MAX_ATTACHMENTS];
|
||||||
|
|
||||||
@ -3391,23 +3395,23 @@ char str[10000];
|
|||||||
|
|
||||||
if (i<MAX_PARAM)
|
if (i<MAX_PARAM)
|
||||||
{
|
{
|
||||||
if (strlen(param) >= PARAM_LENGTH)
|
if (strlen(param) >= NAME_LENGTH)
|
||||||
{
|
{
|
||||||
sprintf(str, "Error: Parameter name too big (%d bytes).\n", strlen(param));
|
sprintf(str, "Error: Parameter name too big (%d bytes).\n", strlen(param));
|
||||||
show_error(str);
|
show_error(str);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
strlcpy(_param[i], param, PARAM_LENGTH);
|
strlcpy(_param[i], param, NAME_LENGTH);
|
||||||
|
|
||||||
if (strlen(value) >= VALUE_SIZE)
|
if (strlen(value) >= NAME_LENGTH)
|
||||||
{
|
{
|
||||||
sprintf(str, "Error: Parameter value for parameter <b>%s</b> too big (%d bytes). Please increase VALUE_SIZE and recompile elogd\n", param, strlen(value));
|
sprintf(str, "Error: Parameter value for parameter <b>%s</b> too big (%d bytes). Please increase NAME_LENGTH and recompile elogd\n", param, strlen(value));
|
||||||
show_error(str);
|
show_error(str);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
strlcpy(_value[i], value, VALUE_SIZE);
|
strlcpy(_value[i], value, NAME_LENGTH);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3463,8 +3467,8 @@ int i;
|
|||||||
{
|
{
|
||||||
for ( ; i<MAX_PARAM-1 ; i++)
|
for ( ; i<MAX_PARAM-1 ; i++)
|
||||||
{
|
{
|
||||||
strlcpy(_param[i], _param[i+1], PARAM_LENGTH);
|
strlcpy(_param[i], _param[i+1], NAME_LENGTH);
|
||||||
strlcpy(_value[i], _value[i+1], PARAM_LENGTH);
|
strlcpy(_value[i], _value[i+1], NAME_LENGTH);
|
||||||
}
|
}
|
||||||
_param[MAX_PARAM-1][0] = 0;
|
_param[MAX_PARAM-1][0] = 0;
|
||||||
_value[MAX_PARAM-1][0] = 0;
|
_value[MAX_PARAM-1][0] = 0;
|
||||||
@ -3496,7 +3500,7 @@ char *p, str2[256];
|
|||||||
|
|
||||||
void set_location(LOGBOOK *lbs, char *rel_path)
|
void set_location(LOGBOOK *lbs, char *rel_path)
|
||||||
{
|
{
|
||||||
char str[256];
|
char str[NAME_LENGTH];
|
||||||
|
|
||||||
if (strncmp(rel_path, "http://", 7) == 0)
|
if (strncmp(rel_path, "http://", 7) == 0)
|
||||||
rsprintf("Location: %s", rel_path);
|
rsprintf("Location: %s", rel_path);
|
||||||
@ -3541,7 +3545,7 @@ char str[256];
|
|||||||
|
|
||||||
void set_redir(LOGBOOK *lbs, char *redir)
|
void set_redir(LOGBOOK *lbs, char *redir)
|
||||||
{
|
{
|
||||||
char str[256];
|
char str[NAME_LENGTH];
|
||||||
|
|
||||||
/* prepare relative path */
|
/* prepare relative path */
|
||||||
if (redir[0])
|
if (redir[0])
|
||||||
@ -3561,7 +3565,7 @@ char str[256];
|
|||||||
|
|
||||||
void set_cookie(LOGBOOK *lbs, char *name, char *value, BOOL global, char *expiration)
|
void set_cookie(LOGBOOK *lbs, char *name, char *value, BOOL global, char *expiration)
|
||||||
{
|
{
|
||||||
char lb_name[256], str[256];
|
char lb_name[256], str[NAME_LENGTH];
|
||||||
double exp;
|
double exp;
|
||||||
time_t now;
|
time_t now;
|
||||||
struct tm *gmt;
|
struct tm *gmt;
|
||||||
@ -3580,6 +3584,7 @@ struct tm *gmt;
|
|||||||
if (getcfg(lb_name, "URL", str))
|
if (getcfg(lb_name, "URL", str))
|
||||||
{
|
{
|
||||||
extract_path(str);
|
extract_path(str);
|
||||||
|
url_encode(str, sizeof(str));
|
||||||
rsprintf(" path=/%s;", str);
|
rsprintf(" path=/%s;", str);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3591,10 +3596,11 @@ struct tm *gmt;
|
|||||||
if (getcfg(lb_name, "URL", str))
|
if (getcfg(lb_name, "URL", str))
|
||||||
{
|
{
|
||||||
extract_path(str);
|
extract_path(str);
|
||||||
rsprintf(" path=%s%s;", str, lbs->name);
|
url_encode(str, sizeof(str));
|
||||||
|
rsprintf(" path=%s%s;", str, lbs->name_enc);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
rsprintf(" path=/%s;", lbs->name);
|
rsprintf(" path=/%s;", lbs->name_enc);
|
||||||
}
|
}
|
||||||
|
|
||||||
exp = atof(expiration);
|
exp = atof(expiration);
|
||||||
@ -3692,7 +3698,7 @@ int scan_attributes(char *logbook)
|
|||||||
/* scan configuration file for attributes and fill attr_list, attr_options
|
/* scan configuration file for attributes and fill attr_list, attr_options
|
||||||
and attr_flags arrays */
|
and attr_flags arrays */
|
||||||
{
|
{
|
||||||
char list[10000], str[256], tmp_list[MAX_N_ATTR][NAME_LENGTH];
|
char list[10000], str[NAME_LENGTH], tmp_list[MAX_N_ATTR][NAME_LENGTH];
|
||||||
int i, j, n, m;
|
int i, j, n, m;
|
||||||
|
|
||||||
if (getcfg(logbook, "Attributes", list))
|
if (getcfg(logbook, "Attributes", list))
|
||||||
@ -4211,7 +4217,7 @@ BOOL global;
|
|||||||
void send_file_direct(char *file_name)
|
void send_file_direct(char *file_name)
|
||||||
{
|
{
|
||||||
int fh, i, length;
|
int fh, i, length;
|
||||||
char str[256];
|
char str[MAX_PATH_LENGTH];
|
||||||
time_t now;
|
time_t now;
|
||||||
struct tm *gmt;
|
struct tm *gmt;
|
||||||
|
|
||||||
@ -4337,7 +4343,7 @@ int build_subst_list(LOGBOOK *lbs, char list[][NAME_LENGTH],
|
|||||||
char value[][NAME_LENGTH], char attrib[][NAME_LENGTH])
|
char value[][NAME_LENGTH], char attrib[][NAME_LENGTH])
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char str[256], format[256];
|
char str[NAME_LENGTH], format[256];
|
||||||
time_t now;
|
time_t now;
|
||||||
struct tm *ts;
|
struct tm *ts;
|
||||||
|
|
||||||
@ -4750,16 +4756,12 @@ time_t now;
|
|||||||
sprintf(str, "Subst on edit %s", attr_list[index]);
|
sprintf(str, "Subst on edit %s", attr_list[index]);
|
||||||
if (getcfg(lbs->name, str, preset))
|
if (getcfg(lbs->name, str, preset))
|
||||||
{
|
{
|
||||||
/* check if already second reply */
|
i = build_subst_list(lbs, slist, svalue, attrib);
|
||||||
if (orig_tag[0] == 0)
|
strsubst(preset, slist, svalue, i);
|
||||||
{
|
if (strncmp(preset, "<br>", 4) == 0)
|
||||||
i = build_subst_list(lbs, slist, svalue, attrib);
|
strcpy(attrib[index], preset+4);
|
||||||
strsubst(preset, slist, svalue, i);
|
else
|
||||||
if (strncmp(preset, "<br>", 4) == 0)
|
strcpy(attrib[index], preset);
|
||||||
strcpy(attrib[index], preset+4);
|
|
||||||
else
|
|
||||||
strcpy(attrib[index], preset);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5277,7 +5279,7 @@ time_t now;
|
|||||||
void show_find_form(LOGBOOK *lbs)
|
void show_find_form(LOGBOOK *lbs)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
char str[256], mode[256];
|
char str[NAME_LENGTH], mode[256];
|
||||||
|
|
||||||
/*---- header ----*/
|
/*---- header ----*/
|
||||||
|
|
||||||
@ -5467,7 +5469,7 @@ void show_admin_page(LOGBOOK *lbs)
|
|||||||
{
|
{
|
||||||
int fh, length;
|
int fh, length;
|
||||||
char *buffer;
|
char *buffer;
|
||||||
char str[256];
|
char str[NAME_LENGTH];
|
||||||
|
|
||||||
/*---- header ----*/
|
/*---- header ----*/
|
||||||
|
|
||||||
@ -6255,11 +6257,7 @@ int show_download_page(LOGBOOK *lbs, char *path)
|
|||||||
char file_name[256];
|
char file_name[256];
|
||||||
int index, message_id, fh, i, size;
|
int index, message_id, fh, i, size;
|
||||||
char message[TEXT_SIZE+1000], *p;
|
char message[TEXT_SIZE+1000], *p;
|
||||||
/*
|
|
||||||
char str[256];
|
|
||||||
time_t now;
|
|
||||||
struct tm *gmt;
|
|
||||||
*/
|
|
||||||
message_id = atoi(path);
|
message_id = atoi(path);
|
||||||
|
|
||||||
for (index = 0 ; index < *lbs->n_el_index ; index++)
|
for (index = 0 ; index < *lbs->n_el_index ; index++)
|
||||||
@ -6337,12 +6335,12 @@ void display_line(LOGBOOK *lbs, int message_id, int number, char *mode,
|
|||||||
int n_attr_disp, char disp_attr[MAX_N_ATTR+4][NAME_LENGTH],
|
int n_attr_disp, char disp_attr[MAX_N_ATTR+4][NAME_LENGTH],
|
||||||
char attrib[MAX_N_ATTR][NAME_LENGTH],
|
char attrib[MAX_N_ATTR][NAME_LENGTH],
|
||||||
int n_attr, char *text,
|
int n_attr, char *text,
|
||||||
char attachment[MAX_ATTACHMENTS][256], char *encoding,
|
char attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH], char *encoding,
|
||||||
BOOL select, int *n_display)
|
BOOL select, int *n_display)
|
||||||
{
|
{
|
||||||
char str[256], ref[256], *nowrap, sclass[80], format[256], file_name[256];
|
char str[NAME_LENGTH], ref[256], *nowrap, sclass[80], format[256], file_name[MAX_PATH_LENGTH];
|
||||||
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];
|
||||||
char display[256], attr_icon[80];
|
char display[NAME_LENGTH], attr_icon[80];
|
||||||
int i, j, i_line, index, colspan;
|
int i, j, i_line, index, colspan;
|
||||||
BOOL skip_comma;
|
BOOL skip_comma;
|
||||||
FILE *f;
|
FILE *f;
|
||||||
@ -6794,7 +6792,7 @@ void display_reply(LOGBOOK *lbs, int message_id, int printable, int expand, int
|
|||||||
int n_attr_disp, char disp_attr[MAX_N_ATTR+4][NAME_LENGTH], int level)
|
int n_attr_disp, char disp_attr[MAX_N_ATTR+4][NAME_LENGTH], int level)
|
||||||
{
|
{
|
||||||
char date[80], *text, in_reply_to[80], reply_to[256], encoding[80],
|
char date[80], *text, in_reply_to[80], reply_to[256], encoding[80],
|
||||||
attachment[MAX_ATTACHMENTS][NAME_LENGTH], attrib[MAX_N_ATTR][NAME_LENGTH];
|
attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH], attrib[MAX_N_ATTR][NAME_LENGTH];
|
||||||
int status, size;
|
int status, size;
|
||||||
char *p;
|
char *p;
|
||||||
|
|
||||||
@ -7103,7 +7101,7 @@ void show_page_filters(LOGBOOK *lbs, int n_msg, int page_n, int n_page, BOOL top
|
|||||||
BOOL threaded)
|
BOOL threaded)
|
||||||
{
|
{
|
||||||
int cur_exp, n, i, j, index;
|
int cur_exp, n, i, j, index;
|
||||||
char ref[256], str[256];
|
char ref[256], str[NAME_LENGTH];
|
||||||
char list[MAX_N_LIST][NAME_LENGTH];
|
char list[MAX_N_LIST][NAME_LENGTH];
|
||||||
|
|
||||||
rsprintf("<tr><td class=\"menuframe\">\n");
|
rsprintf("<tr><td class=\"menuframe\">\n");
|
||||||
@ -7353,7 +7351,7 @@ char ref[256];
|
|||||||
void show_select_navigation(LOGBOOK *lbs)
|
void show_select_navigation(LOGBOOK *lbs)
|
||||||
{
|
{
|
||||||
int i, n_log;
|
int i, n_log;
|
||||||
char str[256];
|
char str[NAME_LENGTH];
|
||||||
char lbk_list[MAX_N_LIST][NAME_LENGTH];
|
char lbk_list[MAX_N_LIST][NAME_LENGTH];
|
||||||
|
|
||||||
rsprintf("<tr><td class=\"menuframe\"><span class=\"menu4\">\n");
|
rsprintf("<tr><td class=\"menuframe\"><span class=\"menu4\">\n");
|
||||||
@ -7459,8 +7457,8 @@ int current_year, current_month, current_day, printable, n_logbook, n_display
|
|||||||
in_reply_to_id;
|
in_reply_to_id;
|
||||||
char date[80], attrib[MAX_N_ATTR][NAME_LENGTH], disp_attr[MAX_N_ATTR+4][NAME_LENGTH],
|
char date[80], attrib[MAX_N_ATTR][NAME_LENGTH], disp_attr[MAX_N_ATTR+4][NAME_LENGTH],
|
||||||
list[10000], text[TEXT_SIZE], text1[TEXT_SIZE], text2[TEXT_SIZE],
|
list[10000], text[TEXT_SIZE], text1[TEXT_SIZE], text2[TEXT_SIZE],
|
||||||
in_reply_to[80], reply_to[256], attachment[MAX_ATTACHMENTS][256], encoding[80];
|
in_reply_to[80], reply_to[256], attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH], encoding[80];
|
||||||
char str[256], ref[256], img[80];
|
char str[NAME_LENGTH], ref[256], img[80];
|
||||||
char mode[80];
|
char mode[80];
|
||||||
char menu_str[1000], menu_item[MAX_N_LIST][NAME_LENGTH];
|
char menu_str[1000], menu_item[MAX_N_LIST][NAME_LENGTH];
|
||||||
char *p , *pt, *pt1, *pt2;
|
char *p , *pt, *pt1, *pt2;
|
||||||
@ -8527,7 +8525,7 @@ int compose_mail(LOGBOOK *lbs, char *mail_to, int message_id, char attrib[MAX_N_
|
|||||||
char *mail_param, int old_mail)
|
char *mail_param, int old_mail)
|
||||||
{
|
{
|
||||||
int i, j, n;
|
int i, j, n;
|
||||||
char str[256], mail_from[256], mail_text[TEXT_SIZE+1000], smtp_host[256], subject[256];
|
char str[NAME_LENGTH+100], mail_from[256], *mail_text, smtp_host[256], subject[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];
|
||||||
char list[MAX_PARAM][NAME_LENGTH];
|
char list[MAX_PARAM][NAME_LENGTH];
|
||||||
|
|
||||||
@ -8545,6 +8543,8 @@ char list[MAX_PARAM][NAME_LENGTH];
|
|||||||
else
|
else
|
||||||
sprintf(mail_from, "ELog@%s", host_name);
|
sprintf(mail_from, "ELog@%s", host_name);
|
||||||
|
|
||||||
|
mail_text = malloc(TEXT_SIZE+1000);
|
||||||
|
|
||||||
if (old_mail)
|
if (old_mail)
|
||||||
sprintf(mail_text, loc("A old entry has been updated on %s"), host_name);
|
sprintf(mail_text, loc("A old entry has been updated on %s"), host_name);
|
||||||
else
|
else
|
||||||
@ -8629,6 +8629,8 @@ char list[MAX_PARAM][NAME_LENGTH];
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
free(mail_text);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8636,9 +8638,9 @@ char list[MAX_PARAM][NAME_LENGTH];
|
|||||||
|
|
||||||
void submit_elog(LOGBOOK *lbs)
|
void submit_elog(LOGBOOK *lbs)
|
||||||
{
|
{
|
||||||
char str[256], file_name[256], error[1000], date[80],
|
char str[1000], file_name[256], error[1000], date[80],
|
||||||
mail_list[MAX_N_LIST][NAME_LENGTH], list[10000],
|
mail_list[MAX_N_LIST][NAME_LENGTH], list[10000],
|
||||||
attrib[MAX_N_ATTR][NAME_LENGTH], subst_str[256], in_reply_to[80],
|
attrib[MAX_N_ATTR][NAME_LENGTH], subst_str[MAX_PATH_LENGTH], in_reply_to[80],
|
||||||
reply_to[256], user[256], user_email[256], email_notify[256];
|
reply_to[256], user[256], user_email[256], email_notify[256];
|
||||||
char mail_param[1000], *mail_to;
|
char mail_param[1000], *mail_to;
|
||||||
char att_file[MAX_ATTACHMENTS][256];
|
char att_file[MAX_ATTACHMENTS][256];
|
||||||
@ -8919,9 +8921,9 @@ int i, j, n, missing, first, index, suppress, message_id, resubmit_orig, mail
|
|||||||
void copy_to(LOGBOOK *lbs, int src_id, char *dest_logbook, int move)
|
void copy_to(LOGBOOK *lbs, int src_id, char *dest_logbook, int move)
|
||||||
{
|
{
|
||||||
int size, i, n, n_done, index, status, fh, source_id, message_id;
|
int size, i, n, n_done, index, status, fh, source_id, message_id;
|
||||||
char str[256], file_name[256], attrib[MAX_N_ATTR][NAME_LENGTH];
|
char str[256], file_name[MAX_PATH_LENGTH], attrib[MAX_N_ATTR][NAME_LENGTH];
|
||||||
char date[80], text[TEXT_SIZE], msg_str[32], in_reply_to[80], reply_to[256],
|
char date[80], text[TEXT_SIZE], msg_str[32], in_reply_to[80], reply_to[256],
|
||||||
attachment[MAX_ATTACHMENTS][256], encoding[80], *buffer;
|
attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH], encoding[80], *buffer;
|
||||||
LOGBOOK *lbs_dest;
|
LOGBOOK *lbs_dest;
|
||||||
|
|
||||||
for (i=0 ; lb_list[i].name[0] ; i++)
|
for (i=0 ; lb_list[i].name[0] ; i++)
|
||||||
@ -9086,7 +9088,7 @@ int size, i, j, n, n_log, status, fh, length, message_error, index;
|
|||||||
int message_id, orig_message_id;
|
int message_id, orig_message_id;
|
||||||
char str[1000], ref[256], file_name[256], attrib[MAX_N_ATTR][NAME_LENGTH];
|
char str[1000], ref[256], file_name[256], attrib[MAX_N_ATTR][NAME_LENGTH];
|
||||||
char date[80], text[TEXT_SIZE], menu_str[1000], cmd[256], cmd_enc[256],
|
char date[80], text[TEXT_SIZE], menu_str[1000], cmd[256], cmd_enc[256],
|
||||||
orig_tag[80], reply_tag[256], attachment[MAX_ATTACHMENTS][256], encoding[80], att[256], lattr[256];
|
orig_tag[80], reply_tag[256], attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH], encoding[80], att[256], lattr[256];
|
||||||
char menu_item[MAX_N_LIST][NAME_LENGTH], format[80], admin_user[80],
|
char menu_item[MAX_N_LIST][NAME_LENGTH], format[80], admin_user[80],
|
||||||
slist[MAX_N_ATTR+10][NAME_LENGTH], svalue[MAX_N_ATTR+10][NAME_LENGTH], *p;
|
slist[MAX_N_ATTR+10][NAME_LENGTH], svalue[MAX_N_ATTR+10][NAME_LENGTH], *p;
|
||||||
char lbk_list[MAX_N_LIST][NAME_LENGTH];
|
char lbk_list[MAX_N_LIST][NAME_LENGTH];
|
||||||
@ -10178,7 +10180,7 @@ void interprete(char *lbook, char *path)
|
|||||||
{
|
{
|
||||||
int i, j, n, index, lb_index, message_id;
|
int i, j, n, index, lb_index, message_id;
|
||||||
char exp[80];
|
char exp[80];
|
||||||
char str[256], enc_pwd[80], file_name[256], command[80], ref[256];
|
char str[NAME_LENGTH], enc_pwd[80], file_name[256], command[80], ref[256];
|
||||||
char enc_path[256], dec_path[256], logbook[256], logbook_enc[256];
|
char enc_path[256], dec_path[256], logbook[256], logbook_enc[256];
|
||||||
char *experiment, *value, *group, css[256];
|
char *experiment, *value, *group, css[256];
|
||||||
BOOL global;
|
BOOL global;
|
||||||
@ -10935,7 +10937,8 @@ char *p, *pitem;
|
|||||||
void decode_post(LOGBOOK *lbs, char *string, char *boundary, int length)
|
void decode_post(LOGBOOK *lbs, char *string, char *boundary, int length)
|
||||||
{
|
{
|
||||||
int n_att;
|
int n_att;
|
||||||
char *pinit, *p, *ptmp, file_name[256], full_name[256], str[256], line[256], item[256];
|
char *pinit, *p, *ptmp, file_name[256], full_name[256],
|
||||||
|
str[NAME_LENGTH], line[NAME_LENGTH], item[NAME_LENGTH];
|
||||||
|
|
||||||
n_att = 0;
|
n_att = 0;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user