[Citadel Development] DKIM-signed mail is coming to Citadel

2024-04-25 Thread IGnatius T Foobar
So this is happening ... [ https://code.citadel.org/?p=ig-dkim.git ] I found a nice tidy little DKIM-signing library, just a few hundred lines of code, one source module, abandoned for about twelve years after the project that built it ceased to exist. Big thanks to them for

[Citadel Development] Re: Do not convert compared times to UTC.

2024-03-21 Thread IGnatius T Foobar
I'm really pleased with how libical does the heavy lifting for me here. It has improved greatly since the old days when we were its caretakers. Comparing two timestamps that are in different time zones actually works. I don't know how it works, but it works. Just to make sure it wasn't just

[Citadel Development] Re: Release version 997 generated by do-release.sh

2024-01-29 Thread IGnatius T Foobar
Well that's a fine howdy-do, I tagged the release without also mentioning why I pushed it at this time.  This version has the config option to advertise STARTTLS on the public SMTP server.

[Citadel Development] (null)

2024-01-16 Thread IGnatius T Foobar
All righty then. Pulling in the RSS feed from cgit, since OinkLab is no longer in use. There will be some dupes. Here it comes.

[Citadel Development] (null)

2024-01-13 Thread IGnatius T Foobar
For those of you who are pulling updates from the Citadel git repository, please take note: the address of the repository has changed (again). It is now: https://code.citadel.org/git/citadel.git There is also a GitWeb instance at that address, for the benefit of anyone who wants to

[Citadel Development] Re: START_CHAT_MODE is renamed to SEND_THEN_RECV

2024-01-09 Thread IGnatius T Foobar
Me too, which is why it took me so long to get out of that headspace. The truth is, however, Citadel is extremely popular with the operators of small autonomous sites, not so much the "Exchange killer" I once thought it could become. That crap all moved to the cloud anyway. Even now as I am

[Citadel Development] Re: START_CHAT_MODE is renamed to SEND_THEN_RECV

2024-01-09 Thread IGnatius T Foobar
>That is a hard one. But keeping them separate might help with >scalability?  That was true for WebCit-classic which contains a server-side user interface. And until a few years ago they could run on separate machines, so you could have multiple WebCit instances running with a load

[Citadel Development] Re: START_CHAT_MODE is renamed to SEND_THEN_RECV

2024-01-08 Thread IGnatius T Foobar
I've been thinking lately that it might begin to make sense to put the web server (really, the web API) directly into Citadel Server. Since it's now a web API and no longer a user interface, it could be an improvement. *shrug*

[Citadel Development] Re: view_mail.js: more improvements to mail forwarding

2023-12-12 Thread IGnatius T Foobar
I'm starting to be quite happy with this. WebCit-NG is starting to take the shape of a very competent webmail client. Very clean, too, since it doesn't need to push a bunch of other garbage in your face the way commercial offerings do: "Here's a feature we really want you to use and we won't

[Citadel Development] (null)

2023-12-05 Thread IGnatius T Foobar
Whenever I have some time to kill (boring meeting, waiting for something to finish, etc) sometimes I will start up a test environment in the clown. I have a subscription to a training site that allows free time-limited sandboxes in the three big hyperscale clowns. And I'll run a Citadel

[Citadel Development] Re: serv_extensions.c: style cleanup from 30,000 feet

2023-12-01 Thread IGnatius T Foobar
>git push from an airplane?  showoff Yup. :) Unfortunately I was en route to World Of Crap (AWS re:Invent) while on the plane. As a t-mobile customer I get a lot of free wifi benefits. I think they provide the ground links or something.

[Citadel Development] (null)

2023-09-22 Thread IGnatius T Foobar
Ok, so it has to stay, then. Does sendmail not support LMTP?

[Citadel Development] (null)

2023-09-21 Thread IGnatius T Foobar
*sigh* Another day, another person who won't listen. Quick poll for fellow Citerati out there. Does anyone think we still need the `citmail` utility? As a refresher, this program is an MDA, analagous to `procmail` or `maildrop`, that files incoming mail into Citadel mailboxes after

[Citadel Development] Re: Write server PID to citadel.lock in addition to locking it.

2023-09-19 Thread IGnatius T Foobar
So here's what is on my mind regarding this. Suggestions are welcome. `/var/run` is a good place to put the PID file, which as previously mentioned is also the lock file. Mounting the same database from two different instances of `citserver` would be A Bad Thing. (Even though I'm still

[Citadel Development] Re: Write server PID to citadel.lock in addition to locking it.

2023-09-18 Thread IGnatius T Foobar
Whoa, what font is that ?!! I am aware that `/var/run` is the conventional location, and may yet move it there. Doing so would, however, prevent multiple instances of Citadel Server from running on the same host. There were definitely people doing that in the past, but I wonder if

[Citadel Development] (null)

2023-09-18 Thread IGnatius T Foobar
Quick update regarding GitLab and git itself: I've removed SSH access to the repository. All access should be through HTTPS. This is much more secure. And yes, you can store your creds. The recommended procedure if you plan to commit is to grab yourself a Personal Access Token using your

[Citadel Development] (null)

2023-09-16 Thread IGnatius T Foobar
Uncensored has been updated from git master as of right now (Saturday morning). This includes a fix for a security vulnerability that some weirdo expected me to be able to read in Japanese. :(

[Citadel Development] (null)

2023-09-09 Thread IGnatius T Foobar
Here's what worked for me: Going through my history... here's what I've got. (This is with `bash`, alter accordingly for your favorite shell.) pkg install gmake gcc autoconf automake binutils gsed libtool intltool openssl curl expat libical libiconv icu bash git curl

[Citadel Development] Re: Removed background and restart from citserver.

2023-09-08 Thread IGnatius T Foobar
Geez.  I can't believe how much more stable Citadel Server is with this new improved backend.  it was worth spending most of the summer working on this. Kitty -- I hope you're having good results on FreeBSD -- please let me know if it works for you. I've got a test running right now with the

[Citadel Development] Re: serv_expire: abort() if any malloc() calls fail.

2023-09-06 Thread IGnatius T Foobar
The above commit has to do with the experience a few of us had with rooms suddenly containing all new messages. There was no database corruption. THE DREADED AUTO-PURGER did this, and it appears to have believed that it was supposed to do that. When we purge `visit` records, we first

[Citadel Development] Re: berkeley_db: cdb_next_item() use DB_REALLOC, not DB_MALLOC

2023-09-05 Thread IGnatius T Foobar
Phooey. This was a bit of a brown-paper-bug. I have to do a full release of the software to correct it. Dumping and loading a test system was fine, but when I tried to dump a clone of Uncensored it showed the memory leak.

[Citadel Development] Re: IMAP Flags branch?

2023-09-04 Thread IGnatius T Foobar
No pressure at all! Just looking out to see if you are ok and still with us. But after a break you'll notice that there is likely some tweaking to do. Specifically, if we are to have multiple versions of the visit record (and I do think that's a good way to go) we'll need to tweak `ctdldump` to

[Citadel Development] Re: Removed background and restart from citserver.

2023-09-02 Thread IGnatius T Foobar
>The rc system fully detaches it from the entire call stack, in the >end it just looks like init ran the daemon.  The rc system is really >just a series of shell scripts, nothing too fancy.  That's why PID >files are so important, the rc system uses those to figure out which >PID to

[Citadel Development] Re: Removed background and restart from citserver.

2023-09-01 Thread IGnatius T Foobar
All righty then. The current code in git master is running on FreeBSD. Here's the deal: 1. You need ldap client library (`pkg install openldap26-client`) even if you aren't using LDAP 2. `gmake` and `gcc` are required. It won't build with whatever FreeBSD is using natively. 3. The

[Citadel Development] Re: Removed background and restart from citserver.

2023-09-01 Thread IGnatius T Foobar
UUU--- Drive 0 on my desktop is fux0red. This was my main workstation and also where I had my FreeBSD vm installed. Time to rebuild.

[Citadel Development] Re: Removed background and restart from citserver.

2023-09-01 Thread IGnatius T Foobar
nd just like that, my main machine at home bit the dust. *grumble*

[Citadel Development] Re: Removed background and restart from citserver.

2023-09-01 Thread IGnatius T Foobar
>So FreeBSD's rc system sends a SIGTERM when you do "doas service >citserver stop".  This should run the same code that cleanly shuts >down citserver when you do a ".ATN y" from the text client.  All the Perfect. That's exactly the desired behavior, and it will be "even more that

[Citadel Development] Re: Removed background and restart from citserver.

2023-08-31 Thread IGnatius T Foobar
>citserver should exit cleanly when it receives a SIGINT, SIGQUIT, or >SIGKILL. > >This may be why using FreeBSD's rc system caused badness on my >system. And it so happens that FreeBSD is the reason I pulled that section of code out. This is an opportunity to remove all

[Citadel Development] Re: Master: citserver coredump on Shutdown

2023-08-30 Thread IGnatius T Foobar
>When I build from master now, when I shutdown citserver, it core dumps right >after closing the 0d database.  Since I had an issue where webcit was core >dumping and was not re-creatable by anyone else, I am wondering if this is >just me. Remember that discussion, from early

[Citadel Development] Re: I'm in ur VM, running FreeBSD

2023-08-29 Thread IGnatius T Foobar
Yet another status update! With some sleep under my belt and a thankfully slow day at work I've been able to poke around a little more. Uncensored crashed a couple of times last night but I think it was because of a null pointer bug I somehow introduced. Turning off the indexer

[Citadel Development] Re: I'm in ur VM, running FreeBSD

2023-08-29 Thread IGnatius T Foobar
Yeesh. It's nearly 2:00am and I still haven't figured out the deadlock problem. But I can make it appear pretty reliably by doing these things together: 1. loadtest, with 3 threads 2. while true ; do ./sendcommand tdap ; sleep 1 ; done I also have a room on the test system that

[Citadel Development] Re: I'm in ur VM, running FreeBSD

2023-08-28 Thread IGnatius T Foobar
Yecch. The new code has a deadlock problem. The DB is rock solid though. On it.

[Citadel Development] Re: I'm in ur VM, running FreeBSD

2023-08-28 Thread IGnatius T Foobar
Oh, and in case I didn't make it abundantly clear: the remaining backend decoupling work is complete, and work on more modern backends can begin soon. LMDB? MariaDB? SeattleCloud Hosted DB? You name it, we'll be able to do it.

[Citadel Development] Re: I'm in ur VM, running FreeBSD

2023-08-28 Thread IGnatius T Foobar
Ok, I've got my FreeBSD system installed and have begun making changes to fix any problems that came up. I am also now running Uncensored on 'git master' (commit 6960933711b8353ad5cddcc17994db670911a1dc) as of right now. When it comes to dealing with database corruption, in the words of

[Citadel Development] Re: I'm in ur VM, running FreeBSD

2023-08-28 Thread IGnatius T Foobar
Ok, I've got my FreeBSD VM set up and will give the Citadel build a shot today. \

[Citadel Development] Re: PLEASE TEST THIS IF YOU CAN!

2023-08-27 Thread IGnatius T Foobar
I'm having *really* good results with this latest commit. I haven't gotten it to corrupt the db no matter how badly I abuse it. This is the one. The only issue so far is that under multiple very heavy load tests, I have gotten it to deadlock. But I don't know whether that's a new

[Citadel Development] PLEASE TEST THIS IF YOU CAN!

2023-08-26 Thread IGnatius T Foobar
All right everyone, this is the one to test. I think I've fixed all of the conditions that would make it corrupt the database. PLEASE test this version if you have the ability to. (The version currently in git master, not the release version on the web site.) The funny thing is, in

[Citadel Development] Re: master_cleanup() is now the global shutdown/exit function

2023-08-26 Thread IGnatius T Foobar
Geez. The more I look into the Berkeley DB back end the more fucked up I find it is. Disregard the previous comment about the locking subsystem. I changed dbenv->open() flags again, this time DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN | DB_RECOVER | DB_THREAD

[Citadel Development] Re: master_cleanup() is now the global shutdown/exit function

2023-08-25 Thread IGnatius T Foobar
Some interesting developments here. I disabled Berkeley DB's locking subsystem, because Citadel handles locking and concurrency on its own. This seems to have fixed the segfault when it closes the database environment. I also have not managed to corrupt the database no matter how badly

[Citadel Development] Re: cdb_next_item() now returns both key and value

2023-08-23 Thread IGnatius T Foobar
Clarification of the above commit -- because it's important. When traversing an entire table (as opposed to just fetching one row for which you already know the key) the backend API now returns both a key and a value. This is done by returning a "struct cdbkeyval" which simply contains a

[Citadel Development] IMAP Flags branch?

2023-08-20 Thread IGnatius T Foobar
HarlowSolutions: I noticed that the IMAP Flags branch is no longer in the repo. Are you refactoring it? Do you need anything from me to move forward? I've been heads down on this stupid database thing lately.

[Citadel Development] (null)

2023-08-20 Thread IGnatius T Foobar
Putting HTML directly into the editor does work if you push the "HTML" button :) (...and someday soon, when this whole war on berkeley db thing is finished, we'll get back to webcit-ng...)

[Citadel Development] (null)

2023-08-19 Thread IGnatius T Foobar
UFarx: the formatter messed up that patch, I think. just remove the br tags I ended up having to apply your changes manually.  Thank you for the patch, but in the future please either post it as an attachment (good) or upload it to our gitlab as a merge request (better). And thank you

[Citadel Development] (null)

2023-08-15 Thread IGnatius T Foobar
UFarx: the formatter messed up that patch, I think. Can you put it in as a merge request? I'll pm you a login.

[Citadel Development] (null)

2023-08-11 Thread IGnatius T Foobar
>if that's welcome, i'm happy to beef things up a little without >sacrificing any compatibility. I'd be pleased to see that. Maybe just do one component first so we can see what it will look like. We try to make the build work cleanly on FreeBSD and Linux. There is no interest in

[Citadel Development] (null)

2023-08-11 Thread IGnatius T Foobar
All right, that worked much better. The database backend interface has been reverted to what it was before. The backend for Berkeley DB still needs thread-specific data, but now it maintains that data locally to the module instead of tainting the server with its own needs. Sensibly, when

[Citadel Development] (null)

2023-08-11 Thread IGnatius T Foobar
> Therefore I am changing the API so that cdb_rewind() returns a cursor, >and cdb_next_item() must be passed that cursor with every call. As Well that was a disaster, and with more people involved now I ought to test this stuff before announcing an API change. I think I'm going to

[Citadel Development] Re: Build System

2023-08-11 Thread IGnatius T Foobar
>as for creating a patch, i would but if you wanna switch to cmake >anyway it might not be necessary anymore. a word of caution though >regarding cmake: CMake is interesting and I'm happy to learn about it, but we've got too much going on right now to think about switching to a new

[Citadel Development] (null)

2023-08-11 Thread IGnatius T Foobar
>I already did the account creation thingy. Ok, I approved the account. I guess I need to set up more alerts on that sort of thing.

[Citadel Development] (null)

2023-08-10 Thread IGnatius T Foobar
Absolutely! Just go to https://code.citadel.org and create an account. You will need to use your @uncensored.citadel.org address, at least initially. I'll approve it in short order.

[Citadel Development] (null)

2023-08-10 Thread IGnatius T Foobar
>If it were up to me, the entire build system would be using CMake.  That does look nice and clean. My objective wasn't to stop using Make, but to stop using the GNU Autotools stuff. Those tools are built to handle all sorts of obscure edge cases that don't exist anymore. There just

[Citadel Development] (null)

2023-08-10 Thread IGnatius T Foobar
More notes on the database abstraction layer: I did point out that the API isn't totally frozen :) For database cursors, we were keeping cursor variables around per-thread-per-table, which requires putting Berkeley DB specific stuff in server/threads.h , and that's got to go.

[Citadel Development] Re: Build System

2023-08-10 Thread IGnatius T Foobar
UFarx: your suggestions for the build system are most welcome. I don't suppose we could ask you to submit a patch? We have a GitLab instance at [ https://code.citadel.org ] which accepts merge requests to the repository. (You'll need to sign up for it using uf...@uncensored.citadel.org

[Citadel Development] (null)

2023-08-09 Thread IGnatius T Foobar
Work on the abstraction layer for the storage backend continues. There is a new directory ./server/backends/ that is similar in design to ./server/modules/ for the rest of the server modules. I chose to open a different hierarchy because, as previously mentioned, the storage backend

[Citadel Development] (null)

2023-08-08 Thread IGnatius T Foobar
All righty, folks ... anyone looking to build a database backend of their own, please check out the latest batch of changes in the git repository. It basically works like this: * database.c has been renamed to database_bdb.c * database.h now basically declares an API for storage

[Citadel Development] Re: y creashRe: Database Recovery Tools

2023-08-08 Thread IGnatius T Foobar
Ok, here's what I'm starting to do. You can totally follow the commit logs to stay up to date. database.c has been renamed to database_bdb.c for the obvious reason. (We've been here before, but it was about 25 years ago when we switched from GDBM to Berkeley DB.) The database interface

[Citadel Development] Re: y creashRe: Database Recovery Tools

2023-08-08 Thread IGnatius T Foobar
The only thing that's "all the rage with the kids" is *calling* it "NoSQL". Berkeley DB has been a simple key/value data store for 30 years. And until recently it's worked fine for us.

[Citadel Development] Re: y creashRe: Database Recovery Tools

2023-08-07 Thread IGnatius T Foobar
To be honest I'm leaning towards LMDB, and for the people running on Raspberry Pi we will have to say "look, you're just going to have to install the 64-bit OS before you upgrade" Read through this presentation on LMDB. It's practically designed for our use case: [

[Citadel Development] Re: y creashRe: Database Recovery Tools

2023-08-07 Thread IGnatius T Foobar
The options currently under consideration are SQLite, MariaDB, and LMDB. SQLite: well known, well respected, embeddable. To do it right, however, would require adding a schema layer. The idea of just throwing away the SQL semantics and storing all records as blobs kind of bothers me

[Citadel Development] Re: y creashRe: Database Recovery Tools

2023-08-05 Thread IGnatius T Foobar
Ok, I think I found it. [ https://docs.oracle.com/cd/E17276_01/html/installation/build_unix_small.html ] Easy Install now uses the "--enable-smallbuild" flag, which disables verify. I am going to change it to --with-cryptography=no --disable-hash

[Citadel Development] Re: y creashRe: Database Recovery Tools

2023-08-05 Thread IGnatius T Foobar
I changed your project role from Developer to Maintainer, so hopefully you can do merges now. I'm also going to try to get GitLab to send more "news" to this room.

[Citadel Development] Re: Database Recovery Tools

2023-08-04 Thread IGnatius T Foobar
Ok, here is the DB installation: $MAKE $MAKEOPTS || die $MAKE install_lib || die $MAKE install_include || die $MAKE install_utilities || die So they *should* be there. Are your tools not on the system, or did it throw an error message when you tried

[Citadel Development] Re: Database Recovery Tools

2023-08-04 Thread IGnatius T Foobar
Did your db get corrupted because you were playing around with a development system, or did it happen on its own on a production system? I've just about had it with Berkeley DB, which is why I've spent a large number of hours on ctdldump/ctdlload. This is our escape hatch once we have an

[Citadel Development] Re: Merge Request Approval: IMAP memory issues with use of ConstStr

2023-08-01 Thread IGnatius T Foobar
Crap. Ok, I'll do the merge, but I really need to figure out what the heck is happening.

[Citadel Development] Re: Merge Request Approval: IMAP memory issues with use of ConstStr

2023-07-31 Thread IGnatius T Foobar
Sorry about that, it just got away from me. I approved it. Looks good.

[Citadel Development] Re: Merge Request Approval: IMAP memory issues with use of ConstStr

2023-07-29 Thread IGnatius T Foobar
I agree. The developer who introduced StrBuf and ConstBuf was helpful in giving us an elastic string class, but I wish he hadn't gone back through old code and converted stuff without a really deep inspection of how it was used.

[Citadel Development] Re: Merge Request Approval: IMAP memory issues with use of ConstStr

2023-07-26 Thread IGnatius T Foobar
>Not sure why the parameter was empty, but a lot of code accessed ConstStr >pointers without checking for zero length and pointer was null and could >coredump, so went through and added checks. *sigh* The IMAP server was written completely with straight C pointers and string

[Citadel Development] Re: Approval Request: Memory_Leak_SmtpClient

2023-07-26 Thread IGnatius T Foobar
>I am changing to updating the records on they fly rather than upgrading, so >the version number is really not that important.  New records use a version >signature and don't compare to the citserver version so no conflict. Sounds good. We are officially changed over from

[Citadel Development] (null)

2023-07-22 Thread IGnatius T Foobar
That is more than sufficient, thanks!

[Citadel Development] (null)

2023-07-22 Thread IGnatius T Foobar
I just pushed an update out that's going to do something ... that will either win big or lose big. It's possible that the occasional database corruption has something to do with aborting so quickly when an occasional segfault happens (for whatever reason) and it just stops without closing

[Citadel Development] (null)

2023-07-22 Thread IGnatius T Foobar
I would certainly welcome having a chance to test the build on that target and see how it goes.

[Citadel Development] (null)

2023-07-22 Thread IGnatius T Foobar
Do you have a live system you can use as a test of source data? If so, the most excellent test would be (after I get ctdldump and ctdlload into the build) to dump your system, load the dump on another system, and go through it carefully to see if the source system was reproduced with 100%

[Citadel Development] Re: Approval Request: Memory_Leak_SmtpClient

2023-07-21 Thread IGnatius T Foobar
Oh, and I pushed the release button a few times, so when the visit merge is done we'll have to adjust the version numbers being applied.

[Citadel Development] Re: Approval Request: Memory_Leak_SmtpClient

2023-07-21 Thread IGnatius T Foobar
> If not then I'll merge and then troubleshoot. I think when we tell it >not to squash the commits, it brings in your entire commit history >followed by a merge commit. Ok, I went ahead and tried it. It did exactly that. The commits that make up the merge are written to the log

[Citadel Development] (null)

2023-07-21 Thread IGnatius T Foobar
F*g hell. I had to restore from a backup this afternoon because my database bit the dust. Looks like it's time to accelerate the replacement of Berkeley DB. ctdldump/ctdlload is functionally complete, and we can start testing it. I'm also thinking that maybe we want to split

[Citadel Development] Re: Approval Request: Memory_Leak_SmtpClient

2023-07-20 Thread IGnatius T Foobar
I had the same problem, and then I realized I was not logged in. Any chance that's happening to you? If not then I'll merge and then troubleshoot. I think when we tell it not to squash the commits, it brings in your entire commit history followed by a merge commit.

[Citadel Development] Re: Approval Request: Memory_Leak_SmtpClient

2023-07-20 Thread IGnatius T Foobar
Geez. Nice find. Approved, of course.

[Citadel Development] Re: Master: citserver coredump on Shutdown

2023-07-17 Thread IGnatius T Foobar
All good, take as much time as you need on the IMAP flags stuff. We'll make sure we do it right. As you've undoubtedly noticed if you follow the commit logs, over the last couple of weeks I've written "ctdldump" and "ctdlload" utilities that can be used to dump a Citadel database into a flat

[Citadel Development] Re: Master: citserver coredump on Shutdown

2023-07-10 Thread IGnatius T Foobar
To get things started, I have begun work on `ctdldump` and `ctdlload` frameworks. I've also improved the Makefile for Citadel Server so that it doesn't require compiling the entire server every time even one file is touched. I got lazy when I removed the GNU Autotools and just had it

[Citadel Development] Re: Master: citserver coredump on Shutdown

2023-07-09 Thread IGnatius T Foobar
Potentially, yes. I'm thinking more in terms of how to refactor the code. The database access stuff is all in `database.c` because there *was* a somewhat pluggable architecture in the past -- from flat files to gdbm and later to Berkeley DB. Since we've been using Berkeley DB exclusively

[Citadel Development] Re: Master: citserver coredump on Shutdown

2023-07-09 Thread IGnatius T Foobar
Grrr. Unrecoverable error on my database this morning. I think maybe it is time to put Berkeley DB out to pasture after all. Let's think about what we want the next to look like.

[Citadel Development] Re: Master: citserver coredump on Shutdown

2023-07-05 Thread IGnatius T Foobar
>Pretty consistent for me.  I put a check in the Berkley code to work around, >but not sure of the root cause either. Something must be getting double freed, but I can't figure out what.

[Citadel Development] Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags

2023-07-05 Thread IGnatius T Foobar
>I just realized that a Seen message set of *:2099348686 means all messages >have been seen.  Were all your messages unseen before the upgrade?  I do A seen message set of *:2099348686 means all messages have been seen up to and including 2099348686. We are using what RFC 3501

[Citadel Development] Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags

2023-07-05 Thread IGnatius T Foobar
>I was trying to figure out how to reject the request myself.  Does not look Do you have the button "Close merge request" on the bottom of the screen?

[Citadel Development] Re: Master: citserver coredump on Shutdown

2023-07-05 Thread IGnatius T Foobar
>It looks like the Berkley code is passing a NULL to a memory free routine >that does not check for NULL.  Anyone else having a problem?  If not, I >will look into how I build the server. It happens to me too, some of the time, and I have been busting my butt trying to figure it

[Citadel Development] Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags

2023-07-05 Thread IGnatius T Foobar
Ok then, I think the proper workflow is to cancel the merge request and start a new one? I could reject it but that seems rude :) It isn't just "a seen message set" -- it was ALL of them, across all rooms, at least for me. But if you want an example, my current seen-set for this room

[Citadel Development] Re: Long term plans for phase-out of Berkeley DB?

2023-07-03 Thread IGnatius T Foobar
You mean like this? ;) [ https://code.citadel.org/citadel/citadel-docker ] I'd like to get things trending towards more deployment of the Docker image (or technically an OCI compatible container, since you don't have to run it under Docker, blah blah blah) The current distribution is

[Citadel Development] Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags

2023-07-02 Thread IGnatius T Foobar
Ok, I tried out the proposed merge. Here are the results. 1. I made a copy of the Uncensored database and ran it on the main line code to verify that the copy is functioning identically to the production database. 2. I switched over to the merged branch and built everything from

[Citadel Development] Re: Long term plans for phase-out of Berkeley DB?

2023-07-01 Thread IGnatius T Foobar
>If you want to stay with index/data for the database, I think I might go back >and see if I can finish up a database.c replacement with MySql.  What I Hey, I'm totally cool with moving to a SQL database, if someone else is doing to be doing the bulk of the work. Seriously. I am just

[Citadel Development] Re: Long term plans for phase-out of Berkeley DB?

2023-06-30 Thread IGnatius T Foobar
>Just to chime in, the database.c code is very clean.  The only problem I >have had with Berkeley is that if the code or system crashes, most of the >time, the database is corrupted and recover does not help sometimes and I >have to revert to a backup.  The code has become a lot more

[Citadel Development] Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags

2023-06-30 Thread IGnatius T Foobar
I'm away on vacation right now and casually browsing the changes. I'll give it a good thorough testing when I'm back at my desk after the weekend, but so far I'm quite impressed. It looks like the changes really follow not just the coding style, but the *design* style of the existing Citadel

[Citadel Development] Re: Merge Request: Webcit_Coredump_StrBufQuotedPrintableEncode

2023-06-23 Thread IGnatius T Foobar
>Not sure if regression, but if you try to sent a message with a blank body, >webcit coredumps.  Just checked for empty message text and skipped trying to >output. I wasn't able to reproduce the problem but the patch looks like it will add some safety so I pulled it in anyway.

[Citadel Development] Re: Long term plans for phase-out of Berkeley DB?

2023-06-23 Thread IGnatius T Foobar
Right, and we do table-level locking in the application before we even attempt to touch the database, so that has worked pretty well. I did end up using an alternate --prefix just to keep the build a little more solid, but that seems to just change the symbol names internally without actually

[Citadel Development] Re: Long term plans for phase-out of Berkeley DB?

2023-06-20 Thread IGnatius T Foobar
Heh. Most of the database layer is still pretty much the same code you wrote 22 years ago. You did a great job on that. I've thought about switching to a SQL model. It would confer a lot of benefits. It would also open up a huge effort in getting all of the code converted over to

[Citadel Development] Re: Merge Request: Webcit_Coredump_StrBufQuotedPrintableEncode

2023-06-17 Thread IGnatius T Foobar
I see the merge request and will check it out. Thanks!

[Citadel Development] Long term plans for phase-out of Berkeley DB?

2023-06-15 Thread IGnatius T Foobar
A bit of thinking out loud with regard to long term plans for Citadel Server. Berkeley DB seems to have gained a bad reputation in the open source community. Much of it began in 2013 when Oracle switched it from the Sleepycat license to the AGPL. Debian discontinued updating it

[Citadel Development] Re: New Developer Questions

2023-06-14 Thread IGnatius T Foobar
Oh! Ok, that's why I didn't see a merge request. Cool, that's exactly how it should be. :) In other news, I finally figured out why the server kept crashing (on this site). Someone put a match string in their inbox rules that doesn't compile to a regular expression. regcomp() fails, and

[Citadel Development] Re: New Developer Questions

2023-06-04 Thread IGnatius T Foobar
I also see that the `Support_IMAP_Flagged_Deleted_Draft_Recent_flags` branch is still there. I thought it was going to get deleted in the merge. Mind if I delete it? I also have to make sure I'm not "squashing" multiple commits so they all get their own commit log messages. Thanks for

[Citadel Development] Re: New Developer Questions

2023-06-03 Thread IGnatius T Foobar
I'm assuming you're familiar with the industry-wide standard for how to write a commit message (summary line of 50 characters or less, then if you need to type more, skip a line and then make the longer description lines of 72 characters or less). If you're doing that in the commit message,

[Citadel Development] Re: Daily commit digest for Citadel (CDB_VISIT)

2023-06-01 Thread IGnatius T Foobar
>From my experience using other gitlab installations, yes you have to create a branch and then commit that branch, and then you can create a merge request. When the merge is approved (and I haven't set any approval rules so we might have to experiment there) there is a "delete source branch"

  1   2   3   4   5   6   7   8   9   10   >