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.
I noticed that large quantities of spam emails were going though port 587 of my Citadel server. I have the IP address of the spammer. How do I find out which of my users (if any) this IP address corresponds to. I have a log file in the database (under /usr/local/citadel/data), but it is spectacularly unhelpful. In general, how can I determine how many emails each particular user has sent and received? Is there a way to limit the number of emails that each user can send (say, to 500)? Any ideas about how to prevent this from happening again in the future?
I noticed that large quantities of spam emails were going though port 587 of my Citadel server. I have the IP address of the spammer. How do I find out which of my users (if any) this IP address corresponds to. I have a log file in the database (under /usr/local/citadel/data), but it is spectacularly unhelpful. In general, how can I determine how many emails each particular user has sent and received? Is there a way to limit the number of emails that each user can send (say, to 500)? Any ideas about how to prevent this from happening again in the future?
The "log files" in a database refer to database journaling, not system logs, so that's definitely not the place to look.
Unfortunately there is no setting in Citadel which would limit the number of emails that a user can send. They're either allowed or not allowed. You could look at the userlist though, and find a user with a particularly outrageously high message count. That's problably the one. Best practice, however, would dictate that you have all your users change their passwords and make sure they're good passwords.
If you really want to rate-limit incoming SMTP connections from a single IP address, you can do that from the operating system's own firewall. For example, if you are running on Linux you can rate-limit the port using iptables.
Here's an example I found on the internet:
[ https://blog.programster.org/rate-limit-requests-with-iptables ]
Subject: i just wanted to let you know i'm still here
i've still got the issue i had with the user and havent been able to try the fix you told me yet due to updating. i backed it up so i could just revert if things don't go well.. and i've not been able to successfully update yet. it seems to go ok but when it goes to "connecting to citadel server" the green [**----------------] loading bar disappears and it just sits there while the website gives me a 503 error. not quite sure what i should check.
Thank you for the information about rate limiting posts using IP tables.
None of my users has more than a handful of messages shown on the administrator's "Edit user account" page. Also, I have now unchecked the "Permission to send Internet mail" box for all of my users, but apparently emails are still being sent--at least, that is how I am interpreting what I am seeing in my Linux syslog file (repeated every 2 seconds):
Nov 5 05:07:45 superman citserver[527]: citserver[527]: context: session (SMTP-MSA) started from ****removed**** (****removed****) uid=-1
Nov 5 05:07:45 superman citserver[527]: context: session (SMTP-MSA) started from ****removed**** (****removed****) uid=-1
Nov 5 05:07:49 superman citserver[527]: citserver[527]: context: [ 80]SRV[SMTP-MSA] Session ended.
Nov 5 05:07:49 superman citserver[527]: context: [ 80]SRV[SMTP-MSA] Session ended.
Nov 5 05:07:49 superman citserver[527]: citserver[527]: context: [ 81]SRV[SMTP-MSA] Session ended.
Nov 5 05:07:49 superman citserver[527]: context: [ 81]SRV[SMTP-MSA] Session ended.
The lights on the server and router were also flashing rapidly, which indicate a large amount of traffic. Is it possible that I am misinterpreting what I am seeing in the syslog file? Could a user's computer only be making a connection every 2 seconds but not sending anything? I am not seeing any outgoing emails in my Linux mail.log log file, only incoming ones, so I am not sure whether outgoing emails are actually being sent. Enabling journaling under the "Indexing/Journaling" and checking the boxes "Enable full text index" and "Perform journaling of email messages" does not seem to do anything other than adding some entries to the syslog file, but I may just not know where to look for whatever journal files are produced by those settings.
Also, I could not find any useful information about the difference between a "local user" and a "network user". Does it have anything to do with the ability of a user to send or receive email to the WAN, verses limiting it to the LAN?
Subject: Re: [Citadel Support] Re: View Old Names To Fix Problem
it took a while for me to update but i finally figured out how to rebuild the database and all that. so its updated now but when i go into the console with that command it allows me to login and shows me lobby messages, i get to the lobby prompt but it freezes, not allowing any input. it doesn't seem to be taking up any cpu or anything. looking into that issue now, but its running pretty well with the updates and all. no issues and everything's intact after rebuilding the database. going to dig around for logs and see why it would just hang up without doing or saying anything.
- Im Wörterbuch speichern
- Keine Wortliste für Englisch → Deutsch...
- Eine neue Wortliste erstellen...
- Keine Wortliste für Englisch → Deutsch...
- Kopieren