citadel.git
10 months agoRelease version 980 generated by do-release.sh v980
Art Cancro [Wed, 14 Jun 2023 05:18:35 +0000 (20:18 -0900)]
Release version 980 generated by do-release.sh

10 months agorescue mode
Art Cancro [Wed, 14 Jun 2023 05:18:24 +0000 (20:18 -0900)]
rescue mode

10 months agoRelease version 979 generated by do-release.sh v979
Art Cancro [Wed, 14 Jun 2023 04:21:56 +0000 (19:21 -0900)]
Release version 979 generated by do-release.sh

10 months agoserv_inboxrules.c: don't attempt to call regexec() if regcomp() failed
Art Cancro [Wed, 14 Jun 2023 04:21:41 +0000 (19:21 -0900)]
serv_inboxrules.c: don't attempt to call regexec() if regcomp() failed

10 months agodon't compress use table records anymore
Art Cancro [Tue, 13 Jun 2023 19:40:55 +0000 (10:40 -0900)]
don't compress use table records anymore

10 months agoRelease version 978 generated by do-release.sh v978
Art Cancro [Mon, 12 Jun 2023 17:37:05 +0000 (08:37 -0900)]
Release version 978 generated by do-release.sh

10 months agoserv_rssclient.c: remove single-instance save to drastically reduce complexity
Art Cancro [Mon, 12 Jun 2023 17:36:57 +0000 (08:36 -0900)]
serv_rssclient.c: remove single-instance save to drastically reduce complexity

10 months agoRelease version 977 generated by do-release.sh v977
Art Cancro [Mon, 12 Jun 2023 14:25:22 +0000 (05:25 -0900)]
Release version 977 generated by do-release.sh

10 months agoserv_rssclient.c: fixed a possible null pointer error
Art Cancro [Mon, 12 Jun 2023 04:11:20 +0000 (19:11 -0900)]
serv_rssclient.c: fixed a possible null pointer error

10 months agoForEachUser() convert to array
Art Cancro [Mon, 12 Jun 2023 04:02:19 +0000 (19:02 -0900)]
ForEachUser() convert to array

10 months agowar on doxygen
Art Cancro [Sat, 10 Jun 2023 23:37:02 +0000 (14:37 -0900)]
war on doxygen

10 months agoserv_rssclient.c: use array instead of linked list to avoid crashy bug
Art Cancro [Sat, 10 Jun 2023 23:28:47 +0000 (14:28 -0900)]
serv_rssclient.c: use array instead of linked list to avoid crashy bug

10 months agoRelease version 976 generated by do-release.sh v976
Art Cancro [Thu, 8 Jun 2023 21:39:55 +0000 (12:39 -0900)]
Release version 976 generated by do-release.sh

11 months agoRemediated an unrecoverable problem in CDB_USETABLE.
Art Cancro [Sun, 4 Jun 2023 03:41:01 +0000 (18:41 -0900)]
Remediated an unrecoverable problem in CDB_USETABLE.

Due to a missing null terminator, records were being stored with
excessive lengths, resulting in records whose keys did not match.
Unfortunately this means we have to zero out the table during an upgrade
to Citadel Server 975.  No user data will be lost, but incoming data
such as RSS feeds and POP3 retrievals may produce some unwanted
duplicates.

The new implementation not only remediates this problem, but also works
using a hash of the item rather than the item itself.  This produces
records that are only 12 bytes long.

11 months agoauth.c: removed unneeded prototype for hashlittle()
Art Cancro [Sun, 4 Jun 2023 02:46:06 +0000 (17:46 -0900)]
auth.c: removed unneeded prototype for hashlittle()

11 months agotest commit
Art Cancro [Sat, 3 Jun 2023 23:14:03 +0000 (14:14 -0900)]
test commit

11 months agoMerge branch 'IMAP_Flag_and_Purge_Fixes' into 'master'
Art Cancro [Fri, 2 Jun 2023 19:23:41 +0000 (19:23 +0000)]
Merge branch 'IMAP_Flag_and_Purge_Fixes' into 'master'

Fixed imap_append() from clearing all flags on messages and avoid purge_user() from purging the wrong Visit records.

See merge request citadel/citadel!1

11 months agoFixed imap_append() from clearing all flags on messages and avoid purge_user() from...
Harlow Solutions [Fri, 2 Jun 2023 15:45:58 +0000 (11:45 -0400)]
Fixed imap_append() from clearing all flags on messages and avoid purge_user() from purging the wrong Visit records.

imap_misc.c: imap_append() was trying to append the flags after the room had been restored to the original room, so all flags in the room were being cleared.  Moved imap_do_append_flags() before the room was changed back.

user_ops.c: purge_user() was assuming that the first part of the key for Visit records was the user number.  Actually is the room number so was removing records where the room and user numbers matched.  A solution is to go through all the Visit records and delete, but not worth it.  Auto-Purge will clean up the records later.  Future: When expanded IMAP flagging is added, we will move the user number to the top of the key and reactivate the existing method.

ctdl3264_prep.sh: Build fix to support ‘tail’ command version differences for + option.  CentOS/Rocky Linux needs -n option added for command not to error.  Now tests command and sets the proper option to work.

11 months agolibcitadel: remove Doxyfile
Art Cancro [Wed, 31 May 2023 15:46:18 +0000 (11:46 -0400)]
libcitadel: remove Doxyfile

11 months agoctdl3264: added diagnostics which revealed that CDB_VISIT is a hot mess and omg how...
Art Cancro [Wed, 24 May 2023 02:49:17 +0000 (22:49 -0400)]
ctdl3264: added diagnostics which revealed that CDB_VISIT is a hot mess and omg how did it ever work

11 months agoctdl3264: fix zero length key in bigmsgs table
Art Cancro [Tue, 23 May 2023 20:53:50 +0000 (16:53 -0400)]
ctdl3264: fix zero length key in bigmsgs table

11 months agoctdl3264: skip zero length records, add more diagnostics
Art Cancro [Tue, 23 May 2023 15:54:28 +0000 (11:54 -0400)]
ctdl3264: skip zero length records, add more diagnostics

Why is it skipping the entire CDB_BIGMSGS table?

11 months agoserv_imap.c (citserver)/roomops.c (webcit): bugfixes to message flag handling (Phil...
Art Cancro [Mon, 15 May 2023 01:08:50 +0000 (21:08 -0400)]
serv_imap.c (citserver)/roomops.c (webcit): bugfixes to message flag handling (Phil Slack)

12 months agotools.c: bugfixes to trim functions (Phil Slack)
Art Cancro [Thu, 4 May 2023 22:14:10 +0000 (18:14 -0400)]
tools.c: bugfixes to trim functions (Phil Slack)

libcitadel/lib/tools.c
  stripout()
    Strips too many characters.  Causes incorrect From address on inbound and probably other places.
       stripout(“Foobar<foobar@foobar.com>”) = Fooba.  Should be Foobar
    Mangles multiple boundaries. Should strip using outer boundaries.
      stripout(“ABC()(DEF)()GHI”) = ABC()(DEFGHI.  Should return ABCGHI.
  stripallbut()
    Handle outer boundaries like stripout()
      stripallbut(“ABC()(DEF)()GHI”) returns unchanged.  Should return )(DEF)(
    Code does a stderr flush.  Not sure why, but left it in.
  string_trimlen()
    Removed function.  Not used anywhere in the code and less efficient than string_trim()

12 months agosysdep.c: cprintf() truncation fix (Phil Slack)
Art Cancro [Thu, 4 May 2023 22:11:24 +0000 (18:11 -0400)]
sysdep.c: cprintf() truncation fix (Phil Slack)

Original code (sysdep.c) assumed a return code of -1 from vsnprintf()
was a truncation.  Actually, it is an output error and the code still
tried to output it.  A return of the buffer size or larger means it was
truncated.  Changed the processing to handle return values properly.

12 months agoput_visit() no longer needs a separate function to generate its index.
Art Cancro [Tue, 2 May 2023 22:29:48 +0000 (18:29 -0400)]
put_visit() no longer needs a separate function to generate its index.

it is simply the first (sizeof(long)*3) bytes of the structure.

12 months agoserv_inboxrules.c: applied patch by Allen (awrdgrs) to make X-Spam-Status work
Art Cancro [Tue, 2 May 2023 03:31:53 +0000 (23:31 -0400)]
serv_inboxrules.c: applied patch by Allen (awrdgrs) to make X-Spam-Status work

12 months agoApply patches sent by Harlow Solutions -- for WebCit
Art Cancro [Tue, 2 May 2023 02:42:14 +0000 (22:42 -0400)]
Apply patches sent by Harlow Solutions -- for WebCit

Fix missing parenthesis in Edit Bio and Wiki empty page
Fix multiple pages and code to start/end <div> sections properly.
In the Summary page, add line breaks to the “About this server” widget to make it more readable.
In contact view (msg_display) fix missing address label title (invalid variable used) and use variables for other labels instead of hard coding.
When displaying Contact address, remove blank lines if P.O. Box or street fields are blank.
subst.c: Expand ITEM format X to allow appending text after a non-blank ITEM value.  Used to add line breaks only on non-blank lines, etc.
download.c and static.c: Fix invalid reference to blank gif because the output function added the request line from original image to the link which is invalid.

12 months agoctdl3264: write to target database
Art Cancro [Mon, 1 May 2023 21:08:34 +0000 (17:08 -0400)]
ctdl3264: write to target database

12 months agoctdl3264: src_dbenv and dst_dbenv are no longer global vars
Art Cancro [Mon, 1 May 2023 20:36:04 +0000 (16:36 -0400)]
ctdl3264: src_dbenv and dst_dbenv are no longer global vars

12 months agoctdl3264: open_dbenv() and close_dbenv() move away from global vars
Art Cancro [Mon, 1 May 2023 20:17:36 +0000 (16:17 -0400)]
ctdl3264: open_dbenv() and close_dbenv() move away from global vars

12 months agoWe are no longer using the EXTAUTH table.
Art Cancro [Thu, 27 Apr 2023 21:54:19 +0000 (17:54 -0400)]
We are no longer using the EXTAUTH table.

Perhaps in the future it will return in some other form.
LDAP auth still uses the uid, so we're searching for that the old way.

12 months agodo-release.sh: change citadel.h to citadel_defs.h
Art Cancro [Thu, 27 Apr 2023 20:48:52 +0000 (16:48 -0400)]
do-release.sh: change citadel.h to citadel_defs.h

12 months agoBegin removing the EXTAUTH database
Art Cancro [Thu, 27 Apr 2023 20:47:20 +0000 (16:47 -0400)]
Begin removing the EXTAUTH database

12 months agoRevert "citserver: remove openid support"
Art Cancro [Wed, 19 Apr 2023 17:32:48 +0000 (13:32 -0400)]
Revert "citserver: remove openid support"

This reverts commit 5e8be0dcc60ca8c0b70ca5fd3107d778db24387b.

12 months agocitserver: remove openid support
Art Cancro [Wed, 19 Apr 2023 17:29:39 +0000 (13:29 -0400)]
citserver: remove openid support

12 months agozero out extauth in ctdl3264
Art Cancro [Wed, 19 Apr 2023 16:56:37 +0000 (12:56 -0400)]
zero out extauth in ctdl3264

12 months agoconvert config records
Art Cancro [Wed, 19 Apr 2023 16:41:55 +0000 (12:41 -0400)]
convert config records

12 months agoconvert usersbynumber
Art Cancro [Wed, 19 Apr 2023 16:31:37 +0000 (12:31 -0400)]
convert usersbynumber

12 months agoeuid index convert
Art Cancro [Tue, 18 Apr 2023 23:02:52 +0000 (19:02 -0400)]
euid index convert

12 months agoPlease excuse my friend, he isn't null terminated
Art Cancro [Mon, 17 Apr 2023 20:35:42 +0000 (16:35 -0400)]
Please excuse my friend, he isn't null terminated

12 months agonice pretty banners
Art Cancro [Mon, 17 Apr 2023 19:50:22 +0000 (15:50 -0400)]
nice pretty banners

12 months agofulltext uses same key and data format as msglists
Art Cancro [Mon, 17 Apr 2023 18:48:41 +0000 (14:48 -0400)]
fulltext uses same key and data format as msglists

12 months agolog messages match and don't repeat for compressed
Art Cancro [Mon, 17 Apr 2023 18:29:05 +0000 (14:29 -0400)]
log messages match and don't repeat for compressed

12 months agoserv_fulltext.c: style update
Art Cancro [Mon, 17 Apr 2023 15:51:39 +0000 (11:51 -0400)]
serv_fulltext.c: style update

12 months agoctdl3264: straightened out the compression stuff
Art Cancro [Mon, 17 Apr 2023 15:41:07 +0000 (11:41 -0400)]
ctdl3264: straightened out the compression stuff

12 months agoconvert bigmsgs
Art Cancro [Fri, 14 Apr 2023 19:21:32 +0000 (15:21 -0400)]
convert bigmsgs

12 months agoIBM i , aka System/38 , really is dead , no matter how much they deny it.
Art Cancro [Fri, 14 Apr 2023 15:36:19 +0000 (11:36 -0400)]
IBM i , aka System/38 , really is dead , no matter how much they deny it.

12 months agoconvert directory entries
Art Cancro [Thu, 13 Apr 2023 23:55:01 +0000 (19:55 -0400)]
convert directory entries

12 months agostuff and things
Art Cancro [Thu, 13 Apr 2023 19:06:34 +0000 (15:06 -0400)]
stuff and things

12 months agovisit translation complete but we still need to compress it
Art Cancro [Thu, 13 Apr 2023 15:39:32 +0000 (11:39 -0400)]
visit translation complete but we still need to compress it

12 months agoThe data format used by GenerateRelationshipIndex() is now codified in the headers
Art Cancro [Thu, 13 Apr 2023 15:24:05 +0000 (11:24 -0400)]
The data format used by GenerateRelationshipIndex() is now codified in the headers

12 months agouncompress when necessary
Art Cancro [Wed, 12 Apr 2023 19:56:05 +0000 (15:56 -0400)]
uncompress when necessary

12 months agodie in a car fire
Art Cancro [Wed, 12 Apr 2023 18:06:35 +0000 (14:06 -0400)]
die in a car fire

12 months agomakefile tweaks
Art Cancro [Wed, 12 Apr 2023 15:53:15 +0000 (11:53 -0400)]
makefile tweaks

12 months agodetect compressed records
Art Cancro [Wed, 12 Apr 2023 15:37:32 +0000 (11:37 -0400)]
detect compressed records

12 months agocopying msglists done
Art Cancro [Wed, 12 Apr 2023 15:12:56 +0000 (11:12 -0400)]
copying msglists done

12 months agoDon't log or rewrite records with zero length keys.
Art Cancro [Wed, 12 Apr 2023 14:52:43 +0000 (10:52 -0400)]
Don't log or rewrite records with zero length keys.

12 months agoconvert floor records
Art Cancro [Tue, 11 Apr 2023 19:29:58 +0000 (15:29 -0400)]
convert floor records

12 months agoconvert next table
Art Cancro [Tue, 11 Apr 2023 14:05:33 +0000 (10:05 -0400)]
convert next table

12 months agofinished user import
Art Cancro [Mon, 10 Apr 2023 21:11:03 +0000 (17:11 -0400)]
finished user import

12 months agoI am a C programmer. I am better than you.
Art Cancro [Mon, 10 Apr 2023 18:58:11 +0000 (14:58 -0400)]
I am a C programmer.  I am better than you.

12 months agoDBT in , DBT out
Art Cancro [Mon, 10 Apr 2023 18:50:06 +0000 (14:50 -0400)]
DBT in , DBT out

12 months agomake a note where we need to decompress
Art Cancro [Mon, 10 Apr 2023 15:53:06 +0000 (11:53 -0400)]
make a note where we need to decompress

12 months agofiguring out db calling syntax...
Art Cancro [Mon, 10 Apr 2023 15:48:15 +0000 (11:48 -0400)]
figuring out db calling syntax...

12 months agoAdded skeleton out_key and out_data
Art Cancro [Mon, 10 Apr 2023 15:42:25 +0000 (11:42 -0400)]
Added skeleton out_key and out_data

12 months agoChanged convert function calling syntax and variable names
Art Cancro [Mon, 10 Apr 2023 15:39:55 +0000 (11:39 -0400)]
Changed convert function calling syntax and variable names

13 months agoparse metadata
Art Cancro [Fri, 7 Apr 2023 17:54:41 +0000 (13:54 -0400)]
parse metadata

13 months agolearn about metadata 32
Art Cancro [Fri, 7 Apr 2023 17:45:44 +0000 (13:45 -0400)]
learn about metadata 32

13 months agoAbort if source database is not 32-bit.
Art Cancro [Fri, 7 Apr 2023 17:29:34 +0000 (13:29 -0400)]
Abort if source database is not 32-bit.

We detect this in the very first table (msgmain) by bailing out if
we see any key with a length other than 4 bytes.

13 months agoIf the msgnum is negative, we are looking at METADATA
Art Cancro [Wed, 5 Apr 2023 14:27:10 +0000 (10:27 -0400)]
If the msgnum is negative, we are looking at METADATA

13 months agomore work on ctdl3264
Art Cancro [Fri, 31 Mar 2023 17:43:25 +0000 (13:43 -0400)]
more work on ctdl3264

13 months agoctdl3264: sooper seekrit command line flag to make it not fail
Art Cancro [Fri, 31 Mar 2023 14:52:16 +0000 (10:52 -0400)]
ctdl3264: sooper seekrit command line flag to make it not fail

13 months agoctdl3264: prepare for new things
Art Cancro [Fri, 31 Mar 2023 01:23:14 +0000 (21:23 -0400)]
ctdl3264: prepare for new things

13 months agoctdl3264: tweaked a few things
Art Cancro [Fri, 31 Mar 2023 01:12:00 +0000 (21:12 -0400)]
ctdl3264: tweaked a few things

13 months agotraverse the tables
Art Cancro [Thu, 30 Mar 2023 21:49:18 +0000 (17:49 -0400)]
traverse the tables

13 months agoctdl3264: open and close one table at a time
Art Cancro [Thu, 30 Mar 2023 19:23:55 +0000 (15:23 -0400)]
ctdl3264: open and close one table at a time

13 months ago`ctdl3264` is back and it's DRY
Art Cancro [Thu, 30 Mar 2023 15:23:03 +0000 (11:23 -0400)]
`ctdl3264` is back and it's DRY

13 months agoRestored `ctdl3264` but disabled it.
Art Cancro [Wed, 29 Mar 2023 18:47:45 +0000 (14:47 -0400)]
Restored `ctdl3264` but disabled it.

We may want to try this again.

13 months agoMore refinements to .ctdl-middle usage
Art Cancro [Tue, 28 Mar 2023 04:21:36 +0000 (00:21 -0400)]
More refinements to .ctdl-middle usage

13 months agoBanished the DarkSlateGrey color in dead-space screen regions.
Art Cancro [Mon, 27 Mar 2023 22:03:44 +0000 (18:03 -0400)]
Banished the DarkSlateGrey color in dead-space screen regions.

13 months agoSlimmed down some of the border elements.
Art Cancro [Mon, 27 Mar 2023 21:57:35 +0000 (17:57 -0400)]
Slimmed down some of the border elements.

User interface is NOT healthy at any weight.

13 months agocolor change
Art Cancro [Mon, 27 Mar 2023 21:42:39 +0000 (17:42 -0400)]
color change

13 months agoChanged the algorithm for quick queue runs to prevent weirdness
Art Cancro [Sun, 19 Mar 2023 01:06:40 +0000 (21:06 -0400)]
Changed the algorithm for quick queue runs to prevent weirdness

13 months agoDon't send the rendered list to the console anymore.
Art Cancro [Mon, 13 Mar 2023 17:52:54 +0000 (13:52 -0400)]
Don't send the rendered list to the console anymore.

13 months agoActivate mouse-up events on rooms in the mail folder list.
Art Cancro [Mon, 13 Mar 2023 17:50:57 +0000 (13:50 -0400)]
Activate mouse-up events on rooms in the mail folder list.

This will be used for drag-and-drop.

13 months agoMailbox view: delete operation moves message to trash, unless we are already in the...
Art Cancro [Mon, 13 Mar 2023 17:32:56 +0000 (13:32 -0400)]
Mailbox view: delete operation moves message to trash, unless we are already in the trash

13 months agoLearn from the Citadel Server whether a room is the user's trash folder.
Art Cancro [Mon, 13 Mar 2023 17:30:08 +0000 (13:30 -0400)]
Learn from the Citadel Server whether a room is the user's trash folder.

13 months agoWhen a message is deleted in a mailbox room, move it to Trash instead of deleting
Art Cancro [Mon, 13 Mar 2023 17:20:17 +0000 (13:20 -0400)]
When a message is deleted in a mailbox room, move it to Trash instead of deleting

13 months agoImplemented RFC4918 MOVE and COPY methods for individual messages.
Art Cancro [Mon, 13 Mar 2023 04:24:51 +0000 (00:24 -0400)]
Implemented RFC4918 MOVE and COPY methods for individual messages.

We need these to be able to move messages between rooms, so of course
it makes sense to use HTTP methods that are already standardized.

13 months agoImplemented an algorithm that can correctly divide by zero.
Art Cancro [Sun, 12 Mar 2023 22:57:20 +0000 (18:57 -0400)]
Implemented an algorithm that can correctly divide by zero.

13 months agodav_move_or_copy_message() skeleton
Art Cancro [Sat, 11 Mar 2023 23:01:01 +0000 (18:01 -0500)]
dav_move_or_copy_message() skeleton

13 months agoInbox rules 'matches' operator now uses regular expressions.
Art Cancro [Fri, 10 Mar 2023 00:12:06 +0000 (19:12 -0500)]
Inbox rules 'matches' operator now uses regular expressions.

13 months agoserv_inboxrules.c: compound fields such as From now work with substring match
Art Cancro [Thu, 9 Mar 2023 23:16:18 +0000 (18:16 -0500)]
serv_inboxrules.c: compound fields such as From now work with substring match

13 months agoserv_inboxrules.c: style update
Art Cancro [Thu, 9 Mar 2023 22:36:13 +0000 (17:36 -0500)]
serv_inboxrules.c: style update

14 months agorooms.c: style update
Art Cancro [Tue, 7 Mar 2023 16:04:22 +0000 (11:04 -0500)]
rooms.c: style update

14 months agolicense.txt: updated year
Art Cancro [Tue, 7 Mar 2023 15:50:32 +0000 (10:50 -0500)]
license.txt: updated year

14 months agoserv_instmsg.c: style update
Art Cancro [Tue, 7 Mar 2023 15:49:28 +0000 (10:49 -0500)]
serv_instmsg.c: style update

14 months agoserv_image.c: style update
Art Cancro [Tue, 7 Mar 2023 15:42:37 +0000 (10:42 -0500)]
serv_image.c: style update

14 months agoRelease version 974 generated by do-release.sh v974
Art Cancro [Sun, 5 Mar 2023 20:57:41 +0000 (15:57 -0500)]
Release version 974 generated by do-release.sh