cd /usr/local/citadel
./sendcommand IGAB
root@Box:/usr/local/citadel# ./sendcommand IGAB sendcommand: started (pid=1392) connecting to Citadel server with data directory /usr/local/citadel sendcommand: can't connect: Connection refused
that's probably the problem.
- Afrikaans
- Albanisch
- Amharisch
- Arabisch
- Armenisch
- Aserbaidschanisch
- Bengalisch
- Birmanisch
- Bulgarisch
- Chinesisch (traditionell)
- Chinesisch (vereinfacht)
- Deutsch
- Dänisch
- Englisch
- Estnisch
- Finnisch
- Französisch
- Griechisch
- Gujarati
- Haitianisch
- Hebräisch
- Hindi
- Indonesisch
- Isländisch
- Italienisch
- Japanisch
- Kannada
- Kasachisch
- Katalanisch
- Khmer
- Koreanisch
- Kroatisch
- Kurdisch (kurmandschi)
- Lao
- Lettisch
- Litauisch
- Malagasy
- Malayalam
- Malaysisch
- Maltesisch
- Maori
- Marathi
- Nepalesisch
- Niederländisch
- Norwegisch
- Paschtu
- Persisch
- Polnisch
- Portugiesisch
- Punjabi
- Rumänisch
- Russisch
- Samoanisch
- Schwedisch
- Slowakisch
- Slowenisch
- Spanisch
- Tamil
- Telugu
- Thailändisch
- Tschechisch
- Türkisch
- Ukrainisch
- Ungarisch
- Urdu
- Vietnamesisch
- Walisisch
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Deutsch...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Deutsch...
- Kopieren
Hi!
So I've set up Citadel on a small test server I've got at home (behind a router) using the "install from docker container" route. The DNS is (I think) set up, and I can receive mail without an issue. I cannot, however, send any mails... Any I try to send just get returned with "Delivery Status Notification (Failure)" and that the email address is undeliverable (with an error code of 421). This happens no matter which address I try to send to; I've tried sending to four different addresses so far, and they all get the exact same error message. I can see the mail being queued by the Citadel server, and after about a minute or two it's removed from the queue (which, as I've understood it, is how it's supposed to look).
A couple of thoughts I've had:
1) DNS entries. I've got an MX entry (which obviously is correct considering I can receive mails), as well as a SPF and a DMARC entry. I've been using "MXToolBox", and that one says they're correct, so I guess they are? The DMARC is "v=DMARC1;p=none;rua=mailto:<my mail address>;ruf=mailto:<my mail address>", and the SPF one is "v=spf1 mx -all". Should they look any different?
2) Ports. Right now I've only got port 25 forwarded to my mail server in my router (I try to keep as few ports as possible open to the outside for obvious reasons). Do outgoing mails need another port opened for some reason (seeing how they're outgoing, I can't see why, but...)?
I had this problem before adding the SPF and DMARC DNS entries; nothing at all has changed since I added those. And considering the problem exists for all external addresses (I can send to other local addresses that exist in the Citadel server without an issue, but I'm guessing those don't go anywhere at all outside Citadel), my current guess is that it's something local on my end and that the mails aren't being sent out correctly. Any tips for what else I can test? Are there logs in Citadel that would point me in the right direction (I haven't been able to find any, even after opening a bash in my container)?
well, i fixed the server's connection to itself... but now it just doesn't know what the command is
root@Mail:/usr/local/citadel# ./sendcommand IGAB
sendcommand: started (pid=625) connecting to Citadel server with data directory /usr/local/citadel
200 furryrefuge.com Citadel server ADMIN CONNECTION ready.
IGAB
530 Unrecognized or unsupported command.
sendcommand: processing ended.
Hmm, I guess I had forgotten that the IGAB command was removed.
You can also do something like
./sendcommand "QDIR username@your.domain"
And it will tell you what Citadel account is bound to that email address.
well, i now have the UID of the non existant user account that uses the address. can i use this UID and sendcommand to remove the account? or at least unset/reset the address so its not taken up by the account?
so, after trying commands to unset the email (there was no straight up delete user command), i tried AGUP/ASUP and that failed saying user didn't exist so i couldn't change the email. here's the connundrum: GETU says it exists, but QUSR says it doesn't exist.. i can't query the user, but i can just get the user and it exists. doesn't appear in LIST... i'm not sure what to do. i did run TDAP which i assume is as close to IGAB as i can get, but that hasn't done anything useful just yet... says it started and its been an hour and the issue still exists, so i dont think it helped any.
root@Mail:/usr/local/citadel# ./sendcommand "GETU Use R. Name"
sendcommand: started (pid=3213) connecting to Citadel server with data directory /usr/local/citadel
200 furryrefuge.com Citadel server ADMIN CONNECTION ready.
GETU Use R. Name
200 80|24|0|
sendcommand: processing ended.
root@Mail:/usr/local/citadel# ./sendcommand "QUSR Use R. Name"
sendcommand: started (pid=3214) connecting to Citadel server with data directory /usr/local/citadel
200 furryrefuge.com Citadel server ADMIN CONNECTION ready.
QUSR Use R. Name
570 No such user.
root@Mail:/usr/local/citadel# ./sendcommand "CHEK Use R. Name"
sendcommand: started (pid=3208) connecting to Citadel server with data directory /usr/local/citadel
200 furryrefuge.com Citadel server ADMIN CONNECTION ready.
CHEK Use R. Name
200 0|0|0||
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Englisch (USA)...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Englisch (USA)...
- Kopieren
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Englisch (USA)...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Englisch (USA)...
- Kopieren
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Englisch (USA)...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Englisch (USA)...
- Kopieren
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Englisch (USA)...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Englisch (USA)...
- Kopieren
If GETU works, I wonder if SETU also works? You could set the user's access level to 0 (deleted) and then allow it to purge (or initiate a purge using TDAP).
By the way, if you're tired of entering server commands, you could also log in with the console mode client (as an administrator) and try the .Admin User Delete command.
Finally: the CHEK command doesn't operate on an individual user account. It's not relevant here.
i've tried looking for a table in the documentation that shows what the GETU output "80|24|0" means as i assumed it was UID, permissions, and whatever else... but apparently i'm wrong as every user i've tried GETU with returns 80|24|0. there doesn't seem to be any clear documentation on what exactly that means. documentation on both GETU and SETU below. according to this, the SETU command also takes inputs on screen as the 2nd and third arguments? even if it ignores them i'd have to use a placeholder like 0 so.. if the GETU output was like "something | permissions | something" then SETU would be "SETU Use R. Name|0|0|something|0|something" correct?
"GETU (GET User configuration)
This command retrieves the configuration options for the currently logged in account. ERROR+NOT_LOGGED_IN will be returned if no user is logged in, of course. Otherwise, OK will be returned, followed by four parameters. The first two parameters in the past conveyed the stored screen dimensions for the user, but since modern displays are able to communicate their screen dimensions back to the system this is no longer needed, so the server always returns 80x24 as a placeholder. The third parameter is a bag of bits with the following meanings: US_LASTOLD 16 Print last old message with new US_EXPERT 32 Experienced user (suppress some of the help blurbs) US_UNLISTED 64 Unlisted userlog entry US_NOPROMPT 128 Don't prompt after each message US_DISAPPEAR 512 Use "disappearing msg prompts" US_PAGINATOR 2048 Pause after each screen of text There are other bits, too, but they can't be changed by the user (see below). SETU (SET User configuration) This command does the opposite of GETU: it takes the screen dimensions and user options (which were probably obtained with a GETU command, and perhaps modified by the user) and writes them to the user account. This command should be passed three parameters: the screen width, the screen height, and the option bits (see above). It returns ERROR+NOT_LOGGED_IN if no user is logged in, and ERROR+ILLEGAL_VALUE if the parameters are incorrect. Note that there exist bits here which are not listed in this document. Some are flags that can only be set by administrators. SETU will ignore attempts to toggle these bits. There also may be more user settable bits added at a later date. To maintain later downward compatibility, the following procedure is suggested: * Execute GETU to read the current flags * Toggle the bits that we know we can toggle * Execute SETU to write the flags If we are passed a bit whose meaning we don't know, it's best to leave it alone, and pass it right back to the server. That way we can use an old client on a server that uses an unknown bit without accidentally clearing it every time we set the user's configuration. As noted above, we no longer store per-user screen dimensions, so any value supplied will be ignored.
i guess just "SETU Use R. Name|0|0|0|0|0" would work? but i feel like i'm not even remotely right.
Subject: Re: [Citadel Support] Re: View Old Names To Fix Problem
Doesnt the 80 & 24 refer to screen width and number of lines?
Marisa
i've tried looking for a table in the documentation that shows what the GETU output "80|24|0" means as i assumed it was UID, permissions, and whatever else... but apparently i'm wrong as every user i've tried GETU with returns 80|24|0. there doesn't seem to be any clear documentation on what exactly that means. documentation on both GETU and SETU below. according to this, the SETU command also takes inputs on screen as the 2nd and third arguments? even if it ignores them i'd have to use a placeholder like 0 so.. if the GETU output was like "something | permissions | something" then SETU would be "SETU Use R. Name|0|0|something|0|something" correct?
"GETU (GET User configuration)
This command retrieves the configuration options for the currently logged in account. ERROR+NOT_LOGGED_IN will be returned if no user is logged in, of course. Otherwise, OK will be returned, followed by four parameters. The first two parameters in the past conveyed the stored screen dimensions for the user, but since modern displays are able to communicate their screen dimensions back to the system this is no longer needed, so the server always returns 80x24 as a placeholder. The third parameter is a bag of bits with the following meanings: US_LASTOLD 16 Print last old message with new US_EXPERT 32 Experienced user (suppress some of the help blurbs) US_UNLISTED 64 Unlisted userlog entry US_NOPROMPT 128 Don't prompt after each message US_DISAPPEAR 512 Use "disappearing msg prompts" US_PAGINATOR 2048 Pause after each screen of text There are other bits, too, but they can't be changed by the user (see below). SETU (SET User configuration) This command does the opposite of GETU: it takes the screen dimensions and user options (which were probably obtained with a GETU command, and perhaps modified by the user) and writes them to the user account. This command should be passed three parameters: the screen width, the screen height, and the option bits (see above). It returns ERROR+NOT_LOGGED_IN if no user is logged in, and ERROR+ILLEGAL_VALUE if the parameters are incorrect. Note that there exist bits here which are not listed in this document. Some are flags that can only be set by administrators. SETU will ignore attempts to toggle these bits. There also may be more user settable bits added at a later date. To maintain later downward compatibility, the following procedure is suggested: * Execute GETU to read the current flags * Toggle the bits that we know we can toggle * Execute SETU to write the flags If we are passed a bit whose meaning we don't know, it's best to leave it alone, and pass it right back to the server. That way we can use an old client on a server that uses an unknown bit without accidentally clearing it every time we set the user's configuration. As noted above, we no longer store per-user screen dimensions, so any value supplied will be ignored."TRANSLATE withx
EnglishTRANSLATE withEnable collaborative features and customize widget: Bing Webmaster Portal
-- --- https://msbob.org - Support for MS Bob user interface --- https://pocketmud.com - Support and hosting for CoffeeMUD MUDs --- https://minecity.online - Support and hosting for Minetest/Multicraft2 --- https://synchronetbbs.org - Support and hosting for Synchronet BBS software
Subject: Re: [Citadel Support] Re: View Old Names To Fix Problem
that does make sense, i didn't make the connection. but then how would i format the rest of everything? they all already all have 0's as the 3rd number. what specifically am i supposed to set to 0 on this user? the 4th or 5th number? i hope i'm just missing like just a quick value map i could make sense of
Subject: Re: [Citadel Support] Re: View Old Names To Fix Problem
i tried this command and then TDAP but it doesn't look like it did anything. GETU still sees it. i'm not sure how to log into the other tool you suggested though
root@Mail:/usr/local/citadel# ./sendcommand "SETU Use R. Name|80|24|0|0|0|0|0|0|0|0"
sendcommand: started (pid=7077) connecting to Citadel server with data directory /usr/local/citadel
200 furryrefuge.com Citadel server ADMIN CONNECTION ready.
SETU Use R. Name|80|24|0|0|0|0|0|0|0|0
200 Ok
sendcommand: processing ended.
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Deutsch...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Deutsch...
- Kopieren
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Deutsch...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Deutsch...
- Kopieren
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Deutsch...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Deutsch...
- Kopieren
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Deutsch...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Deutsch...
- Kopieren
Subject: Re: [Citadel Support] Re: View Old Names To Fix Problem
Ok, you're working really hard on a solution and your effort is very much appreciated. Thank you for that.
Let's try the text mode client. Go to your host system and enter the following commands:
cd /usr/local/citadel
./citadel
This will start the console mode client. Log in as an administrator. It will probably start showing you messages in the Lobby. You can hit S for "Stop" and you will get the room prompt (Lobby>).
The commands you're interested in now are "<.A>dmin <U>ser <E>dit" and probably "<.A>dmin <U>ser <D>elete". Type the "." (period) and then the first letter of each command (A, U, etc). At any point you can hit the "?" (question mark) to show all of the available subcommands at that level.
This is probably easier than playing around with AGUP and ASUP. The client will send those commands to the server for you.
Hint: if you delete a user, it actually only sets their access level to 0 (Deleted) and the actual deletion will be performed when the auto-purger runs.
So go ahead and try that. If these commands verify that the user really does exist, and you're able to delete that account, but the email address remains unavailable, say so here and we'll figure out whether there's an actual software problem that needs to be coded around.
Subject: Re: [Citadel Support] Re: View Old Names To Fix Problem
This is hands-down the best email server and networking server for groups and small businesses. i use this daily for my community where we have a support room that support@example.com goes to, all server logs that need looking at go to admin@example.com which is an alias for room_Admin@example.com and doing that is so insanely useful and also very unique. after extensively testing out which servers i would want to use personally, i knew this was the one. so switching just because of an issue isn't a problem.. but conversely, i figure the harder the problem, the more you learn. and i got my buddies who run communities of their own to try it too. i figure if i learn more, i can help out more. so in honesty, thank YOU for being willing to help me.
back to the issue though, running the command gave me the error "no citadel.rc" so i made one and now its saying the server is to old for MSG4. so i imagine i should update and i figure (but want to ask first to make sure its ok because it doesn't really flat out say it on the documentation) but since i installed with the script, i should be able to run it again and have it update everything, right? after updating i'll see if the issue persists then try those commands again
Subject: Re: [Citadel Support] Re: View Old Names To Fix Problem
If you like it now, wait'll you see the new web interface we're building.
It's way more modern and will blow your feathers off. :)
Yes, please do run the upgrade. Take a full backup first, of course. Then try the command again. I'll check out one of my development systems and see if we can figure out where that MSG4 error is coming from, but I do recall we fixed something like that not too long ago. Can you tell us what version you're running?
Does citadel have a 64-bit ARM image?
Subject: Re: Installing citadel on raspberry pi 4 8GB
Does citadel have a 64-bit ARM image?
Citadel will run just fine on 64-bit ARM but you have to build it yourself using Easy Install.
I assume you're talking about the container version, which we currently build using a cross compiler (and occasionally test on a real Pi). The cross compiler crashes when we try 64-bit ARM and I don't know why. Hopefully this will get worked out in some future version of the development kit and we'll add ARM 64 to the build.
Subject: Re: [Citadel Support] Re: View Old Names To Fix Problem
When is the new web interface expected to be released? Any previews?
Subject: Re: [Citadel Support] Re: View Old Names To Fix Problem
So there went my Saturday with nothing to show for it :)
We'll get a preview running at some point.