Subject: Re: Citadel server crashes when started as docker container
But when i start the container, the citserver crashes and goes on an
infinite loop. Any clues will be much appreciated. Logs below:
Please delete the container image from your server and pull the latest one.
I've just added some diagnostics that will give us a better error code.
Subject: citserver[18631]: CC[78]MSGCtdlFetchMessage(264546, 1) Failed!
The Serverlog (journalctl -l --no-pager -u citadel) or the /var/log/mail.infog shows this message:
citserver[18631]: CC[78]MSGCtdlFetchMessage(264546, 1) Failed!
What is wrong, what does it mean?
Citadel in not to configure for mail fetching. A "fetchmail" process for linux is not installed. So, i cannot interpreted this error message from the citadel server.
Any idea?
Thans an greetings, Robert
Subject: Re: citserver[18631]: CC[78]MSGCtdlFetchMessage(264546, 1) Failed!
citserver[18631]: CC[78]MSGCtdlFetchMessage(264546, 1) Failed!
What is wrong, what does it mean?
Citadel in not to configure for mail fetching. A "fetchmail" process
Well for one thing, it means you're probably using a very old version of Citadel because we don't generate log messages that look like that anymore.
How did you install Citadel and what version do you have?
CtdlFetchMessage() is a function inside the server which is responsible for loading a message from disk and into memory. It has nothing to do with the "fetchmail" utility. There could be many reasons why it might have gone looking for a message that is no longer in the database. Are you experiencing trouble or are you just browsing the logs?
Hi,
In the documentation, I read "If you configure multiple smart hosts, one will be selected at random for each message that is delivered." What happens is initial delivery fails. The same smarthost is used, or another random smarthost is used to retry ?
Kind Regards
What happens is initial delivery fails. The same smarthost is used,
or another random smarthost is used to retry ?
During an individual delivery attempt, if there are multiple smarthosts configured, it will try each one in a random order until it successfully establishes a connection to one. If there is a transient (4XX) error, the message remains in queue and will be retried later. Those later attempts will again randomize the available smarthosts, so you might get the same one first again, or you might not.
Aye, there are ways to make a regex case-insensitive, no magic code
needed there. Whenever I see "Match" I always think regex, so
that's probably where the confusion came from.
Just for you, Kitty -- commit (commeowt?) 078ba6734b4e210661340b4064d9cdca34572235 -- coming soon to a Citadel near you!
The "matches" operator now performs a regular expression match instead of a substring match. I tested it against your example regex that looks for numeric domains.
The "contains" operator still performs a substring match.
Purrfect! "Matches" should be regex while "Contains" is substring. Citadel now conforms to mail filtering standards that people are used to.
Thu Mar 09 2023 19:14:40 EST from IGnatius T FoobarAye, there are ways to make a regex case-insensitive, no magic code
needed there. Whenever I see "Match" I always think regex, so
that's probably where the confusion came from.
Just for you, Kitty -- commit (commeowt?) 078ba6734b4e210661340b4064d9cdca34572235 -- coming soon to a Citadel near you!
The "matches" operator now performs a regular expression match instead of a substring match. I tested it against your example regex that looks for numeric domains.
The "contains" operator still performs a substring match.
Documentation is a bit confusing.
on one hand it indicates Citadel drops/rejects termed SPAM as default, yet references ability to modify the behavior.
My problem is that I can’t find anything that references the ability to modify the behavior.
would someone point me in the right direction?
I use the latest easy install.
Cheers
Subject: Citadel stopped working after Ubuntu release upgrade
Hi,
Have been running Citadel on Ubuntu 18.04 LTS for a long time successfully. Upgraded the release now and Citadel stopped working. I am using apt installed packages:
citadel-server/focal,now 917-4 amd64 [installed]
citadel-webcit/focal,now 917-dfsg-4 amd64 [installed]
libcitadel4/focal,now 917-3build1 amd64 [installed,automatic]
When starting Citadel using services (service citadel start) I get no error:
● citadel.service - LSB: control citadel server start at boot time
Loaded: loaded (/etc/init.d/citadel; generated)
Active: active (running) since Sun 2023-04-02 00:42:34 CEST; 18s ago
Docs: man:systemd-sysv-generator(8)
Process: 260126 ExecStart=/etc/init.d/citadel start (code=exited, status=0/SUCCESS)
BUT - neither do I see registration of ports in netstat nor can I connect using webcit.
When I try to run citserver from the shell, I get segmentation fault.
Tried to remove and re-install as well as dpkg-reconfigure but cannot get it back to work.
Any help would be much appreciated!
Regards,
Patrick
Subject: Re: Citadel stopped working after Ubuntu release upgrade
Hello again,
I believe it is related to network somehow. I got the server to work and does not crash. However, it does not register listeners to the network stack. That prevents webcit and of course external services to connect to it. I have checked multiple times as well as re-installed and run dpkg-reconfigure but no luck.
Regards,
Patrick
Sat Apr 01 2023 18:45:58 EDT from p.agsten Subject: Citadel stopped working after Ubuntu release upgradeHi,
Have been running Citadel on Ubuntu 18.04 LTS for a long time successfully. Upgraded the release now and Citadel stopped working. I am using apt installed packages:
citadel-server/focal,now 917-4 amd64 [installed]
citadel-webcit/focal,now 917-dfsg-4 amd64 [installed]
libcitadel4/focal,now 917-3build1 amd64 [installed,automatic]
When starting Citadel using services (service citadel start) I get no error:
● citadel.service - LSB: control citadel server start at boot time
Loaded: loaded (/etc/init.d/citadel; generated)
Active: active (running) since Sun 2023-04-02 00:42:34 CEST; 18s ago
Docs: man:systemd-sysv-generator(8)
Process: 260126 ExecStart=/etc/init.d/citadel start (code=exited, status=0/SUCCESS)
BUT - neither do I see registration of ports in netstat nor can I connect using webcit.
When I try to run citserver from the shell, I get segmentation fault.
Tried to remove and re-install as well as dpkg-reconfigure but cannot get it back to work.
Any help would be much appreciated!
Regards,
Patrick
Subject: Re: Citadel stopped working after Ubuntu release upgrade
You might try deleting all those old sysvinit scripts. Citadel has been using systemd natively for some time now.
It could be that it's getting started up wrong.
And if that doesn't fix it, you might also try ditching the Easy Install distribution entirely and just running the Docker container.
Browsing for latest methods and how-tos in
https://uncensored.citadel.org/dotgoto?room=Citadel%20Documentation
That's how many sessions they have open.
Tue Apr 11 2023 22:52:35 EDT from papaWhat is the meaning of bracketed numbers following some of the user names in the Online users list?
Subject: BUGFIX: citadel-docker/Dockerfile fix; textclient/configure fix?
Hi there,
Long time lurker, first time caller.
citadel-docker/Dockerfile, line 89: --prefix=/usr needs to be --prefix=/usr/local, otherwise binary gets dumped in /usr/bin and never gets picked up by COPY in line 108.
diff --git a/Dockerfile b/Dockerfile index 21c885d..a6f8dcc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -86,7 +86,7 @@ RUN sh -c '\ export CFLAGS=-I/usr/local/include && \ export LDFLAGS=-L/usr/local/lib && \ cd /tmp/ctdl_build/citadel/textclient && \ - ./configure --prefix=/usr --ctdldir=/citadel_data && \ + ./configure --prefix=/usr/local --ctdldir=/citadel_data && \ make && make install && \ cd /tmp && \ rm -vfr /tmp/ctdl_build && \
Additionally, textclient configure doesn't set ETCDIR or output it to config.mk. Taking a guess that you'd want it in /usr/local as well.
diff --git a/textclient/configure b/textclient/configure index 9a7fbec02..512541e43 100755 --- a/textclient/configure +++ b/textclient/configure @@ -66,6 +66,7 @@ done [ "$PREFIX" = "" ] && PREFIX=/usr/local [ "$BINDIR" = "" ] && BINDIR=${PREFIX}/bin +[ "$ETCDIR" = "" ] && ETCDIR=${PREFIX}/etc [ "$CTDLDIR" = "" ] && CTDLDIR=/usr/local/citadel [ "$CFLAGS" = "" ] && CFLAGS='-Wformat-truncation=0 -ggdb' [ "$LDFLAGS" = "" ] && LDFLAGS='' @@ -138,6 +139,7 @@ cc $tempcc -o $tempfile && { echo "LDFLAGS := ${LDFLAGS}" echo "PREFIX := ${PREFIX}" echo "BINDIR := ${BINDIR}" + echo "ETCDIR := ${ETCDIR}" echo "CTDLDIR := ${CTDLDIR}" ) >config.mk
Subject: How works the automatic message eraser in webcit?
I want to erase all old messages after a year. How do it works? I try it in webcit, but it dosnt save these settings?!
Hello,
I was running Citadel build 917 because the server side mail filters work. Today I've installed the latest build (972/974) on a fresh Linux install (Fedora 38). I would like to retire my old server but without the filters it makes separating spam very difficult.
I have the following filters on my old and new server:
X-Spam-Status | contains | True | Forward to | <spam email> | continue processing
X-Spam-Status | contains | True | Discard silently | stop
On the old build they work fine. On the new build they do not work.
I started citadel with -x9 to get the full debug and here is the relative output:
Apr 28 17:42:32 xxxxxxxxxx.com citserver[47844]: citserver[47844]: inboxrules: for fladmin, messages newer than 11
Apr 28 17:42:32 xxxxxxxxxx.com citserver[47844]: citserver[47844]: inboxrules: processing rule 0 is xspamstatus
Apr 28 17:42:32 xxxxxxxxxx.com citserver[47844]: citserver[47844]: inboxrules: loading all of message 12
Apr 28 17:42:32 xxxxxxxxxx.com citserver[47844]: citserver[47844]: msgbase: CtdlFetchMessage(12, 1)
Apr 28 17:42:32 xxxxxxxxxx.com citserver[47844]: citserver[47844]: Value of field to compare is: <>
Apr 28 17:42:32 xxxxxxxxxx.com citserver[47844]: citserver[47844]: substring match: 0
Apr 28 17:42:32 xxxxxxxxxx.com citserver[47844]: citserver[47844]: exact match: 0
Apr 28 17:42:32 xxxxxxxxxx.com citserver[47844]: citserver[47844]: inboxrules: rule not activated
Any help is appreciated.
Regards,
Allen
I was able to get the source code of the current build loaded on the new system and I modified /citadel/server/modules/serv_inboxrules.c
When the rule is X-Spam-Status is selected the field 'compare_me' is now filled.
I compiled and installed the change and it worked properly.
Below is the 'diff' output of the original and new serv_inboxrules.c:
diff serv_inboxrules.c orig/serv_inboxrules.c
490,492d489
< const char *ptr,*ptr1; // Temporary variables to get X-Spam-Status
< int len;
<
620,634c617
< if(!IsEmptyStr(msg->cm_fields[eMesageText])){
< if((ptr=strstr(msg->cm_fields[eMesageText],"X-Spam-Status"))!=NULL){
< len=0;
< ptr1=ptr;
< while(*ptr1 && (*ptr1!='\r') && (*ptr1!='\n')){
< ptr1++;
< len++;
< }
< if(len && (len<SIZ)){
< memcpy(compare_me,ptr,len);
< compare_me[len]='\0';
< }
< }
< }
< break;
---
>
Regards,
Allen