tuxmaild semaphore files
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
tuxmaild semaphore files
hi,
koennte man den pfad der "tuxmaild.[0-9]" nicht konfigurierbar machen, um flashzugriffe zu vermeiden? oder besser gesagt es so konfigurieren, das lediglich ins /tmp geschreben wird?
das dann bei jedem kaltstart der box alle nachrichten als neu angezeigt werden, ist mir bewusst.
koennte man den pfad der "tuxmaild.[0-9]" nicht konfigurierbar machen, um flashzugriffe zu vermeiden? oder besser gesagt es so konfigurieren, das lediglich ins /tmp geschreben wird?
das dann bei jedem kaltstart der box alle nachrichten als neu angezeigt werden, ist mir bewusst.
-
- Senior Member
- Beiträge: 1260
- Registriert: Samstag 6. Oktober 2001, 00:00
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
ja, so meinte ich. also praktisch diese cp routine zwischen tmp / tuxmail optional.LazyT hat geschrieben:Hm, 'ne Option "SaveDB=Y" oder so wäre sicher denkbar.
hmm, ich hab tuxmail lange nicht genutzt, wegen dem spamfilter jetzt mal wieder reingesehen.. manche posts haben kein from/subject, wird auf der box dann als ?/? angezeigt. ist das so gewollt? hab jetzt nicht genau nachgesehen wie die mail aussah, kann ich aber mal machen. war auf alle faelle sowieso spam. manchmal sind die header von diesen mails schon merkwuerdig, da fehlt dann das "To:" ganz, und steht nur ein "X-reply-To:" drin, etc.. wohl irgendwie bulkmail.
-
- Senior Member
- Beiträge: 1260
- Registriert: Samstag 6. Oktober 2001, 00:00
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
hier mal so en header (gekuerzt):
From pmailrobot@rocketmail.net Mon Oct 6 18:20:13 2003
Return-Path: <pmailrobot@rocketmail.net>
FROM: "Administrator" <pmailrobot@rocketmail.net>
TO: "Internet Client" <receiver@mailserver.com>
SUBJECT:
Message-Id: <E1A6XuQ-0004MG-00@conure.mail.pas.earthlink.net>
Date: Mon, 06 Oct 2003 09:08:30 -0700
X-RCPT-TO: <myuser@mydomain.de>
//nachtrag: jau, eilt ja nix, thanks.
From pmailrobot@rocketmail.net Mon Oct 6 18:20:13 2003
Return-Path: <pmailrobot@rocketmail.net>
FROM: "Administrator" <pmailrobot@rocketmail.net>
TO: "Internet Client" <receiver@mailserver.com>
SUBJECT:
Message-Id: <E1A6XuQ-0004MG-00@conure.mail.pas.earthlink.net>
Date: Mon, 06 Oct 2003 09:08:30 -0700
X-RCPT-TO: <myuser@mydomain.de>
//nachtrag: jau, eilt ja nix, thanks.
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
bastelstunde :-)
hi,
hier mal ne kleine bastelaufgabe, vielleicht macht ja jemand mit, den dieses thema noch interessiert. wetter laedt ja praktisch dazu ein
also ich hab mich einfach mal selbst dem thema backup ja/nein der database angenommen. folgende aenderungen:
tuxmail.conf:
parameter BACKUP ist hinzugekommen.
tuxmaild.h:
tuxmaild.c:
so, das klappt soweit ganz gut, NUR! ich muss eine leere tuxmail.0, tuxmail.1 (jenachdem wieviele user man halt hat) nach /var/tuxbox/config/tuxmail legen, sonst wird die beim ersten mal neu erstellt, und da stehen dann fuer immer die werte drin, die zum 1tstart verfuegbar waren.
wo die files beim 1tstart erstellt werden, hab ich leider nicht gefunden
wenn jemand bock hat mitzubasteln, you are welcome
hier mal ne kleine bastelaufgabe, vielleicht macht ja jemand mit, den dieses thema noch interessiert. wetter laedt ja praktisch dazu ein
also ich hab mich einfach mal selbst dem thema backup ja/nein der database angenommen. folgende aenderungen:
tuxmail.conf:
Code: Alles auswählen
STARTDELAY=30
INTERVALL=15
POP3LOG=N
LOGMODE=S
BACKUP=N
AUDIO=N
VIDEO=4
NAME0=
HOST0=
USER0=
PASS0=
tuxmaild.h:
Code: Alles auswählen
--- tuxmaild.h.org 2003-10-07 17:06:05.000000000 +0200
+++ tuxmaild.h 2003-10-07 11:38:27.000000000 +0200
@@ -74,7 +74,7 @@
FILE *fd_pid;
int pid;
int startdelay, intervall;
-char pop3log, logmode, audio;
+char pop3log, logmode, backup, audio;
int video;
char online = 1;
int accounts;
Code: Alles auswählen
--- tuxmaild.c.org 2003-10-07 17:03:38.000000000 +0200
+++ tuxmaild.c 2003-10-07 12:15:53.000000000 +0200
@@ -51,6 +51,7 @@
fprintf(fd_conf, "INTERVALL=15\n\n");
fprintf(fd_conf, "POP3LOG=Y\n");
fprintf(fd_conf, "LOGMODE=S\n\n");
+ fprintf(fd_conf, "BACKUP=N\n\n");
fprintf(fd_conf, "AUDIO=Y\n");
fprintf(fd_conf, "VIDEO=1\n\n");
fprintf(fd_conf, "NAME0=\n");
@@ -66,7 +67,7 @@
//clear database
memset(account_db, 0, sizeof(account_db));
- startdelay = intervall = pop3log = logmode = audio = video = 0;
+ startdelay = intervall = pop3log = logmode = backup = audio = video = 0;
//fill database
@@ -80,6 +81,8 @@
else if((ptr = strstr(line_buffer, "LOGMODE="))) sscanf(ptr + 8, "%c", &logmode);
+ else if((ptr = strstr(line_buffer, "BACKUP="))) sscanf(ptr + 8, "%c", &backup);
+
else if((ptr = strstr(line_buffer, "AUDIO="))) sscanf(ptr + 6, "%c", &audio);
else if((ptr = strstr(line_buffer, "VIDEO="))) sscanf(ptr + 6, "%d", &video);
@@ -137,7 +140,7 @@
//check for update
- if(!startdelay || !intervall || !pop3log || !logmode || !audio || !video)
+ if(!startdelay || !intervall || !pop3log || !logmode || !backup || !audio || !video)
{
printf("TuxMailD <missing Param(s), update Config>\n");
@@ -147,13 +150,15 @@
if(!intervall) intervall = 15;
if(!pop3log) pop3log = 'Y';
if(!logmode) logmode = 'S';
+ if(!backup) backup = 'N';
if(!audio) audio = 'Y';
if(!video) video = 1;
fprintf(fd_conf, "STARTDELAY=%d\n", startdelay);
fprintf(fd_conf, "INTERVALL=%d\n\n", intervall);
fprintf(fd_conf, "POP3LOG=%c\n", pop3log);
- fprintf(fd_conf, "LOGMODE=%c\n\n", logmode);
+ fprintf(fd_conf, "LOGMODE=%c\n", logmode);
+ fprintf(fd_conf, "BACKUP=%c\n\n", backup);
fprintf(fd_conf, "AUDIO=%c\n", audio);
fprintf(fd_conf, "VIDEO=%d\n", video);
@@ -197,6 +202,12 @@
logmode = 'S';
}
+ if(backup != 'Y' && backup != 'N')
+ {
+ printf("TuxMailD <BACKUP=%c invalid, set to \"N\">\n", backup);
+ backup = 'N';
+ }
+
if(audio != 'Y' && audio != 'N')
{
printf("TuxMailD <AUDIO=%c invalid, set to \"Y\">\n", audio);
@@ -938,7 +949,7 @@
int main(int argc, char **argv)
{
- char cvs_revision[] = "$Revision: 1.4 $", versioninfo[12];
+ char cvs_revision[] = "$Revision: 1.5 $", versioninfo[12];
int account, mailstatus;
pthread_t thread_id;
void *thread_result = 0;
@@ -1030,7 +1041,8 @@
//restore database
- system("cp /var/tuxbox/config/tuxmail/tuxmail.[0-9] /tmp 2>/dev/null");
+ if(backup == 'Y') system("cp /var/tuxbox/config/tuxmail/tuxmail.[0-9] /tmp 2>/dev/null");
+ else;
//check accounts
@@ -1068,7 +1080,8 @@
pthread_cancel(thread_id);
pthread_join(thread_id, thread_result);
- system("cp /tmp/tuxmail.[0-9] /var/tuxbox/config/tuxmail 2>/dev/null");
+ if (backup =='Y') system("cp /tmp/tuxmail.[0-9] /var/tuxbox/config/tuxmail 2>/dev/null");
+ else;
remove(PIDFILE);
wo die files beim 1tstart erstellt werden, hab ich leider nicht gefunden
wenn jemand bock hat mitzubasteln, you are welcome
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
-
- Senior Member
- Beiträge: 1260
- Registriert: Samstag 6. Oktober 2001, 00:00
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
-
- Senior Member
- Beiträge: 1260
- Registriert: Samstag 6. Oktober 2001, 00:00
Naja, ein
wäre sicher verständlicher...
Code: Alles auswählen
else if((ptr = strstr(line_buffer, "BACKUP="))) sscanf(ptr + sizeof("BACKUP="), "%c", &backup);
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
wahrscheinlich lieg ich jetzt wieder falsch.. definiert das die groesse der db? so eine art array?LazyT hat geschrieben:Naja, einwäre sicher verständlicher...Code: Alles auswählen
else if((ptr = strstr(line_buffer, "BACKUP="))) sscanf(ptr + sizeof("BACKUP="), "%c", &backup);
getestet hatte ich den code ehrlich gesagt nur mit backup=N
PS: was mir gerade beim rumspielen noch so auffiel.. wenn man mit MUTE den daemon pausiert, ist OK vielleicht nicht gerade gluecklich. passiert mir schnell, das ich 2mal hintereinander OK druecke, und schwups ist eine mail rot markiert. allerdings finde ich HOME auch nicht prickelnd.. verenke mir dabei immer den daumen. macht das ueberhaupt irgendwie sinn, das rc_red alle mails selektiert? (damit will ich fragen: wer nutzt das, ALLE mails in die tonne zu hauen?).
Zuletzt geändert von kerlimann am Samstag 11. Oktober 2003, 16:25, insgesamt 1-mal geändert.
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
-
- Senior Member
- Beiträge: 1260
- Registriert: Samstag 6. Oktober 2001, 00:00
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
iss nich konkret, weil ich nix wissen warum das so machen? iss krass!LazyT hat geschrieben:Hm, Du machen aus 8 eine 7 und probieren dann nochmal
muss kerli erst rufen DoenerMan, oder LazyTeutsch mir auch helfen moegen wollen allein bei sich selber?
hat kerli gelernt fahrad hier, kann nix so schwer sein mit C, iss wie selbe.
-
- Senior Member
- Beiträge: 1260
- Registriert: Samstag 6. Oktober 2001, 00:00
Na iss doch janz simpel:
strstr sucht nach der Zeichenfolge BACKUP= und liefert einen Zeiger auf den Start zurück. Nun wollen wir aber den Wert der nach dem = kommt, also erhöhen wir den Zeiger noch um die Länge des Strings, in dem Fall also um 7. Nun können wir den Wert mit sscanf in die Variable backup einlesen...
Geht sicher auch einfacher, aber ist mir damals wohl net eingefallen
strstr sucht nach der Zeichenfolge BACKUP= und liefert einen Zeiger auf den Start zurück. Nun wollen wir aber den Wert der nach dem = kommt, also erhöhen wir den Zeiger noch um die Länge des Strings, in dem Fall also um 7. Nun können wir den Wert mit sscanf in die Variable backup einlesen...
Geht sicher auch einfacher, aber ist mir damals wohl net eingefallen
-
- Semiprofi
- Beiträge: 1208
- Registriert: Donnerstag 26. Dezember 2002, 07:26
achso! deswegen sind "audio" sowie "video" = 6. (5 chars+"=" sind 6 chars).
OK, da bin ich nicht drauf gekommen, danke.
hmm.. wenn ich das anpasse, wuerden aber dennoch die tuxmail.[0-9] angelegt werden, falls "from scratch" gestartet wird, oder? das ist eigentlich mein mainproblem, warum das so ist.
hmm.. oder doch nicht.. muss ich nochmal schauen. bin leider derweil gerade in dem tuxcal source, das verwirrt. (der source isr schlimmer als deiner)
OK, da bin ich nicht drauf gekommen, danke.
hmm.. wenn ich das anpasse, wuerden aber dennoch die tuxmail.[0-9] angelegt werden, falls "from scratch" gestartet wird, oder? das ist eigentlich mein mainproblem, warum das so ist.
hmm.. oder doch nicht.. muss ich nochmal schauen. bin leider derweil gerade in dem tuxcal source, das verwirrt. (der source isr schlimmer als deiner)