citadel.git
22 months agoRelease version 956 generated by do-release.sh v956
Art Cancro [Mon, 13 Jun 2022 01:28:35 +0000 (21:28 -0400)]
Release version 956 generated by do-release.sh

22 months agosed might be sed on some systems and gsed on others
Art Cancro [Mon, 13 Jun 2022 01:28:30 +0000 (21:28 -0400)]
sed might be sed on some systems and gsed on others

22 months agoRelease version 955 generated by do-release.sh v955
Art Cancro [Mon, 13 Jun 2022 01:20:30 +0000 (21:20 -0400)]
Release version 955 generated by do-release.sh

22 months agoRelease version 954 generated by do-release.sh v954
Art Cancro [Mon, 13 Jun 2022 01:01:55 +0000 (21:01 -0400)]
Release version 954 generated by do-release.sh

22 months agoRelease version 953 generated by do-release.sh v953
Art Cancro [Mon, 13 Jun 2022 01:01:40 +0000 (21:01 -0400)]
Release version 953 generated by do-release.sh

22 months agoRelease version 952 generated by do-release.sh v952
Art Cancro [Mon, 13 Jun 2022 01:00:26 +0000 (21:00 -0400)]
Release version 952 generated by do-release.sh

22 months agoAdd ${LDFLAGS} to utilities, not just the server.
Art Cancro [Sun, 12 Jun 2022 18:22:38 +0000 (14:22 -0400)]
Add ${LDFLAGS} to utilities, not just the server.

22 months agoThere are three specific compiler warnings that we don't care about. Suppress them...
Art Cancro [Sun, 12 Jun 2022 04:27:59 +0000 (00:27 -0400)]
There are three specific compiler warnings that we don't care about.  Suppress them using a GCC pragma in the header files instead of mucking up the build system.

22 months agoMore tweaking to cleanly support bin and run directories.
Art Cancro [Sun, 12 Jun 2022 04:01:58 +0000 (00:01 -0400)]
More tweaking to cleanly support bin and run directories.

22 months agoCTDLDIR is now properly compiled into the source code based on what was configured...
Art Cancro [Sat, 11 Jun 2022 23:40:07 +0000 (19:40 -0400)]
CTDLDIR is now properly compiled into the source code based on what was configured at build time.  This makes it properly run from its native directory if no extra commands are supplied, but it can run from another data directory if specified.

22 months agoIf you can't handle me at my worst, you don't deserve me at my best.
Art Cancro [Sat, 11 Jun 2022 23:27:53 +0000 (19:27 -0400)]
If you can't handle me at my worst, you don't deserve me at my best.

22 months agoMore work on "make install" including some simplification of database_cleanup.sh...
Art Cancro [Sat, 11 Jun 2022 17:46:34 +0000 (13:46 -0400)]
More work on "make install" including some simplification of database_cleanup.sh.  Debian stopped updating their Berkeley DB packages so we aren't going to support their "db{version}_util" syntax anymore.  This makes life easier for the build process, even though we now have no hope of expecting that a compatible version of BDB will be available in the operating system."

22 months agoModified some of the server source files to carry the new and improved version of...
Art Cancro [Thu, 9 Jun 2022 20:21:20 +0000 (16:21 -0400)]
Modified some of the server source files to carry the new and improved version of the GPL declaration that disrespects Richard Stallman.

22 months agoMake sure all of the utilities carry the new and improved version of the GPL declarat...
Art Cancro [Thu, 9 Jun 2022 20:14:26 +0000 (16:14 -0400)]
Make sure all of the utilities carry the new and improved version of the GPL declaration that disrespects Richard Stallman.

22 months agotextclient: test to see whether iconv requires -liconv in ldflags. Now it should...
Art Cancro [Wed, 8 Jun 2022 19:26:51 +0000 (15:26 -0400)]
textclient: test to see whether iconv requires -liconv in ldflags.  Now it should work on both Linux and FreeBSD.  I will backport this patch to the production release.

22 months agochkpw and chkpwd are now working
Art Cancro [Wed, 8 Jun 2022 14:20:16 +0000 (10:20 -0400)]
chkpw and chkpwd are now working

23 months agoConverted citmail to the new setup:
Art Cancro [Sun, 5 Jun 2022 17:05:38 +0000 (13:05 -0400)]
Converted citmail to the new setup:

23 months agoConverted two more utilities: ctdlmigrate and sendcommand
Art Cancro [Sun, 5 Jun 2022 17:02:46 +0000 (13:02 -0400)]
Converted two more utilities: ctdlmigrate and sendcommand

23 months agoMoved 'setup' to the utils directory and converted the build
Art Cancro [Sun, 5 Jun 2022 16:49:16 +0000 (12:49 -0400)]
Moved 'setup' to the utils directory and converted the build

23 months agoThis is an omnibus commit which moves the Citadel Server from crusty old GNU Autotool...
Art Cancro [Sat, 4 Jun 2022 23:11:58 +0000 (19:11 -0400)]
This is an omnibus commit which moves the Citadel Server from crusty old GNU Autotools to the shiny new conf-IG-ure system.  WARNING BROKEN BUILD ALERT: at the moment it only compiles the server and lacks 'clean' and 'install' targets.  Subsequent commits will resolve these but don't try to build production from this yet.

23 months agoremoved some debugs
Art Cancro [Mon, 30 May 2022 22:33:41 +0000 (18:33 -0400)]
removed some debugs

23 months agoRelease version 951 generated by do-release.sh v951
Art Cancro [Mon, 23 May 2022 19:57:40 +0000 (20:57 +0100)]
Release version 951 generated by do-release.sh

23 months agoRewrote our local implementation of a Base64 encoder/decoder as specified
Art Cancro [Mon, 23 May 2022 19:56:39 +0000 (20:56 +0100)]
Rewrote our local implementation of a Base64 encoder/decoder as specified
in RFC 2045 section 6.8.   In the past, someone tried to make this "elegant"
and in the process they made it broken when certain conditions exist.  If
you are reading this and it isn't broken, don't try to improve it.  It works
and I don't want to fix it again.  I don't care how many nanoseconds you think
you can shave off the execution time.  Don't fucking touch it.

23 months agoCommitting all of my little comment syntax changes and getting them out of the way...
Art Cancro [Sat, 21 May 2022 16:55:44 +0000 (17:55 +0100)]
Committing all of my little comment syntax changes and getting them out of the way because I'm about to rip out a big chunk of code and rewrite it.

23 months agocomment style
Art Cancro [Fri, 20 May 2022 23:47:35 +0000 (00:47 +0100)]
comment style

23 months agoRemoved traces after realizing that I was hitting config.c_maxmsglen and not an actua...
Art Cancro [Wed, 18 May 2022 19:52:09 +0000 (20:52 +0100)]
Removed traces after realizing that I was hitting config.c_maxmsglen and not an actual bug.  Added a debug message to indicate when this happened.

23 months agoTemporarily added some debugs and an assert() statement to show where the message...
Art Cancro [Tue, 17 May 2022 18:03:11 +0000 (19:03 +0100)]
Temporarily added some debugs and an assert() statement to show where the message buffer is getting truncated during large reads on low memory systems.

23 months agoFound another vestige of ignet to remove
Art Cancro [Tue, 17 May 2022 17:13:08 +0000 (18:13 +0100)]
Found another vestige of ignet to remove

23 months agoFixed a buffer size calculation that caused uploads to crash on memory-constrained...
Art Cancro [Mon, 16 May 2022 15:26:52 +0000 (16:26 +0100)]
Fixed a buffer size calculation that caused uploads to crash on memory-constrained systems such as raspberry pi.

2 years agoTaking a peek at serv_expire.c to see what would be involved in deleting
Art Cancro [Mon, 2 May 2022 23:43:17 +0000 (19:43 -0400)]
Taking a peek at serv_expire.c to see what would be involved in deleting
users who aren't in LDAP anymore.  And you know what that means: I can't
help myself but to update the comment style all over that file.

2 years agoMeow meow! Applied patches sent by LadySerenaKitty for improved FreeBSD compatibility.
Art Cancro [Wed, 20 Apr 2022 00:03:36 +0000 (20:03 -0400)]
Meow meow!  Applied patches sent by LadySerenaKitty for improved FreeBSD compatibility.

2 years agoRelease version 950 generated by do-release.sh v950
Art Cancro [Sat, 9 Apr 2022 20:17:42 +0000 (16:17 -0400)]
Release version 950 generated by do-release.sh

2 years agoImproved compatibility with POSIX LDAP Schema. Tested with FreeIPA demo site.
Art Cancro [Sat, 9 Apr 2022 20:17:09 +0000 (16:17 -0400)]
Improved compatibility with POSIX LDAP Schema.  Tested with FreeIPA demo site.

2 years agoUpdated LDAP code to be compatible with more modern OpenLDAP API
Art Cancro [Fri, 8 Apr 2022 23:13:04 +0000 (19:13 -0400)]
Updated LDAP code to be compatible with more modern OpenLDAP API

2 years agoderive_uid_from_ldap() converted to use ldap_get_values_len() which is not deprecated
Art Cancro [Sat, 12 Mar 2022 20:47:10 +0000 (15:47 -0500)]
derive_uid_from_ldap() converted to use ldap_get_values_len() which is not deprecated

2 years agoClick on a user or their avatar to go to their profile from the forum view
Art Cancro [Sat, 5 Mar 2022 23:30:15 +0000 (18:30 -0500)]
Click on a user or their avatar to go to their profile from the forum view

2 years agoWowzers! Copied the login modal example from the w3css web site. Looks better than...
Art Cancro [Sun, 27 Feb 2022 18:34:35 +0000 (13:34 -0500)]
Wowzers!  Copied the login modal example from the w3css web site.  Looks better than what I did ... of course.

2 years agoclick on the envelope to go to the inbox
Art Cancro [Sun, 27 Feb 2022 17:23:21 +0000 (12:23 -0500)]
click on the envelope to go to the inbox

2 years agosome comments
Art Cancro [Sat, 26 Feb 2022 21:42:40 +0000 (16:42 -0500)]
some comments

2 years agoHandle messages that are empty (or which appear empty to MSG4 because they consist...
Art Cancro [Sat, 26 Feb 2022 20:13:14 +0000 (15:13 -0500)]
Handle messages that are empty (or which appear empty to MSG4 because they consist solely of a non-renderable attachment in Part 0) by delivering a null json instead of locking up.

2 years agoTuned up some of the iconography
Art Cancro [Thu, 17 Feb 2022 01:16:02 +0000 (20:16 -0500)]
Tuned up some of the iconography

2 years agoThe sidebar buttons are now unhighlighted by default. When rendering a room view...
Art Cancro [Thu, 17 Feb 2022 00:41:50 +0000 (19:41 -0500)]
The sidebar buttons are now unhighlighted by default.  When rendering a room view, iterate through all of them, unhighlight any that are highlighted, and then highlight the correct one.

2 years agoUse the w3-badge class for circular badges instead of rounding them manually in the...
Art Cancro [Thu, 17 Feb 2022 00:11:10 +0000 (19:11 -0500)]
Use the w3-badge class for circular badges instead of rounding them manually in the stylesheet.

2 years agoUpgrade W3.CSS to version 4.15
Art Cancro [Wed, 16 Feb 2022 23:59:22 +0000 (18:59 -0500)]
Upgrade W3.CSS to version 4.15

2 years agoUse the Font Awesome 6.0.0 hosted version instead of 5.whatever ... note to self...
Art Cancro [Wed, 16 Feb 2022 23:53:34 +0000 (18:53 -0500)]
Use the Font Awesome 6.0.0 hosted version instead of 5.whatever ... note to self: now that I know they just randomly pull back versions off the CDN, we need to host our own or include it in the package during final distribution.  Bad form, FA people.  Bad form.

2 years agomoved vars to vars.js
Art Cancro [Mon, 14 Feb 2022 00:01:57 +0000 (19:01 -0500)]
moved vars to vars.js

2 years agoAnything that looks like a button should act like a button.
Art Cancro [Sun, 13 Feb 2022 22:58:06 +0000 (17:58 -0500)]
Anything that looks like a button should act like a button.
Anything that acts like a button should look like a button.

2 years agoSkip/Goto are functionally complete.
Art Cancro [Sun, 13 Feb 2022 21:53:26 +0000 (16:53 -0500)]
Skip/Goto are functionally complete.

2 years agoClient side of SLRP is done
Art Cancro [Sat, 12 Feb 2022 23:34:36 +0000 (18:34 -0500)]
Client side of SLRP is done

2 years agoKeep track of the last message number we saw
Art Cancro [Sat, 12 Feb 2022 23:10:22 +0000 (18:10 -0500)]
Keep track of the last message number we saw

2 years agoOnly add _BASEROOM_ to the march list if the number of rooms added
Art Cancro [Fri, 11 Feb 2022 23:00:47 +0000 (18:00 -0500)]
Only add _BASEROOM_ to the march list if the number of rooms added
to it was zero -- implying that there are no rooms with new messages.

2 years agoFixed a bug in the "goto next room" logic that was causing the first click of Goto...
Art Cancro [Fri, 11 Feb 2022 21:56:42 +0000 (16:56 -0500)]
Fixed a bug in the "goto next room" logic that was causing the first click of Goto (or Skip) to load the march list but then didn't actually change rooms.

2 years agoRe-encode the auth cookie with the properly formatted user name. This makes the...
Art Cancro [Tue, 8 Feb 2022 23:19:17 +0000 (18:19 -0500)]
Re-encode the auth cookie with the properly formatted user name.  This makes the client side parse it properly.

2 years agoMore gratuitous style cleanup.
Art Cancro [Sun, 6 Feb 2022 23:22:07 +0000 (18:22 -0500)]
More gratuitous style cleanup.

2 years ago"Forum list" is now more or less in its final form.
Art Cancro [Sat, 5 Feb 2022 05:19:06 +0000 (00:19 -0500)]
"Forum list" is now more or less in its final form.

2 years agoNow it has a button look.
Art Cancro [Fri, 4 Feb 2022 00:37:09 +0000 (19:37 -0500)]
Now it has a button look.

2 years agoRooms in the Forums List are now clickable anywhere in the box, not just the room...
Art Cancro [Fri, 4 Feb 2022 00:30:41 +0000 (19:30 -0500)]
Rooms in the Forums List are now clickable anywhere in the box, not just the room name.

2 years agoMade the bubble icons in the Forums list round, and colored differently based on...
Art Cancro [Fri, 4 Feb 2022 00:25:44 +0000 (19:25 -0500)]
Made the bubble icons in the Forums list round, and colored differently based on the presence of new messages.

2 years agoInitial commit of the "new" room list. It's going to be a lot more "traditional...
Art Cancro [Tue, 1 Feb 2022 23:46:06 +0000 (18:46 -0500)]
Initial commit of the "new" room list.  It's going to be a lot more "traditional web forum" looking.  I hope I don't regret this.

2 years agomore divs
Art Cancro [Fri, 28 Jan 2022 05:01:12 +0000 (00:01 -0500)]
more divs

2 years agoctdl-roomlist-floor class for the floor banner over each floor's room list
Art Cancro [Fri, 28 Jan 2022 00:22:36 +0000 (19:22 -0500)]
ctdl-roomlist-floor class for the floor banner over each floor's room list

2 years ago/ctdl/r/<room_name>/info.txt now fetches the room info banner
Art Cancro [Thu, 27 Jan 2022 23:41:18 +0000 (18:41 -0500)]
/ctdl/r/<room_name>/info.txt now fetches the room info banner

2 years agoSort room list by floor but also put them in different divs
Art Cancro [Tue, 25 Jan 2022 00:38:19 +0000 (19:38 -0500)]
Sort room list by floor but also put them in different divs

2 years ago/ctdl/f/ to get a list of all floors
Art Cancro [Mon, 24 Jan 2022 20:40:45 +0000 (15:40 -0500)]
/ctdl/f/ to get a list of all floors

2 years agoroom list renderer is now aware of which rooms are forum view:
Art Cancro [Sun, 23 Jan 2022 21:14:05 +0000 (16:14 -0500)]
room list renderer is now aware of which rooms are forum view:

2 years agoMoved the room list from the sidebar to the main viewing pane.
Art Cancro [Sun, 23 Jan 2022 21:01:16 +0000 (16:01 -0500)]
Moved the room list from the sidebar to the main viewing pane.
This is going to turn into a "forum list" and we'll do something
else for mailboxes.

2 years agoTweaked the icons a bit
Art Cancro [Sun, 23 Jan 2022 06:28:23 +0000 (01:28 -0500)]
Tweaked the icons a bit

2 years agoThe "Post message" button in forum view is now active.
Art Cancro [Sat, 22 Jan 2022 21:56:29 +0000 (16:56 -0500)]
The "Post message" button in forum view is now active.

2 years agoSet up a "new item" dispatcher so it can be different for each view
Art Cancro [Sat, 22 Jan 2022 21:24:09 +0000 (16:24 -0500)]
Set up a "new item" dispatcher so it can be different for each view

2 years agoAdded a button to the screen that can be populated and brought into
Art Cancro [Sat, 22 Jan 2022 21:02:22 +0000 (16:02 -0500)]
Added a button to the screen that can be populated and brought into
view whenever a "new item" command is available, such as "Post message"
or "Enter mail" or "New calendar item"

2 years agoExplain in comments how the connection pool works.
Art Cancro [Sat, 15 Jan 2022 20:58:46 +0000 (15:58 -0500)]
Explain in comments how the connection pool works.

2 years agoI was able to simplify the login code too. ctdl_startup() is now called at landing...
Art Cancro [Sat, 15 Jan 2022 20:41:53 +0000 (15:41 -0500)]
I was able to simplify the login code too.  ctdl_startup() is now called at landing, at login, and logout.  It always does The Right Thing.

2 years agook, that function needed to be async
Art Cancro [Sat, 15 Jan 2022 20:37:44 +0000 (15:37 -0500)]
ok, that function needed to be async

2 years agoSimplified the logout javascript
Art Cancro [Sat, 15 Jan 2022 20:28:54 +0000 (15:28 -0500)]
Simplified the logout javascript

2 years agoA little more cosmetic work on the login modal.
Art Cancro [Fri, 14 Jan 2022 16:29:17 +0000 (11:29 -0500)]
A little more cosmetic work on the login modal.
Still not in its final ultra-pretty form but it looks semi-presentable now.

2 years agobanner change
Art Cancro [Fri, 14 Jan 2022 16:10:46 +0000 (11:10 -0500)]
banner change

2 years agoThis is a better version of detect_logged_in() for webcit-ng that
Art Cancro [Fri, 14 Jan 2022 16:08:55 +0000 (11:08 -0500)]
This is a better version of detect_logged_in() for webcit-ng that
checks the server cookie instead of clumsily attempting a command.
This works synchronously so it can be combined with other commands
without creating a race condition.  Also moved the login screen to
a modal.

2 years agoRemoved some debugs that are no longer needed now that the listsub rework is complete...
Art Cancro [Thu, 13 Jan 2022 23:38:34 +0000 (18:38 -0500)]
Removed some debugs that are no longer needed now that the listsub rework is complete.  Also updated the netconfig specification to remove the obsolete pending command.

2 years agoBig change to mailing list subscription/unsubscription!
Art Cancro [Thu, 13 Jan 2022 16:48:37 +0000 (11:48 -0500)]
Big change to mailing list subscription/unsubscription!

The old confirmation method involved generating a confirmation token
during the first opt, which was mailed to the user and saved to disk
so they could confirm it in the second opt.  In the new code, the
token can be re-generated persistently by the server using a
combination of the email address, the room name, and a host key that
is known only to the site operator (stored in the config db).  So
there is no longer a need to store the pending request, and the
confirmation links are valid forever (and reusable!).

Aside from being algorithmically nifty, this will also give us the
ability to implement "one click unsubscribe" in the near future.

2 years agoGenerate a random 100-byte string to be used as a host key for hashing various things.
Art Cancro [Wed, 12 Jan 2022 21:18:11 +0000 (16:18 -0500)]
Generate a random 100-byte string to be used as a host key for hashing various things.

2 years agoSeed the random number generator before the config system is initialized.
Art Cancro [Wed, 12 Jan 2022 21:04:12 +0000 (16:04 -0500)]
Seed the random number generator before the config system is initialized.

2 years agoRelease version 949 generated by do-release.sh v949
Art Cancro [Wed, 12 Jan 2022 19:29:10 +0000 (14:29 -0500)]
Release version 949 generated by do-release.sh

2 years agoChange TLS_server_method() to SSLv23_server_method() because people are still using...
Art Cancro [Wed, 12 Jan 2022 18:51:09 +0000 (13:51 -0500)]
Change TLS_server_method() to SSLv23_server_method() because people are still using older builds that don't have the new name.

2 years agomissed a few references to delete
Art Cancro [Tue, 11 Jan 2022 23:54:49 +0000 (18:54 -0500)]
missed a few references to delete

2 years agoRemoved APOP authentication from the text client. No one has ever used it and the...
Art Cancro [Tue, 11 Jan 2022 23:27:00 +0000 (18:27 -0500)]
Removed APOP authentication from the text client.  No one has ever used it and the server doesn't even support it anymore.

2 years agoMultiple invocations of HELO and/or EHLO from an SMTP client now replace, rather...
Art Cancro [Tue, 11 Jan 2022 05:00:59 +0000 (00:00 -0500)]
Multiple invocations of HELO and/or EHLO from an SMTP client now replace, rather than append to, the helo_node variable.

2 years agoRelease version 948 generated by do-release.sh v948
Art Cancro [Mon, 10 Jan 2022 23:03:11 +0000 (18:03 -0500)]
Release version 948 generated by do-release.sh

2 years agossl ciphers had to be set to its old value of
Art Cancro [Mon, 10 Jan 2022 22:42:26 +0000 (17:42 -0500)]
ssl ciphers had to be set to its old value of
"ALL:RC4+RSA:+SSLv2:+TLSv1:!MD5:@STRENGTH"
instead of
"DEFAULT"
even though the latter works just fine in WebCit, works just fine
in all protocols on the development host, but causes all sorts of
chaos on Uncensored.  I don't know why.

2 years agoANGRY SCREED WITH CAPS LOCK ON
Art Cancro [Mon, 10 Jan 2022 22:37:52 +0000 (17:37 -0500)]
ANGRY SCREED WITH CAPS LOCK ON

2 years agoFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUuu----------------
Art Cancro [Mon, 10 Jan 2022 21:58:00 +0000 (16:58 -0500)]
FFFFFFFFFFFFFFFFFUUUUUUUUUUUUUuu----------------

2 years agoTesting to see if SSLv23_server_method() is actually the one we want
Art Cancro [Mon, 10 Jan 2022 21:37:57 +0000 (16:37 -0500)]
Testing to see if SSLv23_server_method() is actually the one we want

2 years agoLONG STRING OF EXPLETIVES
Art Cancro [Mon, 10 Jan 2022 21:10:34 +0000 (16:10 -0500)]
LONG STRING OF EXPLETIVES

2 years agoRelease version 947 generated by do-release.sh v947
Art Cancro [Mon, 10 Jan 2022 19:54:58 +0000 (14:54 -0500)]
Release version 947 generated by do-release.sh

2 years agoI got a little too eager in removing old cruft from the TLS code. Not setting the...
Art Cancro [Mon, 10 Jan 2022 19:54:54 +0000 (14:54 -0500)]
I got a little too eager in removing old cruft from the TLS code.  Not setting the correct cipher list broke production in a way that didn't fail in development.

2 years agoRelease version 946 generated by do-release.sh v946
Art Cancro [Mon, 10 Jan 2022 18:31:36 +0000 (13:31 -0500)]
Release version 946 generated by do-release.sh

2 years agoSwitch out the key/cert in a critical section (mutex wrapped). This will prevent...
Art Cancro [Mon, 10 Jan 2022 16:59:07 +0000 (11:59 -0500)]
Switch out the key/cert in a critical section (mutex wrapped).  This will prevent multiple threads from doing it at once and leaking memory (thanks zcw159357)

2 years agoUnified the openssl library initialization code
Art Cancro [Mon, 10 Jan 2022 16:28:03 +0000 (11:28 -0500)]
Unified the openssl library initialization code

2 years agoReplaced all instances of SSLv23_server_method() with TLS_server_method()
Art Cancro [Mon, 10 Jan 2022 16:16:43 +0000 (11:16 -0500)]
Replaced all instances of SSLv23_server_method() with TLS_server_method()
(thanks to zcw159357 for suggesting this)

2 years agoRelease version 945 generated by do-release.sh v945
Art Cancro [Sat, 8 Jan 2022 21:32:09 +0000 (16:32 -0500)]
Release version 945 generated by do-release.sh

2 years agoRelease version 944 generated by do-release.sh v944
Art Cancro [Sat, 8 Jan 2022 21:18:08 +0000 (16:18 -0500)]
Release version 944 generated by do-release.sh