#include <stdio.h>
#include <stdlib.h>
+#include <sys/stat.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <time.h>
#define MYMAIL_DB_MAGIC_TOKEN "mymail_index_file"
-#define MYMAIL_VERSION "0.9.9"
+#define MYMAIL_VERSION "0.9.10"
#define MYMAIL_DB_FORMAT_VERSION 1
/* printf("Extract\n"); */
mail_file = safe_fopen(mail_filename, "r", "mbox for mail extraction");
+ /* fchmod(fileno(mail_file), 0x660); */
fseek(mail_file, position_in_mail, SEEK_SET);
if(fgets(raw_mbox_line, BUFFER_SIZE, mail_file)) {
if(db_key == ID_LEADING_LINE) {
c = db_value;
- while(*c && *c != ' ') c++; while(*c && *c == ' ') c++;
+ while(*c && *c != ' ') c++;
+ while(*c && *c == ' ') c++;
/* printf("From %s", db_value); */
strptime(c, "%a %b %e %k:%M:%S %Y", &tm);
*t = mktime(&tm);
static struct time_criterion time_criteria[] = {
{ "1h", 0, 1, -1, -1 },
+ { "2h", 0, 2, -1, -1 },
+ { "4h", 0, 4, -1, -1 },
{ "8h", 0, 8, -1, -1 },
{ "24h", 0, 24, -1, -1 },
{ "48h", 0, 48, -1, -1 },
{ "week", 0, 24 * 7, -1, -1 },
{ "2weeks", 0, 24 * 14, -1, -1 },
{ "month", 0, 24 * 31, -1, -1 },
+ { "semester", 0, 24 * 185, -1, -1 },
{ "trimester", 0, 24 * 92, -1, -1 },
{ "year", 0, 24 * 365, -1, -1 },
struct search_condition search_conditions[MAX_NB_SEARCH_CONDITIONS];
struct alias_node *a, *b;
+ /* Group and others have no access */
+ umask(S_IRWXG | S_IRWXO);
+
if(regcomp(&global_leading_from_line_regexp, LEADING_FROM_LINE_REGEXP_STRING, 0)) {
fprintf(stderr,
"mymail: Cannot compile leading \"from\" line regexp. That is strange.\n");