<?xml version="1.0"?><rss version="2.0"><channel><title>Citadel Development</title><link>http://uncensored.citadel.org/</link><description>
 This is the Citadel Development forum.  It is an active workshop, and
non-developers are free to lurk here, but please do not post support inquiries
or feature requests here.
</description><image><title>Citadel Development</title><url>http://uncensored.citadel.org/roompic?room=Citadel%20Development</url><link>http://uncensored.citadel.org/</link></image>
<description>Citadel Development</description>
<item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565831</link><pubDate>Mon, 08 Jun 2026 20:30:03 +0500</pubDate><title>commits for 2026-06-08</title><guid isPermaLink="false">2099565831@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-06-08

-----------------------------------------------------------------------

5ef1db8cb701e5be0840764a237083351243d6da Art Cancro: random acts of style cleanup  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565785</link><pubDate>Sun, 07 Jun 2026 20:30:03 +0500</pubDate><title>commits for 2026-06-07</title><guid isPermaLink="false">2099565785@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-06-07

-----------------------------------------------------------------------

f42e7b4784e8c15b948a6c79c4b15c4e1149a9b4 Art Cancro: Remove legacy preprocessor declarations and unused DH macros in textclient  (branch: master)
488bece893a4b2064822f9825502c19fb786aab2 Art Cancro: Refactor Boyer-Moore search (bmstrcasestr) to accept const char* and remove duplicate cbmstrcasestr  (branch: master)
017f8ee881534cceceb0044fb260e4b7df5bc631 Art Cancro: Rename fetch_user_photo() to user_photo() and implement userpic PUT method with ULUI  (branch: master)
930e0d6043aa6c83a00cc0ce409be7f91fadcbb4 Art Cancro: Refactor user_bio() to use helper-dispatcher pattern  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565735</link><pubDate>Sat, 06 Jun 2026 20:30:03 +0500</pubDate><title>commits for 2026-06-06</title><guid isPermaLink="false">2099565735@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-06-06

-----------------------------------------------------------------------

b70104fbc08ed598cdcf202c0f241076671cccdf Art Cancro: Move CtdlMakeTempFileName from libcitadel to textclient and fix its logic  (branch: master)
690f88af6fb7ae7e5b0100664a14f73a5f177907 Art Cancro: Refactor OpenSSL initialization in textclient to remove deprecated DH/methods APIs  (branch: master)
27556f44436c4b2d017fddc9966831ac8521fa4f Art Cancro: Remove local MIN redefinition in client_chat.c to use system definition  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565687</link><pubDate>Fri, 05 Jun 2026 20:30:03 +0500</pubDate><title>commits for 2026-06-05</title><guid isPermaLink="false">2099565687@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-06-05

-----------------------------------------------------------------------

1f3ee12307c8f6010cfa10c0637620815e899d3a Art Cancro: loadtest: Add hash verification, runtime limit, and periodic stats  (branch: master)
31cf292644a5595c84d28a8d918c05d269130a6f Art Cancro: Implement -d flag to specify database backend choice for citserver, ctdldump, ctdlload, and dbnothing  (branch: master)
bd55ee7df958f9548ebaef1ba67e501ce53cc88b Art Cancro: Implement LMDB backend (unsupported and experimental feature)  (branch: master)
24ecddd6fcefdd20d38a337162156511235f93dd Art Cancro: LMDB: refuse to initialize on less than 64-bit architectures  (branch: master)
e392a73d77938fa554c4ea5c039a9e1702dcd17f Art Cancro: AGENTS.md: tell it where to find the protocol documentation  (branch: master)
21442793dcb9cd1db9caf1f9d687f2dc851d007d Art Cancro: database backends: remove BDB mprotect and restore driver to direct mode; remove LMDB decompression logic  (branch: master)
e5d20caa30fb1860a72b2e00f3db13a4821de1c9 Art Cancro: lmdb: remove mprotect pattern and return mapped address directly  (branch: master)
20b3eee96a5316c00461176e035eb2e1170b9408 Art Cancro: Berkeley DB and LMDB are now detected by configure  (branch: master)
51f2adeaa3bf82080ca3ab5768fb6bd4a303667a Art Cancro: backends: refactor TSD pointer accesses to direct thread_tsd accesses in BDB and LMDB drivers  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565636</link><pubDate>Thu, 04 Jun 2026 20:30:03 +0500</pubDate><title>commits for 2026-06-04</title><guid isPermaLink="false">2099565636@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-06-04

-----------------------------------------------------------------------

647e76b6867e98cabe1849e9c0a048d4a6e4ea64 Art Cancro: housekeeping.c: remove unused code paths, move statics inside loop  (branch: master)
c9a92f82affb139d0dc607410e8258ebf3f81033 Art Cancro: remove unused prototype (*check_handles)(void *);  (branch: master)
2ca3f960815adb9924fdd3afd0096b6e755f4cad Art Cancro: random style  (branch: master)
db49551c5f032a1463afb7c862a2ebcb24da1e03 Art Cancro: Enforce database record immutability to prepare for LMDB driver migration  (branch: master)
184d4aac0cccecbad401f8a9594b1c37a6b30827 Art Cancro: Remove dead code paths and stale function declarations  (branch: master)
322115c1b15d5a8dcb084b83a665713202390b22 Art Cancro: Replace hardcoded prefixes/function names with __func__ in module logs  (branch: master)
caa0517c50cc9cae649c7a5fd780d07174acfb96 Art Cancro: Use __func__ for log prefixes in server main files  (branch: master)
1463313cf19d8649f904ea3387b94985e15d5a29 Art Cancro: database.c: added detection of LMDB for future back end.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565586</link><pubDate>Wed, 03 Jun 2026 20:30:03 +0500</pubDate><title>commits for 2026-06-03</title><guid isPermaLink="false">2099565586@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-06-03

-----------------------------------------------------------------------

ea1f57f4137ae2129409c034f4ec372d08a41ae7 Art Cancro: returned mailbox view to wide margins  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565530</link><pubDate>Tue, 02 Jun 2026 20:30:02 +0500</pubDate><title>commits for 2026-06-02</title><guid isPermaLink="false">2099565530@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-06-02

-----------------------------------------------------------------------

4b468a2247cee9a0ef49a03e664c54d884c9cc3a Art Cancro: Remove unused functions  (branch: master)
80db939996726851025569668c1b39a884f43730 Art Cancro: textclient: mass rename of stupid variable names.  (branch: master)
30a9648e7d1661b14f516500c8bbd1a5aff76276 Art Cancro: ical_ctdl_is_overlap.c: consolidated redundant copies of this.  (branch: master)
93a81ed33e4f89144fb5bbf6e33e5f3c85c492f8 Art Cancro: ical_ctdl_is_overlap: return bool instead of int; refactor show_event to bool  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565457</link><pubDate>Mon, 01 Jun 2026 20:30:28 +0500</pubDate><title>commits for 2026-06-01</title><guid isPermaLink="false">2099565457@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-06-01

-----------------------------------------------------------------------

2f909dc0703b20255e65413a05d3c4d6cb7e732a Art Cancro: Add 'Change your password' button placeholder in Account Settings  (branch: master)
a4634e07042e5eb15770ae57e541a6387b484f22 Art Cancro: Implement validation and styling for change password modal  (branch: master)
4bb011938a0eeae59b7967598f1f36d683c5c044 Art Cancro: Add modal backdrop overlay and visibility syncing  (branch: master)
f3493c1a9de59651f0fe4aaec68bc676d75e2f98 Art Cancro: Completed the code to change your password.  (branch: master)
e96195bc5f423a981fad22f0c74f135472728c9b Art Cancro: DRY the accordion dialog pattern.  (branch: master)
c428c5ee4a23cf68cc38ed3520af70ab0de079c6 Art Cancro: Revert "DRY the accordion dialog pattern."  (branch: master)
b23e52d8ba07611011179b507554b87b5c35396e Art Cancro: replaced some strings with template literals  (branch: master)
ee8508c8ba2c4786cdf4b84740ec3b2518bce27f Art Cancro: tests/lookup3: added.  (branch: master)
2c851b630038d3383280f53ce24518f8b01584cf Art Cancro: lookup3: reformatted to project coding standards and cleaned up unused code  (branch: master)
66968dcbe16fbe759eaabfdd7d6775b43282bbbf Art Cancro: style: add multi-line conditional standard and reformat blocks in vcard.c and html2html.c  (branch: master)
0ce59c68c9b7e9c6e67d81f59abb51d09c22f4db Art Cancro: removed some comments left over from the globals consolidation  (branch: master)
0e74e9846a76f7a461b68d10864c843364f7c7b3 Art Cancro: messages.c: optimized valid-key check using a set  (branch: master)
4a9b8dcff0c4b505deb81dbfdfb9a1707ee60a07 Art Cancro: Standardize copyright and license headers across C files in webcit/  (branch: master)
7046287f832e69911b29e9700f413f3e732da4a5 Art Cancro: Standardize webcit/marchlist.c style and show login counts in textclient user_functions.c  (branch: master)
e7dd43706472b980b1b064a2f3dfeef2e99f1ae8 Art Cancro: Eliminate pattern() function in textclient, replacing with cbmstrcasestr()  (branch: master)
86e5e4a78d25362a332f66f487a40b9219304ef3 Art Cancro: Replace file_checksum() with stat() metadata check to detect file edits  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565396</link><pubDate>Sun, 31 May 2026 20:30:21 +0500</pubDate><title>commits for 2026-05-31</title><guid isPermaLink="false">2099565396@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-31

-----------------------------------------------------------------------

92e38abbb07f10b973203abb8f59005722943282 Art Cancro: Consolidate global variables into globals.c and update prototypes  (branch: master)
987dc50bbc9472084482437ae54ea00d2c2fa8aa Art Cancro: Retire typedefs for server hooks, contexts, and lists  (branch: master)
141400c244865a541b092d6769bb583c154a99c2 Art Cancro: Refactor typedef structs and apply Citadel coding style to xdiff module  (branch: master)
72f4aeb6ab9cf524c68648af2d554d13dc096947 Art Cancro: Removed some old documention that no longer reflects the current build.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565357</link><pubDate>Sat, 30 May 2026 20:30:43 +0500</pubDate><title>commits for 2026-05-30</title><guid isPermaLink="false">2099565357@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-30

-----------------------------------------------------------------------

fccd9a6645f59335c78707f7488348a8126f599f Art Cancro: more removal of old cruft from libcitadel  (branch: master)
1b8e5c096a2690961ef3a0757c925868e6aa0d4d Art Cancro: Implement POST and DELETE methods for /ctdl/u/{username}/prefs  (branch: master)
c092777bda613bec465861ff56864e92cd4b2ef0 Art Cancro: Implement user preferences save flow and calendar hour defaulting rules  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565299</link><pubDate>Fri, 29 May 2026 20:30:04 +0500</pubDate><title>commits for 2026-05-29</title><guid isPermaLink="false">2099565299@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-29

-----------------------------------------------------------------------

876806dd36133eda1bb688f8e61e3403df50fc5b Art Cancro: fix false positive new message detect on empty rm  (branch: master)
8feb50aeadc60d326488481bb17f3fdc54b0f804 Art Cancro: Release version 17800226 generated by do-release.sh  (branch: master)
9abca41bdc4cab3654db393f1751035a2d174747 Art Cancro: Refactor get_room_access() to return a struct room_access  (branch: master)
b0106cc7fd9104a395a856269c0210dd2f934bd6 Art Cancro: Rename LoadRoomNetConfigFile() to load_room_net_config_file()  (branch: master)
07275faef19d22b24b986daa574e57e767d36693 Art Cancro: Refactor read_messages() to eliminate goto statements  (branch: master)
f278fe6871aa6fd143f5dc621cd61451c34e9f4e Art Cancro: Reformat wcwidth.c to match project coding style  (branch: master)
1d252d9927ad4b974415c8c0d820644ebb33280d Art Cancro: Replace SPDX license identifiers with full GPL v3 statement  (branch: master)
2c1963d70a1adf3d737a64e4acbf87b41a3a4f99 Art Cancro: Remove pattern2() and update instructions on testing libcitadel  (branch: master)
6aab70d5dbb1bc199cdbbada5fbf7025c55ed7c4 Art Cancro: Remove unimplemented prototypes from libcitadel.h and update make instruction in AGENTS.md  (branch: master)
2f853116c5a61a5059975ed8d45dea1523b02f56 Art Cancro: Update AGENTS.md to forbid unprompted git commits by coding assistants  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565146</link><pubDate>Wed, 27 May 2026 20:30:11 +0500</pubDate><title>commits for 2026-05-27</title><guid isPermaLink="false">2099565146@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-27

-----------------------------------------------------------------------

bc5cfd7032cc6a63ac935b60742634ecb9b98d79 Art Cancro: war on PascalCase continues  (branch: master)
f077f77a09cc40e7324e4f51e269311dbe5bbe20 Art Cancro: serv_crypto.c: refactor to newer library calls  (branch: master)
1646b2d072972886def5ea9942c1aefa8da66390 Art Cancro: webcit-classic: rename target label to idiomatic 'cleanup' in session_loop  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099565040</link><pubDate>Tue, 26 May 2026 20:30:13 +0500</pubDate><title>commits for 2026-05-26</title><guid isPermaLink="false">2099565040@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-26

-----------------------------------------------------------------------

0332373608997715a94ec27801583b5dc05792b9 Art Cancro: Fix CC line appearing when m_cc exists but empty.  (branch: master)
cbc6da5738a0c8aab54034f65c9dca57023414e2 Art Cancro: webcit-ng: dropdowns for fromaddr and fromemail  (branch: master)
aff8396b81ef27a849e7b40d403fd8e61da47615 Art Cancro: view_forum.js: use user's preferred posting name  (branch: master)
69649b49ddac7ee969b6c5de04addf42715a2341 Art Cancro: Remove definition of LOFF_T_FMT (no longer used)  (branch: master)
d8f08a2681b9c53ba263c0e9b120a5e6bf95fac0 Art Cancro: Change CTDLEXIT codes from defines to enums  (branch: master)
ae6fedc87ff27d303595376ccedb4c7e7bf89ae2 Art Cancro: EXPIRE_ values are now enum as well  (branch: master)
d10042b893465d5679687904af67d1176afd1b3f Art Cancro: server: Migrate session context mapping from POSIX TSD keys to native C11 _Thread_local  (branch: master)
3b69e6ccacca208b51068a5e9bd36437caf97f03 Art Cancro: server: Remove become_session() abstraction in favor of direct CC assignments  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099564317</link><pubDate>Thu, 21 May 2026 20:30:40 +0500</pubDate><title>commits for 2026-05-21</title><guid isPermaLink="false">2099564317@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-21

-----------------------------------------------------------------------

3bdf620a51a2e041c394a68a682881863dc98a3a Art Cancro: Rename struct members to current naming standards  (branch: master)
2b2e88bd845620cf39d52efbd4bfd88746e27f52 Art Cancro: urlhandling.c: moved from libcitadel to webcit  (branch: master)
e557e0444ba1e09aa37471957828f07c1e6aa7ec Art Cancro: wtf was EnableSplice?  removed  (branch: master)
516220e8685b7148ea22aff1a8cb05b4eae6709b Art Cancro: More removal of old cruft and abandoned functions  (branch: master)
31fdc22f58bdcb70deb7cca046c2e820cc29cd44 Art Cancro: Move plus-email handler so it works with aliases  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099564184</link><pubDate>Wed, 20 May 2026 20:30:19 +0500</pubDate><title>commits for 2026-05-20</title><guid isPermaLink="false">2099564184@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-20

-----------------------------------------------------------------------

0659b3b05695cae49e74e1cf279c5092431dddfb Art Cancro: In POP3 state, rename "lastseen" member to "last"  (branch: master)
40d21bb80d43858c82ef33fccd6db1cf8a3f06b9 Art Cancro: rename QRdirname to filedir_name  (branch: master)
142cedcc52a16a4f378181f5e9c01c6fc943536e Art Cancro: Begin removing "QR" from room record member names.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099564056</link><pubDate>Tue, 19 May 2026 20:30:19 +0500</pubDate><title>commits for 2026-05-19</title><guid isPermaLink="false">2099564056@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-19

-----------------------------------------------------------------------

09189e65b96255d170c3a62665580c0cbfa65680 Art Cancro: style cleanup  (branch: master)
00d2f58cf2d232a7cbe8e27ac39da5e30bb4ccfd Art Cancro: Release version 1024 generated by do-release.sh  (branch: master)
2f524272a097459960690ca85e3ff17df2cf99fe Art Cancro: Release version 17792232 generated by do-release.sh  (branch: master)
422c5e0923fddd884b6f5cf2aa0502c9e3d2051f Art Cancro: Workaround for broken sequence set bug  (branch: master)
448d8453db10ac7c01e56657ced637ec45de7cd2 Art Cancro: Mark "all seen" as 1:N instead of *:N  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099563920</link><pubDate>Mon, 18 May 2026 20:30:02 +0500</pubDate><title>commits for 2026-05-18</title><guid isPermaLink="false">2099563920@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-18

-----------------------------------------------------------------------

75aeb7f45fb85bdb581b426f93593534a451b77d Art Cancro: building up user conf dialogs  (branch: master)
9238beed58b2c75e09ec77f594e09bbfcdfb41db Art Cancro: DRY userconf_toggle_signature() into userconf_toggle_field().  (branch: master)
b41977d9c4aa63bad3cc84d5ece99f586018a9c2 Art Cancro: GVSN/GVEA logic in the API.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099563579</link><pubDate>Fri, 15 May 2026 20:30:03 +0500</pubDate><title>commits for 2026-05-15</title><guid isPermaLink="false">2099563579@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-15

-----------------------------------------------------------------------

15d02f22803b8f7df69330d3e5705570a797f6a6 Art Cancro: more mindless log enhancing  (branch: master)
71506fc4b7c24ad6c9f181b7aaa1d05bd736b1d1 Art Cancro: Reduce log volume.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099563489</link><pubDate>Thu, 14 May 2026 20:30:19 +0500</pubDate><title>commits for 2026-05-14</title><guid isPermaLink="false">2099563489@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-14

-----------------------------------------------------------------------

4fb80a61843b365451df5c43d0cb4bc995f70e02 Art Cancro: User config: skeleton  (branch: master)
5bec17cb7d32cd3df33b45600f8692845c57d808 Art Cancro: Multiple: log message prefixes now __func__  (branch: master)
05e5add07a94eaa850dbe4d1e2d2359cf2971b98 Art Cancro: renamed CtdlFetchMessage() to fetch_message()  (branch: master)
a98c9bb84e1a88c44d318be3e9b3abee64184f6d Art Cancro: more renaming of CamelCase functions to snake_case  (branch: master)
185264ab7dbce3bdd0312a508e9cf1341d5a06bd Art Cancro: more renaming of CamelCase functions to snake_case  (branch: master)
cd6a8875182d11c695448ebcdd85cc6696f43510 Art Cancro: more renaming of CamelCase functions to snake_case  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099563404</link><pubDate>Wed, 13 May 2026 20:30:11 +0500</pubDate><title>commits for 2026-05-13</title><guid isPermaLink="false">2099563404@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-13

-----------------------------------------------------------------------

b36e6388a71da338bbb0384ee321de840595c244 Art Cancro: View user profile - placeholder  (branch: master)
1b4ebbf2424612e282819a827314a115e6fbfc20 Art Cancro: removed gzip compression from webcit-classic  (branch: master)
5234815ec2dc0ad77665bd97e83fdae623faf565 Art Cancro: dbnothing: fixed diagnostic messages  (branch: master)
ed179f6d18788234e710c12629063a2dcdcc4868 Art Cancro: webcit-classic: fix race condition in thread pool sizing  (branch: master)
40f1688f3070f83a61a06ab808ade5f3b2b4b18d Art Cancro: Arrays now start at 4 element sized allocation and grow by 1.5x  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099563090</link><pubDate>Sat, 09 May 2026 20:30:19 +0500</pubDate><title>commits for 2026-05-09</title><guid isPermaLink="false">2099563090@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-09

-----------------------------------------------------------------------

8535ae5a25043fad4292aac8817e8442b31fd1a8 Art Cancro: Refactor array_append to use lazy allocation  (branch: master)
79b44f3c6592298de1983a6cca1a740c6f257f28 Art Cancro: mail and forum views: text is max-width:100ch  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099563006</link><pubDate>Fri, 08 May 2026 20:30:09 +0500</pubDate><title>commits for 2026-05-08</title><guid isPermaLink="false">2099563006@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-08

-----------------------------------------------------------------------

7bc180719b9384393a8a476dcc4ac43f21fd81f3 Art Cancro: Change include sys/poll.h to poll.h  (branch: master)
5f6e375c7af798348937181ea15f7a634347add2 Art Cancro: fix generation of package-version.txt  (branch: master)
80e13cb7bb84e73fb6f3031bcb3a456fcedc4db5 Art Cancro: the git they are a-changin  (branch: master)
273c2eb6966117aa088c13066ca942e48955d744 Art Cancro: struct ctdluser is always a struct now  (branch: master)
4ef916589448061750aaf6a95a56326116d5b0a0 Art Cancro: removed typedef struct ExpirePolicy ExpirePolicy  (branch: master)
053b6c75e28e23c827b3e8fc9ad72531cd9a6b20 Art Cancro: Use forward declaration to make Array an opaque type.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099562913</link><pubDate>Thu, 07 May 2026 20:30:09 +0500</pubDate><title>commits for 2026-05-07</title><guid isPermaLink="false">2099562913@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-07

-----------------------------------------------------------------------

79fb794766f98ff68a1d839881857e4c3bc273b1 Art Cancro: libcitadel is becoming a static lib  (branch: master)
c5fbadba66584623df958977067506ed19e72d1e Art Cancro: make install  (branch: master)
313205b9786ab1248e4519ae0b7aff28bf68a685 Art Cancro: added a null bootstrap command for old scripts  (branch: master)
3502a5e24a62acbd7b1a1835f040d95da1016d1f Art Cancro: removed include execinfo.h  (branch: master)
c7973bc3229499d5ea110eb0d45138df3593744e Art Cancro: war on execinfo  (branch: master)
9076176062256e2bb60c2e7b7d21c9bb51d0b926 Art Cancro: wtfitb  (branch: master)
89501103eff34c00c85f917abca292837ddcb143 Art Cancro: switch from arc4random_uniform() back to random() for compatibility with musl libc  (branch: master)
1920b6e25549c0fd988a536cc3d6ae39895d64a3 Art Cancro: New selector algorithm generates selector based on the time  (branch: master)
4ccd03ac31501ab13c4c86dae7886d70fdff6bec Art Cancro: Rotate the selector every 32 seconds instead of 128  (branch: master)
c273c951ef470211c4e921050bc5a1f778e737b4 Art Cancro: sendcommand.c: add required headers  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099561808</link><pubDate>Mon, 04 May 2026 20:30:19 +0500</pubDate><title>commits for 2026-05-04</title><guid isPermaLink="false">2099561808@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-04

-----------------------------------------------------------------------

834fea1e12f78483cbdff6f8cf552447b3d0ced7 Art Cancro: Fix buffer overflow and parsing edge cases in identify_mime_boundary_string()  (branch: master)
dfbe342e5fe1be966b64544f1adac8433ea965f3 Art Cancro: Removed syslog() from webcit-ng.  (branch: master)
5abf4cad819b4473c799c1f0269fc346fc2e9b91 Art Cancro: webcit-classic: converted syslog to printf  (branch: master)
b07f1b6b24e365de9dffdb1de8df79f90babf9c7 Art Cancro: removed wc_backtrace() and other disused things  (branch: master)
85ade0a08e31f0233144b0b12048115320b9c80c Art Cancro: utils: convert syslog to printf  (branch: master)
22c0b58aa52597137eb63cd762d31831b28bf6da Art Cancro: utils: convert syslog to printf  (branch: master)
4df3c413ad2b2a8e096cef2b40df438b163d6a46 Art Cancro: Citadel Server: convert syslog to printf.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099561630</link><pubDate>Sat, 02 May 2026 20:30:19 +0500</pubDate><title>commits for 2026-05-02</title><guid isPermaLink="false">2099561630@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-02

-----------------------------------------------------------------------

7dcbd7e92a9cebf8e6ae5f70d515ffb9951cc34c Art Cancro: Settings screen: fixed the logic for site-wide expire policy.  (branch: master)
1a421e3e5c1ad8e3bade5e95067a62ffb5ba0e25 Art Cancro: this should just be formatting, nothing else  (branch: master)
a8207cb4539a4a814eab6d061a81caac570c176f Art Cancro: Replaced two horizontal rules with vertical whitespace.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099561532</link><pubDate>Fri, 01 May 2026 20:30:11 +0500</pubDate><title>commits for 2026-05-01</title><guid isPermaLink="false">2099561532@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-05-01

-----------------------------------------------------------------------

d0854e0ed76847c888e9c7360af2b6033e59fb85 Art Cancro: Rapid fire development of the system configuration screens!  (branch: master)
0c82053e6fc4a2e19e681176ec213f6de04805b2 Art Cancro: Finished fleshing out the site configuration screens.  (branch: master)
324e553ab00adff592bbdc66b7a7e7604f6ad887 Art Cancro: Noted that the site and mailbox expire policies aren't configdb settings.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099561459</link><pubDate>Thu, 30 Apr 2026 20:30:09 +0500</pubDate><title>commits for 2026-04-30</title><guid isPermaLink="false">2099561459@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-30

-----------------------------------------------------------------------

8da2c26eb5aec6cfcdb73b04b84c5f25b83e941a Art Cancro: let's see if this works  (branch: master)
708eb4c67e0c25ca7be9c55459e0df6e23f37b47 Art Cancro: style update  (branch: master)
c84de410b4c5c2f296c479daae8f17009b7e2678 Art Cancro: Since we added AGENTS.md for computers to read, we needed README.md for humans to read.  (branch: master)
c069b8362e9c81b5427f392535e45570163fce80 Art Cancro: Hello  (branch: master)
01cdde8bcf57584f3ba47661f189e1b1cfd431d3 Art Cancro: Completed the "General" section of system configuration.  (branch: master)
347baa7a9bba25f6e28a3e6d64cebe4bc4f240bc Art Cancro: system config screen initially displays with General section expanded.  (branch: master)
d56f20a2625b8193bb8d27500b43e31ba148ea0a Art Cancro: Completed the 'Access' tab  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099561379</link><pubDate>Wed, 29 Apr 2026 20:30:11 +0500</pubDate><title>commits for 2026-04-29</title><guid isPermaLink="false">2099561379@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-29

-----------------------------------------------------------------------

ecda5dd8ef244417e40cad1d106a5734fad968e9 Art Cancro: /ctdl/a/sysconf/ now outputs in JSON instead of plain text.  (branch: master)
4cf74fd2281cd9c0b83d2af7e9e071fd3e317cb7 Art Cancro: System configuration screen initial setup.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099561311</link><pubDate>Tue, 28 Apr 2026 20:30:19 +0500</pubDate><title>commits for 2026-04-28</title><guid isPermaLink="false">2099561311@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-28

-----------------------------------------------------------------------

8fff0556a3fe28df726ff7c2fd485f4ea28577a8 Art Cancro: war on PascalCase continues  (branch: master)
88f7b566bdfb10d96630f5f5b775e5a62d961647 Art Cancro: SaveRoomNetConfigFile --> SaveRoomNetConfig  (branch: master)
481612a8bab92f30660b7e82bb8daa15dc3485ff Art Cancro: Random acts of style cleanup  (branch: master)
911fc5cd98a91c20b2333dc3d59f0f2579015a73 Art Cancro: Does anyone really know what commit it is?  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099561158</link><pubDate>Sun, 26 Apr 2026 20:30:03 +0500</pubDate><title>commits for 2026-04-26</title><guid isPermaLink="false">2099561158@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-26

-----------------------------------------------------------------------

9dfa6c9ca6f982caf52dfa8398ed38177b4ec4ca Art Cancro: New REST API points for system configuration  (branch: master)
390730edf04f2d9eb82464d7c80921c8d900b313 Art Cancro: added a teeny tiny comment  (branch: master)
de6ec249becf526e69fc7b48f60d1c4d6414dbf6 Art Cancro: Settings screen skeleton  (branch: master)
e1044e3e5033a3f5125c6ab0825a797b735bae43 Art Cancro: More skeleton sysconf work  (branch: master)
8bc399d5dd9f253fec60ca245c826eb0969fc2e0 Art Cancro: More filling out the Settings screen.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099561098</link><pubDate>Sat, 25 Apr 2026 20:30:19 +0500</pubDate><title>commits for 2026-04-25</title><guid isPermaLink="false">2099561098@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-25

-----------------------------------------------------------------------

290854b22961278ca702766677cbcf44b3ba0e9d Art Cancro: Converted the webcit-ng REST API to OpenAPI format.  (branch: master)
ba75c5a7357a09c396889f028db652bd40496588 Art Cancro: skeleton for sysconf  (branch: master)
b8355f2c2caaacb2aa4f0c69b8440ead53c30f42 Art Cancro: skeleton for sysconf commands  (branch: master)
976ae26b9ab1017bde3f6f850e74dd86ac8efbea Art Cancro: rename sysconf() to a_sysconf()  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099561022</link><pubDate>Fri, 24 Apr 2026 20:30:19 +0500</pubDate><title>commits for 2026-04-24</title><guid isPermaLink="false">2099561022@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-24

-----------------------------------------------------------------------

c37d3dc013472b4c47ad9763c7531bb7cb954aec Art Cancro: Unify PRODID across all components.  (branch: master)
43536831cb2e3e9f283324c855e518c14d45f94a Art Cancro: fixed db detection login  (branch: master)
eeecbcbc8285db020f448cbc5c7f934cbcad7b76 Art Cancro: Initial whack at a mailTo() function for internal use  (branch: master)
286a187738e89b00235aaf4b821c2a0b2de73f4c Art Cancro: contacts view: clicking email goes to citadel mail, not mailto: link  (branch: master)
747e8b1d6a47e0c5ed6661a6c352c2b0344e5357 Art Cancro: mailto: links now redirect to the Mail room properly.  (branch: master)
004926d7ad50fa4ec96462acacf13b87ecedfa5a Art Cancro: More unification of copyright banners.  (branch: master)
d5ddf84c5695a5ff658384ac99987f7dc4d74e07 Art Cancro: Calendar view: auto-scroll to the current time, not the start of day  (branch: master)
2a58b76776a02756742143e7d02f727735ee9367 Art Cancro: control.c: greatly simplified cmd_gvdn()  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099560922</link><pubDate>Thu, 23 Apr 2026 20:30:05 +0500</pubDate><title>commits for 2026-04-23</title><guid isPermaLink="false">2099560922@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-23

-----------------------------------------------------------------------

5476f2fb75e34df070bd4e0228e387da17d5bf9f Art Cancro: view_contacts.js: auto-remove conflicting fields  (branch: master)
c84c1d0aea2e98c7c873be6d795fb5d118ed27c8 Seth Oestreicher: Replace system(3) shell pipeline in cmd_movf with in-process copy  (branch: master)
a310c163736a1d9f1cdacf2dbbb0786a37ee2d9f Seth Oestreicher: Escape LDAP filter metacharacters in CtdlTryUserLDAP  (branch: master)
d885cd485c34a63041fca0d2a24bfd759ee1809a Seth Oestreicher: Fix MD5 signatures and silenced error check in generate_certificate  (branch: master)
54347b1ec2ef3a3a8230782df30041b221d419a8 Seth Oestreicher: Sanitize QRdirname in cmd_setr to block path traversal  (branch: master)
3045d10746bc0d8bbfdfacc7d12e131023b03da9 Seth Oestreicher: Add c_case_sensitive_passwords config flag for native-mode login  (branch: master)
433b61bc35e1541b6e66d37e4524c11dd94b4f81 Seth Oestreicher: Reject DOCTYPE in webcit-ng DAV XML parsers to block billion-laughs / XXE  (branch: master)
a45e1fb7b90a7c2ff6f38953a4168132962cc83d Seth Oestreicher: webcit-ng: evict idle entries from the Citadel connection pool  (branch: master)
a3cd6f1e2d2539beee55276ca157afc10d5aad84 Art Cancro: More robust back end detection  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099560811</link><pubDate>Wed, 22 Apr 2026 20:30:19 +0500</pubDate><title>commits for 2026-04-22</title><guid isPermaLink="false">2099560811@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-22

-----------------------------------------------------------------------

a45479240fd10918afa1c787487eb2e063a3355e Seth Oestreicher: Add REST endpoints for per-user preferences  (branch: master)
3d61950cb19b63851ef58e21851e92dce07fde73 Art Cancro: copyright date change  (branch: master)
34ffc8e86d2db942cb1a052e844beb35e9ea2fee Art Cancro: Remove host-to-native password conversion bridge.  (branch: master)
fd0a685d085cd62692812b19ad512fcc274cd927 Art Cancro: removed the 'undocumented rescue mode'  (branch: master)
3832a487b154649f01adb0266167a63826b353c3 Art Cancro: Random acts of cleanup  (branch: master)
47daef8c71608cfd7450774fc34d91da8c682507 Art Cancro: seed the random number generator more effectively  (branch: master)
6c87aa0a6159b5742d179d874cc4e58a831bfde2 Art Cancro: change rand() to random() in a few places  (branch: master)
bc9b2678ca25d11e492922187ac9bd7fa4f63360 Art Cancro: Removed the 'HttpOnly' directive from the cookie, it broke login  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099560584</link><pubDate>Mon, 20 Apr 2026 20:30:11 +0500</pubDate><title>commits for 2026-04-20</title><guid isPermaLink="false">2099560584@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-20

-----------------------------------------------------------------------

f4643e151d75378055636f156c3ee423a34ba46f Art Cancro: setup.c: detect init system being used and perform accordingly.  (branch: master)
8c941f179b9adf8f1d49223e3ce268a8a92b7832 Art Cancro: Removed unnecessary temporary buffers in XML chardata callbacks.  (branch: master)
4d9d0de258acbe31ace8127ab6f9109df71471aa Art Cancro: ical_ctdl_is_overlap.c: fix memory leak incurred in debug block  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099560334</link><pubDate>Fri, 17 Apr 2026 20:30:19 +0500</pubDate><title>commits for 2026-04-17</title><guid isPermaLink="false">2099560334@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-17

-----------------------------------------------------------------------

4a1bf6f4b9875c4b9c21abd72951d17a5d5048de Art Cancro: view_contacts.js: save to server now works  (branch: master)
06c04b226b86f43b95190f206a73d648572efc53 Art Cancro: Allow creation of new contacts  (branch: master)
c4aaf0f65bebd27570d8ee20c5b74af9e41d3fe9 Art Cancro: Support RFC 5995 DAV POST for new collection members.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099559974</link><pubDate>Sat, 11 Apr 2026 20:30:14 +0500</pubDate><title>commits for 2026-04-11</title><guid isPermaLink="false">2099559974@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-04-11

-----------------------------------------------------------------------

8ea32a7750b2838485a67e0d0e014de07d600cfb Art Cancro: serv_vcard.c: style cleanup  (branch: master)
82187f4980e43bb37c8b3ada7b2556997d8af8a8 Art Cancro: serv_nntp.c: formatting (mainly to test automated format correction)  (branch: master)
c7d7f1dd78695b7d2408a0dc67cb60455846a147 Art Cancro: serv_vcard.c: more style cleanup (but automated this time)  (branch: master)
c57334e950582889d0aebac5d1006072cb3a9d3d Art Cancro: system-wide change: AxAideU is now AxAdminU  (branch: master)
f715db7c895ea022c877bc2caeeea97f716f1be1 Art Cancro: lib/vcard.c: style cleanup  (branch: master)
b89ffb2ed9ae00465c512082ffbf1543f9e715c3 Art Cancro: vcard serialize/deserialize folding fixes.  (branch: master)
c53a7f66559df5e1fd8304f0be6d8668c966791c Art Cancro: view_contacts.js: add comment annotating computer-generated code  (branch: master)
4b27f4e096c02183926504524fd63387b4c233e2 Art Cancro: view_contacts: turned the temporary search box into a permanent pretty one  (branch: master)
89ed9f2d094cb29368f2289492e3cb43f5df3dbf Art Cancro: First attempt at a contact editor  (branch: master)
fac6905d9bcae4fd170ebbe1bf03246e6787ab28 Art Cancro: contact editor continued  (branch: master)
461cf95c6f311db21a3719fa464cc80643e2aef0 Art Cancro: birthday field is displayed as an html date editor  (branch: master)
78d10b981857966c3907c10de13fd115a7508acf Art Cancro: save button and function, part 1  (branch: master)
a301a9ac53b5106d0c196026deb8c5583a306b9d Art Cancro: Change calendar PRODID from -//Citadel//NONSGML Citadel Calendar//EN to -//Citadel//Citadel Calendar//EN  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099558981</link><pubDate>Sun, 29 Mar 2026 20:30:19 +0500</pubDate><title>commits for 2026-03-29</title><guid isPermaLink="false">2099558981@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-29

-----------------------------------------------------------------------

4803eaf7c08922f1fb31780bdedb3ae7c0d5ab95 Art Cancro: more work on photo display  (branch: master)
0e68c507694f262af45204c7d8b84622d5379a3a Art Cancro: diagnostic output , will remove soon  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099558904</link><pubDate>Sat, 28 Mar 2026 20:30:09 +0500</pubDate><title>commits for 2026-03-28</title><guid isPermaLink="false">2099558904@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-28

-----------------------------------------------------------------------

4f7092ad91c5428d90f1e6ee0121625a14dd100d Art Cancro: view_contacts.js: derive div name from href  (branch: master)
34112295403e4f1e88c2c872027f9f28ab3c33f9 Art Cancro: More and better fields in view_contacts  (branch: master)
fe1beefb55542249cee81c9e83c500ac17698967 Art Cancro: Make vcard weirdness handling more robust  (branch: master)
2dba581e78404d549a396c4eaef903187eb4d469 Art Cancro: Indicate contacts that have a photo attached  (branch: master)
d302b1636aa0306a388f993e8d9f2fdfdf08188b Art Cancro: Fix error that occurs when the vCard contains improperly folded Base64 image data.  (branch: master)
9121655afad6811ca52e099c90844c7f6d4907bf Art Cancro: Display user photo when available  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099558149</link><pubDate>Wed, 18 Mar 2026 20:30:15 +0500</pubDate><title>commits for 2026-03-18</title><guid isPermaLink="false">2099558149@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-18

-----------------------------------------------------------------------

b2d89c797263dd90444ff39a20a88b2e0996cf93 Art Cancro: style cleanup  (branch: master)
cdfaf9427654137af70c6ecfcf30c08a6abbbf97 Art Cancro: mime_parser.c: reformatted autogenerated code  (branch: master)
eec1bd294af7a6d56c3d33faffff1e92e043ac17 Art Cancro: More fun with indent  (branch: master)
174ff350679adf9980f550be72990d390f97473b Art Cancro: formatting  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099558025</link><pubDate>Mon, 16 Mar 2026 20:30:19 +0500</pubDate><title>commits for 2026-03-16</title><guid isPermaLink="false">2099558025@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-16

-----------------------------------------------------------------------

89f55d3bafbb533d12898c9817789f6a7aab62f3 Art Cancro: First cut at a contact view  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557935</link><pubDate>Sat, 14 Mar 2026 20:30:11 +0500</pubDate><title>commits for 2026-03-14</title><guid isPermaLink="false">2099557935@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-14

-----------------------------------------------------------------------

15a184729e82bc6d862ddeac1e66a1a8d7b5f500 Art Cancro: more work on contacts display  (branch: master)
e7e1c733b30908a8305216ce948a4419728251aa Art Cancro: more work on contacts display  (branch: master)
c29e3838df565a92d68d4aeb5e299d9deebdffc4 Art Cancro: more work on contacts display  (branch: master)
863805264135454c463a9181b88b30af27d38e6f Art Cancro: more work on contacts display  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557889</link><pubDate>Fri, 13 Mar 2026 20:30:19 +0500</pubDate><title>commits for 2026-03-13</title><guid isPermaLink="false">2099557889@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-13

-----------------------------------------------------------------------

6b19f1f967db398aa49dc2c093fc98681b1b158c Art Cancro: Add 32-bit deprecation warning to startup sequence  (branch: master)
7b52fd7a5f257b540a7430d78f3e1d2054fd450a Art Cancro: Initial skeleton for contacts  (branch: master)
75dc4689e5acf648dc44fb532a428a67ac7423a1 Art Cancro: more contacts  (branch: master)
644a3f410f9bf982c27af8d1a4b740e539710d1b Art Cancro: Basic list and click and search is working  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557836</link><pubDate>Thu, 12 Mar 2026 20:30:03 +0500</pubDate><title>commits for 2026-03-12</title><guid isPermaLink="false">2099557836@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-12

-----------------------------------------------------------------------

6839f24230f9ec4004794eeef7ff7187e8e9648d Art Cancro: basic carddav client  for view  (branch: master)
aa34fa01b7889d509c302445da107fe36b25ff92 Art Cancro: Fixed indentation in previous commit  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557697</link><pubDate>Mon, 09 Mar 2026 20:30:09 +0500</pubDate><title>commits for 2026-03-09</title><guid isPermaLink="false">2099557697@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-09

-----------------------------------------------------------------------

85d424ad877674da9b986d76cf706a898fd63a92 Art Cancro: tweaks to textclient makefile  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557643</link><pubDate>Sat, 07 Mar 2026 19:30:19 +0500</pubDate><title>commits for 2026-03-07</title><guid isPermaLink="false">2099557643@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-07

-----------------------------------------------------------------------

d87609cb7c45fe879d216f1e15e8d0a8954bd0dc Art Cancro: Makefile: remove auto parallelizing  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557609</link><pubDate>Fri, 06 Mar 2026 19:30:19 +0500</pubDate><title>commits for 2026-03-06</title><guid isPermaLink="false">2099557609@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-06

-----------------------------------------------------------------------

359a2db2de34e084647441d1d2e77d4d209ac661 Art Cancro: CardDAV addressbook-query REPORT is complete.  (branch: master)
6c48463b454cb02e01952fe096eb8abe40923376 Art Cancro: minor style cleanups, no functional changes  (branch: master)
630dd4ac298e3a6ca45015296d3b559cc3651fc5 Art Cancro: Handle emission of href tags without double slashes with or without trailing slashes in the collection request  (branch: master)
87d035c5121a309d814ce0d91d4dc5b44cf8af56 Art Cancro: reworked output_static more secure and deterministic under bad conditions  (branch: master)
606012f185042ad0ea2aea20fe31dd11b526ed5a Art Cancro: GNU Indent cuddled the else statements and performed other such atrocities so I had to fix them.  Suggested course of action, GNU/Punch Richard Stallman in the GNU/Face as GNU/Hard as you can.  Use
the front of a truck instead of your fist if necessary.  (branch: master)
7fa62d9feb2da43b86c525150c487878d02acefa Art Cancro: webcit-ng: once again compatible with both GNU Make and BSD make.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557572</link><pubDate>Thu, 05 Mar 2026 19:30:19 +0500</pubDate><title>commits for 2026-03-05</title><guid isPermaLink="false">2099557572@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-05

-----------------------------------------------------------------------

99c6dabba54faba14f61f6227ec0c92c4acdb8f4 Art Cancro: view_forum.js: remove quotes from etag before using as msgnum  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557527</link><pubDate>Wed, 04 Mar 2026 19:30:02 +0500</pubDate><title>commits for 2026-03-04</title><guid isPermaLink="false">2099557527@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-04

-----------------------------------------------------------------------

5be32fe2b7204ce9f47321a56d205d6cbdf37c2c Art Cancro: ctdl_decode_quoted_printable() rewritten by a code generator and is more accurate  (branch: master)
905e87cb86a345393f12b5d2a9f6113243e3ef59 Art Cancro: sequence set tester  (branch: master)
4be54fe361d3bc4ea88ee58f9bf3cfe8eefeaaf6 Art Cancro: New, more correct version of is_msg_in_sequence_set()  (branch: master)
86c9c53157bc38b3c64024db6f575ceed431594f Harlow Solutions: Purge all sessions marked for purging.  For non CON_IDLE sessions, force the client to disconnect before purging.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557519</link><pubDate>Wed, 04 Mar 2026 16:13:16 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099557519@Uncensored</guid><description><![CDATA[<html><body>

<p>Checked in.  I decided not to unblock all the sessions and then wait.  There probably are not going to be many at one time to purge like this, but if there were a lot, it might take more time based on the number of threads that have to complete.  Just sleep each time before purging so the load gets spread out.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557459</link><pubDate>Tue, 03 Mar 2026 19:30:03 +0500</pubDate><title>commits for 2026-03-03</title><guid isPermaLink="false">2099557459@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-03

-----------------------------------------------------------------------

d388c1b3edfdbfa13377f44f74edfe0272a7462a Art Cancro: Skeleton code for filters  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557449</link><pubDate>Tue, 03 Mar 2026 16:19:55 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099557449@Uncensored</guid><description><![CDATA[<html><body>

<p>I will check into master soon.  Want to let run for a bit to test a little more.  As for the file descriptors, I don't think there is a leak condition.  I set the session descriptor to -1, shutdown, close and then later wait for the process to finish and purge.  At the point of the close, the descriptor is free and no one is pointing to it.  The purge just skips closing.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557413</link><pubDate>Mon, 02 Mar 2026 22:54:11 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099557413@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<p>I have put code into my production system and it seems to work ok.  It is the using the shutdown()/close() and setting file descriptor to -1 just before calling purge.  I keep those sessions in the list, sleep() for a bit (quarter second) and then purge them all at once.  The SMTP and IMAP processing seems to finish processing in a split second, so the quarter second has been reliable, but still wish I could think of a better answer.</p>
</div>
</blockquote>
<p>Yeah, I get it, and to be honest I haven't come up with any better ideas either.</p>
<p>Flushing the session and coming back later to cull it may be the only option.  Just make sure we don't leak file descriptors.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557405</link><pubDate>Mon, 02 Mar 2026 19:30:19 +0500</pubDate><title>commits for 2026-03-02</title><guid isPermaLink="false">2099557405@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-02

-----------------------------------------------------------------------

f3370b8e16b9d8928b7ad02863fb86d8bbaa13a8 Art Cancro: ETag and CTag are always driven by mtime, never 0.  (branch: master)
4d5a1d4f07705b2c0db3fc55044bd64a44a619f8 Art Cancro: Support max-resource-size property (caldav and carddav)  (branch: master)
911f4f8e5fb15810db530b2d088fcb6932f95149 Art Cancro: Support DAV::supported-report-set  (branch: master)
fc9ab0670eed12f2446baec6f1fc4113bb9cc3c7 Art Cancro: Support urn:ietf:params:xml:ns:caldav:schedule-tag  (branch: master)
602c6a8ec60126f36c0eacb9c96b674955a18d89 Art Cancro: Revert that, it doesn't make sense here  (branch: master)
51111b4142e229a37896a45f6870be97ab3759ba Art Cancro: Associate the XMPP "mortuary" with the more commonly known word "tombstone"  (branch: master)
f5091550607906a0c4f7bfd28806424f47a4043e Art Cancro: Amended unknown property syslogs with resource names  (branch: master)
5e82e10099edc9b7296194f1c6c01acd0de543f2 Art Cancro: Changed logs from 'client requested unknown property' to 'no property'  (branch: master)
d6663a35378a71ee5fedf784811e7db272db9c54 Art Cancro: propfinder.c: include instructions for use as comments in the file.  (branch: master)
bb2d4e8738598854f184143063c03a2ba87d4e58 Art Cancro: Replace all the 'no property' syslogs with a single one in propfinder  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557369</link><pubDate>Sun, 01 Mar 2026 19:30:19 +0500</pubDate><title>commits for 2026-03-01</title><guid isPermaLink="false">2099557369@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-03-01

-----------------------------------------------------------------------

e7f498f7cd1b0123b3747e7470f29617ec4b3d61 Art Cancro: caldav_reports.c: normalize some code that's being copied into carddav_reports.c  (branch: master)
4898fbca4e341660ae67774dedf35cb09caf5f8a Art Cancro: building up card_addressbook_query  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557366</link><pubDate>Sun, 01 Mar 2026 18:26:18 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099557366@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Sat Feb 28 2026 22:22:12 UTC</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Purge Sessions Question</span></div>
<div class="message_content">
<blockquote>
<div class="message_content">
<p>This looks like the safest solution since it does not require any worker changes and only affects the non-normal purges that we were skipping.  The best implementation I found was to set the context file descriptor to -1 to make sure when the worker I/O wakes up, it will not try to go back and try a new I/O operation.   Then shutdown and close the socket.  At this point we need to allow the worker thread to continue until it is done processing the I/O return.  At that point, we can purge the context.</p>
</div>
</blockquote>
<p>I think you're onto something there.  Calling shutdown(sock, SHUT_RDWR) and then maybe coming through and closing it later could be the solution.  Parking the socket in a place where it's no longer attached to any session could also be a design win.</p>
<p> </p>
<br /><br /></div>
</blockquote>
<p>The shutdown works great for forcing the client right away.  The close() can be done anytime after.  The trick is not purging the session until the client wakes up and finish processing using the session.</p>
<p>I thought of just using shutdown, preserving the sessions until the worker was done, but you still need feedback from the thread that it is done.  I am trying to avoid having the worker do anything because then I have to trace back any places the worker can block and then follow the code back to when it is done and have it update something to tell the main thread.</p>
<p>I have put code into my production system and it seems to work ok.  It is the using the shutdown()/close() and setting file descriptor to -1 just before calling purge.  I keep those sessions in the list, sleep() for a bit (quarter second) and then purge them all at once.  The SMTP and IMAP processing seems to finish processing in a split second, so the quarter second has been reliable, but still wish I could think of a better answer.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557341</link><pubDate>Sat, 28 Feb 2026 19:30:19 +0500</pubDate><title>commits for 2026-02-28</title><guid isPermaLink="false">2099557341@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-02-28

-----------------------------------------------------------------------

a18d1893217c8dd4714f3d1ddc6d6eb9ede80af1 Art Cancro: Set ical:calendar-color to LightSlateGrey because that's what we use in the web ui  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557336</link><pubDate>Sat, 28 Feb 2026 17:22:12 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099557336@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<p>This looks like the safest solution since it does not require any worker changes and only affects the non-normal purges that we were skipping.  The best implementation I found was to set the context file descriptor to -1 to make sure when the worker I/O wakes up, it will not try to go back and try a new I/O operation.   Then shutdown and close the socket.  At this point we need to allow the worker thread to continue until it is done processing the I/O return.  At that point, we can purge the context.</p>
</div>
</blockquote>
<p>I think you're onto something there.  Calling shutdown(sock, SHUT_RDWR) and then maybe coming through and closing it later could be the solution.  Parking the socket in a place where it's no longer attached to any session could also be a design win.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557296</link><pubDate>Fri, 27 Feb 2026 19:30:19 +0500</pubDate><title>commits for 2026-02-27</title><guid isPermaLink="false">2099557296@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-02-27

-----------------------------------------------------------------------

8190f6bb7a2730ff6975aa201b7934149be5f47c Art Cancro: site prefix: don't append port number, it's already in the Host: header if it's not 80 or 443  (branch: master)
11a068d0b1ff4962b3d492c4131b02e5f5288bcc Art Cancro: fetch_ical() is now fetch_body() and is reusable  (branch: master)
3d45563e26d58c6f5b0f5a322a917dd3eec6735f Art Cancro: remove commented-out code from previous commits  (branch: master)
7548ce9aa7732b5ba8f576ba798866dc34ab7d64 Art Cancro: caldav_reports.c: remove in_prop from top-level parser  (branch: master)
88d8b16ae55cf87df3ca8f410c2d4036e32b42bc Art Cancro: card_multiget_out() skeleton  (branch: master)
711a7a4b1a79a12172aa8602d0d1cc5425c42385 Art Cancro: carddav_reports.c: fix href collection (missing code from xml tag handler)  (branch: master)
a5c8bf2706992e87c393a8c82a48afe22e0ed689 Art Cancro: Correct handling of urn:ietf:params:xml:ns:caldav:calendar-data  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557257</link><pubDate>Thu, 26 Feb 2026 19:30:19 +0500</pubDate><title>commits for 2026-02-26</title><guid isPermaLink="false">2099557257@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-02-26

-----------------------------------------------------------------------

bcca499ddd38fdcd9f9b879010ce673e436c5b0f Art Cancro: Add Unix domain socket support to web server  (branch: master)
fbbb14b13eea4d395067122dcaa102f5275813dc Art Cancro: Set permissions so anyone can connect  (branch: master)
a94c9e9bd390c387175ab8c02d7b560a4b10f42a Art Cancro: Style cleanup of previous few commits  (branch: master)
3f9e50dc9e81668f3f056d3e195fa57406ac7c81 Art Cancro: etags must be in quotes  (branch: master)
dce218560030265ad21bd15f8044f33d613697b3 Art Cancro: caldav_reports.c: fix double slashes in href  (branch: master)
7d4b2e9668c711aec20a18981099e0a3dcac78e3 Art Cancro: caldav_reports.c: omit site prefix hrom href stanzas  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557230</link><pubDate>Thu, 26 Feb 2026 09:31:47 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099557230@Uncensored</guid><description><![CDATA[<html><body>

<p>Well, spent a lot of time figuring out what the issue was and trying multiple implementations to try to come up with a clean solution.</p>
<p>Problem:</p>
<p>When a context is purged and the socket I/O is not idle in the worker thread, the worker is probably in an I/O wait.  The purge currently issues a close() which leaves the socket connection half open, so the worker stays blocked until the client eventually tries to send a character or drops the connection.  The purge continues and frees up the context right away, so when the worker eventually unblocks, the worker thinks the connection closed and ends up using the context and core dumps.</p>
<p>Solutions:</p>
<p>Doing a shutdown() before the close() will unblock the I/O when the thread is given control again.  The I/O operation returns like the client closed the connection.  It still continues and uses the context.</p>
<p>The two solutions I explored were</p>
<p>1) Have the I/O operation detect on return that the context has been purged and make sure the post processing does not access the context.</p>
<p>Problem with this is that all possible I/Os need to be modified to handle the condition.  This is possible, but requires a fair amount of work to even as a hack and if someone changes any of the code post-I/O, they could break the worker with the freed context.  I started to do this for SMTP and it was a bit of work.  It would have to be implemented in all the modules that do I/O, so I did not think this was a good solution.  With a lot of changes, we could rework the way we do all I/Os and handle properly.  This means reworking a lot of code, which means risk and since this is not a common occurrence, I did not pursue further.</p>
<p>2) For non-idle workers, before purging the context, shutdown the I/O and let the worker complete it's handling of a closed connection and then purge the context.</p>
<p>This looks like the safest solution since it does not require any worker changes and only affects the non-normal purges that we were skipping.  The best implementation I found was to set the context file descriptor to -1 to make sure when the worker I/O wakes up, it will not try to go back and try a new I/O operation.   Then shutdown and close the socket.  At this point we need to allow the worker thread to continue until it is done processing the I/O return.  At that point, we can purge the context.</p>
<p>Allowing the worker to continue just means doing a short usleep().  To detect when the worker has completed post I/O work with the context would require each I/O letting the other thread know.  Back to more code.  I found that just sleeping for a little time, the worker completes quickly.  I cannot test all I/O conditions, but I tested SMTP and IMAP and a quarter second sleep was plenty of time for the workers to complete.  I hate doing delays like this without a way to poll, but it is a simple solution and works in my testing.  The purge condition does not happen very often, so the quarter second does not impact the server much.</p>
<p>If anyone has another/safer idea or a better solution that I can implement, I am all ears.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557211</link><pubDate>Wed, 25 Feb 2026 19:30:19 +0500</pubDate><title>commits for 2026-02-25</title><guid isPermaLink="false">2099557211@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-02-25

-----------------------------------------------------------------------

c712cc11fbe01d3c339c02d3f29c06323bbf2e38 Art Cancro: quick tweaks to readme  (branch: master)
63293d829d2ca2e4cb027e017c710620faa086b7 Art Cancro: More propfinder(), more removal of unused variables  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557154</link><pubDate>Tue, 24 Feb 2026 19:30:19 +0500</pubDate><title>commits for 2026-02-24</title><guid isPermaLink="false">2099557154@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-02-24

-----------------------------------------------------------------------

a160b733d51180843800a4edee13c4d511a6021c Art Cancro: msgbase.c: MSG4 now sets content-transfer-encoding to '8bit' when content is decoded  (branch: master)
b2fb42cd5ce324e58951db789247fd637386eac2 Art Cancro: More CalDAV updates, including the request emitted by the SPA  (branch: master)
34397e84abea85342d79f08d46012138e7e15929 Art Cancro: upload.c: use __func__ in syslog messages  (branch: master)
7b108019f154e6fe22dcf0302b427c7d1998cf49 Art Cancro: admin_functions.c: use __func__ in syslog messages  (branch: master)
2da339b91cf9ab2f94e3bd4025846ad065de8c60 Art Cancro: Removed an old block of commented-out code.  (branch: master)
fc590d7605fea1b5246fc4ed6daa27c0311ab5e8 Art Cancro: tcp_sockets.c: use __func__ in syslog messages  (branch: master)
a767440203101bb1467ebc21513c280856b39fc4 Art Cancro: forum_view.c: use __func__ in syslog messages  (branch: master)
b472678cba7ef90a9c4868111654ddfdaf5ddce3 Art Cancro: static.c: use __func__ in syslog messages  (branch: master)
ca456a0d24b1be4a3ef606a164aa77f5455c9805 Art Cancro: Draw seven red lines, all of them strictly perpendicular; some with green ink and some with transparent.  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099557024</link><pubDate>Mon, 23 Feb 2026 19:30:19 +0500</pubDate><title>commits for 2026-02-23</title><guid isPermaLink="false">2099557024@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-02-23

-----------------------------------------------------------------------

1966665ecd4788687ab6594dc299b5b6b333875f Art Cancro: Reworked StrBufDecodeQP() to handle bad data better  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099556931</link><pubDate>Sun, 22 Feb 2026 19:30:02 +0500</pubDate><title>commits for 2026-02-22</title><guid isPermaLink="false">2099556931@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-02-22

-----------------------------------------------------------------------

6324d4047b95fa6b56846868444aa9062e5bdce9 Art Cancro: Refactored multiget_out and propfinder to handle REPORT cases  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099556723</link><pubDate>Fri, 20 Feb 2026 19:30:19 +0500</pubDate><title>commits for 2026-02-20</title><guid isPermaLink="false">2099556723@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-02-20

-----------------------------------------------------------------------

c05d8c5d42b656e9afa190ef1b1f03d7c1a90b01 Art Cancro: More DAV improvements  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099556596</link><pubDate>Thu, 19 Feb 2026 22:16:24 +0500</pubDate><title>commits for 2026-02-19</title><guid isPermaLink="false">2099556596@Uncensored</guid><description><![CDATA[Daily commit digest for Citadel server, clients, utilities
Commits for 2026-02-19

-----------------------------------------------------------------------

667c7433b03578d4a158726bad8b1cdecee79efe Art Cancro: internet_addressing: restructure EA_LOCAL user lookup for clarity and correctness  (branch: master)
b957e9c7d6d4ff67a45d6cda6b859eea62c056b6 Art Cancro: internet_addressing: add plus-notation support for local user delivery  (branch: master)
25cc7c40360b0a6059a63b3e332623b7303bd0bc Art Cancro: Release version 1023 generated by do-release.sh  (branch: master)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099556005</link><pubDate>Sun, 15 Feb 2026 17:29:04 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099556005@Uncensored</guid><description><![CDATA[ >Just working out the cleanest way to stop the thread from continuing on
 
 >after a purge without having to to do something drastic to the worker  
 >thread.   
  
 Great!  Looking forward to seeing your solution.  Ghost sessions from brute
force attacks are something we all see from time to time. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099556000</link><pubDate>Sun, 15 Feb 2026 16:25:21 +0500</pubDate><title>switch back to more favored license declaration</title><guid isPermaLink="false">2099556000@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fe36a96e529486cf58da7c96704a90acc5ead07f (commit)
       via  0f9237c307286828b056745ef61507e60c0b3f8a (commit)
      from  a700652bd6aa135e8bb08e85ef964c763c4494f2 (commit)


- Log -----------------------------------------------------------------
commit fe36a96e529486cf58da7c96704a90acc5ead07f
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 15 16:25:13 2026 -0500

switch back to more favored license declaration

commit 0f9237c307286828b056745ef61507e60c0b3f8a
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 9 12:08:39 2026 -0500

carddav report prep

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c     |  2 +-
 citadel/server/backends/berkeley_db/berkeley_db.h     |  2 +-
 citadel/server/backends/common/database.c             |  2 +-
 citadel/server/citadel_dirs.c                         |  2 +-
 citadel/server/citadel_dirs.h                         |  2 +-
 citadel/server/citadel_ldap.h                         |  2 +-
 citadel/server/citserver.c                            |  2 +-
 citadel/server/citserver.h                            |  2 +-
 citadel/server/clientsocket.c                         |  2 +-
 citadel/server/clientsocket.h                         |  2 +-
 citadel/server/config.c                               |  2 +-
 citadel/server/config.h                               |  2 +-
 citadel/server/context.c                              |  2 +-
 citadel/server/control.c                              |  2 +-
 citadel/server/control.h                              |  2 +-
 citadel/server/ctdl_module.h                          |  2 +-
 citadel/server/database.h                             |  2 +-
 citadel/server/default_timezone.c                     |  2 +-
 citadel/server/domain.c                               |  2 +-
 citadel/server/domain.h                               |  2 +-
 citadel/server/euidindex.c                            |  2 +-
 citadel/server/genstamp.c                             |  2 +-
 citadel/server/housekeeping.c                         |  2 +-
 citadel/server/internet_addressing.c                  |  2 +-
 citadel/server/journaling.c                           |  2 +-
 citadel/server/ldap.c                                 |  2 +-
 citadel/server/locate_host.c                          |  2 +-
 citadel/server/locate_host.h                          |  2 +-
 citadel/server/makeuserkey.c                          |  2 +-
 .../modules/autocompletion/serv_autocompletion.c      |  2 +-
 .../modules/autocompletion/serv_autocompletion.h      |  2 +-
 citadel/server/modules/bio/serv_bio.c                 |  2 +-
 citadel/server/modules/blog/serv_blog.c               |  2 +-
 .../server/modules/calendar/ical_ctdl_is_overlap.c    |  2 +-
 citadel/server/modules/calendar/serv_calendar.c       |  2 +-
 citadel/server/modules/calendar/serv_calendar.h       |  2 +-
 citadel/server/modules/checkpoint/serv_checkpoint.c   |  2 +-
 citadel/server/modules/clamav/serv_virus.c            |  2 +-
 citadel/server/modules/crypto/serv_crypto.c           |  2 +-
 citadel/server/modules/ctdlproto/serv_ctdlproto.c     |  2 +-
 citadel/server/modules/ctdlproto/serv_file.c          |  2 +-
 citadel/server/modules/ctdlproto/serv_messages.c      |  2 +-
 citadel/server/modules/ctdlproto/serv_rooms.c         |  2 +-
 citadel/server/modules/ctdlproto/serv_session.c       |  2 +-
 citadel/server/modules/ctdlproto/serv_syscmds.c       |  2 +-
 citadel/server/modules/ctdlproto/serv_user.c          |  2 +-
 citadel/server/modules/expire/expire_policy.c         |  2 +-
 citadel/server/modules/expire/serv_expire.c           |  2 +-
 citadel/server/modules/fulltext/ft_wordbreaker.c      |  2 +-
 citadel/server/modules/fulltext/ft_wordbreaker.h      |  2 +-
 citadel/server/modules/fulltext/serv_fulltext.c       |  2 +-
 citadel/server/modules/fulltext/serv_fulltext.h       |  2 +-
 citadel/server/modules/image/serv_image.c             |  2 +-
 citadel/server/modules/imap/imap_acl.c                |  2 +-
 citadel/server/modules/imap/imap_acl.h                |  2 +-
 citadel/server/modules/imap/imap_fetch.c              |  2 +-
 citadel/server/modules/imap/imap_fetch.h              |  2 +-
 citadel/server/modules/imap/imap_list.c               |  2 +-
 citadel/server/modules/imap/imap_metadata.c           |  2 +-
 citadel/server/modules/imap/imap_metadata.h           |  2 +-
 citadel/server/modules/imap/imap_misc.c               |  2 +-
 citadel/server/modules/imap/imap_misc.h               |  2 +-
 citadel/server/modules/imap/imap_search.c             |  2 +-
 citadel/server/modules/imap/imap_search.h             |  2 +-
 citadel/server/modules/imap/imap_store.c              |  2 +-
 citadel/server/modules/imap/imap_store.h              |  2 +-
 citadel/server/modules/imap/imap_tools.c              |  2 +-
 citadel/server/modules/imap/serv_imap.c               |  2 +-
 citadel/server/modules/imap/serv_imap.h               |  2 +-
 citadel/server/modules/inboxrules/serv_inboxrules.c   |  2 +-
 citadel/server/modules/inetcfg/serv_inetcfg.c         |  2 +-
 citadel/server/modules/instmsg/serv_instmsg.c         |  2 +-
 citadel/server/modules/listdeliver/serv_listdeliver.c |  2 +-
 citadel/server/modules/listsub/serv_listsub.c         |  2 +-
 citadel/server/modules/nntp/serv_nntp.c               |  2 +-
 citadel/server/modules/nntp/serv_nntp.h               |  2 +-
 citadel/server/modules/notes/serv_notes.c             |  2 +-
 citadel/server/modules/pop3/serv_pop3.c               |  2 +-
 citadel/server/modules/pop3/serv_pop3.h               |  2 +-
 citadel/server/modules/pop3client/serv_pop3client.c   |  2 +-
 citadel/server/modules/roomchat/serv_roomchat.c       |  2 +-
 citadel/server/modules/rssclient/serv_rssclient.c     |  2 +-
 citadel/server/modules/rwho/serv_rwho.c               |  2 +-
 citadel/server/modules/smtp/dkim.c                    |  2 +-
 citadel/server/modules/smtp/dkim_bindings.c           |  2 +-
 citadel/server/modules/smtp/serv_smtpclient.c         |  2 +-
 citadel/server/modules/smtp/smtp_util.c               |  2 +-
 citadel/server/modules/smtp/smtp_util.h               |  2 +-
 citadel/server/modules/spam/serv_spam.c               |  2 +-
 citadel/server/modules/test/serv_test.c               |  2 +-
 citadel/server/modules/upgrade/serv_upgrade.c         |  2 +-
 citadel/server/modules/upgrade/serv_upgrade.h         |  2 +-
 citadel/server/modules/vcard/serv_vcard.c             |  2 +-
 citadel/server/modules/wiki/serv_wiki.c               |  2 +-
 citadel/server/modules/xmpp/serv_xmpp.c               |  2 +-
 citadel/server/modules/xmpp/serv_xmpp.h               |  2 +-
 citadel/server/modules/xmpp/xmpp_messages.c           |  2 +-
 citadel/server/modules/xmpp/xmpp_presence.c           |  2 +-
 citadel/server/modules/xmpp/xmpp_query_namespace.c    |  2 +-
 citadel/server/modules/xmpp/xmpp_queue.c              |  2 +-
 citadel/server/modules/xmpp/xmpp_sasl_service.c       |  2 +-
 citadel/server/modules_init.c                         |  2 +-
 citadel/server/modules_init.h                         |  2 +-
 citadel/server/msgbase.c                              |  2 +-
 citadel/server/msgbase.h                              |  2 +-
 citadel/server/netconfig.c                            |  2 +-
 citadel/server/parsedate.c                            |  2 +-
 citadel/server/room_ops.c                             |  2 +-
 citadel/server/serv_extensions.c                      |  2 +-
 citadel/server/server_main.c                          |  2 +-
 citadel/server/serversocket.c                         |  2 +-
 citadel/server/session.c                              |  2 +-
 citadel/server/support.c                              |  2 +-
 citadel/server/sysdep.h                               |  2 +-
 citadel/server/threads.c                              |  2 +-
 citadel/server/user_ops.c                             |  2 +-
 citadel/server/user_ops.h                             |  2 +-
 citadel/server/usetable.c                             |  2 +-
 citadel/server/visit.c                                |  2 +-
 citadel/server/visit.h                                |  2 +-
 citadel/tests/xdifftester/xdifftest.c                 |  2 +-
 citadel/utils/auth.c                                  |  2 +-
 citadel/utils/chkpw.c                                 |  2 +-
 citadel/utils/chkpwd.c                                |  2 +-
 citadel/utils/citmail.c                               |  2 +-
 citadel/utils/ctdldump.c                              |  2 +-
 citadel/utils/ctdlload.c                              |  2 +-
 citadel/utils/dbnothing.c                             |  2 +-
 citadel/utils/loadtest.c                              |  2 +-
 citadel/utils/sendcommand.c                           |  2 +-
 citadel/utils/setup.c                                 |  2 +-
 libcitadel/lib/array.c                                |  2 +-
 libcitadel/lib/base64.c                               |  2 +-
 libcitadel/lib/decode.c                               |  2 +-
 libcitadel/lib/hash.c                                 |  2 +-
 libcitadel/lib/html_to_ascii.c                        |  2 +-
 libcitadel/lib/json.c                                 |  2 +-
 libcitadel/lib/libcitadel.c                           |  2 +-
 libcitadel/lib/libcitadel.h                           |  2 +-
 libcitadel/lib/mime_parser.c                          |  2 +-
 libcitadel/lib/stringbuf.c                            |  2 +-
 libcitadel/lib/tools.c                                |  2 +-
 libcitadel/lib/urlhandling.c                          |  2 +-
 libcitadel/lib/vcard.c                                |  2 +-
 libcitadel/lib/vnote.c                                |  2 +-
 textclient/citadel.c                                  |  2 +-
 textclient/citadel_ipc.c                              |  2 +-
 textclient/client_chat.c                              |  2 +-
 textclient/client_passwords.c                         |  2 +-
 textclient/commands.c                                 |  2 +-
 textclient/file_transfer.c                            |  2 +-
 textclient/messages.c                                 |  2 +-
 textclient/rooms.c                                    |  2 +-
 textclient/screen.c                                   |  2 +-
 textclient/sysutil.c                                  |  2 +-
 textclient/tcpclient.c                                |  2 +-
 textclient/textclient.h                               |  2 +-
 textclient/tuiconfig.c                                |  2 +-
 textclient/user_functions.c                           |  2 +-
 textclient/utilfunc.c                                 |  2 +-
 webcit-ng/server/admin_functions.c                    |  2 +-
 webcit-ng/server/caldav_reports.c                     |  2 +-
 webcit-ng/server/carddav_reports.c                    | 19 ++++++++++++++++---
 webcit-ng/server/ctdl_commands.c                      |  2 +-
 webcit-ng/server/ctdlclient.c                         |  2 +-
 webcit-ng/server/ctdlfunctions.c                      |  2 +-
 webcit-ng/server/floor_functions.c                    |  2 +-
 webcit-ng/server/forum_view.c                         |  2 +-
 webcit-ng/server/html2html.c                          |  2 +-
 webcit-ng/server/http.c                               |  2 +-
 webcit-ng/server/ical_ctdl_is_overlap.c               |  2 +-
 webcit-ng/server/main.c                               |  2 +-
 webcit-ng/server/messages.c                           |  2 +-
 webcit-ng/server/messages_propfind.c                  |  2 +-
 webcit-ng/server/netconfig.c                          |  2 +-
 webcit-ng/server/propfinder.c                         |  2 +-
 webcit-ng/server/request.c                            |  2 +-
 webcit-ng/server/room_functions.c                     |  2 +-
 webcit-ng/server/room_propfind.c                      |  2 +-
 webcit-ng/server/static.c                             |  2 +-
 webcit-ng/server/tcp_sockets.c                        |  2 +-
 webcit-ng/server/text2html.c                          |  2 +-
 webcit-ng/server/tls.c                                |  2 +-
 webcit-ng/server/upload.c                             |  2 +-
 webcit-ng/server/user_functions.c                     |  2 +-
 webcit-ng/server/util.c                               |  2 +-
 webcit-ng/server/webcit.h                             |  2 +-
 webcit-ng/server/webserver.c                          |  2 +-
 webcit-ng/server/wiki_view.c                          |  2 +-
 webcit/addressbook_popup.c                            |  2 +-
 webcit/auth.c                                         |  2 +-
 webcit/autocompletion.c                               |  2 +-
 webcit/blogview_renderer.c                            |  2 +-
 webcit/calendar.c                                     |  2 +-
 webcit/calendar.h                                     |  2 +-
 webcit/calendar_view.c                                |  2 +-
 webcit/crypto.c                                       |  2 +-
 webcit/dav.h                                          |  2 +-
 webcit/gettext.c                                      |  2 +-
 webcit/graphics.c                                     |  2 +-
 webcit/ical_ctdl_is_overlap.c                         |  2 +-
 webcit/ical_dezonify.c                                |  2 +-
 webcit/icontheme.c                                    |  2 +-
 webcit/netconf.c                                      |  2 +-
 webcit/roomops.c                                      |  2 +-
 webcit/sieve.c                                        |  2 +-
 webcit/siteconfig.c                                   |  2 +-
 webcit/sockets.c                                      |  2 +-
 webcit/sysdep.c                                       |  2 +-
 webcit/webcit.h                                       |  2 +-
 webcit/webserver.c                                    |  2 +-
 211 files changed, 226 insertions(+), 213 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099555939</link><pubDate>Sat, 14 Feb 2026 22:04:50 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099555939@Uncensored</guid><description><![CDATA[<html><body>

<p>Just so you don't think I disappeared, I figured out the issue.  Just working on the proper fix.  When a session is purged, there still can be clients connected.  Even after a server close, the client can still have their end open and any pending reads just wait.  The read returns when the client disconnects and normally the read will get an error code or end of input.  In some cases it will return without an error and the code will process the input.  In my DOS case, the clients stop transmitting in the middle of the data section.  The session eventually gets purged and the session is freed up.  Later when the read on the worker returns without an error it tries to use the session and gets a core dump.</p>
<p>Just working out the cleanest way to stop the thread from continuing on after a purge without having to to do something drastic to the worker thread.</p>
<blockquote>
<div class="message_header"><span>Fri Feb 06 2026 18:30:29 UTC</span><span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span><span class="message_subject">Subject: Re: Purge Sessions Question</span></div>
<div class="message_content">
<p>Tried purging KILLME_IDLE sessions that were not CON_IDLE and getting coredumps.  Will have to dig deeper into how to kill properly.</p>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099555222</link><pubDate>Sat, 07 Feb 2026 14:40:59 +0500</pubDate><title>Apply the reject_unknown_properties() DRY routine to user principal fetch</title><guid isPermaLink="false">2099555222@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a700652bd6aa135e8bb08e85ef964c763c4494f2 (commit)
      from  7e729128d1b08d34ac802d5186bc35c1191bace8 (commit)


- Log -----------------------------------------------------------------
commit a700652bd6aa135e8bb08e85ef964c763c4494f2
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 7 14:40:57 2026 -0500

Apply the reject_unknown_properties() DRY routine to user principal fetch

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/carddav_reports.c |  5 +----
 webcit-ng/server/http.c            |  2 +-
 webcit-ng/server/user_functions.c  | 26 ++------------------------
 3 files changed, 4 insertions(+), 29 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099555178</link><pubDate>Fri, 06 Feb 2026 22:02:56 +0500</pubDate><title>Correct outputs of displayname and calendar-home-set in preparation for carddav</title><guid isPermaLink="false">2099555178@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7e729128d1b08d34ac802d5186bc35c1191bace8 (commit)
      from  e8ad68544fd359c3baa86a522c034e4730f35453 (commit)


- Log -----------------------------------------------------------------
commit 7e729128d1b08d34ac802d5186bc35c1191bace8
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Feb 6 22:02:55 2026 -0500

Correct outputs of displayname and calendar-home-set in preparation for carddav

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages_propfind.c | 12 ++++++++++--
 webcit-ng/server/room_propfind.c     |  3 +++
 webcit-ng/server/user_functions.c    |  2 +-
 3 files changed, 14 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099555114</link><pubDate>Fri, 06 Feb 2026 13:30:29 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099555114@Uncensored</guid><description><![CDATA[<html><body>

<p>Tried purging KILLME_IDLE sessions that were not CON_IDLE and getting coredumps.  Will have to dig deeper into how to kill properly.</p>
<p> </p>
<blockquote>
<div class="message_header"><span class="message_subject">Subject: Re: Purge Sessions Question</span></div>
<div class="message_content">
<p>I have looked through the code and only purging sessions that the connection is idle goes back to day one for context.c</p>
<p>Throughout the code (modules too), kill_me gets set in all sorts of conditions.  I am not sure what the state of the connection is in all of these cases, but the one I am running into is when the client has a connection open, but does not do anything in the time configured, it sets the kill_me to KILLME_IDLE.  Since the connection is not idle, the session never is ended.  I get hundreds of these in production.</p>
<p>Looking at the other places that set kill_me, I think they all expect the purge to kill them, but I cannot be sure, and I don't even know how to test every condition.</p>
<p>On my server, I added purging sessions that were set to KILLME_IDLE and it seems to clean up my issue.  Not sure how to test if we purge all kill_me scenarios.</p>
<p>I think adding the check for KILLME_IDLE is worth adding to the code, but what are the thoughts about the risk of purging all?</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554948</link><pubDate>Wed, 04 Feb 2026 23:23:14 +0500</pubDate><title>messages_propfind: complete propfinder() pattern for single items</title><guid isPermaLink="false">2099554948@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e8ad68544fd359c3baa86a522c034e4730f35453 (commit)
      from  c6d9b0c840fa07bfd5c34fd4d1b9ed87f23aa083 (commit)


- Log -----------------------------------------------------------------
commit e8ad68544fd359c3baa86a522c034e4730f35453
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 4 23:23:08 2026 -0500

messages_propfind: complete propfinder() pattern for single items

Thunderbird discovery saga resolved at last.

- Wrapped MSG0 parsing in proper braces for clarity and safety.
- Applied propfinder() dispatcher to individual message resources.
- Emit requested properties selectively:
* DAV::getcontenttype (calendar, tasks, addressbook)
* DAV::getlastmodified (RFC 1123 timestamp)
* DAV::getetag (when enumerating by EUID)
- Reject unsupported properties cleanly with a second <propstat>.
- Log unknown property requests for debugging.

This closes the loop: propfinder() now runs at every level
(principal, home-set, collection, and item). Responses are
standards-compliant, namespace-faithful, and client-friendly.

After weeks of frustration, Thunderbird finally sees the calendar.
Tonight we celebrate: the propfind emitter is complete.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages_propfind.c | 49 +++++++++++++++++++++++-------------
 1 file changed, 32 insertions(+), 17 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554926</link><pubDate>Wed, 04 Feb 2026 17:28:56 +0500</pubDate><title>The correct calendar-home-set is /ctdl/r/ , not /ctdl/r/Calendar/</title><guid isPermaLink="false">2099554926@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c6d9b0c840fa07bfd5c34fd4d1b9ed87f23aa083 (commit)
       via  feb166086e058165cf34e1f2eabfe9e5869f56c8 (commit)
      from  9911dabdbca585eb8d7e188ddf799153be2e4e26 (commit)


- Log -----------------------------------------------------------------
commit c6d9b0c840fa07bfd5c34fd4d1b9ed87f23aa083
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 4 17:28:54 2026 -0500

The correct calendar-home-set is /ctdl/r/ , not /ctdl/r/Calendar/

commit feb166086e058165cf34e1f2eabfe9e5869f56c8
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 4 16:02:45 2026 -0500

Changed (time(NULL)%900) to (time(NULL)&~0x3ff)

The intent here was to provide a low-resolution timestamp that updates
roughly once every 15 minutes, but I was doing it wrong.  This corrects
the logic and updates the timestamp every 1024 seconds (17m4s).

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c        | 7 +++----
 webcit-ng/server/user_functions.c | 4 ++--
 2 files changed, 5 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554916</link><pubDate>Wed, 04 Feb 2026 15:37:21 +0500</pubDate><title>dav depth: parse &#39;infinity&#39; correctly, DRY the pattern</title><guid isPermaLink="false">2099554916@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9911dabdbca585eb8d7e188ddf799153be2e4e26 (commit)
      from  912b31f85dffd1ab7620bf438a9d70c6accac745 (commit)


- Log -----------------------------------------------------------------
commit 9911dabdbca585eb8d7e188ddf799153be2e4e26
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 4 15:37:17 2026 -0500

dav depth: parse 'infinity' correctly, DRY the pattern

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c       | 15 +++++++++++++--
 webcit-ng/server/room_propfind.c |  2 +-
 webcit-ng/server/webcit.h        |  1 +
 3 files changed, 15 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554900</link><pubDate>Wed, 04 Feb 2026 14:23:36 +0500</pubDate><title>DRY the reject_unknown_properties pattern</title><guid isPermaLink="false">2099554900@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  912b31f85dffd1ab7620bf438a9d70c6accac745 (commit)
      from  89952eb0107d94d180a63200c917e624e7f58fed (commit)


- Log -----------------------------------------------------------------
commit 912b31f85dffd1ab7620bf438a9d70c6accac745
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 4 14:23:35 2026 -0500

DRY the reject_unknown_properties pattern

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/propfinder.c    | 30 ++++++++++++++++++++++
 webcit-ng/server/request.c       | 54 ++--------------------------------------
 webcit-ng/server/room_propfind.c | 31 +++--------------------
 webcit-ng/server/webcit.h        |  1 +
 4 files changed, 36 insertions(+), 80 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554893</link><pubDate>Wed, 04 Feb 2026 12:54:22 +0500</pubDate><title>remove debug</title><guid isPermaLink="false">2099554893@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  89952eb0107d94d180a63200c917e624e7f58fed (commit)
      from  fdb54a9c4b96a5141d09de25080f6d68bb33ad05 (commit)


- Log -----------------------------------------------------------------
commit 89952eb0107d94d180a63200c917e624e7f58fed
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 4 12:54:20 2026 -0500

remove debug

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/propfinder.c | 1 -
 1 file changed, 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554884</link><pubDate>Wed, 04 Feb 2026 12:28:21 +0500</pubDate><title>prop: handle un-namespaced tags robustly</title><guid isPermaLink="false">2099554884@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fdb54a9c4b96a5141d09de25080f6d68bb33ad05 (commit)
      from  18c6b9414d336bfea1f2fb7fba831350a6ff5037 (commit)


- Log -----------------------------------------------------------------
commit fdb54a9c4b96a5141d09de25080f6d68bb33ad05
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 4 12:28:19 2026 -0500

prop: handle un-namespaced tags robustly

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/propfinder.c     |  1 +
 webcit-ng/server/request.c        | 18 ++++++++----------
 webcit-ng/server/room_propfind.c  |  7 +++----
 webcit-ng/server/user_functions.c |  9 ++++-----
 4 files changed, 16 insertions(+), 19 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554879</link><pubDate>Wed, 04 Feb 2026 11:37:40 +0500</pubDate><title>Linux</title><guid isPermaLink="false">2099554879@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  18c6b9414d336bfea1f2fb7fba831350a6ff5037 (commit)
      from  b0224c5606e1ea07db15b08fb23509c489fa7a10 (commit)


- Log -----------------------------------------------------------------
commit 18c6b9414d336bfea1f2fb7fba831350a6ff5037
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 4 11:37:38 2026 -0500

Linux

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554648</link><pubDate>Mon, 02 Feb 2026 13:18:58 +0500</pubDate><title>Apply the propfinder() pattern to the room as a collection</title><guid isPermaLink="false">2099554648@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b0224c5606e1ea07db15b08fb23509c489fa7a10 (commit)
      from  122f05129c6636103b251d36dabb11454257c350 (commit)


- Log -----------------------------------------------------------------
commit b0224c5606e1ea07db15b08fb23509c489fa7a10
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 2 13:18:56 2026 -0500

Apply the propfinder() pattern to the room as a collection

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages_propfind.c |   1 +
 webcit-ng/server/request.c           |   3 +-
 webcit-ng/server/room_functions.c    |   2 +-
 webcit-ng/server/room_propfind.c     | 174 +++++++++++++++++++++++++----------
 webcit-ng/server/webcit.h            |   2 +-
 5 files changed, 130 insertions(+), 52 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554434</link><pubDate>Sat, 31 Jan 2026 14:22:23 +0500</pubDate><title>We now satisfy all properties commonly requested in PROPFIND for discovery.</title><guid isPermaLink="false">2099554434@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  122f05129c6636103b251d36dabb11454257c350 (commit)
      from  6b4650d879c94b9f1f74e4026a20b81f68c77fa0 (commit)


- Log -----------------------------------------------------------------
commit 122f05129c6636103b251d36dabb11454257c350
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 31 14:22:21 2026 -0500

We now satisfy all properties commonly requested in PROPFIND for discovery.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/http.c    |  1 +
 webcit-ng/server/request.c | 53 +++++++++++++++++++++++++++++++++++++---------
 2 files changed, 44 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554343</link><pubDate>Fri, 30 Jan 2026 19:09:15 +0500</pubDate><title>changed some copyright dates</title><guid isPermaLink="false">2099554343@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6b4650d879c94b9f1f74e4026a20b81f68c77fa0 (commit)
      from  57f6ed6f0cb22407188402de1f376b64c95fd03b (commit)


- Log -----------------------------------------------------------------
commit 6b4650d879c94b9f1f74e4026a20b81f68c77fa0
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 30 19:09:10 2026 -0500

changed some copyright dates

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/static.c | 2 +-
 webcit-ng/server/util.c   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554302</link><pubDate>Fri, 30 Jan 2026 13:34:43 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099554302@Uncensored</guid><description><![CDATA[<html><body>

<p>I have looked through the code and only purging sessions that the connection is idle goes back to day one for context.c</p>
<p>Throughout the code (modules too), kill_me gets set in all sorts of conditions.  I am not sure what the state of the connection is in all of these cases, but the one I am running into is when the client has a connection open, but does not do anything in the time configured, it sets the kill_me to KILLME_IDLE.  Since the connection is not idle, the session never is ended.  I get hundreds of these in production.</p>
<p>Looking at the other places that set kill_me, I think they all expect the purge to kill them, but I cannot be sure, and I don't even know how to test every condition.</p>
<p>On my server, I added purging sessions that were set to KILLME_IDLE and it seems to clean up my issue.  Not sure how to test if we purge all kill_me scenarios.</p>
<p>I think adding the check for KILLME_IDLE is worth adding to the code, but what are the thoughts about the risk of purging all?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554253</link><pubDate>Thu, 29 Jan 2026 22:10:27 +0500</pubDate><title>Refactor http date string: replace malloc/free with fixed buffer struct</title><guid isPermaLink="false">2099554253@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  57f6ed6f0cb22407188402de1f376b64c95fd03b (commit)
      from  43972cc43faf1fb29d03b23841b2c7744b705db1 (commit)


- Log -----------------------------------------------------------------
commit 57f6ed6f0cb22407188402de1f376b64c95fd03b
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 29 22:10:16 2026 -0500

Refactor http date string: replace malloc/free with fixed buffer struct

No heap leaks remain,
thirty-one chars fit the world,
time kept safe in stone.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/http.c              |  6 +---
 webcit-ng/server/messages_propfind.c | 14 +++-----
 webcit-ng/server/request.c           |  2 +-
 webcit-ng/server/room_propfind.c     |  4 +--
 webcit-ng/server/static.c            |  6 +---
 webcit-ng/server/util.c              | 62 ++++--------------------------------
 webcit-ng/server/webcit.h            |  7 +++-
 7 files changed, 21 insertions(+), 80 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554184</link><pubDate>Thu, 29 Jan 2026 15:25:59 +0500</pubDate><title>Migrate &lt;propstat&gt; responses from spray-and-pray to generated.</title><guid isPermaLink="false">2099554184@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  43972cc43faf1fb29d03b23841b2c7744b705db1 (commit)
      from  1169d44d419ed0c1dbc022253bcc08a22f371dcd (commit)


- Log -----------------------------------------------------------------
commit 43972cc43faf1fb29d03b23841b2c7744b705db1
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 29 15:24:00 2026 -0500

Migrate <propstat> responses from spray-and-pray to generated.

Now we properly disassemble the request and identify the properties that
were requested, generating a <response> for each item and <propstat>
blocks for both available and non-available properties.

This is in place for user principal and for /ctdl/ , with more properties
and more endpoints to be migrated as we go.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c        | 207 ++++++++++++++++++++++++++------------
 webcit-ng/server/user_functions.c |  13 ++-
 2 files changed, 150 insertions(+), 70 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554056</link><pubDate>Wed, 28 Jan 2026 16:13:41 +0500</pubDate><title>Handle unknown properties without destroying their names</title><guid isPermaLink="false">2099554056@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1169d44d419ed0c1dbc022253bcc08a22f371dcd (commit)
      from  503afeda72fbda2fd53514d72371d4b11ba28d13 (commit)


- Log -----------------------------------------------------------------
commit 1169d44d419ed0c1dbc022253bcc08a22f371dcd
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 28 16:13:39 2026 -0500

Handle unknown properties without destroying their names

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c        | 96 ---------------------------------------
 webcit-ng/server/user_functions.c | 10 ++--
 2 files changed, 4 insertions(+), 102 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554049</link><pubDate>Wed, 28 Jan 2026 15:27:13 +0500</pubDate><title>user_functions: accentuate the positive, eliminate the negative</title><guid isPermaLink="false">2099554049@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  503afeda72fbda2fd53514d72371d4b11ba28d13 (commit)
      from  b50ce41fa7f3e427037d376a9508f0a53ad38d4d (commit)


- Log -----------------------------------------------------------------
commit 503afeda72fbda2fd53514d72371d4b11ba28d13
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 28 15:26:47 2026 -0500

user_functions: accentuate the positive, eliminate the negative

Replaced the double‑backwards `handled` flag with a clearer `unknown_property`
so the loop now reads like plain English: erase if known, log if unknown.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/user_functions.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554029</link><pubDate>Wed, 28 Jan 2026 12:01:48 +0500</pubDate><title>test</title><guid isPermaLink="false">2099554029@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b50ce41fa7f3e427037d376a9508f0a53ad38d4d (commit)
       via  bf7e883242feb5317a3c3f38e635a01cd8181ee7 (commit)
      from  4af8fe276399ee2efea220ce23191d504a11a276 (commit)


- Log -----------------------------------------------------------------
commit b50ce41fa7f3e427037d376a9508f0a53ad38d4d
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 28 12:01:34 2026 -0500

test

commit bf7e883242feb5317a3c3f38e635a01cd8181ee7
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 28 12:01:24 2026 -0500

test

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099554028</link><pubDate>Wed, 28 Jan 2026 11:59:43 +0500</pubDate><title>remove closing brackets from string comparisons</title><guid isPermaLink="false">2099554028@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4af8fe276399ee2efea220ce23191d504a11a276 (commit)
      from  683deef6e5a2c4fa58c6928d10c86c0592eb8ec0 (commit)


- Log -----------------------------------------------------------------
commit 4af8fe276399ee2efea220ce23191d504a11a276
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 28 11:59:06 2026 -0500

remove closing brackets from string comparisons

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/main.c           |  2 +-
 webcit-ng/server/propfinder.c     |  5 +++--
 webcit-ng/server/user_functions.c | 24 +++++-------------------
 3 files changed, 9 insertions(+), 22 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553994</link><pubDate>Wed, 28 Jan 2026 00:54:39 +0500</pubDate><title>Begin parsing PROPFIND the correct way instead of just shotgun-blasting everything we have.</title><guid isPermaLink="false">2099553994@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  683deef6e5a2c4fa58c6928d10c86c0592eb8ec0 (commit)
      from  55821a1aa96dd6c2358966f66fb09c986fb56da7 (commit)


- Log -----------------------------------------------------------------
commit 683deef6e5a2c4fa58c6928d10c86c0592eb8ec0
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 28 00:54:04 2026 -0500

Begin parsing PROPFIND the correct way instead of just shotgun-blasting everything we have.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/propfinder.c     |  51 +++++++++++++++-
 webcit-ng/server/user_functions.c | 118 ++++++++++++++++++++++++++------------
 webcit-ng/server/webcit.h         |   9 ++-
 3 files changed, 137 insertions(+), 41 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553963</link><pubDate>Tue, 27 Jan 2026 20:13:11 +0500</pubDate><title>We&#39;re going to have to extract the actual list of propfind properties instead of just giving out every property we have, because some clients are written by incompetent developers whose little brains can&#39;t handle the fact that the DAV RFC tells them to ignore returned properties they didn&#39;t need. Specifically, the commies at Mozilla who would rather virtue signal than write code are to blame.</title><guid isPermaLink="false">2099553963@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  55821a1aa96dd6c2358966f66fb09c986fb56da7 (commit)
      from  4d0a54b95acc29b756faebce393a0218a7d32f3b (commit)


- Log -----------------------------------------------------------------
commit 55821a1aa96dd6c2358966f66fb09c986fb56da7
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 27 20:12:58 2026 -0500

We're going to have to extract the actual list of propfind properties instead of just giving out every property we have, because some clients are written by incompetent developers whose little brains can't handle the fact that the DAV RFC tells them
to ignore returned properties they didn't need.  Specifically, the commies at Mozilla who would rather virtue signal than write code are to blame.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/propfinder.c     | 12 ++++++++++++
 webcit-ng/server/room_functions.c |  2 +-
 webcit-ng/server/room_propfind.c  |  7 ++++---
 webcit-ng/server/user_functions.c | 12 ++++++++++--
 webcit-ng/server/webcit.h         |  6 +++++-
 5 files changed, 32 insertions(+), 7 deletions(-)
 create mode 100644 webcit-ng/server/propfinder.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553937</link><pubDate>Tue, 27 Jan 2026 16:55:16 +0500</pubDate><title>remove spurious comment</title><guid isPermaLink="false">2099553937@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4d0a54b95acc29b756faebce393a0218a7d32f3b (commit)
      from  14e5330b9d097e791725edb14cd9fd4d03f5c0d6 (commit)


- Log -----------------------------------------------------------------
commit 4d0a54b95acc29b756faebce393a0218a7d32f3b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 27 16:55:05 2026 -0500

remove spurious comment

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_propfind.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553929</link><pubDate>Tue, 27 Jan 2026 16:39:45 +0500</pubDate><title>Progress on caldav discovery</title><guid isPermaLink="false">2099553929@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  14e5330b9d097e791725edb14cd9fd4d03f5c0d6 (commit)
      from  37a9e718130e74c5e11f5e5a87d6ae4cb1539e9c (commit)


- Log -----------------------------------------------------------------
commit 14e5330b9d097e791725edb14cd9fd4d03f5c0d6
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 27 16:39:34 2026 -0500

Progress on caldav discovery

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_propfind.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553928</link><pubDate>Tue, 27 Jan 2026 16:33:32 +0500</pubDate><title>commit test</title><guid isPermaLink="false">2099553928@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  37a9e718130e74c5e11f5e5a87d6ae4cb1539e9c (commit)
      from  98df896a5872db0800ca59dba4a354b4f52297fb (commit)


- Log -----------------------------------------------------------------
commit 37a9e718130e74c5e11f5e5a87d6ae4cb1539e9c
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 27 16:32:54 2026 -0500

commit test

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/caldav_reports.c    |   4 +-
 webcit-ng/server/http.c              |   2 +-
 webcit-ng/server/messages_propfind.c |  12 ++-
 webcit-ng/server/request.c           | 175 ++++++++++++++++++-----------------
 webcit-ng/server/room_functions.c    |   2 +-
 webcit-ng/server/room_propfind.c     |  61 ++++++------
 webcit-ng/server/user_functions.c    |   2 +-
 webcit-ng/server/util.c              |  35 ++++++-
 8 files changed, 169 insertions(+), 124 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553874</link><pubDate>Tue, 27 Jan 2026 07:04:23 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099553874@Uncensored</guid><description><![CDATA[<html><body>

<p>I think the situation I am seeing on my server is bad guys are establishing a session and then just holding trying to do a DOS.  The session gets flagged as kill_me idle expecting the purge to actually drop the connection.  Since the session is not truly idle, it never gets killed.  I remember somewhere sessions can get set kill_me for admin reasons but I do not remember the conditions off the top of my head. I think the purge is really a cleanup and the code uses it to actually try to end the current connection.</p>
<p>I will have to look at the code a bit, but we may need to just have something that just drops the connection and not purge the session in some cases.  If a session is idle, is there a case that you can think of that the session needs to be killed rather than just ending the connection?</p>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553725</link><pubDate>Sun, 25 Jan 2026 13:52:53 +0500</pubDate><title>request/response body debugs to syslog, not stderr</title><guid isPermaLink="false">2099553725@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  98df896a5872db0800ca59dba4a354b4f52297fb (commit)
      from  c8bcda5177e18cfb1f17e7f176d7d589460fa523 (commit)


- Log -----------------------------------------------------------------
commit 98df896a5872db0800ca59dba4a354b4f52297fb
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 25 13:52:47 2026 -0500

request/response body debugs to syslog, not stderr

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/http.c          | 41 +++++++++++++++++++++++-----------------
 webcit-ng/server/request.c       |  2 ++
 webcit-ng/server/room_propfind.c | 14 ++++++++++++++
 3 files changed, 40 insertions(+), 17 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553635</link><pubDate>Sat, 24 Jan 2026 12:14:48 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099553635@Uncensored</guid><description><![CDATA[<html><body>

<p>Very much so.  If the state of a session is not CON_IDLE, it means an active thread is using it as its session context.  If we delete such a session, the thread that is holding it will segfault.</p>
<p>So what we're looking at here, if we are seeing a surplus of sessions that have kill_me set and are <em>not</em> in CON_IDLE, is one of two things:</p>
<p>1. We missed a setting somewhere and it's not cleaning up properly; or</p>
<p>2. (more likely) A session is stuck waiting for some network event to complete</p>
<p>So for those sessions, the question to ask is "What thread is attached to this session, and what is it waiting for?"</p>
<p>As you've undoubtedly seen, worker_thread() in session.c is the lifeblood of the server.  If there's a problem in there, it's quite fundamental and we should absolutely fix it.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553521</link><pubDate>Fri, 23 Jan 2026 12:13:30 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099553521@Uncensored</guid><description><![CDATA[<html><body>

<p>My best guess is that the setting for purge (kill_me) in the different parts of the code do not care about the state, but the actual purge will not purge unless it is in the CON_IDLE state.  I will have to debug to check.</p>
<p>If the state is not CON_IDLE, is there any issue with purging cleaning up and deleting?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553341</link><pubDate>Wed, 21 Jan 2026 17:13:21 +0500</pubDate><title>Re: Purge Sessions Question</title><guid isPermaLink="false">2099553341@Uncensored</guid><description><![CDATA[<html><body>

<p>I think you're on to something, because I don't get the purges that I should either.  I haven't been able to figure it out so far.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099553137</link><pubDate>Mon, 19 Jan 2026 20:50:29 +0500</pubDate><title>Purge Sessions Question</title><guid isPermaLink="false">2099553137@Uncensored</guid><description><![CDATA[<html><body>

<p>My server gets a lot of DOS attacks.  I am not sure if related, but I noticed I am getting messages "context: scheduled X idle sessions for termination" repeatedly.  I looked at the logic and sessions are marked for purging when idle for a while by setting the kill_me property.  The purge logic that runs periodically does not purge them because it only purges if the session state is CON_IDLE and kill_me, so the idle sessions just keep adding up.</p>
<p>Am I missing something?  It looks like the purge logic should not look at the state and just purge the session.  There are other times the kill_me property is set, so I am thinking that those conditions may not get purge either unless the session completes.  Need a second opinion :-)</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099552472</link><pubDate>Tue, 13 Jan 2026 11:43:38 +0500</pubDate><title>Startup banner copyright date to 2026</title><guid isPermaLink="false">2099552472@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ee22c5591e47588b72e60535c8da0dcbe9f9083c (commit)
       via  6c9c82e5091e53c51c7616765e8cd3d3bec4cf3d (commit)
      from  c19a8b841ea8adf5a924a76c5c1daff71dc6cd3d (commit)


- Log -----------------------------------------------------------------
commit ee22c5591e47588b72e60535c8da0dcbe9f9083c
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 13 11:43:33 2026 -0500

Startup banner copyright date to 2026

commit 6c9c82e5091e53c51c7616765e8cd3d3bec4cf3d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 13 11:36:50 2026 -0500

Renamed CtdlIsNonEditable() to is_room_non_editable()

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/ctdl_module.h                | 4 ++--
 citadel/server/modules/expire/serv_expire.c | 4 ++--
 citadel/server/room_ops.c                   | 8 ++++----
 citadel/server/server_main.c                | 4 ++--
 webcit-ng/server/http.c                     | 8 ++++----
 5 files changed, 14 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099551450</link><pubDate>Sat, 03 Jan 2026 23:20:49 +0500</pubDate><title>Standardize URL encoding and clean up WebDAV/CalDAV path generation</title><guid isPermaLink="false">2099551450@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c19a8b841ea8adf5a924a76c5c1daff71dc6cd3d (commit)
      from  3ab8957204da0d432956a1883c8c1fb36a4826e0 (commit)


- Log -----------------------------------------------------------------
commit c19a8b841ea8adf5a924a76c5c1daff71dc6cd3d
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 3 23:20:25 2026 -0500

Standardize URL encoding and clean up WebDAV/CalDAV path generation

* libcitadel: Refactor StrBufUrlescAppend() to strictly adhere to RFC 3986.
The function now ensures that only unreserved characters (ALPHA, DIGIT,
'-', '.', '_', '~') are left unescaped. All other characters,
including ':' and '@', are now correctly percent-encoded.

* webcit-ng: Remove unused 'site_prefix' parameters from
propfind_collection_metadata() and its callers. This simplifies the
internal API and relies on absolute paths relative to the server root.

* webcit-ng: Correct D:href generation in PROPFIND responses. By switching
to the revised StrBufUrlescAppend(), room names with spaces and special
characters are now correctly represented as valid URIs, enabling
discovery and navigation in CalDAV/WebDAV clients.

* Update copyright headers to 2026 where appropriate.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/stringbuf.c        | 2 +-
 webcit-ng/server/request.c        | 2 +-
 webcit-ng/server/room_functions.c | 4 ++--
 webcit-ng/server/room_propfind.c  | 6 +++---
 webcit-ng/server/user_functions.c | 2 +-
 webcit-ng/server/webcit.h         | 4 ++--
 6 files changed, 10 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099551449</link><pubDate>Sat, 03 Jan 2026 23:13:58 +0500</pubDate><title>Subject: Standardize URL encoding to RFC 3986 and fix CalDAV collection discovery</title><guid isPermaLink="false">2099551449@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3ab8957204da0d432956a1883c8c1fb36a4826e0 (commit)
      from  08e3a557b7d7ca87d420abd9768e391f108e8344 (commit)


- Log -----------------------------------------------------------------
commit 3ab8957204da0d432956a1883c8c1fb36a4826e0
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 3 23:12:39 2026 -0500

Subject: Standardize URL encoding to RFC 3986 and fix CalDAV collection discovery

Description: This change hardens the URL encoding logic in libcitadel and applies it
to the WebDAV/CalDAV PROPFIND handlers to ensure interoperability with strict clients
(e.g., cadaver, Thunderbird, macOS).

libcitadel: Refactored StrBufUrlescAppend to strictly follow RFC 3986.

Previously, the function allowed unsafe characters like : and @ to remain unescaped.

The new logic utilizes isalnum() and strictly limits unreserved characters to ALPHA, DIGIT, -, ., _, and ~.

All other characters, including spaces, colons, and at-symbols, are now percent-encoded.

webcit-ng: Corrected D:href generation in propfind_collection_metadata.

Switched from StrBufXMLEscAppend to StrBufUrlescAppend for resource paths. This ensures that
room names containing spaces or special characters are represented as valid URIs.

Maintained XML escaping for D:displayname to ensure human-readable labels remain intact in client UI.

Cleaned up unused site_prefix parameters in collection metadata functions.

webcit: Minor code cleanup and typo correction in the template engine's string appending logic.

Impact: Fixes issues where CalDAV clients could not access or navigate into rooms with spaces
in their names (e.g., "Sent Items"). Improves the robustness of nested URL redirects within the
WebCit template engine.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/stringbuf.c        | 34 ++++++++++++++++++----------------
 webcit-ng/server/room_functions.c |  2 +-
 webcit-ng/server/room_propfind.c  |  9 ++++-----
 webcit-ng/server/webcit.h         |  2 +-
 webcit/subst.c                    |  7 ++-----
 5 files changed, 26 insertions(+), 28 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099551400</link><pubDate>Sat, 03 Jan 2026 15:59:04 +0500</pubDate><title>Transitioning from the original WebDAV spec (RFC 2518) to the more modern one (RFC 4918)</title><guid isPermaLink="false">2099551400@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  08e3a557b7d7ca87d420abd9768e391f108e8344 (commit)
      from  7b388ec0f1c256b5b1054e99a358d69bf30679a1 (commit)


- Log -----------------------------------------------------------------
commit 08e3a557b7d7ca87d420abd9768e391f108e8344
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 3 15:58:50 2026 -0500

Transitioning from the original WebDAV spec (RFC 2518) to the more modern one (RFC 4918)

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c        | 186 ++++++++++++++++++++++++--------------
 webcit-ng/server/user_functions.c |   4 +-
 webcit-ng/server/webcit.h         |   3 +-
 3 files changed, 123 insertions(+), 70 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099547610</link><pubDate>Thu, 04 Dec 2025 13:43:38 +0500</pubDate><title>Change the radix to 16 because hex makes me look smart and stuff</title><guid isPermaLink="false">2099547610@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7b388ec0f1c256b5b1054e99a358d69bf30679a1 (commit)
      from  7fe645308e9e4dc813c96881bf4619001f4e8913 (commit)


- Log -----------------------------------------------------------------
commit 7b388ec0f1c256b5b1054e99a358d69bf30679a1
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 4 13:43:37 2025 -0500

Change the radix to 16 because hex makes me look smart and stuff

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/util.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099547607</link><pubDate>Thu, 04 Dec 2025 13:39:32 +0500</pubDate><title>removed unneeded complexity from randomString()</title><guid isPermaLink="false">2099547607@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7fe645308e9e4dc813c96881bf4619001f4e8913 (commit)
      from  6d7f3296965f6c2b982a3ce4e9bcbd0b45e98245 (commit)


- Log -----------------------------------------------------------------
commit 7fe645308e9e4dc813c96881bf4619001f4e8913
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 4 13:30:18 2025 -0500

removed unneeded complexity from randomString()

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/util.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099544598</link><pubDate>Wed, 12 Nov 2025 14:10:42 +0500</pubDate><title>Introduce CardDAV REPORT harness; enforce CalDAV REPORT type discipline</title><guid isPermaLink="false">2099544598@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6d7f3296965f6c2b982a3ce4e9bcbd0b45e98245 (commit)
      from  3bd6b7162aae3540b7a98511725aaf0ccf74be3a (commit)


- Log -----------------------------------------------------------------
commit 6d7f3296965f6c2b982a3ce4e9bcbd0b45e98245
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 12 14:09:20 2025 -0500

Introduce CardDAV REPORT harness; enforce CalDAV REPORT type discipline

- Anchored `cr_invalid_report` as first enum value in CalDAV REPORT type to enforce default dispatch and prevent silent fallthrough
- Added string mapping for `invalid-report` to maintain emitter clarity
- Introduced `carddav_report()` stub in carddav_reports.c, wired to respond with 404 for now
- Routed CardDAV REPORT dispatch in `report_the_room_itself()` for rooms with `VIEW_ADDRESSBOOK`
- Declared `carddav_report()` in webcit.h for linkage

This lays groundwork for RFC6352 section 8 compliance and preserves output behavior across DAV extensions.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/caldav_reports.c  |  2 ++
 webcit-ng/server/carddav_reports.c | 15 +++++++++++++++
 webcit-ng/server/room_functions.c  |  6 +++++-
 webcit-ng/server/webcit.h          |  3 +++
 4 files changed, 25 insertions(+), 1 deletion(-)
 create mode 100644 webcit-ng/server/carddav_reports.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099544578</link><pubDate>Wed, 12 Nov 2025 13:01:16 +0500</pubDate><title>commit: extract and relocate single-message PROPFIND emitter</title><guid isPermaLink="false">2099544578@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3bd6b7162aae3540b7a98511725aaf0ccf74be3a (commit)
      from  b4a4d8ca7a089d5fc5abae2c267ee45d60a101b9 (commit)


- Log -----------------------------------------------------------------
commit 3bd6b7162aae3540b7a98511725aaf0ccf74be3a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 12 13:00:33 2025 -0500

commit: extract and relocate single-message PROPFIND emitter

- Introduced teardown-safe XML envelope using StrBuf for Depth:0 responses
- Replaced inline emitter logic with call to propfind_emit_single_message()
- Relocated propfind_emit_single_message() from room_propfind.c to messages_propfind.c
- Updated room-level PROPFIND to call shared emitter harness per message
- Ensured emitter parity across Depth:0 and Depth:1 PROPFIND paths
- Preserved namespace hygiene and response structure for DAV/CardDAV compliance

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages_propfind.c | 33 +++++++++++++++++++--------------
 webcit-ng/server/room_propfind.c     |  5 -----
 2 files changed, 19 insertions(+), 19 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099544572</link><pubDate>Wed, 12 Nov 2025 12:34:43 +0500</pubDate><title>Extracted single-message PROPFIND into a separate function.</title><guid isPermaLink="false">2099544572@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b4a4d8ca7a089d5fc5abae2c267ee45d60a101b9 (commit)
      from  1dabcd434aa9a7304ed9c9b81d3f2aadb490d597 (commit)


- Log -----------------------------------------------------------------
commit b4a4d8ca7a089d5fc5abae2c267ee45d60a101b9
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 12 12:34:26 2025 -0500

Extracted single-message PROPFIND into a separate function.

propfind_emit_single_message() is the function, and it has been moved
from room_propfind.c to messages_propfind.c

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages_propfind.c | 74 ++++++++++++++++++++++++++++++++++--
 webcit-ng/server/room_propfind.c     | 71 +++-------------------------------
 webcit-ng/server/webcit.h            |  1 +
 3 files changed, 77 insertions(+), 69 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099543661</link><pubDate>Tue, 04 Nov 2025 17:21:55 +0500</pubDate><title>Remove unused check_handles() stub</title><guid isPermaLink="false">2099543661@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1dabcd434aa9a7304ed9c9b81d3f2aadb490d597 (commit)
      from  5491ceba7a7099af56d70ba2c252ec551bbec442 (commit)


- Log -----------------------------------------------------------------
commit 1dabcd434aa9a7304ed9c9b81d3f2aadb490d597
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 4 17:21:53 2025 -0500

Remove unused check_handles() stub

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/common/database.c | 1 -
 1 file changed, 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099543483</link><pubDate>Mon, 03 Nov 2025 11:49:03 +0500</pubDate><title>test commit</title><guid isPermaLink="false">2099543483@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5491ceba7a7099af56d70ba2c252ec551bbec442 (commit)
      from  2f0162888a9b0f55ff6e04925ad1c8c9b3ccb31f (commit)


- Log -----------------------------------------------------------------
commit 5491ceba7a7099af56d70ba2c252ec551bbec442
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 3 11:49:01 2025 -0500

test commit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.md | 1 +
 1 file changed, 1 insertion(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099543333</link><pubDate>Sat, 01 Nov 2025 21:25:26 +0500</pubDate><title>Message #2099543333</title><guid isPermaLink="false">2099543333@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1022 has been created
        at  22e61e6b0836b55d54d3a0fc36a2cc99e34798d1 (tag)
   tagging  2f0162888a9b0f55ff6e04925ad1c8c9b3ccb31f (commit)
  replaces  v1021
 tagged by  Art Cancro
        on  Sat Nov 1 21:25:26 2025 -0400

- Log -----------------------------------------------------------------
Version 1022 release

Art Cancro (20):
      require citadel server 1021 or newer
      ctdlclient.c: learn the user principal id in the session
      ctdlclient.c: clear user principal id when appropriate
      ctdlclient.c: clear user principal id when appropriate
      h->response_body wasn't being freed.  Fixed that.
      Standardize Content-Type for DAV XML responses
      root_propfind() and ctdl_propfind() now use SmashStrBuf instead of strdup
      root_propfind() and ctdl_propfind() each split into two calls to StrBufAppendBufPlain() for insertion of conditional dynamic properties
      Less than ideal refactor of the request dispatcher to emit user principal location.
      Add /ctdl/u/ to /ctdl/ PROPFIND response.
      Switch from principal ID to userkey in DAV paths
      user_functions.c: skeleton for user propfind
      ctdlclient: fix null termination error in auth string
      Reworked multi line XML string literals to put indentation in the C program, not in the XML
      Completed PROPFIND on the user principal, directing clients to Calendar and Contacts.
      room_propfind.c: added, moved room and message level PROPFIND emitters to separate file
      Add leaf-node PROPFIND dispatcher hook and emitter stub
      message propfind stub
      Fix CRITICAL: NULL Pointer Dereference in html_to_ascii() Causes Server Crash Loop
      Release version 1022 generated by do-release.sh

Harlow Solutions (2):
      Fix race conditon in caching room which causes memory leak.
      Fix compiler warnings for citserver.  Only deprecated now.

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099543332</link><pubDate>Sat, 01 Nov 2025 21:25:26 +0500</pubDate><title>Release version 1022 generated by do-release.sh</title><guid isPermaLink="false">2099543332@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2f0162888a9b0f55ff6e04925ad1c8c9b3ccb31f (commit)
      from  d8b5326b1aa4b6014f99da4dfa8503b685cf2122 (commit)


- Log -----------------------------------------------------------------
commit 2f0162888a9b0f55ff6e04925ad1c8c9b3ccb31f
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 1 21:25:26 2025 -0400

Release version 1022 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/sysdep.h     | 2 +-
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099543331</link><pubDate>Sat, 01 Nov 2025 21:25:15 +0500</pubDate><title>Fix CRITICAL: NULL Pointer Dereference in html_to_ascii() Causes Server Crash Loop</title><guid isPermaLink="false">2099543331@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d8b5326b1aa4b6014f99da4dfa8503b685cf2122 (commit)
      from  e29ac068f4406aca1428aa5908188a2d0ac349f5 (commit)


- Log -----------------------------------------------------------------
commit d8b5326b1aa4b6014f99da4dfa8503b685cf2122
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 1 21:24:45 2025 -0400

Fix CRITICAL: NULL Pointer Dereference in html_to_ascii() Causes Server Crash Loop

reported by ericsondatasystems

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/html_to_ascii.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542966</link><pubDate>Thu, 30 Oct 2025 09:16:46 +0500</pubDate><title>message propfind stub</title><guid isPermaLink="false">2099542966@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e29ac068f4406aca1428aa5908188a2d0ac349f5 (commit)
      from  a998f15e03963b4108b052edbeee0e1dc8a571f7 (commit)


- Log -----------------------------------------------------------------
commit e29ac068f4406aca1428aa5908188a2d0ac349f5
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 29 20:57:37 2025 -0400

message propfind stub

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages_propfind.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542887</link><pubDate>Wed, 29 Oct 2025 19:52:51 +0500</pubDate><title>Add leaf-node PROPFIND dispatcher hook and emitter stub</title><guid isPermaLink="false">2099542887@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a998f15e03963b4108b052edbeee0e1dc8a571f7 (commit)
       via  1e349a90c369997e6e67d0fa41e048985e1a9ba5 (commit)
      from  883bfd6cb3bf173ca70652796a90410bf0007db9 (commit)


- Log -----------------------------------------------------------------
commit a998f15e03963b4108b052edbeee0e1dc8a571f7
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 29 19:51:50 2025 -0400

Add leaf-node PROPFIND dispatcher hook and emitter stub

- Routed PROPFIND requests for room-contained objects via object_in_room()
- Introduced dav_propfind_message() in messages_propfind.c to handle leaf-node metadata emission
- Declared emitter in webcit.h
- Preserved teardown discipline by avoiding bloat in messages.c

commit 1e349a90c369997e6e67d0fa41e048985e1a9ba5
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 29 19:28:06 2025 -0400

room_propfind.c: added, moved room and message level PROPFIND emitters to separate file

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages.c          |   3 +-
 webcit-ng/server/messages_propfind.c |  14 +++
 webcit-ng/server/room_functions.c    | 184 +---------------------------------
 webcit-ng/server/room_propfind.c     | 187 +++++++++++++++++++++++++++++++++++
 webcit-ng/server/webcit.h            |   6 ++
 5 files changed, 212 insertions(+), 182 deletions(-)
 create mode 100644 webcit-ng/server/messages_propfind.c
 create mode 100644 webcit-ng/server/room_propfind.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542699</link><pubDate>Tue, 28 Oct 2025 23:17:11 +0500</pubDate><title>Completed PROPFIND on the user principal, directing clients to Calendar and Contacts.</title><guid isPermaLink="false">2099542699@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  883bfd6cb3bf173ca70652796a90410bf0007db9 (commit)
      from  09f9e78776221f193d10de868f3e3afe7d2b1b17 (commit)


- Log -----------------------------------------------------------------
commit 883bfd6cb3bf173ca70652796a90410bf0007db9
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 28 23:17:08 2025 -0400

Completed PROPFIND on the user principal, directing clients to Calendar and Contacts.

This will permit CalDAV and CardDAV clients to auto-discover the user's calendar and address
book rooms, without having to manually configure their full WebDAV paths.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/user_functions.c | 52 +++++++++++++++++++++++++++++++++++++--
 1 file changed, 50 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542633</link><pubDate>Tue, 28 Oct 2025 15:11:42 +0500</pubDate><title>Reworked multi line XML string literals to put indentation in the C program, not in the XML</title><guid isPermaLink="false">2099542633@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  09f9e78776221f193d10de868f3e3afe7d2b1b17 (commit)
      from  512152ea7d6f662e6c310db8263f6efb38f56551 (commit)


- Log -----------------------------------------------------------------
commit 09f9e78776221f193d10de868f3e3afe7d2b1b17
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 28 15:11:08 2025 -0400

Reworked multi line XML string literals to put indentation in the C program, not in the XML

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c        | 140 +++++++++++++++++++-------------------
 webcit-ng/server/room_functions.c |   2 +-
 2 files changed, 71 insertions(+), 71 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542620</link><pubDate>Tue, 28 Oct 2025 14:31:06 +0500</pubDate><title>ctdlclient: fix null termination error in auth string</title><guid isPermaLink="false">2099542620@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  512152ea7d6f662e6c310db8263f6efb38f56551 (commit)
      from  12ad36e6311fba35768ca2687cbea6db8989941b (commit)


- Log -----------------------------------------------------------------
commit 512152ea7d6f662e6c310db8263f6efb38f56551
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 28 14:31:03 2025 -0400

ctdlclient: fix null termination error in auth string

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/ctdlclient.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542590</link><pubDate>Tue, 28 Oct 2025 11:26:21 +0500</pubDate><title>user_functions.c: skeleton for user propfind</title><guid isPermaLink="false">2099542590@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  12ad36e6311fba35768ca2687cbea6db8989941b (commit)
      from  6c58f1e698e96c041a99cc39f26ac04118550b5a (commit)


- Log -----------------------------------------------------------------
commit 12ad36e6311fba35768ca2687cbea6db8989941b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 28 11:26:19 2025 -0400

user_functions.c: skeleton for user propfind

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/user_functions.c | 46 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 40 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542567</link><pubDate>Tue, 28 Oct 2025 09:46:43 +0500</pubDate><title>Switch from principal ID to userkey in DAV paths</title><guid isPermaLink="false">2099542567@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6c58f1e698e96c041a99cc39f26ac04118550b5a (commit)
      from  0e62b3e2a6ad547112547de2c7d04467098394e5 (commit)


- Log -----------------------------------------------------------------
commit 6c58f1e698e96c041a99cc39f26ac04118550b5a
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 28 09:46:41 2025 -0400

Switch from principal ID to userkey in DAV paths

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/admin_functions.c |  4 ++--
 webcit-ng/server/ctdlclient.c      | 14 +++++++++++---
 webcit-ng/server/request.c         |  4 ++--
 webcit-ng/server/user_functions.c  |  3 +--
 webcit-ng/server/webcit.h          |  2 +-
 5 files changed, 17 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542352</link><pubDate>Sun, 26 Oct 2025 22:21:52 +0500</pubDate><title>Fix compiler warnings for citserver. Only deprecated now.</title><guid isPermaLink="false">2099542352@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0e62b3e2a6ad547112547de2c7d04467098394e5 (commit)
      from  469d13500b4844c9494cc4473c5bdca545fa0648 (commit)


- Log -----------------------------------------------------------------
commit 0e62b3e2a6ad547112547de2c7d04467098394e5
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sun Oct 26 22:21:41 2025 -0400

Fix compiler warnings for citserver.  Only deprecated now.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/internet_addressing.c            |  4 ++--
 citadel/server/internet_addressing.h            |  2 +-
 citadel/server/modules/calendar/serv_calendar.c |  6 +++---
 citadel/server/msgbase.c                        | 12 ++++++------
 citadel/server/msgbase.h                        |  4 +++-
 citadel/server/netconfig.c                      |  2 +-
 6 files changed, 16 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542231</link><pubDate>Sat, 25 Oct 2025 22:09:14 +0500</pubDate><title>Add /ctdl/u/ to /ctdl/ PROPFIND response.</title><guid isPermaLink="false">2099542231@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  469d13500b4844c9494cc4473c5bdca545fa0648 (commit)
       via  a140081699d97f68c4932a1d8b3a426285b01572 (commit)
       via  024661a23ef5899e64a8995ee8ae4caee1854208 (commit)
       via  fab34d7c2d5833e2c058dd5c8ffc7ec59d92d8de (commit)
       via  1427a3b43290cd5f62e70f71586f2ed3ddfcfb1b (commit)
       via  34b63055ea9c139ba51c8242138dd07d42263afc (commit)
       via  34b648b171fbfae74a82906c92213bc1b9a1bda4 (commit)
       via  362929f297f02b607744b01bd5930bbc726f3970 (commit)
      from  9632e57b3ae862972c0d5c137dbed708bbed4dd7 (commit)


- Log -----------------------------------------------------------------
commit 469d13500b4844c9494cc4473c5bdca545fa0648
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 25 22:09:06 2025 -0400

Add /ctdl/u/ to /ctdl/ PROPFIND response.

There's nothing at that path yet, but there soon will be.

commit a140081699d97f68c4932a1d8b3a426285b01572
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 25 21:59:05 2025 -0400

Less than ideal refactor of the request dispatcher to emit user principal location.

PROPFIND of "/" or "/ctdl" have to do their own connect_to_citadel() and
disconnect_from_citadel() instead of going through the main loop, because
they don't fit well in the main pattern.

commit 024661a23ef5899e64a8995ee8ae4caee1854208
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 25 21:04:05 2025 -0400

root_propfind() and ctdl_propfind() each split into two calls to StrBufAppendBufPlain() for insertion of conditional dynamic properties

commit fab34d7c2d5833e2c058dd5c8ffc7ec59d92d8de
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 25 20:58:30 2025 -0400

root_propfind() and ctdl_propfind() now use SmashStrBuf instead of strdup

commit 1427a3b43290cd5f62e70f71586f2ed3ddfcfb1b
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 25 19:33:42 2025 -0400

Standardize Content-Type for DAV XML responses

- Replace legacy 'text/xml' with 'application/xml; charset="utf-8"' in REPORT and PROPFIND handlers
- Aligns with RFC 4918 and ensures consistent client behavior

commit 34b63055ea9c139ba51c8242138dd07d42263afc
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 25 19:16:23 2025 -0400

h->response_body wasn't being freed.  Fixed that.

- Replace static string assignment with strdup() in root_propfind() and ctdl_propfind()
- Add free(h->response_body) to transaction teardown

commit 34b648b171fbfae74a82906c92213bc1b9a1bda4
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 25 12:19:10 2025 -0400

ctdlclient.c: clear user principal id when appropriate

commit 362929f297f02b607744b01bd5930bbc726f3970
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 25 12:18:35 2025 -0400

ctdlclient.c: clear user principal id when appropriate

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/stringbuf.c         |  19 +++----
 webcit-ng/server/admin_functions.c |   2 +
 webcit-ng/server/caldav_reports.c  |   2 +-
 webcit-ng/server/ctdlclient.c      |   5 +-
 webcit-ng/server/http.c            |   3 +
 webcit-ng/server/request.c         | 109 +++++++++++++++++++++++++++----------
 webcit-ng/server/room_functions.c  |  10 ++--
 7 files changed, 101 insertions(+), 49 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542209</link><pubDate>Sat, 25 Oct 2025 15:57:11 +0500</pubDate><title>Fix race conditon in caching room which causes memory leak.</title><guid isPermaLink="false">2099542209@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9632e57b3ae862972c0d5c137dbed708bbed4dd7 (commit)
      from  c8739494c19bb736e0ca1100dd50d85204b7d0f8 (commit)


- Log -----------------------------------------------------------------
commit 9632e57b3ae862972c0d5c137dbed708bbed4dd7
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sat Oct 25 15:56:49 2025 -0400

Fix race conditon in caching room which causes memory leak.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/room_ops.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542185</link><pubDate>Sat, 25 Oct 2025 12:16:51 +0500</pubDate><title>ctdlclient.c: learn the user principal id in the session</title><guid isPermaLink="false">2099542185@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c8739494c19bb736e0ca1100dd50d85204b7d0f8 (commit)
       via  8b782b4d8f1628ea5075965455eadde4020bba9e (commit)
      from  b98e8bddcb86f3d13a2d9e89797f63d0b6903777 (commit)


- Log -----------------------------------------------------------------
commit c8739494c19bb736e0ca1100dd50d85204b7d0f8
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 25 12:16:49 2025 -0400

ctdlclient.c: learn the user principal id in the session

commit 8b782b4d8f1628ea5075965455eadde4020bba9e
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 24 18:06:23 2025 -0400

require citadel server 1021 or newer

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/ctdlclient.c | 3 ++-
 webcit-ng/server/webcit.h     | 1 +
 webcit-ng/static/js/main.js   | 2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542094</link><pubDate>Fri, 24 Oct 2025 18:03:50 +0500</pubDate><title>Message #2099542094</title><guid isPermaLink="false">2099542094@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1021 has been created
        at  d7d34a12519b0a82e3a210f3bfc5c00ff950fe33 (tag)
   tagging  b98e8bddcb86f3d13a2d9e89797f63d0b6903777 (commit)
  replaces  v1020
 tagged by  Art Cancro
        on  Fri Oct 24 18:03:49 2025 -0400

- Log -----------------------------------------------------------------
Version 1021 release

Art Cancro (100):
      I wonder if we can use %m safely here?
      Removed calls to the expression strerror(errno) and used the printf macro %m when possible.  The former expression makes multithreaded code crash when running under podman because Red Hat is more interested in social justice than in actually
producing code that works.
      It is regrettable that %m is a glibc extension but I seem to have no choice.
      webcit-ng: conversion of strerror to %m
      Saving a wiki page now works
      Room list can now show the correct icon for Forums, Wikis, Blogs as appropriate.
      If we can't DRY the entire editor, at least DRY some editing components
      make the edit bar a little darker
      Changed the 'GhostWhite' color to 'WhiteSmoke' in our color scheme (which I am now calling the 'Slate color scheme') to provide a little more contrast.
      Tuned up the css style on wiki, both view and edit
      When converting <blockquote> to text, use colors instead of italics to identify the quote nesting level.
      22m to turn off bold, not 21m
      random style cleanup
      array.c: add a bunch of checks for bad inputs
      textclient: changed more 'Aide' references to 'Admin'
      netconfigs.txt: documented the 'lastsent' field with a better description than "should do stuff".
      URL entry box is now a ctdl-formgrid-fieldset
      Changes to framing and padding of modal dialogs
      editor.js: common editor components.
      wtf
      nobody cares about this commit
      More refactoring to centralize richtext editor components
      Quick change to _() to make it more inliney
      textclient: changing IPC functions from PascalCase to camel_case
      Completed conversion of IPC stuffs from PascalCase to snake_case
      war on CamelCase continues
      sendcommand.c: include sysdep.h
      editor.js: use range API for links.
      More changing of PascalCase to snake_case
      war on PascalCase
      s/CtdlDeleteMessages/delete_messages
      war on PascalCase
      War on CamelCase
      Server config API: convert PascalCase to snake_case
      visit api: convert PascalCase to snake_case
      The snake uprising continues
      URL entry box cleanup
      parsedate.c: replaced yacc-generated parser with a pure C implementation.
      minor cleanup
      QA of datestring()
      And here on the JavaScript side, we're going to move AWAY from snake_case and standardize on camelCase.   PascalCase is unwelcome on both sides.
      Mail view: put the editor buttons with the other buttons.  There's room.
      More conversion of snake_case to camelCase (in javascript, not C)
      Structura sine duplici nomine est pulchritudo operativa.
      Anonymized structs when they are typedef'ed.
      Continue anonymizing redundant structure names when typedef'ed
      webcit-classic README update
      80 columns is so 20 century
      Brilliant: use the mailbox view for wiki history.
      baby steps
      Enhanced version of escapeHTMLURI() that leaves most printable characters alone.
      A snake and a camel walk into a bar...
      wiki edit tweaks
      css tweaks
      fighting with css
      Auto-tune parallelism via nproc; inject -j into MAKEFLAGS if unset
      webcit-ng: makefile tuning as we did for server in previous commit
      view_mail.js: convert Delete button to a template literal
      More conversion of strings to template literals.
      More conversion...
      view_wiki.js: render editor box properly.
      DRY refactor: replace repeated JSON 200 response blocks with json200out()
      wiki history output
      Clicking on any wiki rev in the history renders it in the reading pane.
      Test commit
      Test commit
      Another test commit
      webcit-ng: wiki view is functionally complete.
      Wiki view tuning: disappear edit button when already editing
      more work towards editor convergence
      Editor component can now edit raw HTML.
      xdifftest: annotate test harness, return error count for CI integration
      strfold: remove debug printf from line-break logic
      Refactor upload window injection; add fixed positioning for compose view
      Purged placeholder spam from URL entry box; wiki now sets its own legend with actual guidance
      Render page title in strong (boldface) font
      Display the wiki home button only when not already on the home page
      base64: mark alphabet pointer as const for semantic hygiene
      Makefile: fail with a pretty banner on non-GNU Make.
      random acts of style cleanup
      messages.c: if the caller supplied a content-transfer-encoding, pass it along
      Hardened vCard deserializer: normalized line endings, unfolded buffers, gated ingestion via BEGIN/END, skipped VERSION, patched duplicated TYPE=TYPE= parameters, and deferred strdup() until ingestion. Realloc guarded. Parser now
crash-resistant, leak-free, and narratable. Ready for UID indexing.
      textclient: reworked some empty string tests.
      lint: compiler-neutral cleanup across http.c, room_functions.c, upload.c
      CC already defaults to cc if not specified, no need to incant it in Makefile
      preliminary citserver changes for clang
      vcard_edit.c (webcit-classic) -- cleaning up in prep for changes
      Fix crash when Content-Type header is missing in HTTP request with body
      Add DAV OPTIONS and PROPFIND handlers for / and /ctdl/
      Split room list dispatcher into GET and PROPFIND paths; declare DAV: 1, 3 support
      Unify DAV namespace usage and begin PROPFIND support for /ctdl/r/
      Remove unused "cs" namespace.
      Refactor room-level PROPFIND emitter for reuse across DAV endpoints
      Implement CardDAV metadata for address book rooms; wire shared emitter into room list loop
      propfind_collection_metadata() emits <D:getlastmodified> if it has been supplied with one
      Declare CardDAV namespace in room-level PROPFIND responses
      Declare CardDAV identity in PROPFIND resourcetype for address book rooms
      RFC6764 compliance and RFC3986 URL escaping
      Output UPN when logging in
      Release version 1021 generated by do-release.sh

Harlow Solutions (2):
      Rework sendcommand to support batch file and cleaned up help output
      Clean up CtdlFetchMsgList() processing:

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542093</link><pubDate>Fri, 24 Oct 2025 18:03:50 +0500</pubDate><title>Release version 1021 generated by do-release.sh</title><guid isPermaLink="false">2099542093@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b98e8bddcb86f3d13a2d9e89797f63d0b6903777 (commit)
      from  bb03bacd91bc659b988a2e9201adcc9976024308 (commit)


- Log -----------------------------------------------------------------
commit b98e8bddcb86f3d13a2d9e89797f63d0b6903777
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 24 18:03:49 2025 -0400

Release version 1021 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/sysdep.h     | 2 +-
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542092</link><pubDate>Fri, 24 Oct 2025 18:03:45 +0500</pubDate><title>Output UPN when logging in</title><guid isPermaLink="false">2099542092@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  bb03bacd91bc659b988a2e9201adcc9976024308 (commit)
      from  b8c86d374034c99901939076ce7501dfe55ad2fc (commit)


- Log -----------------------------------------------------------------
commit bb03bacd91bc659b988a2e9201adcc9976024308
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 24 18:03:41 2025 -0400

Output UPN when logging in

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/user_ops.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099542089</link><pubDate>Fri, 24 Oct 2025 17:52:15 +0500</pubDate><title>RFC6764 compliance and RFC3986 URL escaping</title><guid isPermaLink="false">2099542089@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b8c86d374034c99901939076ce7501dfe55ad2fc (commit)
      from  3989b4cdbef9cf3c67ca50a7f9f3a24151c0799e (commit)


- Log -----------------------------------------------------------------
commit b8c86d374034c99901939076ce7501dfe55ad2fc
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 24 15:34:10 2025 -0400

RFC6764 compliance and RFC3986 URL escaping

- Redirect logic updated in webcit-ng/server/request.c
- /.well-known/carddav → /ctdl/ (RFC 6764 section 4.1)
- /.well-known/caldav → /ctdl/ (RFC 6764 section 4.2)
- Replaces legacy redirects to /ctdl/r/calendar and /ctdl/r/contacts
- Enables principal-based discovery for CalDAV/CardDAV clients

- URL escaping updated in libcitadel/lib/tools.c
- urlesc() now conforms to RFC3986 reserved character set
- Replaces legacy escape set with " !*'();:@&=+$,/?#[]"
- Annotated inline with change date (2025oct24) for audit clarity

- Dead code removed in room_functions.c
- Eliminated commented-out strdup() line in propfind_the_room_itself()
- Preserves clean enumeration logic for exti= values

Impact:
- Aligns Citadel’s WebDAV discovery with modern client expectations (DAVx⁵, iOS, Thunderbird)
- Enables seamless onboarding via .well-known/* redirects
- Future-proofs URL escaping for principal hrefs and resource identifiers

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/tools.c            | 13 +++++++------
 webcit-ng/server/request.c        | 12 ++++++------
 webcit-ng/server/room_functions.c |  1 -
 3 files changed, 13 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099541930</link><pubDate>Thu, 23 Oct 2025 18:08:19 +0500</pubDate><title>Declare CardDAV identity in PROPFIND resourcetype for address book rooms</title><guid isPermaLink="false">2099541930@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3989b4cdbef9cf3c67ca50a7f9f3a24151c0799e (commit)
       via  4fe39f608d16e4e69848bcd7e699bfc5b650153e (commit)
       via  6d6487483abe4990a2d9f1bb949f931ff1b3d83f (commit)
      from  d67d3f7a8a6e563eeedaac625790ef1a3bfcd5ce (commit)


- Log -----------------------------------------------------------------
commit 3989b4cdbef9cf3c67ca50a7f9f3a24151c0799e
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 23 18:04:23 2025 -0400

Declare CardDAV identity in PROPFIND resourcetype for address book rooms

Emit <A:addressbook /> inside <D:resourcetype> for rooms flagged as VIEW_ADDRESSBOOK,
per RFC6352 section 6.2.

commit 4fe39f608d16e4e69848bcd7e699bfc5b650153e
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 23 17:38:37 2025 -0400

Declare CardDAV namespace in room-level PROPFIND responses

- Added xmlns:A="urn:ietf:params:xml:ns:carddav" to <D:multistatus> in propfind_the_room_itself()
- Enables clients to parse <A:addressbook> and related tags without XML errors
- Fixes navigation into address book rooms via WebDAV clients (e.g., cadaver)

Note: This change resolves namespace scoping but does not complete CardDAV service implementation.

commit 6d6487483abe4990a2d9f1bb949f931ff1b3d83f
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 23 17:33:07 2025 -0400

propfind_collection_metadata() emits <D:getlastmodified> if it has been supplied with one

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099541785</link><pubDate>Wed, 22 Oct 2025 21:27:58 +0500</pubDate><title>Implement CardDAV metadata for address book rooms; wire shared emitter into room list loop</title><guid isPermaLink="false">2099541785@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d67d3f7a8a6e563eeedaac625790ef1a3bfcd5ce (commit)
       via  9b29b48b260e77ef8017b9ca79434f25a05083ec (commit)
       via  7278685471fdca3b142928baa1c72303f25f4877 (commit)
       via  b4bb7301727b055f32bc26fe754c3e4692be21a7 (commit)
      from  ceeb0cbdd36f6678bf288fc12462bf4810803d50 (commit)


- Log -----------------------------------------------------------------
commit d67d3f7a8a6e563eeedaac625790ef1a3bfcd5ce
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 22 21:27:50 2025 -0400

Implement CardDAV metadata for address book rooms; wire shared emitter into room list loop

- Added CardDAV declarations to propfind_collection_metadata() for VIEW_ADDRESSBOOK
- Emits <A:addressbook /> inside <D:resourcetype>
- Emits <A:supported-address-data> with vCard 3.0 support
- Updated comment to reference RFC6352 section 6.2
- Replaced FIXME in room_list_propfind() with call to shared emitter
- Extracts roomname, default_view, and mtime
- Emits <D:response> block for each room using propfind_collection_metadata()

This completes DAV/CalDAV/CardDAV metadata coverage and enshrines emitter reuse across endpoints.

commit 9b29b48b260e77ef8017b9ca79434f25a05083ec
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 22 21:11:36 2025 -0400

Refactor room-level PROPFIND emitter for reuse across DAV endpoints

- Extracted propfind_collection_metadata() to emit <D:response> block for room containers
- Accepts site_prefix, roomname, default_view, and optional mtime
- Emits displayname, resourcetype, and CalDAV metadata (calendar/task support)
- Returns enumerate_by_euid flag for downstream use
- Replaced inline emitter in propfind_the_room_itself() with shared function
- Preserved full output fidelity with pre-refactor XML
- Prepared room_list_propfind() to use shared emitter for each LKRA entry

commit 7278685471fdca3b142928baa1c72303f25f4877
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 22 18:30:37 2025 -0400

Remove unused "cs" namespace.

commit b4bb7301727b055f32bc26fe754c3e4692be21a7
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 22 17:33:08 2025 -0400

Unify DAV namespace usage and begin PROPFIND support for /ctdl/r/

- Updated static PROPFIND emitters (root and /ctdl) to use consistent "D:" prefix for DAV elements
- Introduced room_list_propfind() to emit DAV multistatus for /ctdl/r/
- Declares unified namespaces: DAV, CalDAV, CardDAV, Citadel
- Emits collection metadata for /ctdl/r/ with displayname and resourcetype
- Begins parsing LKRA output for room-level metadata (roomname, view types)
- Prepares for resourcetype mapping based on default_view (calendar, addressbook, etc.)
- Lays groundwork for reusable XML emitters across DAV endpoints

This enshrines DAV fluency and prepares /ctdl/r/ for protocol-native room discovery.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c        | 118 +++++++++++++++++++-------------------
 webcit-ng/server/room_functions.c | 117 ++++++++++++++++++++++++++-----------
 2 files changed, 144 insertions(+), 91 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099541447</link><pubDate>Mon, 20 Oct 2025 20:50:25 +0500</pubDate><title>Split room list dispatcher into GET and PROPFIND paths; declare DAV: 1, 3 support</title><guid isPermaLink="false">2099541447@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ceeb0cbdd36f6678bf288fc12462bf4810803d50 (commit)
       via  04309973f5aba899174c452836bff3db5ce8649f (commit)
       via  db338ed14fc5424546b025e0b2d4ae8e019ffe3f (commit)
      from  659c5695ec306ac694ed66e66ef80798869e7174 (commit)


- Log -----------------------------------------------------------------
commit ceeb0cbdd36f6678bf288fc12462bf4810803d50
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 20 20:49:55 2025 -0400

Split room list dispatcher into GET and PROPFIND paths; declare DAV: 1, 3 support

- Updated root OPTIONS handler to advertise DAV level 3 (extended collections)
- Refactored room_list() into a protocol-aware dispatcher
- Validates method (GET or PROPFIND)
- Issues LKRA once, then branches by method
- Added room_list_get() for Citadel-native JSON output
- Stubbed room_list_propfind() for future DAV multistatus XML
- Introduced <stdbool.h> and replaced int with bool for method flag
- Preserved assert(0) as control flow checksum

This lays the groundwork for DAV-native room discovery while preserving Citadel semantics.

commit 04309973f5aba899174c452836bff3db5ce8649f
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 18 16:42:18 2025 -0400

Add DAV OPTIONS and PROPFIND handlers for / and /ctdl/

- Implement root_options() to advertise DAV support and allowed methods
- Implement root_propfind() to expose /ctdl/ as a DAV collection
- Implement ctdl_propfind() to expose /ctdl/r/ as a child collection
- Return static getlastmodified timestamps to avoid epoch fallback
- Wire handlers into perform_request() for OPTIONS and PROPFIND on /, /ctdl, /ctdl/, /ctdl/r, /ctdl/r/

commit db338ed14fc5424546b025e0b2d4ae8e019ffe3f
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 18 15:39:06 2025 -0400

Fix crash when Content-Type header is missing in HTTP request with body

Guard strncasecmp() call with null check to prevent segmentation fault when Content-Type is absent.
This resolves a reproducible crash triggered by sending a request with Content-Length and body,
but no Content-Type header. The parser now safely skips query parameter parsing in such cases.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/http.c           |   2 +-
 webcit-ng/server/request.c        | 123 +++++++++++++++++++++++++++++++++++++-
 webcit-ng/server/room_functions.c |  50 +++++++++++++---
 webcit-ng/server/webcit.h         |   1 +
 4 files changed, 165 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099540443</link><pubDate>Mon, 13 Oct 2025 16:53:03 +0500</pubDate><title>vcard_edit.c (webcit-classic) -- cleaning up in prep for changes</title><guid isPermaLink="false">2099540443@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  659c5695ec306ac694ed66e66ef80798869e7174 (commit)
      from  90d4ca15cc079ae009ce6c0bf027af8dc2b27675 (commit)


- Log -----------------------------------------------------------------
commit 659c5695ec306ac694ed66e66ef80798869e7174
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 13 14:54:57 2025 -0400

vcard_edit.c (webcit-classic) -- cleaning up in prep for changes

-----------------------------------------------------------------------

Summary of changes:
 webcit/dav_propfind.c |   1 +
 webcit/useredit.c     |   2 +-
 webcit/vcard_edit.c   | 196 +++++++++++++++++++++-----------------------------
 3 files changed, 84 insertions(+), 115 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099540077</link><pubDate>Fri, 10 Oct 2025 13:57:04 +0500</pubDate><title>preliminary citserver changes for clang</title><guid isPermaLink="false">2099540077@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  90d4ca15cc079ae009ce6c0bf027af8dc2b27675 (commit)
      from  d2d2bb29b2884b51312d0de79120c263db490eee (commit)


- Log -----------------------------------------------------------------
commit 90d4ca15cc079ae009ce6c0bf027af8dc2b27675
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 10 10:57:02 2025 -0700

preliminary citserver changes for clang

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/smtp/dkim.c | 6 +++---
 citadel/server/sysdep.h            | 8 ++++----
 citadel/server/visit.c             | 2 +-
 citadel/utils/loadtest.c           | 2 +-
 citadel/utils/sendcommand.c        | 2 +-
 webcit-ng/server/util.c            | 4 ++--
 6 files changed, 12 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099539909</link><pubDate>Thu, 09 Oct 2025 11:56:56 +0500</pubDate><title>CC already defaults to cc if not specified, no need to incant it in Makefile</title><guid isPermaLink="false">2099539909@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d2d2bb29b2884b51312d0de79120c263db490eee (commit)
      from  a986eb938bda4a11668e20ee6740a6a61ee10c54 (commit)


- Log -----------------------------------------------------------------
commit d2d2bb29b2884b51312d0de79120c263db490eee
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 9 08:56:53 2025 -0700

CC already defaults to cc if not specified, no need to incant it in Makefile

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099538277</link><pubDate>Thu, 02 Oct 2025 14:22:16 +0500</pubDate><title>lint: compiler-neutral cleanup across http.c, room_functions.c, upload.c</title><guid isPermaLink="false">2099538277@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a986eb938bda4a11668e20ee6740a6a61ee10c54 (commit)
       via  67ce674b9a518ebece9376e6dec3079cd8099f32 (commit)
      from  3b20784d997f036a63a2ffcc111085dee1a96b59 (commit)


- Log -----------------------------------------------------------------
commit a986eb938bda4a11668e20ee6740a6a61ee10c54
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 2 10:50:43 2025 -0700

lint: compiler-neutral cleanup across http.c, room_functions.c, upload.c
- replaced transposed memset args
- wrapped assignment conditions
- corrected format specifiers
- removed ghost glyphs from upload.c
- made compiler selection flexible via $(CC)

commit 67ce674b9a518ebece9376e6dec3079cd8099f32
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 2 10:16:44 2025 -0700

textclient: reworked some empty string tests.

Tried a compile with clang and new warnings showed that there were some string
tests that always returned true.  Reworked these blocks of code with IsEmptyStr()
for both portability and correctness.

textclient now assigns CC to 'cc' (by default) as an indication that this works
with both clang and gcc.

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile               |  5 +++--
 textclient/citadel_ipc.c          |  2 +-
 textclient/configure              |  2 +-
 textclient/messages.c             | 32 ++++++++++++++------------------
 textclient/screen.c               |  1 +
 webcit-ng/GNUmakefile             |  6 +++---
 webcit-ng/server/http.c           |  4 ++--
 webcit-ng/server/room_functions.c | 14 +++++++-------
 webcit-ng/server/upload.c         |  6 +++---
 9 files changed, 35 insertions(+), 37 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099537893</link><pubDate>Mon, 29 Sep 2025 23:38:44 +0500</pubDate><title>Hardened vCard deserializer: normalized line endings, unfolded buffers, gated ingestion via BEGIN/END, skipped VERSION, patched duplicated TYPE=TYPE= parameters, and deferred strdup() until ingestion. Realloc guarded. Parser now crash-resistant, leak-free, and narratable. Ready for UID indexing.</title><guid isPermaLink="false">2099537893@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3b20784d997f036a63a2ffcc111085dee1a96b59 (commit)
      from  33888fcc189cf9c5ac7b1511b3c43c07b449bdbf (commit)


- Log -----------------------------------------------------------------
commit 3b20784d997f036a63a2ffcc111085dee1a96b59
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 29 23:38:35 2025 -0400

Hardened vCard deserializer: normalized line endings, unfolded buffers, gated ingestion via BEGIN/END, skipped VERSION, patched duplicated TYPE=TYPE= parameters, and deferred strdup() until ingestion. Realloc guarded. Parser now crash-resistant,
leak-free, and narratable. Ready for UID indexing.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/vcard/serv_vcard.c |   3 +-
 libcitadel/lib/libcitadel.h               |   4 +-
 libcitadel/lib/vcard.c                    | 181 ++++++++++++++++--------------
 3 files changed, 99 insertions(+), 89 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099537786</link><pubDate>Mon, 29 Sep 2025 11:07:29 +0500</pubDate><title>messages.c: if the caller supplied a content-transfer-encoding, pass it along</title><guid isPermaLink="false">2099537786@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  33888fcc189cf9c5ac7b1511b3c43c07b449bdbf (commit)
      from  b243b0c8b09bdf425a108ad3919238c0a2a698be (commit)


- Log -----------------------------------------------------------------
commit 33888fcc189cf9c5ac7b1511b3c43c07b449bdbf
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 29 08:07:26 2025 -0700

messages.c: if the caller supplied a content-transfer-encoding, pass it along

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages.c | 1 +
 1 file changed, 1 insertion(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099537117</link><pubDate>Wed, 24 Sep 2025 10:42:02 +0500</pubDate><title>random acts of style cleanup</title><guid isPermaLink="false">2099537117@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b243b0c8b09bdf425a108ad3919238c0a2a698be (commit)
      from  6b17fbe0ca6f721eaa25006b57900091d91b6d61 (commit)


- Log -----------------------------------------------------------------
commit b243b0c8b09bdf425a108ad3919238c0a2a698be
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 24 07:41:55 2025 -0700

random acts of style cleanup

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/hash.c | 273 +++++++++++++++++++++++---------------------------
 1 file changed, 126 insertions(+), 147 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099536629</link><pubDate>Sat, 20 Sep 2025 15:59:45 +0500</pubDate><title>Makefile: fail with a pretty banner on non-GNU Make.</title><guid isPermaLink="false">2099536629@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6b17fbe0ca6f721eaa25006b57900091d91b6d61 (commit)
      from  38fd95f4ca80701e365780a873eec6be9a20a7ac (commit)


- Log -----------------------------------------------------------------
commit 6b17fbe0ca6f721eaa25006b57900091d91b6d61
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 20 12:59:43 2025 -0700

Makefile: fail with a pretty banner on non-GNU Make.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/Makefile | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 webcit-ng/Makefile

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099535904</link><pubDate>Tue, 16 Sep 2025 11:31:50 +0500</pubDate><title>base64: mark alphabet pointer as const for semantic hygiene</title><guid isPermaLink="false">2099535904@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  38fd95f4ca80701e365780a873eec6be9a20a7ac (commit)
      from  a1648490584d3b326fbc94136cbcf26caa499e3a (commit)


- Log -----------------------------------------------------------------
commit 38fd95f4ca80701e365780a873eec6be9a20a7ac
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 16 08:31:03 2025 -0700

base64: mark alphabet pointer as const for semantic hygiene

The Base64 alphabet is immutable and stored in static memory. This change
adds a const qualifier to reflect intent and prevent accidental reassignment.
No functional impact, just a clarity upgrade.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/base64.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099535591</link><pubDate>Sat, 13 Sep 2025 21:04:47 +0500</pubDate><title>Display the wiki home button only when not already on the home page</title><guid isPermaLink="false">2099535591@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a1648490584d3b326fbc94136cbcf26caa499e3a (commit)
      from  da0a48eddb1935b20ac12e96d165072a53d19799 (commit)


- Log -----------------------------------------------------------------
commit a1648490584d3b326fbc94136cbcf26caa499e3a
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 13 18:04:45 2025 -0700

Display the wiki home button only when not already on the home page

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_wiki.js | 7 +++++++
 1 file changed, 7 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099535590</link><pubDate>Sat, 13 Sep 2025 21:00:10 +0500</pubDate><title>Render page title in strong (boldface) font</title><guid isPermaLink="false">2099535590@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  da0a48eddb1935b20ac12e96d165072a53d19799 (commit)
      from  b6d594773378c0523665d33cdd427d04c32a03b3 (commit)


- Log -----------------------------------------------------------------
commit da0a48eddb1935b20ac12e96d165072a53d19799
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 13 18:00:08 2025 -0700

Render page title in strong (boldface) font

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_wiki.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099535454</link><pubDate>Fri, 12 Sep 2025 14:13:41 +0500</pubDate><title>Purged placeholder spam from URL entry box; wiki now sets its own legend with actual guidance</title><guid isPermaLink="false">2099535454@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b6d594773378c0523665d33cdd427d04c32a03b3 (commit)
      from  80124cc484f5da225a626b22cb83975d74a89144 (commit)


- Log -----------------------------------------------------------------
commit b6d594773378c0523665d33cdd427d04c32a03b3
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 12 11:11:46 2025 -0700

Purged placeholder spam from URL entry box; wiki now sets its own legend with actual guidance

- Removed legacy "FIXME" and Monty Python filler from `ctdl-url-entry-box-legend`
- Left the legend blank by default; context-specific modules (e.g. wiki) now populate it intentionally
- Clarified the "fixed" class in mail compose as a modal overlay, not a hack
- Preserves semantic hygiene and prepares the editor for modular instruction injection

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/editor.js    | 3 +--
 webcit-ng/static/js/view_mail.js | 2 +-
 webcit-ng/static/js/view_wiki.js | 3 +++
 3 files changed, 5 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099535349</link><pubDate>Thu, 11 Sep 2025 22:51:12 +0500</pubDate><title>Refactor upload window injection; add fixed positioning for compose view</title><guid isPermaLink="false">2099535349@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  80124cc484f5da225a626b22cb83975d74a89144 (commit)
      from  feca2b434dcd09a7de5b5f8906c1e7c515129d2c (commit)


- Log -----------------------------------------------------------------
commit 80124cc484f5da225a626b22cb83975d74a89144
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 11 22:30:33 2025 -0400

Refactor upload window injection; add fixed positioning for compose view

- Replaced innerHTML-based injection of upload window with DOM element creation via createElement()
- Appended upload window after parent_div instead of injecting inside it
- Added `.ctdl-upload.fixed` CSS class for fixed positioning in top-right corner
- Applied `.fixed` class to upload window in mailCompose() to improve layout during message composition

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  6 ++++++
 webcit-ng/static/js/upload.js    | 35 +++++++++++++++++++----------------
 webcit-ng/static/js/view_mail.js |  1 +
 3 files changed, 26 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099535146</link><pubDate>Wed, 10 Sep 2025 14:24:41 +0500</pubDate><title>strfold: remove debug printf from line-break logic</title><guid isPermaLink="false">2099535146@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  feca2b434dcd09a7de5b5f8906c1e7c515129d2c (commit)
      from  ecc79bc73864dd82673e5874546c58c1ee900cd6 (commit)


- Log -----------------------------------------------------------------
commit feca2b434dcd09a7de5b5f8906c1e7c515129d2c
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 10 11:24:13 2025 -0700

strfold: remove debug printf from line-break logic

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/util.c | 1 -
 1 file changed, 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099535116</link><pubDate>Wed, 10 Sep 2025 12:35:02 +0500</pubDate><title>xdifftest: annotate test harness, return error count for CI integration</title><guid isPermaLink="false">2099535116@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ecc79bc73864dd82673e5874546c58c1ee900cd6 (commit)
      from  d335351e40288a2824a97b8c056db4baddba3edc (commit)


- Log -----------------------------------------------------------------
commit ecc79bc73864dd82673e5874546c58c1ee900cd6
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 10 09:33:50 2025 -0700

xdifftest: annotate test harness, return error count for CI integration

- Added SPDX license tag and copyright header to clarify authorship.
- Replaced hardcoded return value with dynamic error count to support CI pass/fail detection.

-----------------------------------------------------------------------

Summary of changes:
 citadel/tests/xdifftester/xdifftest.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099535108</link><pubDate>Wed, 10 Sep 2025 12:06:43 +0500</pubDate><title>Editor component can now edit raw HTML.</title><guid isPermaLink="false">2099535108@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d335351e40288a2824a97b8c056db4baddba3edc (commit)
      from  e36286d43ac030aae43791336a16dadd0c41fad8 (commit)


- Log -----------------------------------------------------------------
commit d335351e40288a2824a97b8c056db4baddba3edc
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 10 09:06:40 2025 -0700

Editor component can now edit raw HTML.

The toggle button switches the contenteditable to a textarea, so the user can
edit the raw markup.  While in this mode it also disables buttons that are not
applicable -- richtext buttons, and the save button.

Now that the editor is consolidated, this works across all applications.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css   | 17 +++++++++-
 webcit-ng/static/js/editor.js     | 67 ++++++++++++++++++++++++++++++++++++---
 webcit-ng/static/js/view_forum.js |  2 +-
 webcit-ng/static/js/view_mail.js  |  2 +-
 webcit-ng/static/js/view_wiki.js  |  2 +-
 5 files changed, 81 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099535066</link><pubDate>Wed, 10 Sep 2025 10:06:30 +0500</pubDate><title>more work towards editor convergence</title><guid isPermaLink="false">2099535066@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e36286d43ac030aae43791336a16dadd0c41fad8 (commit)
      from  7f7f0b05a36afc36e3bd6c04a6c9847450a1201c (commit)


- Log -----------------------------------------------------------------
commit e36286d43ac030aae43791336a16dadd0c41fad8
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 10 07:06:26 2025 -0700

more work towards editor convergence

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/editor.js     | 30 +++++++++++++++++++++---------
 webcit-ng/static/js/view_forum.js |  2 +-
 webcit-ng/static/js/view_mail.js  |  1 -
 webcit-ng/static/js/view_wiki.js  |  2 +-
 4 files changed, 23 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534997</link><pubDate>Tue, 09 Sep 2025 17:33:55 +0500</pubDate><title>Wiki view tuning: disappear edit button when already editing</title><guid isPermaLink="false">2099534997@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7f7f0b05a36afc36e3bd6c04a6c9847450a1201c (commit)
      from  09f2db86621e26af7add3a0e83dc70161547e498 (commit)


- Log -----------------------------------------------------------------
commit 7f7f0b05a36afc36e3bd6c04a6c9847450a1201c
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 9 14:33:52 2025 -0700

Wiki view tuning: disappear edit button when already editing

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_wiki.js | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534887</link><pubDate>Mon, 08 Sep 2025 23:01:37 +0500</pubDate><title>webcit-ng: wiki view is functionally complete.</title><guid isPermaLink="false">2099534887@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  09f2db86621e26af7add3a0e83dc70161547e498 (commit)
      from  160e5f68afb979ba8ab08d98c6fe4861725353e8 (commit)


- Log -----------------------------------------------------------------
commit 09f2db86621e26af7add3a0e83dc70161547e498
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 8 20:01:35 2025 -0700

webcit-ng: wiki view is functionally complete.

I may add a couple of bells and whistles, like changing the nav links
while in a special mode like edit or history.  But the revert button works
now (and displays in a pretty way).  The history view that looks exactly
like the mailbox view is working, and is awesome.  I like this.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.md               |  1 +
 webcit-ng/docs/api.txt            |  1 +
 webcit-ng/server/room_functions.c |  4 ++++
 webcit-ng/server/webcit.h         |  1 +
 webcit-ng/server/wiki_view.c      | 32 ++++++++++++++++++++++++++++++--
 webcit-ng/static/js/view_wiki.js  | 39 ++++++++++++++++++++++++++++++++++++++-
 6 files changed, 75 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534622</link><pubDate>Sat, 06 Sep 2025 15:49:06 +0500</pubDate><title>Another test commit</title><guid isPermaLink="false">2099534622@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  160e5f68afb979ba8ab08d98c6fe4861725353e8 (commit)
      from  7c232562a6119e0e70a0a43dd6b74d90ac673499 (commit)


- Log -----------------------------------------------------------------
commit 160e5f68afb979ba8ab08d98c6fe4861725353e8
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 6 15:49:03 2025 -0400

Another test commit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/GNUmakefile | 1 +
 1 file changed, 1 insertion(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534621</link><pubDate>Sat, 06 Sep 2025 15:48:31 +0500</pubDate><title>Test commit</title><guid isPermaLink="false">2099534621@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7c232562a6119e0e70a0a43dd6b74d90ac673499 (commit)
      from  3889816ef5f77051c533434036531d46e0768689 (commit)


- Log -----------------------------------------------------------------
commit 7c232562a6119e0e70a0a43dd6b74d90ac673499
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 6 15:48:26 2025 -0400

Test commit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.md | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534611</link><pubDate>Sat, 06 Sep 2025 15:31:45 +0500</pubDate><title>Test commit</title><guid isPermaLink="false">2099534611@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3889816ef5f77051c533434036531d46e0768689 (commit)
      from  d192c94943ed5a52798c3a7ee4541fceb02c8291 (commit)


- Log -----------------------------------------------------------------
commit 3889816ef5f77051c533434036531d46e0768689
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 6 15:31:39 2025 -0400

Test commit

-----------------------------------------------------------------------

Summary of changes:
 citadel/docs/README-FIRST.txt | 1 -
 1 file changed, 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534610</link><pubDate>Sat, 06 Sep 2025 15:30:41 +0500</pubDate><title>Message #2099534610</title><guid isPermaLink="false">2099534610@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, test-https-push has been deleted
       was  d192c94943ed5a52798c3a7ee4541fceb02c8291

-----------------------------------------------------------------------
d192c94943ed5a52798c3a7ee4541fceb02c8291 Clicking on any wiki rev in the history renders it in the reading pane.
-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534609</link><pubDate>Sat, 06 Sep 2025 15:30:10 +0500</pubDate><title>Clicking on any wiki rev in the history renders it in the reading pane.</title><guid isPermaLink="false">2099534609@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, test-https-push has been created
        at  d192c94943ed5a52798c3a7ee4541fceb02c8291 (commit)

- Log -----------------------------------------------------------------
commit d192c94943ed5a52798c3a7ee4541fceb02c8291
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 5 14:22:16 2025 -0700

Clicking on any wiki rev in the history renders it in the reading pane.

commit 224d39a01d9e3ad23724614a70ae20d0320b4491
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 5 13:55:40 2025 -0700

wiki history output

commit 4e1d7c51fa2b649a79013879fb4358b8f2652555
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 5 12:21:52 2025 -0700

DRY refactor: replace repeated JSON 200 response blocks with json200out()

Replaced eleven instances of boilerplate response construction—serialization, header setup, and body assignment
-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534511</link><pubDate>Fri, 05 Sep 2025 17:22:32 +0500</pubDate><title>Clicking on any wiki rev in the history renders it in the reading pane.</title><guid isPermaLink="false">2099534511@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d192c94943ed5a52798c3a7ee4541fceb02c8291 (commit)
      from  224d39a01d9e3ad23724614a70ae20d0320b4491 (commit)


- Log -----------------------------------------------------------------
commit d192c94943ed5a52798c3a7ee4541fceb02c8291
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 5 14:22:16 2025 -0700

Clicking on any wiki rev in the history renders it in the reading pane.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_wiki.js | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534510</link><pubDate>Fri, 05 Sep 2025 17:21:05 +0500</pubDate><title>Re: sendcommand web doc needs updating</title><guid isPermaLink="false">2099534510@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY">And I'm JAZZED over the idea I had to re-use the mailbox view for wiki history. <br />Originally I was just going to borrow the mailbox table style, but then I thought, why not just borrow the entire view? It's going to look fantastic.</div>
</div>
</blockquote>
<p>Cool.  Looking forward to seeing it.</p>
</div>
</blockquote>
<p>Here it is.  I really like how it looks.  We'll add some more bells and whistles but this should give you an idea.</p>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABrMAAAHbCAYAAABocWEzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nOzdf1yUZaL38Q+MzKDjkCjBKpgHtGV0V3BjZWX9URv0A91N2c0w3XRt0zpFz57w7GO2a1m2Wc9ZqT3hnk07lZZtrJ1VO6ltQafU0sXVI9DqUDqTCrogNgpOMjcOPH8MIj8FVALp+369fAkz99z3NQPc93Vf3+tHQPzUqXWIiIiIiIiIiIiIiIiI9ECB3V0AERERERERERERERERkbYozBIREREREREREREREZEeS2GWiIiIiIiIiIiIiIiI9FgKs0RERERERERERERERKTHUpglIiIiIiIiIiIiIiIiPZbCLBEREREREREREREREemxFGaJiIiIiIiIiIiIiIhIj9XnYl6UOmkSt99yC6O/+U3MQUGXu0zSjYyaGoo+/ZQ3//IXtmzd2t3FERERERERERERERGRr7lOh1mZc+cye+rUriiL9ADmoCASvvUtEr71LUYOH07Wyy93d5FERERERERERERERORrrFNhVuqkSQqyeqDtW9/jc1cJAfXfew2DWPtIxk+cxEurXiAwMJCf/XweAP/5wn9gtVqZ8dPZvJnzBl96TmMymQAwW8xMnzGrYb+zp05l/8GDGqElIiIiIiIiIiIiIiLdplNh1u233NJV5ZBLUFRYzJFDRxu+93q9DBr0Df9zBQ4CA88vjVZUVMyAqwYAcODA57hPuBvCLJPJxPQZTfd9+y23KMwSEREREREREREREZFu06kwa/Q3v9lV5ZBLYA46/2OsravFZDKxf99+nAedBAUFQUAAzz/7PFVVVQQFBVFj1PAf2f+Bp8pDQEAAdXV1BAQEYLa0XP9MP3MREREREREREREREelOnQqzzEEtww7pOeqoI2xgGMHBfTl16iQnvzzFNVHXUAeU/eMfWPtZGRY1jJqzZznkOkTE1REE
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534501</link><pubDate>Fri, 05 Sep 2025 16:55:43 +0500</pubDate><title>wiki history output</title><guid isPermaLink="false">2099534501@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  224d39a01d9e3ad23724614a70ae20d0320b4491 (commit)
      from  4e1d7c51fa2b649a79013879fb4358b8f2652555 (commit)


- Log -----------------------------------------------------------------
commit 224d39a01d9e3ad23724614a70ae20d0320b4491
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 5 13:55:40 2025 -0700

wiki history output

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/floor_functions.c |  2 +-
 webcit-ng/server/messages.c        | 12 +++++++++-
 webcit-ng/server/room_functions.c  |  5 -----
 webcit-ng/server/webcit.h          |  1 +
 webcit-ng/server/wiki_view.c       | 46 ++++++++++++++++++++++++++++++--------
 5 files changed, 50 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534482</link><pubDate>Fri, 05 Sep 2025 15:22:15 +0500</pubDate><title>DRY refactor: replace repeated JSON 200 response blocks with json200out()</title><guid isPermaLink="false">2099534482@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4e1d7c51fa2b649a79013879fb4358b8f2652555 (commit)
      from  ab8aa55769d9dc14da67808261b8085375cf7c16 (commit)


- Log -----------------------------------------------------------------
commit 4e1d7c51fa2b649a79013879fb4358b8f2652555
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 5 12:21:52 2025 -0700

DRY refactor: replace repeated JSON 200 response blocks with json200out()

Replaced eleven instances of boilerplate response construction—serialization, header setup, and body assignment
with a single call to json200out(h, j).  This preserves semantic behavior while eliminating redundancy.

Verified all replacements maintain memory discipline, header hygiene, and response integrity.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt             | 13 +++++----
 webcit-ng/server/admin_functions.c |  8 +----
 webcit-ng/server/ctdl_commands.c   |  9 +-----
 webcit-ng/server/floor_functions.c |  9 +-----
 webcit-ng/server/forum_view.c      |  9 +-----
 webcit-ng/server/netconfig.c       |  8 +----
 webcit-ng/server/request.c         | 14 +++++++++
 webcit-ng/server/room_functions.c  | 60 +++++---------------------------------
 webcit-ng/server/upload.c          | 16 ++--------
 webcit-ng/server/webcit.h          |  1 +
 webcit-ng/server/wiki_view.c       | 12 ++------
 webcit-ng/static/js/view_wiki.js   | 19 ++++++++++--
 12 files changed, 55 insertions(+), 123 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534176</link><pubDate>Wed, 03 Sep 2025 15:16:11 +0500</pubDate><title>view_wiki.js: render editor box properly.</title><guid isPermaLink="false">2099534176@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ab8aa55769d9dc14da67808261b8085375cf7c16 (commit)
      from  893aa71b44addd8e7f4e4690076df17409703ddc (commit)


- Log -----------------------------------------------------------------
commit ab8aa55769d9dc14da67808261b8085375cf7c16
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 3 12:15:52 2025 -0700

view_wiki.js: render editor box properly.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_wiki.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534169</link><pubDate>Wed, 03 Sep 2025 14:59:09 +0500</pubDate><title>More conversion...</title><guid isPermaLink="false">2099534169@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  893aa71b44addd8e7f4e4690076df17409703ddc (commit)
      from  73d5c66e8d47292f530def99fac0c2198ad2e2fb (commit)


- Log -----------------------------------------------------------------
commit 893aa71b44addd8e7f4e4690076df17409703ddc
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 3 11:59:07 2025 -0700

More conversion...

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/mail_folder_list.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534168</link><pubDate>Wed, 03 Sep 2025 14:53:56 +0500</pubDate><title>More conversion of strings to template literals.</title><guid isPermaLink="false">2099534168@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  73d5c66e8d47292f530def99fac0c2198ad2e2fb (commit)
      from  ffa3fded1da7efac77414081f9ebab6abae8e4ec (commit)


- Log -----------------------------------------------------------------
commit 73d5c66e8d47292f530def99fac0c2198ad2e2fb
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 3 11:53:52 2025 -0700

More conversion of strings to template literals.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 50 ++++++++++++++++++++--------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534161</link><pubDate>Wed, 03 Sep 2025 14:32:19 +0500</pubDate><title>view_mail.js: convert Delete button to a template literal</title><guid isPermaLink="false">2099534161@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ffa3fded1da7efac77414081f9ebab6abae8e4ec (commit)
      from  ff9f479c3032bd99ff0236079cf792b039f90659 (commit)


- Log -----------------------------------------------------------------
commit ffa3fded1da7efac77414081f9ebab6abae8e4ec
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 3 11:32:17 2025 -0700

view_mail.js: convert Delete button to a template literal

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534140</link><pubDate>Wed, 03 Sep 2025 13:03:16 +0500</pubDate><title>webcit-ng: makefile tuning as we did for server in previous commit</title><guid isPermaLink="false">2099534140@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ff9f479c3032bd99ff0236079cf792b039f90659 (commit)
      from  b26508639226d27940196758bcfb5e6a1e4e5e46 (commit)


- Log -----------------------------------------------------------------
commit ff9f479c3032bd99ff0236079cf792b039f90659
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 3 10:03:12 2025 -0700

webcit-ng: makefile tuning as we did for server in previous commit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/GNUmakefile | 7 +++++++
 1 file changed, 7 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534111</link><pubDate>Wed, 03 Sep 2025 11:27:55 +0500</pubDate><title>Auto-tune parallelism via nproc; inject -j into MAKEFLAGS if unset</title><guid isPermaLink="false">2099534111@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b26508639226d27940196758bcfb5e6a1e4e5e46 (commit)
      from  fdba449946e59f738fdc3247debeb9ad272e103e (commit)


- Log -----------------------------------------------------------------
commit b26508639226d27940196758bcfb5e6a1e4e5e46
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 3 08:27:38 2025 -0700

Auto-tune parallelism via nproc; inject -j into MAKEFLAGS if unset

GNU Make now detects CPU count using nproc and sets MAKEFLAGS += -jN
unless the user has already specified -j. This covers the common case
(Linux systems) without ceremony or fallback. Emits a banner for lore.

Echoes the spirit of early Makefile magic—40 years later, still refining.

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534060</link><pubDate>Tue, 02 Sep 2025 23:07:38 +0500</pubDate><title>fighting with css</title><guid isPermaLink="false">2099534060@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fdba449946e59f738fdc3247debeb9ad272e103e (commit)
      from  12f3867600a84d2df8aba2493fa9f756bf80d3de (commit)


- Log -----------------------------------------------------------------
commit fdba449946e59f738fdc3247debeb9ad272e103e
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 2 20:07:35 2025 -0700

fighting with css

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 8 +-------
 webcit-ng/static/js/view_wiki.js | 2 +-
 2 files changed, 2 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534054</link><pubDate>Tue, 02 Sep 2025 22:43:53 +0500</pubDate><title>css tweaks</title><guid isPermaLink="false">2099534054@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  12f3867600a84d2df8aba2493fa9f756bf80d3de (commit)
      from  bea93ecd7ed2720137dfa8c6cc5260afb8a8c6f6 (commit)


- Log -----------------------------------------------------------------
commit 12f3867600a84d2df8aba2493fa9f756bf80d3de
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 2 19:43:14 2025 -0700

css tweaks

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  2 ++
 webcit-ng/static/js/util.js      | 49 ++++++++++++++++++++--------------------
 webcit-ng/static/js/view_wiki.js |  2 +-
 3 files changed, 27 insertions(+), 26 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534052</link><pubDate>Tue, 02 Sep 2025 22:39:50 +0500</pubDate><title>wiki edit tweaks</title><guid isPermaLink="false">2099534052@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  bea93ecd7ed2720137dfa8c6cc5260afb8a8c6f6 (commit)
      from  6be2cfb3210c95a5aa519bb8e5787e721850f233 (commit)


- Log -----------------------------------------------------------------
commit bea93ecd7ed2720137dfa8c6cc5260afb8a8c6f6
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 2 22:39:48 2025 -0400

wiki edit tweaks

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 4 ++++
 1 file changed, 4 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099534049</link><pubDate>Tue, 02 Sep 2025 22:26:43 +0500</pubDate><title>A snake and a camel walk into a bar...</title><guid isPermaLink="false">2099534049@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6be2cfb3210c95a5aa519bb8e5787e721850f233 (commit)
      from  6a1b703f7fb52367c5f540cbb292d4b6e996fead (commit)


- Log -----------------------------------------------------------------
commit 6be2cfb3210c95a5aa519bb8e5787e721850f233
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 2 22:26:37 2025 -0400

A snake and a camel walk into a bar...

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099533976</link><pubDate>Tue, 02 Sep 2025 12:39:26 +0500</pubDate><title>Enhanced version of escapeHTMLURI() that leaves most printable characters alone.</title><guid isPermaLink="false">2099533976@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6a1b703f7fb52367c5f540cbb292d4b6e996fead (commit)
      from  044ba86d2532f259fbaba843d95ee8b45829fbc1 (commit)


- Log -----------------------------------------------------------------
commit 6a1b703f7fb52367c5f540cbb292d4b6e996fead
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 2 09:39:22 2025 -0700

Enhanced version of escapeHTMLURI() that leaves most printable characters alone.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/main.js |  2 +-
 webcit-ng/static/js/util.js | 30 +++++++++++++++++++++++++-----
 2 files changed, 26 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099533962</link><pubDate>Tue, 02 Sep 2025 10:38:01 +0500</pubDate><title>baby steps</title><guid isPermaLink="false">2099533962@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  044ba86d2532f259fbaba843d95ee8b45829fbc1 (commit)
      from  b029efcbc4bf34dc3e671cf9009f131c50d27a70 (commit)


- Log -----------------------------------------------------------------
commit 044ba86d2532f259fbaba843d95ee8b45829fbc1
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 2 10:37:58 2025 -0400

baby steps

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_wiki.js | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099533311</link><pubDate>Thu, 28 Aug 2025 00:23:00 +0500</pubDate><title>Re: sendcommand web doc needs updating</title><guid isPermaLink="false">2099533311@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Aug 28 2025 03:05:29 UTC</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: sendcommand web doc needs updating</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>It was my fault in testing.  I think I must have pushed the wrong <br />branch into my build environment when I was testing it. </blockquote>
<br />These things happen. :) <br /><br />Tonight I was tickled by the knowledge that two of us were working on Citadel at the same time, and relieved that we're working on different parts of the system. I have terrible luck with that sometimes, but tonight the rebase went beautifully. <br /><br />And I'm JAZZED over the idea I had to re-use the mailbox view for wiki history. <br />Originally I was just going to borrow the mailbox table style, but then I thought, why not just borrow the entire view? It's going to look fantastic. </div>
</div>
</blockquote>
<p>Cool.  Looking forward to seeing it.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099533305</link><pubDate>Wed, 27 Aug 2025 23:05:29 +0500</pubDate><title>Re: sendcommand web doc needs updating</title><guid isPermaLink="false">2099533305@Uncensored</guid><description><![CDATA[ >It was my fault in testing.  I think I must have pushed the wrong  
 >branch into my build environment when I was testing it.   
  
 These things happen.  :) 
  
 Tonight I was tickled by the knowledge that two of us were working on Citadel
at the same time, and relieved that we're working on different parts of the
system.  I have terrible luck with that sometimes, but tonight the rebase
went beautifully. 
  
 And I'm JAZZED over the idea I had to re-use the mailbox view for wiki history.
 Originally I was just going to borrow the mailbox table style, but then I
thought, why not just borrow the entire view?  It's going to look fantastic.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099533304</link><pubDate>Wed, 27 Aug 2025 23:01:40 +0500</pubDate><title>Brilliant: use the mailbox view for wiki history.</title><guid isPermaLink="false">2099533304@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b029efcbc4bf34dc3e671cf9009f131c50d27a70 (commit)
      from  e67c92e0be75acaf0e95dc1c1764d69f8c67328d (commit)


- Log -----------------------------------------------------------------
commit b029efcbc4bf34dc3e671cf9009f131c50d27a70
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 27 23:00:51 2025 -0400

Brilliant: use the mailbox view for wiki history.

Wiki history table view is now styled like the mailbox view, and in the same way.  It
scrolls the same way, and when finished, clicking on any revision will bring that one
up in the reading pane.

Wikipedia editors are far-left fake news peddlers.  Citadel is superior to Wikipedia
in every way, and now our Wiki views are better looking.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 36 ++++++++++----------
 webcit-ng/static/js/view_wiki.js | 72 ++++++++++++++++++++++++++++++----------
 2 files changed, 72 insertions(+), 36 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099533300</link><pubDate>Wed, 27 Aug 2025 22:40:10 +0500</pubDate><title>Clean up CtdlFetchMsgList() processing:</title><guid isPermaLink="false">2099533300@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e67c92e0be75acaf0e95dc1c1764d69f8c67328d (commit)
      from  ac768c83b658bf13adf61072d094be1c652451f5 (commit)


- Log -----------------------------------------------------------------
commit e67c92e0be75acaf0e95dc1c1764d69f8c67328d
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Wed Aug 27 22:41:05 2025 -0400

Clean up CtdlFetchMsgList() processing:

room_ops.c
CtdlFetchMsgList() says it will return NULL list for zero messages.
Original code returned a dummy list if DB fetch returned NULL data,
which is not consistent with comments.
Corrected to return NULL.

All other source changes were to places that called CtdlFetchMsgList()
to handle zero lists properly (don’t free() NULL and to not access list if empty).
Also, some functions were handling negative counts as an error.  Function never returns
negative, so changed handling to only handle empty lists and lists with messages.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/control.c                           |  2 +-
 citadel/server/euidindex.c                         |  6 +--
 .../modules/autocompletion/serv_autocompletion.c   |  6 ++-
 citadel/server/modules/expire/serv_expire.c        |  3 +-
 citadel/server/modules/imap/serv_imap.c            |  4 +-
 citadel/server/modules/nntp/serv_nntp.c            |  6 +--
 citadel/server/msgbase.c                           | 45 +++++++++++++---------
 citadel/server/room_ops.c                          | 12 ++----
 citadel/server/user_ops.c                          |  4 +-
 9 files changed, 46 insertions(+), 42 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099533060</link><pubDate>Tue, 26 Aug 2025 18:50:32 +0500</pubDate><title>Re: sendcommand web doc needs updating</title><guid isPermaLink="false">2099533060@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Aug 20 2025 00:25:18 UTC</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: sendcommand web doc needs updating</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Can you try a compile of that on a clean tree? I'm getting compile <br />errors. </blockquote>
<br />Fixed it. Needed to include sysdep.h <br /><br />I'm actually wondering how that ever worked without sysdep.h. </div>
</div>
</blockquote>
<p style="font-family: sans-serif; font-size: 16px;">It was my fault in testing.  I think I must have pushed the wrong branch into my build environment when I was testing it.</p>
<p style="font-family: sans-serif; font-size: 16px;">A while back in my version, I had some issues with headers not including the headers for some of the prototypes they needed.  Other headers included them, so it worked, but caused some issues for me when I moved a couple around.</p>
<p> </p>
<p style="font-family: sans-serif; font-size: 16px;">I am going to check in a couple little cleanup things, and I will make sure I test master :-)</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532831</link><pubDate>Mon, 25 Aug 2025 16:09:50 +0500</pubDate><title>80 columns is so 20 century</title><guid isPermaLink="false">2099532831@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ac768c83b658bf13adf61072d094be1c652451f5 (commit)
      from  48cb6e566a30334db65bea70f486fa2418f14df9 (commit)


- Log -----------------------------------------------------------------
commit ac768c83b658bf13adf61072d094be1c652451f5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 25 13:09:47 2025 -0700

80 columns is so 20 century

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/euidindex.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532824</link><pubDate>Mon, 25 Aug 2025 15:51:27 +0500</pubDate><title>webcit-classic README update</title><guid isPermaLink="false">2099532824@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  48cb6e566a30334db65bea70f486fa2418f14df9 (commit)
      from  c21b487882f6fddf771b1d9e806808af63f9354b (commit)


- Log -----------------------------------------------------------------
commit 48cb6e566a30334db65bea70f486fa2418f14df9
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 25 12:51:24 2025 -0700

webcit-classic README update

-----------------------------------------------------------------------

Summary of changes:
 webcit/{README.txt => README.md} | 148 ++++++++++++++++++++-------------------
 1 file changed, 76 insertions(+), 72 deletions(-)
 rename webcit/{README.txt => README.md} (73%)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532761</link><pubDate>Mon, 25 Aug 2025 11:23:08 +0500</pubDate><title>Continue anonymizing redundant structure names when typedef&#39;ed</title><guid isPermaLink="false">2099532761@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c21b487882f6fddf771b1d9e806808af63f9354b (commit)
      from  90ca0a4a536552d82eed6a2445865689ea1bf73e (commit)


- Log -----------------------------------------------------------------
commit c21b487882f6fddf771b1d9e806808af63f9354b
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 25 08:23:05 2025 -0700

Continue anonymizing redundant structure names when typedef'ed

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.h  | 4 ++--
 libcitadel/lib/mime_parser.c | 6 +++---
 libcitadel/lib/stringbuf.c   | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532760</link><pubDate>Mon, 25 Aug 2025 11:15:51 +0500</pubDate><title>Anonymized structs when they are typedef&#39;ed.</title><guid isPermaLink="false">2099532760@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  90ca0a4a536552d82eed6a2445865689ea1bf73e (commit)
      from  6e8e1d6e61c59ec22d2a86e4f0317441a4c6072d (commit)


- Log -----------------------------------------------------------------
commit 90ca0a4a536552d82eed6a2445865689ea1bf73e
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 25 08:15:48 2025 -0700

Anonymized structs when they are typedef'ed.

For example, where you have:
typedef struct __foo {
int bar;
int baz;
} foo;

The __foo is totally unnecessary and simply clutters the space.
This commit anonymizes many of those, and this effort will continue.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/control.c                         | 2 +-
 citadel/server/modules/ctdlproto/serv_messages.c | 2 +-
 citadel/server/modules/imap/imap_list.c          | 4 ++--
 citadel/server/modules/imap/serv_imap.c          | 2 +-
 citadel/server/modules/imap/serv_imap.h          | 6 +++---
 citadel/server/modules/nntp/serv_nntp.h          | 2 +-
 citadel/server/modules/xmpp/serv_xmpp.h          | 2 +-
 textclient/citadel_ipc.c                         | 2 +-
 textclient/textclient.h                          | 2 +-
 9 files changed, 12 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532754</link><pubDate>Mon, 25 Aug 2025 10:45:43 +0500</pubDate><title>Structura sine duplici nomine est pulchritudo operativa.</title><guid isPermaLink="false">2099532754@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6e8e1d6e61c59ec22d2a86e4f0317441a4c6072d (commit)
      from  070f259c02241bde9e914110dff4e49031e74c6e (commit)


- Log -----------------------------------------------------------------
commit 6e8e1d6e61c59ec22d2a86e4f0317441a4c6072d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 25 07:45:38 2025 -0700

Structura sine duplici nomine est pulchritudo operativa.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532587</link><pubDate>Sat, 23 Aug 2025 19:26:26 +0500</pubDate><title>More conversion of snake_case to camelCase (in javascript, not C)</title><guid isPermaLink="false">2099532587@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  070f259c02241bde9e914110dff4e49031e74c6e (commit)
      from  d2a584b7e250f611d2590ec855f283b7314b95a2 (commit)


- Log -----------------------------------------------------------------
commit 070f259c02241bde9e914110dff4e49031e74c6e
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Aug 23 19:26:20 2025 -0400

More conversion of snake_case to camelCase (in javascript, not C)

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/main.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532586</link><pubDate>Sat, 23 Aug 2025 19:20:56 +0500</pubDate><title>Mail view: put the editor buttons with the other buttons. There&#39;s room.</title><guid isPermaLink="false">2099532586@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d2a584b7e250f611d2590ec855f283b7314b95a2 (commit)
      from  18ca00b8cd7e15f059b840adfb7f39cd19c5c506 (commit)


- Log -----------------------------------------------------------------
commit d2a584b7e250f611d2590ec855f283b7314b95a2
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Aug 23 19:20:52 2025 -0400

Mail view: put the editor buttons with the other buttons.  There's room.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 2 ++
 1 file changed, 2 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532471</link><pubDate>Fri, 22 Aug 2025 19:09:04 +0500</pubDate><title>And here on the JavaScript side, we&#39;re going to move AWAY from snake_case and standardize on camelCase. PascalCase is unwelcome on both sides.</title><guid isPermaLink="false">2099532471@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  18ca00b8cd7e15f059b840adfb7f39cd19c5c506 (commit)
      from  fa5f5b2af71e653859ab01aadd8b83328c0f807a (commit)


- Log -----------------------------------------------------------------
commit 18ca00b8cd7e15f059b840adfb7f39cd19c5c506
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 22 19:09:00 2025 -0400

And here on the JavaScript side, we're going to move AWAY from snake_case and standardize on camelCase.   PascalCase is unwelcome on both sides.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/editor.txt         |  4 ++--
 webcit-ng/static/js/editor.js     |  2 +-
 webcit-ng/static/js/view_forum.js |  2 +-
 webcit-ng/static/js/view_wiki.js  | 14 +++++++-------
 4 files changed, 11 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532465</link><pubDate>Fri, 22 Aug 2025 17:47:53 +0500</pubDate><title>QA of datestring()</title><guid isPermaLink="false">2099532465@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fa5f5b2af71e653859ab01aadd8b83328c0f807a (commit)
      from  21a194b796ddddc75d6bc89deffb31df21097a75 (commit)


- Log -----------------------------------------------------------------
commit fa5f5b2af71e653859ab01aadd8b83328c0f807a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 22 14:47:51 2025 -0700

QA of datestring()

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/genstamp.c | 9 +++++----
 citadel/server/genstamp.h | 2 +-
 2 files changed, 6 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532447</link><pubDate>Fri, 22 Aug 2025 15:46:14 +0500</pubDate><title>minor cleanup</title><guid isPermaLink="false">2099532447@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  21a194b796ddddc75d6bc89deffb31df21097a75 (commit)
      from  48e2cbe7a93f138477e6aa7586fc36aed285d6fb (commit)


- Log -----------------------------------------------------------------
commit 21a194b796ddddc75d6bc89deffb31df21097a75
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 22 15:46:12 2025 -0400

minor cleanup

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/room_ops.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532398</link><pubDate>Fri, 22 Aug 2025 12:40:23 +0500</pubDate><title>parsedate.c: replaced yacc-generated parser with a pure C implementation.</title><guid isPermaLink="false">2099532398@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  48e2cbe7a93f138477e6aa7586fc36aed285d6fb (commit)
      from  62934a9a7680b03a6fe31ad38be6971bc5cf61f1 (commit)


- Log -----------------------------------------------------------------
commit 48e2cbe7a93f138477e6aa7586fc36aed285d6fb
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 22 09:40:20 2025 -0700

parsedate.c: replaced yacc-generated parser with a pure C implementation.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/parsedate.c | 2280 ++------------------------------------------
 citadel/server/parsedate.y |  796 ----------------
 2 files changed, 61 insertions(+), 3015 deletions(-)
 delete mode 100644 citadel/server/parsedate.y

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532267</link><pubDate>Thu, 21 Aug 2025 16:34:22 +0500</pubDate><title>The snake uprising continues</title><guid isPermaLink="false">2099532267@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b9e5bbcea94e241c20dcf29596bb6579cd712321 (commit)
      from  ddf8405844e62feb6140ae62bcdb41267e4def68 (commit)


- Log -----------------------------------------------------------------
commit b9e5bbcea94e241c20dcf29596bb6579cd712321
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 21 13:34:18 2025 -0700

The snake uprising continues

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/ctdl_module.h                     |  2 +-
 citadel/server/modules/ctdlproto/serv_messages.c |  2 +-
 citadel/server/modules/ctdlproto/serv_rooms.c    | 16 ++++++++--------
 citadel/server/modules/imap/imap_acl.c           |  6 +++---
 citadel/server/modules/imap/imap_list.c          |  2 +-
 citadel/server/modules/imap/serv_imap.c          |  4 ++--
 citadel/server/modules/nntp/serv_nntp.c          |  6 +++---
 citadel/server/modules/rwho/serv_rwho.c          |  2 +-
 citadel/server/room_ops.c                        |  6 +++---
 9 files changed, 23 insertions(+), 23 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532262</link><pubDate>Thu, 21 Aug 2025 16:07:22 +0500</pubDate><title>visit api: convert PascalCase to snake_case</title><guid isPermaLink="false">2099532262@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ddf8405844e62feb6140ae62bcdb41267e4def68 (commit)
      from  4430ebae666fe847515d67a6c52a910ceed1c71c (commit)


- Log -----------------------------------------------------------------
commit ddf8405844e62feb6140ae62bcdb41267e4def68
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 21 13:07:20 2025 -0700

visit api: convert PascalCase to snake_case

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/calendar/serv_calendar.c |  6 +-
 citadel/server/modules/ctdlproto/serv_user.c    | 18 ++---
 citadel/server/modules/imap/imap_fetch.c        |  2 +-
 citadel/server/modules/imap/imap_metadata.c     |  2 +-
 citadel/server/modules/imap/imap_misc.c         | 18 ++---
 citadel/server/modules/imap/imap_store.c        |  2 +-
 citadel/server/modules/imap/serv_imap.c         |  6 +-
 citadel/server/modules/pop3/serv_pop3.c         | 14 ++--
 citadel/server/modules/vcard/serv_vcard.c       |  2 +-
 citadel/server/msgbase.c                        | 18 ++---
 citadel/server/room_ops.c                       | 20 +++---
 citadel/server/user_ops.c                       | 16 ++---
 citadel/server/visit.c                          | 94 ++++++++++++-------------
 citadel/server/visit.h                          | 66 ++++++++---------
 citadel/utils/ctdldump.c                        |  6 +-
 citadel/utils/ctdlload.c                        |  8 +--
 16 files changed, 149 insertions(+), 149 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532261</link><pubDate>Thu, 21 Aug 2025 16:04:04 +0500</pubDate><title>Server config API: convert PascalCase to snake_case</title><guid isPermaLink="false">2099532261@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4430ebae666fe847515d67a6c52a910ceed1c71c (commit)
      from  b8ebe633faf8c77712015c478d8e161ef8dfe741 (commit)


- Log -----------------------------------------------------------------
commit 4430ebae666fe847515d67a6c52a910ceed1c71c
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 21 13:04:02 2025 -0700

Server config API: convert PascalCase to snake_case

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citserver.c                         |  12 +-
 citadel/server/config.c                            | 122 ++++-----
 citadel/server/config.h                            |  12 +-
 citadel/server/context.c                           |   8 +-
 citadel/server/control.c                           | 290 ++++++++++-----------
 citadel/server/ctdl_module.h                       |  14 +-
 citadel/server/default_timezone.c                  |   2 +-
 citadel/server/housekeeping.c                      |   2 +-
 citadel/server/internet_addressing.c               |  16 +-
 citadel/server/journaling.c                        |   2 +-
 citadel/server/ldap.c                              |  26 +-
 .../modules/autocompletion/serv_autocompletion.c   |   2 +-
 citadel/server/modules/calendar/serv_calendar.c    |   6 +-
 citadel/server/modules/ctdlproto/serv_file.c       |  10 +-
 citadel/server/modules/ctdlproto/serv_messages.c   |   4 +-
 citadel/server/modules/ctdlproto/serv_rooms.c      |  10 +-
 citadel/server/modules/ctdlproto/serv_session.c    |  26 +-
 citadel/server/modules/ctdlproto/serv_user.c       |  20 +-
 citadel/server/modules/expire/expire_policy.c      |  26 +-
 citadel/server/modules/expire/serv_expire.c        |  16 +-
 citadel/server/modules/fulltext/serv_fulltext.c    |  24 +-
 citadel/server/modules/imap/imap_fetch.c           |   2 +-
 citadel/server/modules/imap/imap_misc.c            |   4 +-
 citadel/server/modules/imap/imap_search.c          |   4 +-
 citadel/server/modules/imap/serv_imap.c            |  12 +-
 .../server/modules/inboxrules/serv_inboxrules.c    |   2 +-
 citadel/server/modules/instmsg/serv_instmsg.c      |   8 +-
 .../server/modules/listdeliver/serv_listdeliver.c  |   4 +-
 citadel/server/modules/listsub/serv_listsub.c      |   6 +-
 citadel/server/modules/nntp/serv_nntp.c            |   8 +-
 citadel/server/modules/pop3/serv_pop3.c            |   4 +-
 .../server/modules/pop3client/serv_pop3client.c    |   6 +-
 citadel/server/modules/smtp/dkim_bindings.c        |  26 +-
 citadel/server/modules/smtp/serv_smtp.c            |  32 +--
 citadel/server/modules/smtp/serv_smtpclient.c      |  10 +-
 citadel/server/modules/smtp/smtp_util.c            |   4 +-
 citadel/server/modules/spam/serv_spam.c            |   4 +-
 citadel/server/modules/upgrade/serv_upgrade.c      |  40 +--
 citadel/server/modules/vcard/serv_vcard.c          |  22 +-
 citadel/server/modules/xmpp/serv_xmpp.c            |   2 +-
 citadel/server/modules/xmpp/xmpp_presence.c        |   2 +-
 citadel/server/modules/xmpp/xmpp_query_namespace.c |   2 +-
 citadel/server/msgbase.c                           |  18 +-
 citadel/server/netconfig.c                         |   4 +-
 citadel/server/room_ops.c                          |  28 +-
 citadel/server/serv_extensions.c                   |   6 +-
 citadel/server/server_main.c                       |   6 +-
 citadel/server/serversocket.c                      |   2 +-
 citadel/server/threads.c                           |   2 +-
 citadel/server/user_ops.c                          |  30 +--
 50 files changed, 475 insertions(+), 475 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532199</link><pubDate>Thu, 21 Aug 2025 10:11:20 +0500</pubDate><title>War on CamelCase</title><guid isPermaLink="false">2099532199@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b8ebe633faf8c77712015c478d8e161ef8dfe741 (commit)
      from  5f1672c6a6d739d03486894aa7808f525278e6d5 (commit)


- Log -----------------------------------------------------------------
commit b8ebe633faf8c77712015c478d8e161ef8dfe741
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 21 07:11:19 2025 -0700

War on CamelCase

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/config.c                               |  2 +-
 citadel/server/context.h                              |  2 +-
 citadel/server/control.c                              |  2 +-
 citadel/server/ctdl_module.h                          |  2 +-
 citadel/server/euidindex.c                            |  6 +++---
 citadel/server/housekeeping.c                         |  2 +-
 citadel/server/modules/calendar/serv_calendar.c       |  6 +++---
 citadel/server/modules/ctdlproto/serv_messages.c      |  6 +++---
 citadel/server/modules/ctdlproto/serv_rooms.c         | 12 ++++++------
 citadel/server/modules/expire/serv_expire.c           |  6 +++---
 citadel/server/modules/fulltext/serv_fulltext.c       |  2 +-
 citadel/server/modules/imap/imap_list.c               |  4 ++--
 citadel/server/modules/imap/serv_imap.c               |  2 +-
 citadel/server/modules/inboxrules/serv_inboxrules.c   |  2 +-
 citadel/server/modules/inetcfg/serv_inetcfg.c         |  2 +-
 citadel/server/modules/listdeliver/serv_listdeliver.c |  4 ++--
 citadel/server/modules/nntp/serv_nntp.c               |  8 ++++----
 citadel/server/modules/pop3/serv_pop3.c               |  2 +-
 citadel/server/modules/pop3client/serv_pop3client.c   |  2 +-
 citadel/server/modules/rssclient/serv_rssclient.c     |  2 +-
 citadel/server/modules/smtp/serv_smtp.c               |  2 +-
 citadel/server/modules/smtp/serv_smtpclient.c         |  2 +-
 citadel/server/modules/upgrade/serv_upgrade.c         |  4 ++--
 citadel/server/modules/vcard/serv_vcard.c             |  6 +++---
 citadel/server/modules/xmpp/xmpp_presence.c           |  2 +-
 citadel/server/msgbase.c                              |  4 ++--
 citadel/server/msgbase.h                              |  2 +-
 citadel/server/room_ops.c                             |  2 +-
 citadel/server/user_ops.c                             |  2 +-
 29 files changed, 51 insertions(+), 51 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532195</link><pubDate>Thu, 21 Aug 2025 10:06:26 +0500</pubDate><title>war on PascalCase</title><guid isPermaLink="false">2099532195@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5f1672c6a6d739d03486894aa7808f525278e6d5 (commit)
      from  81e5f5754238255ae6e95919bde5752a026ea7a0 (commit)


- Log -----------------------------------------------------------------
commit 5f1672c6a6d739d03486894aa7808f525278e6d5
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 21 07:06:23 2025 -0700

war on PascalCase

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/control.c                           |  4 +-
 citadel/server/ctdl_module.h                       | 24 +++++-----
 citadel/server/euidindex.c                         |  2 +-
 .../modules/autocompletion/serv_autocompletion.c   |  2 +-
 citadel/server/modules/bio/serv_bio.c              |  4 +-
 citadel/server/modules/blog/serv_blog.c            |  2 +-
 citadel/server/modules/calendar/serv_calendar.c    | 16 +++----
 .../server/modules/checkpoint/serv_checkpoint.c    |  2 +-
 citadel/server/modules/clamav/serv_virus.c         |  2 +-
 citadel/server/modules/crypto/serv_crypto.c        |  6 +--
 citadel/server/modules/ctdlproto/serv_file.c       | 26 +++++-----
 citadel/server/modules/ctdlproto/serv_messages.c   | 20 ++++----
 citadel/server/modules/ctdlproto/serv_rooms.c      | 44 ++++++++---------
 citadel/server/modules/ctdlproto/serv_session.c    | 18 +++----
 citadel/server/modules/ctdlproto/serv_syscmds.c    |  6 +--
 citadel/server/modules/ctdlproto/serv_user.c       | 56 +++++++++++-----------
 citadel/server/modules/expire/expire_policy.c      |  4 +-
 citadel/server/modules/expire/serv_expire.c        |  4 +-
 citadel/server/modules/fulltext/serv_fulltext.c    |  6 +--
 citadel/server/modules/image/serv_image.c          |  8 ++--
 citadel/server/modules/imap/serv_imap.c            |  6 +--
 .../server/modules/inboxrules/serv_inboxrules.c    |  8 ++--
 citadel/server/modules/inetcfg/serv_inetcfg.c      |  2 +-
 citadel/server/modules/instmsg/serv_instmsg.c      | 18 +++----
 .../server/modules/listdeliver/serv_listdeliver.c  |  2 +-
 citadel/server/modules/listsub/serv_listsub.c      |  2 +-
 citadel/server/modules/nntp/serv_nntp.c            |  6 +--
 citadel/server/modules/notes/serv_notes.c          |  2 +-
 citadel/server/modules/pop3/serv_pop3.c            |  6 +--
 .../server/modules/pop3client/serv_pop3client.c    |  2 +-
 citadel/server/modules/roomchat/serv_roomchat.c    |  6 +--
 citadel/server/modules/rssclient/serv_rssclient.c  |  2 +-
 citadel/server/modules/rwho/serv_rwho.c            |  4 +-
 citadel/server/modules/smtp/serv_smtp.c            | 12 ++---
 citadel/server/modules/smtp/serv_smtpclient.c      |  6 +--
 citadel/server/modules/spam/serv_spam.c            |  2 +-
 citadel/server/modules/test/serv_test.c            | 10 ++--
 citadel/server/modules/vcard/serv_vcard.c          | 30 ++++++------
 citadel/server/modules/wiki/serv_wiki.c            |  4 +-
 citadel/server/modules/xmpp/serv_xmpp.c            | 12 ++---
 citadel/server/netconfig.c                         |  4 +-
 citadel/server/serv_extensions.c                   | 18 +++----
 citadel/server/server_main.c                       |  8 ++--
 43 files changed, 214 insertions(+), 214 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532191</link><pubDate>Thu, 21 Aug 2025 09:39:18 +0500</pubDate><title>s/CtdlDeleteMessages/delete_messages</title><guid isPermaLink="false">2099532191@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  81e5f5754238255ae6e95919bde5752a026ea7a0 (commit)
      from  513b09d84003b4f9f73490a7ce04f9175e5235e2 (commit)


- Log -----------------------------------------------------------------
commit 81e5f5754238255ae6e95919bde5752a026ea7a0
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 21 06:39:15 2025 -0700

s/CtdlDeleteMessages/delete_messages

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/config.c                             | 2 +-
 citadel/server/modules/bio/serv_bio.c               | 4 ++--
 citadel/server/modules/calendar/serv_calendar.c     | 6 +++---
 citadel/server/modules/ctdlproto/serv_messages.c    | 4 ++--
 citadel/server/modules/ctdlproto/serv_rooms.c       | 2 +-
 citadel/server/modules/expire/serv_expire.c         | 2 +-
 citadel/server/modules/image/serv_image.c           | 6 +++---
 citadel/server/modules/imap/serv_imap.c             | 2 +-
 citadel/server/modules/inboxrules/serv_inboxrules.c | 4 ++--
 citadel/server/modules/pop3/serv_pop3.c             | 2 +-
 citadel/server/modules/smtp/serv_smtpclient.c       | 4 ++--
 citadel/server/modules/vcard/serv_vcard.c           | 2 +-
 citadel/server/modules/wiki/serv_wiki.c             | 2 +-
 citadel/server/modules/xmpp/xmpp_presence.c         | 2 +-
 citadel/server/msgbase.c                            | 8 ++++----
 citadel/server/msgbase.h                            | 2 +-
 citadel/server/room_ops.c                           | 2 +-
 17 files changed, 28 insertions(+), 28 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532107</link><pubDate>Wed, 20 Aug 2025 15:28:15 +0500</pubDate><title>war on PascalCase</title><guid isPermaLink="false">2099532107@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  513b09d84003b4f9f73490a7ce04f9175e5235e2 (commit)
      from  b21408643fbc6557c6108c12f75b7dc2763af418 (commit)


- Log -----------------------------------------------------------------
commit 513b09d84003b4f9f73490a7ce04f9175e5235e2
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 20 12:28:11 2025 -0700

war on PascalCase

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/bio/serv_bio.c               |  2 +-
 citadel/server/modules/image/serv_image.c           |  6 +++---
 citadel/server/modules/imap/serv_imap.c             |  4 ++--
 citadel/server/modules/inboxrules/serv_inboxrules.c |  2 +-
 citadel/server/modules/smtp/dkim.c                  |  4 ++--
 citadel/server/modules/smtp/dkim_bindings.c         |  2 +-
 citadel/server/modules/smtp/serv_smtp.c             |  4 ++--
 citadel/server/modules/upgrade/serv_upgrade.c       |  4 ++--
 citadel/server/modules/wiki/serv_wiki.c             |  6 +++---
 citadel/server/modules/xmpp/xmpp_sasl_service.c     |  2 +-
 citadel/server/netconfig.c                          |  4 ++--
 citadel/utils/ctdldump.c                            |  2 +-
 citadel/utils/ctdlload.c                            |  4 ++--
 libcitadel/lib/base64.c                             |  4 ++--
 libcitadel/lib/decode.c                             |  4 ++--
 libcitadel/lib/libcitadel.h                         |  6 +++---
 libcitadel/lib/mime_parser.c                        | 10 +++++-----
 libcitadel/lib/stringbuf.c                          | 10 +++++-----
 libcitadel/lib/tools.c                              |  2 +-
 libcitadel/lib/vnote.c                              |  4 ++--
 textclient/citadel_ipc.c                            |  4 ++--
 textclient/client_passwords.c                       |  8 ++++----
 textclient/messages.c                               |  2 +-
 webcit-ng/server/admin_functions.c                  |  2 +-
 webcit-ng/server/ctdlclient.c                       |  4 ++--
 webcit-ng/server/messages.c                         |  6 +++---
 webcit/messages.c                                   |  2 +-
 webcit/sieve.c                                      |  2 +-
 28 files changed, 58 insertions(+), 58 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532090</link><pubDate>Wed, 20 Aug 2025 14:07:03 +0500</pubDate><title>More changing of PascalCase to snake_case</title><guid isPermaLink="false">2099532090@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b21408643fbc6557c6108c12f75b7dc2763af418 (commit)
      from  42c08a46e9bd833b30e97a3d2ea4e8f39853d140 (commit)


- Log -----------------------------------------------------------------
commit b21408643fbc6557c6108c12f75b7dc2763af418
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 20 11:06:59 2025 -0700

More changing of PascalCase to snake_case

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_ldap.h                   |  2 +-
 citadel/server/citserver.c                      | 10 +++++-----
 citadel/server/control.c                        |  2 +-
 citadel/server/ctdl_module.h                    |  2 +-
 citadel/server/housekeeping.c                   |  4 ++--
 citadel/server/ldap.c                           |  2 +-
 citadel/server/modules/calendar/serv_calendar.c | 10 +++++-----
 citadel/server/modules/calendar/serv_calendar.h |  2 +-
 citadel/server/modules/ctdlproto/serv_rooms.c   |  4 ++--
 citadel/server/modules/ctdlproto/serv_syscmds.c |  4 ++--
 citadel/server/modules/imap/serv_imap.c         |  4 ++--
 citadel/server/modules/instmsg/serv_instmsg.c   |  6 +++---
 citadel/server/modules/smtp/serv_smtpclient.c   |  2 +-
 citadel/server/modules/vcard/serv_vcard.c       |  8 ++++----
 citadel/server/modules/wiki/serv_wiki.c         |  2 +-
 citadel/server/msgbase.c                        |  2 +-
 citadel/server/room_ops.c                       |  4 ++--
 citadel/server/sysdep.h                         |  2 +-
 citadel/server/user_ops.c                       | 12 ++++++------
 19 files changed, 42 insertions(+), 42 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099532043</link><pubDate>Wed, 20 Aug 2025 11:55:10 +0500</pubDate><title>editor.js: use range API for links.</title><guid isPermaLink="false">2099532043@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  42c08a46e9bd833b30e97a3d2ea4e8f39853d140 (commit)
      from  0a86ff46c17f964ff37c31befe7f1a6d70767cbe (commit)


- Log -----------------------------------------------------------------
commit 42c08a46e9bd833b30e97a3d2ea4e8f39853d140
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 20 08:55:08 2025 -0700

editor.js: use range API for links.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/editor.js | 38 ++++++++++++++++++++++++--------------
 1 file changed, 24 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099531908</link><pubDate>Tue, 19 Aug 2025 20:25:18 +0500</pubDate><title>Re: sendcommand web doc needs updating</title><guid isPermaLink="false">2099531908@Uncensored</guid><description><![CDATA[ > Can you try a compile of that on a clean tree?  I'm getting compile   
 >errors.  
  
 Fixed it.  Needed to include sysdep.h 
  
 I'm actually wondering how that ever worked without sysdep.h. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099531907</link><pubDate>Tue, 19 Aug 2025 20:24:29 +0500</pubDate><title>sendcommand.c: include sysdep.h</title><guid isPermaLink="false">2099531907@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0a86ff46c17f964ff37c31befe7f1a6d70767cbe (commit)
      from  60ded26c9b9e7867def3ae3ac247b907b736cfe9 (commit)


- Log -----------------------------------------------------------------
commit 0a86ff46c17f964ff37c31befe7f1a6d70767cbe
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 19 20:24:27 2025 -0400

sendcommand.c: include sysdep.h

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/sendcommand.c | 1 +
 1 file changed, 1 insertion(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099531723</link><pubDate>Mon, 18 Aug 2025 19:10:25 +0500</pubDate><title>Re: sendcommand web doc needs updating</title><guid isPermaLink="false">2099531723@Uncensored</guid><description><![CDATA[ >I am not sure where any docs are for sendcommand and the webpage for the
 
 >command needs to be update with the following:   
  
 Can you try a compile of that on a clean tree?  I'm getting compile errors.
 "struct ctdlroom" and "SIZ" are both problematic, and those are of course
very well known definitions. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099531699</link><pubDate>Mon, 18 Aug 2025 16:40:35 +0500</pubDate><title>war on CamelCase continues</title><guid isPermaLink="false">2099531699@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  60ded26c9b9e7867def3ae3ac247b907b736cfe9 (commit)
      from  c4c7d59971b8b37bc2689364cf1f98cc5c405790 (commit)


- Log -----------------------------------------------------------------
commit 60ded26c9b9e7867def3ae3ac247b907b736cfe9
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 18 13:40:32 2025 -0700

war on CamelCase continues

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c    | 8 ++++----
 textclient/textclient.h     | 8 ++++----
 textclient/user_functions.c | 8 ++++----
 3 files changed, 12 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099531698</link><pubDate>Mon, 18 Aug 2025 16:36:44 +0500</pubDate><title>Completed conversion of IPC stuffs from PascalCase to snake_case</title><guid isPermaLink="false">2099531698@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c4c7d59971b8b37bc2689364cf1f98cc5c405790 (commit)
      from  a810e49ede5c7456974b8e83707edc716a102659 (commit)


- Log -----------------------------------------------------------------
commit c4c7d59971b8b37bc2689364cf1f98cc5c405790
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 18 13:36:41 2025 -0700

Completed conversion of IPC stuffs from PascalCase to snake_case

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c          |  40 ++---
 textclient/citadel_ipc.c      | 246 +++++++++++++++----------------
 textclient/client_chat.c      |   8 +-
 textclient/client_passwords.c |   2 +-
 textclient/commands.c         |   4 +-
 textclient/file_transfer.c    |  10 +-
 textclient/messages.c         |  12 +-
 textclient/rooms.c            |  46 +++---
 textclient/sysutil.c          |   6 +-
 textclient/tcpclient.c        |   2 +-
 textclient/textclient.h       | 332 +++++++++++++++++++++---------------------
 textclient/tuiconfig.c        |  12 +-
 textclient/user_functions.c   |  22 +--
 textclient/utilfunc.c         |   4 +-
 14 files changed, 373 insertions(+), 373 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099531697</link><pubDate>Mon, 18 Aug 2025 16:34:22 +0500</pubDate><title>textclient: changing IPC functions from PascalCase to camel_case</title><guid isPermaLink="false">2099531697@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a810e49ede5c7456974b8e83707edc716a102659 (commit)
      from  065591e2d8677413281162180b30a48087f2f2a9 (commit)


- Log -----------------------------------------------------------------
commit a810e49ede5c7456974b8e83707edc716a102659
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 18 13:34:18 2025 -0700

textclient: changing IPC functions from PascalCase to camel_case

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c        |  78 ++++----
 textclient/citadel_ipc.c    | 478 ++++++++++++++++++++++----------------------
 textclient/client_chat.c    |  20 +-
 textclient/commands.c       |   4 +-
 textclient/file_transfer.c  |  12 +-
 textclient/messages.c       |  26 +--
 textclient/rooms.c          |  68 +++----
 textclient/sysutil.c        |   8 +-
 textclient/textclient.h     | 194 +++++++++---------
 textclient/tuiconfig.c      |  34 ++--
 textclient/user_functions.c |  28 +--
 11 files changed, 475 insertions(+), 475 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099531127</link><pubDate>Wed, 13 Aug 2025 16:25:08 +0500</pubDate><title>Quick change to _() to make it more inliney</title><guid isPermaLink="false">2099531127@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  065591e2d8677413281162180b30a48087f2f2a9 (commit)
      from  640d547f5357bf02e7b9e3e105749efc51f838a4 (commit)


- Log -----------------------------------------------------------------
commit 065591e2d8677413281162180b30a48087f2f2a9
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 13 16:25:06 2025 -0400

Quick change to _() to make it more inliney

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/defs.js | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099530289</link><pubDate>Fri, 08 Aug 2025 00:02:40 +0500</pubDate><title>More refactoring to centralize richtext editor components</title><guid isPermaLink="false">2099530289@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  640d547f5357bf02e7b9e3e105749efc51f838a4 (commit)
      from  cd6f875997d645c101e04120df7587bdb69ba7af (commit)


- Log -----------------------------------------------------------------
commit 640d547f5357bf02e7b9e3e105749efc51f838a4
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 8 00:02:19 2025 -0400

More refactoring to centralize richtext editor components

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/editor.txt         | 11 +++++
 webcit-ng/static/js/editor.js     | 91 +++++++++++++++++++++++++--------------
 webcit-ng/static/js/view_forum.js | 25 -----------
 webcit-ng/static/js/view_wiki.js  |  4 +-
 4 files changed, 71 insertions(+), 60 deletions(-)
 create mode 100644 webcit-ng/docs/editor.txt

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099530255</link><pubDate>Thu, 07 Aug 2025 16:34:13 +0500</pubDate><title>sendcommand web doc needs updating</title><guid isPermaLink="false">2099530255@Uncensored</guid><description><![CDATA[<html><body>

<p>I am not sure where any docs are for sendcommand and the webpage for the command needs to be update with the following:</p>
<p> </p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';">usage: sendcommand [-h server_dir] [-r room_name] [-w watchdog_timeout]</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';"><span style="mso-spacerun: yes;">                   </span>[-f batch_file | server_command]</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';">options:</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';"><span style="mso-spacerun: yes;">  </span>-h server_dir<span style="mso-spacerun: yes;">       </span>- Citadel server home directory (default is 'sendcommand').</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';"><span style="mso-spacerun: yes;">  </span>-r room_name<span style="mso-spacerun: yes;">        </span>- Select a room to run the command in.</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';"><span style="mso-spacerun: yes;">  </span>-w watchdog_timeout - Set a watchdog timer to exit if the specified time (in seconds) elapses.</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';"><span style="mso-spacerun: yes;">  </span>-f batch_filename<span style="mso-spacerun: yes;">   </span>- Input commands from a file.</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';"><span style="mso-spacerun: yes;">                        </span>For list items, use a space as the first character on the line.</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';"><span style="mso-spacerun: yes;">                        </span>Blank lines and lines that start with # are ignored.</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="font-family: 'Courier New';"><span style="mso-spacerun: yes;">  </span>server_command<span style="mso-spacerun: yes;">      </span>- Server command with parameters to run on the server.</span></p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099530254</link><pubDate>Thu, 07 Aug 2025 16:27:18 +0500</pubDate><title>Rework sendcommand to support batch file and cleaned up help output</title><guid isPermaLink="false">2099530254@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  cd6f875997d645c101e04120df7587bdb69ba7af (commit)
      from  f538069ba0a67e3aaffd958d54fb104aa8806e5d (commit)


- Log -----------------------------------------------------------------
commit cd6f875997d645c101e04120df7587bdb69ba7af
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Thu Aug 7 16:26:49 2025 -0400

Rework sendcommand to support batch file and cleaned up help output

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/sendcommand.c | 207 ++++++++++++++++++++++++++++++--------------
 1 file changed, 144 insertions(+), 63 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099529795</link><pubDate>Mon, 04 Aug 2025 21:20:37 +0500</pubDate><title>nobody cares about this commit</title><guid isPermaLink="false">2099529795@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f538069ba0a67e3aaffd958d54fb104aa8806e5d (commit)
      from  612f4b6286352d8687a25d7edf2551aaceb5120a (commit)


- Log -----------------------------------------------------------------
commit f538069ba0a67e3aaffd958d54fb104aa8806e5d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 4 21:20:34 2025 -0400

nobody cares about this commit

-----------------------------------------------------------------------

Summary of changes:
 webcit/addressbook_popup.c | 40 +++++++++-------------------------------
 webcit/auth.c              | 22 ++++++++++++----------
 2 files changed, 21 insertions(+), 41 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528695</link><pubDate>Sun, 27 Jul 2025 20:01:20 +0500</pubDate><title>wtf</title><guid isPermaLink="false">2099528695@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  612f4b6286352d8687a25d7edf2551aaceb5120a (commit)
      from  fbcf616e0fee76af4e5c857eef8eb9d5226a6c94 (commit)


- Log -----------------------------------------------------------------
commit 612f4b6286352d8687a25d7edf2551aaceb5120a
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 27 20:01:17 2025 -0400

wtf

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html       |  1 +
 webcit-ng/static/js/editor.js     | 39 +++++++++++++++++++++
 webcit-ng/static/js/view_forum.js | 71 ++++-----------------------------------
 3 files changed, 47 insertions(+), 64 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528694</link><pubDate>Sun, 27 Jul 2025 20:01:07 +0500</pubDate><title>editor.js: common editor components.</title><guid isPermaLink="false">2099528694@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fbcf616e0fee76af4e5c857eef8eb9d5226a6c94 (commit)
      from  4dcaec9c5e3668ecbcd11297a978f76a8495d736 (commit)


- Log -----------------------------------------------------------------
commit fbcf616e0fee76af4e5c857eef8eb9d5226a6c94
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 27 20:00:30 2025 -0400

editor.js: common editor components.

This moves some of the forum view editor functions into a place where they can be reusable (since I was calling them from other places already).  The word "forum" has been replaced with "editor".

This is NOT a plug-and-play editor component.  We require a different level of integration.  Embedding an editor will have very specific instructions.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/editor.js | 94 +++++++------------------------------------
 1 file changed, 14 insertions(+), 80 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528685</link><pubDate>Sun, 27 Jul 2025 16:53:58 +0500</pubDate><title>Changes to framing and padding of modal dialogs</title><guid isPermaLink="false">2099528685@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4dcaec9c5e3668ecbcd11297a978f76a8495d736 (commit)
      from  49c22d2e5c0ba30bae76a7058c4a8aec9d70b800 (commit)


- Log -----------------------------------------------------------------
commit 4dcaec9c5e3668ecbcd11297a978f76a8495d736
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 27 16:53:56 2025 -0400

Changes to framing and padding of modal dialogs

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528467</link><pubDate>Thu, 24 Jul 2025 19:41:44 +0500</pubDate><title>URL entry box is now a ctdl-formgrid-fieldset</title><guid isPermaLink="false">2099528467@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  49c22d2e5c0ba30bae76a7058c4a8aec9d70b800 (commit)
      from  ba3a73fab8b9f4cc3effbb566107d8fdc5837a44 (commit)


- Log -----------------------------------------------------------------
commit 49c22d2e5c0ba30bae76a7058c4a8aec9d70b800
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 24 19:41:41 2025 -0400

URL entry box is now a ctdl-formgrid-fieldset

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 51 ++++++++++++++++++++++++---------------
 1 file changed, 31 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528351</link><pubDate>Wed, 23 Jul 2025 15:31:37 +0500</pubDate><title>netconfigs.txt: documented the &#39;lastsent&#39; field with a better description than &quot;should do stuff&quot;.</title><guid isPermaLink="false">2099528351@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ba3a73fab8b9f4cc3effbb566107d8fdc5837a44 (commit)
      from  22a062039d6a21bfde711210ace580cce1e04f56 (commit)


- Log -----------------------------------------------------------------
commit ba3a73fab8b9f4cc3effbb566107d8fdc5837a44
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 23 15:31:28 2025 -0400

netconfigs.txt: documented the 'lastsent' field with a better description than "should do stuff".

-----------------------------------------------------------------------

Summary of changes:
 citadel/docs/netconfigs.txt | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528325</link><pubDate>Wed, 23 Jul 2025 12:59:58 +0500</pubDate><title>textclient: changed more &#39;Aide&#39; references to &#39;Admin&#39;</title><guid isPermaLink="false">2099528325@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  22a062039d6a21bfde711210ace580cce1e04f56 (commit)
      from  d3877940f53d60e70c048202d1122c6d6d58f2ac (commit)


- Log -----------------------------------------------------------------
commit 22a062039d6a21bfde711210ace580cce1e04f56
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 23 12:59:51 2025 -0400

textclient: changed more 'Aide' references to 'Admin'

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c    | 12 ++++++------
 textclient/messages.c       |  7 ++++---
 textclient/rooms.c          |  9 ++++-----
 textclient/textclient.h     | 12 ++++++------
 textclient/user_functions.c |  8 ++++----
 5 files changed, 24 insertions(+), 24 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528240</link><pubDate>Tue, 22 Jul 2025 22:48:15 +0500</pubDate><title>Re: Questions about sendcommand</title><guid isPermaLink="false">2099528240@Uncensored</guid><description><![CDATA[ >I liked sendcommand because it is simple.  I wanted to create 100 user
 
 >accounts for testing, so I updated it to read a file and it worked  
 >great.   
  
 If you like it then go to town with it.  There's no reason it can't be turned
into "the ultimate citadel protocol pipeline"  ;) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528222</link><pubDate>Tue, 22 Jul 2025 14:35:15 +0500</pubDate><title>array.c: add a bunch of checks for bad inputs</title><guid isPermaLink="false">2099528222@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d3877940f53d60e70c048202d1122c6d6d58f2ac (commit)
      from  c07066b8cf5b8459e289ff0e90d6e236ea492b52 (commit)


- Log -----------------------------------------------------------------
commit d3877940f53d60e70c048202d1122c6d6d58f2ac
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 22 14:35:12 2025 -0400

array.c: add a bunch of checks for bad inputs

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/array.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528219</link><pubDate>Tue, 22 Jul 2025 14:24:29 +0500</pubDate><title>random style cleanup</title><guid isPermaLink="false">2099528219@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c07066b8cf5b8459e289ff0e90d6e236ea492b52 (commit)
      from  18786fd739f6c25410c9f04bd2935bc16653b7b9 (commit)


- Log -----------------------------------------------------------------
commit c07066b8cf5b8459e289ff0e90d6e236ea492b52
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 22 14:24:27 2025 -0400

random style cleanup

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile        |  2 +-
 textclient/README.txt      |  3 +--
 textclient/configure       |  3 +--
 textclient/rooms.c         |  6 +-----
 textclient/screen.c        |  5 ++---
 textclient/utilfunc.c      |  2 +-
 webcit/availability.c      |  6 +-----
 webcit/bbsview_renderer.c  | 21 +++++++--------------
 webcit/blogview_renderer.c |  4 ++--
 9 files changed, 17 insertions(+), 35 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528123</link><pubDate>Mon, 21 Jul 2025 16:45:10 +0500</pubDate><title>Re: Questions about sendcommand</title><guid isPermaLink="false">2099528123@Uncensored</guid><description><![CDATA[<html><body>

<p>I will take a look at ctdlsh.</p>
<p>I liked sendcommand because it is simple.  I wanted to create 100 user accounts for testing, so I updated it to read a file and it worked great.</p>
<p>If you think it would add value to sendcommand, I can implement it formally (e.g. sendcommand -b batch_command_file).  I was wrong about the memory issue.  I was not able to reproduce.  May have been something with my system or fat-fingered something.</p>
<blockquote>
<div class="message_header"><span>Sun Jul 20 2025 20:14:30 UTC</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Questions about sendcommand</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Welcome back. The text client will always be well supported, and sendcommand seems a necessity, at least with the current system. <br /><br />If you want to try anything fancy, you might be interested in playing around with ctdlsh. It's been in an "experimental" status pretty much forever, but if you take a look around that bit of code, it should be obvious that its intended purpose is to provide an administration shell for the Citadel system that doesn't require either logging in with a web browser *or* logging in to something that looks like an old-school BBS. <br /><br />It's far from finished but it has enough in there that you can see its intent. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528116</link><pubDate>Mon, 21 Jul 2025 15:47:35 +0500</pubDate><title>22m to turn off bold, not 21m</title><guid isPermaLink="false">2099528116@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  18786fd739f6c25410c9f04bd2935bc16653b7b9 (commit)
      from  6fb5ee42a095a7e16fa62ae80b312db701e0040f (commit)


- Log -----------------------------------------------------------------
commit 18786fd739f6c25410c9f04bd2935bc16653b7b9
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 21 15:47:31 2025 -0400

22m to turn off bold, not 21m

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/html_to_ascii.c |  3 +-
 libcitadel/lib/mime_parser.c   |  3 +-
 webcit-ng/static/js/editor.js  | 90 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 94 insertions(+), 2 deletions(-)
 create mode 100644 webcit-ng/static/js/editor.js

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528111</link><pubDate>Mon, 21 Jul 2025 14:54:28 +0500</pubDate><title>When converting &lt;blockquote&gt; to text, use colors instead of italics to identify the quote nesting level.</title><guid isPermaLink="false">2099528111@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6fb5ee42a095a7e16fa62ae80b312db701e0040f (commit)
      from  a2fe25537376d271d4b25cc6386352451b76f921 (commit)


- Log -----------------------------------------------------------------
commit 6fb5ee42a095a7e16fa62ae80b312db701e0040f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 21 14:53:48 2025 -0400

When converting <blockquote> to text, use colors instead of italics to identify the quote nesting level.

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                     |   3 +
 citadel/docs/views.md          |  22 +++--
 libcitadel/lib/hash.c          | 181 ++++++++++++++++++++---------------------
 libcitadel/lib/html_to_ascii.c |  23 ++++--
 4 files changed, 120 insertions(+), 109 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099528019</link><pubDate>Sun, 20 Jul 2025 16:14:30 +0500</pubDate><title>Re: Questions about sendcommand</title><guid isPermaLink="false">2099528019@Uncensored</guid><description><![CDATA[Welcome back.  The text client will always be well supported, and sendcommand
seems a necessity, at least with the current system. 
  
 If you want to try anything fancy, you might be interested in playing around
with ctdlsh.  It's been in an "experimental" status pretty much forever, but
if you take a look around that bit of code, it should be obvious that its
intended purpose is to provide an administration shell for the Citadel system
that doesn't require either logging in with a web browser *or* logging in
to something that looks like an old-school BBS. 
  
 It's far from finished but it has enough in there that you can see its intent.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527860</link><pubDate>Fri, 18 Jul 2025 11:16:27 +0500</pubDate><title>Questions about sendcommand</title><guid isPermaLink="false">2099527860@Uncensored</guid><description><![CDATA[<html><body>

<p>I bet you thought I dropped off the face of Citadel :-)  Actually, the server has been running well and stable.</p>
<p>I am working on some new tests and I was looking at running some batch commands on the test server and was looking at the text client (citadel) and sendcommand.  Are we still supporting both of them?</p>
<p>If so, I noticed some bad memory handling in sendcommand when sending a command to the server, but because the server command processing is lenient, it works (e.g. "sendcommand infoxxxxx" actually works and even just using "info", extra characters are sent).</p>
<p>Should I clean it up?  Also, I would like to propose a new option that reads commands from stdin so it can batch.  Thoughts?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527806</link><pubDate>Thu, 17 Jul 2025 18:06:01 +0500</pubDate><title>Tuned up the css style on wiki, both view and edit</title><guid isPermaLink="false">2099527806@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a2fe25537376d271d4b25cc6386352451b76f921 (commit)
      from  95d00faf225680167a1f4584eadd453c4b9edd80 (commit)


- Log -----------------------------------------------------------------
commit a2fe25537376d271d4b25cc6386352451b76f921
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 17 18:05:59 2025 -0400

Tuned up the css style on wiki, both view and edit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527805</link><pubDate>Thu, 17 Jul 2025 18:02:00 +0500</pubDate><title>Changed the &#39;GhostWhite&#39; color to &#39;WhiteSmoke&#39; in our color scheme (which I am now calling the &#39;Slate color scheme&#39;) to provide a little more contrast.</title><guid isPermaLink="false">2099527805@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  95d00faf225680167a1f4584eadd453c4b9edd80 (commit)
      from  bb6e136593362da92c429e3a5b8a9e4f6e591d68 (commit)


- Log -----------------------------------------------------------------
commit 95d00faf225680167a1f4584eadd453c4b9edd80
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 17 18:01:58 2025 -0400

Changed the 'GhostWhite' color to 'WhiteSmoke' in our color scheme (which I am now calling the 'Slate color scheme') to provide a little more contrast.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527795</link><pubDate>Thu, 17 Jul 2025 16:04:10 +0500</pubDate><title>make the edit bar a little darker</title><guid isPermaLink="false">2099527795@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  bb6e136593362da92c429e3a5b8a9e4f6e591d68 (commit)
      from  fe2523ee838867bcf33560423cd763d409588f8e (commit)


- Log -----------------------------------------------------------------
commit bb6e136593362da92c429e3a5b8a9e4f6e591d68
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 17 16:04:07 2025 -0400

make the edit bar a little darker

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527789</link><pubDate>Thu, 17 Jul 2025 15:13:05 +0500</pubDate><title>If we can&#39;t DRY the entire editor, at least DRY some editing components</title><guid isPermaLink="false">2099527789@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fe2523ee838867bcf33560423cd763d409588f8e (commit)
      from  9f6f8ed6232bc2f1ad20163705a7b415687e81ca (commit)


- Log -----------------------------------------------------------------
commit fe2523ee838867bcf33560423cd763d409588f8e
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 17 15:13:02 2025 -0400

If we can't DRY the entire editor, at least DRY some editing components

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 52 +++++++++++++++++++++------------------
 webcit-ng/static/js/view_wiki.js  | 14 ++++++++---
 2 files changed, 38 insertions(+), 28 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527571</link><pubDate>Tue, 15 Jul 2025 16:32:25 +0500</pubDate><title>Room list can now show the correct icon for Forums, Wikis, Blogs as appropriate.</title><guid isPermaLink="false">2099527571@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9f6f8ed6232bc2f1ad20163705a7b415687e81ca (commit)
      from  014363270e7dbd21a798e558c6f5ef21fa73d305 (commit)


- Log -----------------------------------------------------------------
commit 9f6f8ed6232bc2f1ad20163705a7b415687e81ca
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 15 16:32:22 2025 -0400

Room list can now show the correct icon for Forums, Wikis, Blogs as appropriate.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages.c     |  4 ----
 webcit-ng/static/js/roomlist.js | 14 +++++++++++++-
 2 files changed, 13 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527568</link><pubDate>Tue, 15 Jul 2025 15:57:40 +0500</pubDate><title>Saving a wiki page now works</title><guid isPermaLink="false">2099527568@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  014363270e7dbd21a798e558c6f5ef21fa73d305 (commit)
      from  f3061bab2e8a05e289f645fbad1bec228369b4c2 (commit)


- Log -----------------------------------------------------------------
commit 014363270e7dbd21a798e558c6f5ef21fa73d305
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 15 15:57:38 2025 -0400

Saving a wiki page now works

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527564</link><pubDate>Tue, 15 Jul 2025 15:39:28 +0500</pubDate><title>webcit-ng: conversion of strerror to %m</title><guid isPermaLink="false">2099527564@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f3061bab2e8a05e289f645fbad1bec228369b4c2 (commit)
      from  5209b6f75c31abcf3fec3d038642cd17e7406689 (commit)


- Log -----------------------------------------------------------------
commit f3061bab2e8a05e289f645fbad1bec228369b4c2
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 15 15:39:24 2025 -0400

webcit-ng: conversion of strerror to %m

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/html2html.c | 4 ++--
 webcit-ng/server/static.c    | 4 ++--
 webcit-ng/server/tls.c       | 4 ++--
 webcit-ng/server/webserver.c | 6 +++---
 4 files changed, 9 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527560</link><pubDate>Tue, 15 Jul 2025 15:30:54 +0500</pubDate><title>It is regrettable that %m is a glibc extension but I seem to have no choice.</title><guid isPermaLink="false">2099527560@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5209b6f75c31abcf3fec3d038642cd17e7406689 (commit)
      from  7ebe1b78441fb7e3c2a612545f9cbc05c30f9854 (commit)


- Log -----------------------------------------------------------------
commit 5209b6f75c31abcf3fec3d038642cd17e7406689
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 15 15:30:51 2025 -0400

It is regrettable that %m is a glibc extension but I seem to have no choice.

-----------------------------------------------------------------------

Summary of changes:
 ctdlsalearn/src/main.c    | 4 ++--
 ctdlsalearn/src/sockets.c | 6 +++---
 ctdlsh/sockets.c          | 8 ++++----
 3 files changed, 9 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527463</link><pubDate>Mon, 14 Jul 2025 23:02:44 +0500</pubDate><title>Removed calls to the expression strerror(errno) and used the printf macro %m when possible. The former expression makes multithreaded code crash when running under podman because Red Hat is more interested in social justice than in actually producing code that works.</title><guid isPermaLink="false">2099527463@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7ebe1b78441fb7e3c2a612545f9cbc05c30f9854 (commit)
      from  3d8bdfbe96f773daf43b9541bd0d1bafaf8b06ea (commit)


- Log -----------------------------------------------------------------
commit 7ebe1b78441fb7e3c2a612545f9cbc05c30f9854
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 14 23:02:41 2025 -0400

Removed calls to the expression strerror(errno) and used the printf macro %m when possible.  The former expression makes multithreaded code crash when running under podman because Red Hat is more interested in social justice than in actually
producing code that works.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/crypto/serv_crypto.c  |  4 +--
 citadel/server/modules/ctdlproto/serv_file.c | 18 ++++++------
 citadel/server/modules/expire/serv_expire.c  |  2 +-
 citadel/server/msgbase.c                     |  2 +-
 citadel/utils/chkpw.c                        | 18 ++++++------
 citadel/utils/citmail.c                      |  6 ++--
 citadel/utils/ctdlload.c                     |  8 +++---
 citadel/utils/loadtest.c                     |  2 +-
 citadel/utils/sendcommand.c                  |  6 ++--
 citadel/utils/setup.c                        |  8 ++----
 libcitadel/lib/libcitadel.h                  |  2 +-
 webcit-ng/server/ctdlclient.c                |  4 +--
 webcit/crypto.c                              |  4 +--
 webcit/gettext.c                             |  2 +-
 webcit/html2html.c                           |  9 ++----
 webcit/msg_renderers.c                       |  4 +--
 webcit/sockets.c                             | 41 +++++++++++++---------------
 webcit/static.c                              | 14 +++++-----
 webcit/subst.c                               |  9 ++----
 webcit/sysdep.c                              | 18 ++++++------
 webcit/webserver.c                           |  6 ++--
 21 files changed, 85 insertions(+), 102 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527456</link><pubDate>Mon, 14 Jul 2025 22:28:30 +0500</pubDate><title>I wonder if we can use %m safely here?</title><guid isPermaLink="false">2099527456@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3d8bdfbe96f773daf43b9541bd0d1bafaf8b06ea (commit)
      from  ce63063acc0b00abcea9dd192cc26c709cfda8c9 (commit)


- Log -----------------------------------------------------------------
commit 3d8bdfbe96f773daf43b9541bd0d1bafaf8b06ea
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 14 22:28:28 2025 -0400

I wonder if we can use %m safely here?

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_dirs.c                | 9 +++------
 citadel/server/locate_host.c                 | 2 +-
 citadel/server/modules/ctdlproto/serv_file.c | 4 ++--
 3 files changed, 6 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527444</link><pubDate>Mon, 14 Jul 2025 20:17:05 +0500</pubDate><title>Message #2099527444</title><guid isPermaLink="false">2099527444@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1020 has been created
        at  14e7b3b69b63579e581bf144a83e01b313e5b9e0 (tag)
   tagging  ce63063acc0b00abcea9dd192cc26c709cfda8c9 (commit)
  replaces  v1019
 tagged by  Art Cancro
        on  Mon Jul 14 20:17:03 2025 -0400

- Log -----------------------------------------------------------------
Version 1020 release

Art Cancro (2):
      cmd_oimg: removed calls to strerror(errno) to see if they fix this in podman
      Release version 1020 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527443</link><pubDate>Mon, 14 Jul 2025 20:17:04 +0500</pubDate><title>Release version 1020 generated by do-release.sh</title><guid isPermaLink="false">2099527443@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ce63063acc0b00abcea9dd192cc26c709cfda8c9 (commit)
      from  85fce309c62219ddbb339cdc3a60fc235db961ac (commit)


- Log -----------------------------------------------------------------
commit ce63063acc0b00abcea9dd192cc26c709cfda8c9
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 14 20:17:03 2025 -0400

Release version 1020 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/sysdep.h     | 2 +-
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527442</link><pubDate>Mon, 14 Jul 2025 20:16:57 +0500</pubDate><title>cmd_oimg: removed calls to strerror(errno) to see if they fix this in podman</title><guid isPermaLink="false">2099527442@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  85fce309c62219ddbb339cdc3a60fc235db961ac (commit)
      from  446d435a1cc0f24cd37dafba6aba2b831f0f8aef (commit)


- Log -----------------------------------------------------------------
commit 85fce309c62219ddbb339cdc3a60fc235db961ac
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 14 20:16:55 2025 -0400

cmd_oimg: removed calls to strerror(errno) to see if they fix this in podman

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/ctdlproto/serv_file.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527433</link><pubDate>Mon, 14 Jul 2025 19:35:40 +0500</pubDate><title>Message #2099527433</title><guid isPermaLink="false">2099527433@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1019 has been created
        at  a96c27b80ea0487c4ad5209afd813e7c31346ab7 (tag)
   tagging  446d435a1cc0f24cd37dafba6aba2b831f0f8aef (commit)
  replaces  v1018
 tagged by  Art Cancro
        on  Mon Jul 14 19:35:38 2025 -0400

- Log -----------------------------------------------------------------
Version 1019 release

Art Cancro (2):
      more traces
      Release version 1019 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099527432</link><pubDate>Mon, 14 Jul 2025 19:35:40 +0500</pubDate><title>Release version 1019 generated by do-release.sh</title><guid isPermaLink="false">2099527432@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  446d435a1cc0f24cd37dafba6aba2b831f0f8aef (commit)
       via  e4be6f0bc93dd074c673a36aa186a9c09795fd24 (commit)
      from  b50b27c411016bd2febe595380b8ff7dff5907b8 (commit)


- Log -----------------------------------------------------------------
commit 446d435a1cc0f24cd37dafba6aba2b831f0f8aef
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 14 19:35:38 2025 -0400

Release version 1019 generated by do-release.sh

commit e4be6f0bc93dd074c673a36aa186a9c09795fd24
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 14 19:35:29 2025 -0400

more traces

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/ctdlproto/serv_file.c | 10 ++++++++++
 citadel/server/sysdep.h                      |  2 +-
 libcitadel/lib/libcitadel.h                  |  2 +-
 release_version.txt                          |  2 +-
 textclient/textclient.h                      |  2 +-
 webcit/webcit.h                              |  2 +-
 6 files changed, 15 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099526714</link><pubDate>Wed, 09 Jul 2025 10:28:29 +0500</pubDate><title>Message #2099526714</title><guid isPermaLink="false">2099526714@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1016 has been created
        at  a6e60b23c7a9428701b43963593747a835d31947 (tag)
   tagging  8abbf5e3d40eea7471f0c927c547080b5285f69b (commit)
  replaces  v1015
 tagged by  Art Cancro
        on  Wed Jul 9 10:28:28 2025 -0400

- Log -----------------------------------------------------------------
Version 1016 release

Art Cancro (1):
      Release version 1016 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099526713</link><pubDate>Wed, 09 Jul 2025 10:28:29 +0500</pubDate><title>Release version 1016 generated by do-release.sh</title><guid isPermaLink="false">2099526713@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8abbf5e3d40eea7471f0c927c547080b5285f69b (commit)
      from  b8a713ac91c04f2c19b38e40b4c52a90d71e13f8 (commit)


- Log -----------------------------------------------------------------
commit 8abbf5e3d40eea7471f0c927c547080b5285f69b
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 9 10:28:28 2025 -0400

Release version 1016 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 do-release.sh               | 2 +-
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099526705</link><pubDate>Wed, 09 Jul 2025 10:26:26 +0500</pubDate><title>Message #2099526705</title><guid isPermaLink="false">2099526705@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1015 has been created
        at  9bef84aaac9e661dcbff6db7466691144dbf39c5 (tag)
   tagging  b8a713ac91c04f2c19b38e40b4c52a90d71e13f8 (commit)
  replaces  v1014
 tagged by  Art Cancro
        on  Wed Jul 9 10:26:25 2025 -0400

- Log -----------------------------------------------------------------
Version 1015 release

Art Cancro (3):
      Generalized the CSS for mail editor screen and made it subclassable to mail editor and wiki editor.
      Removed the attempt at sending offsets to addr2line because it is getting them wrong.
      Release version 1015 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099526704</link><pubDate>Wed, 09 Jul 2025 10:26:26 +0500</pubDate><title>Release version 1015 generated by do-release.sh</title><guid isPermaLink="false">2099526704@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b8a713ac91c04f2c19b38e40b4c52a90d71e13f8 (commit)
      from  47da6c3b2c3334165ae6582557b46f334f71d6d0 (commit)


- Log -----------------------------------------------------------------
commit b8a713ac91c04f2c19b38e40b4c52a90d71e13f8
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 9 10:26:25 2025 -0400

Release version 1015 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099526611</link><pubDate>Tue, 08 Jul 2025 10:07:23 +0500</pubDate><title>Removed the attempt at sending offsets to addr2line because it is getting them wrong.</title><guid isPermaLink="false">2099526611@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  47da6c3b2c3334165ae6582557b46f334f71d6d0 (commit)
      from  91d55b6eca9e79cd3c6c518d961eb0faaac0e415 (commit)


- Log -----------------------------------------------------------------
commit 47da6c3b2c3334165ae6582557b46f334f71d6d0
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 8 10:07:20 2025 -0400

Removed the attempt at sending offsets to addr2line because it is getting them wrong.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/server_main.c     |  6 ------
 citadel/server/session.c         | 37 ++++---------------------------------
 citadel/server/sysdep_decls.h    |  1 -
 webcit-ng/static/js/view_wiki.js | 35 ++++++++++++++++++++++++++++++++---
 4 files changed, 36 insertions(+), 43 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099526177</link><pubDate>Thu, 03 Jul 2025 22:33:12 +0500</pubDate><title>Generalized the CSS for mail editor screen and made it subclassable to mail editor and wiki editor.</title><guid isPermaLink="false">2099526177@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  91d55b6eca9e79cd3c6c518d961eb0faaac0e415 (commit)
      from  3ebe7f95aabd7348d2a38079da96214a3d040b5c (commit)


- Log -----------------------------------------------------------------
commit 91d55b6eca9e79cd3c6c518d961eb0faaac0e415
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 3 22:33:10 2025 -0400

Generalized the CSS for mail editor screen and made it subclassable to mail editor and wiki editor.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 37 +++++++++++++++++++++++++++++++------
 webcit-ng/static/js/view_mail.js |  5 +++--
 webcit-ng/static/js/view_wiki.js | 23 ++++++++++++++++++++++-
 3 files changed, 56 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099526161</link><pubDate>Thu, 03 Jul 2025 19:52:13 +0500</pubDate><title>Message #2099526161</title><guid isPermaLink="false">2099526161@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1014 has been created
        at  0b2121e33703919daf8f03094d9ea77d274bee9e (tag)
   tagging  3ebe7f95aabd7348d2a38079da96214a3d040b5c (commit)
  replaces  v1013
 tagged by  Art Cancro
        on  Thu Jul 3 19:52:12 2025 -0400

- Log -----------------------------------------------------------------
Version 1014 release

Art Cancro (32):
      serv_wiki.c: encode the null terminator as part of the synthetic filename.
      This commit merges libxdiff from libgit2 into Citadel.
      Completed the generation of wiki page history using libxdiff.
      Fix bug which would refuse to save a brand new wiki page
      Wiki history, show rev, and revert to rev are working again.
      cosmetic changes
      serv_wiki.c: separated current, history, and synthetic msg and msgnum into different variables.
      serv_wiki.c: fetch/revert history now sends a CtdlMessage to the callback; tempfile is created/destroyed inside the callback.  This puts us into position for changing the callback to patch using libxdiff instead of a temporary file and the
patch command.  Almost there!
      Write to the patch pipe using a single call to fwrite().
      xdifftest: added in-tree
      xdifftest: modified to test xdl_patch, only to find out that this version of libxdiff doesn't have it anymore!
      Switched to the original libxdiff-0.23 because libgit2/libxdiff doesn't have a patch function.
      xdifftest: added patch code and comparison test
      This is it!  Diff and patch are now completely handled in-program using libxdiff.
      webcit-classic: disable the nonworking 'publish to blog' button
      Reused the forum list page as a wiki list page (for now?)
      webcit-ng server: allow message fetch by EUID in Wiki rooms
      serv_wiki.c: new subcommand 'showrev' to simply output a specific version of a specific page, instead of having to temporarily stuff it into an ephemeral message in an ephemeral room.
      webcit-ng: renamed Makefile to GNUmakefile to reflect the fact that we do require gmake.  We're heavily using gmake features such as wildcards and pattern substitutions.  We still believe that the operating system is called Linux, not
GNU/Linux, and we still believe that Richard Stallman is a far-left communist asshole.  However, we like gmake and gcc.
      view_wiki.js: basic wiki page display and navigation is working.
      webcit-ng: handle wiki links more robustly
      Adding user1/user2/user3 buttons to the banner with the intent of them being assignable
      New pattern: top nav buttons now begin life as dumb, poorly labeled, and ASSIGNABLE.
      Migrated the Enter and Delete buttons to assignable.  No more dispatchers.
      Loving these assignable buttons
      Shure is a manufacturer of microphones and other audio equipment.  It is also a misspelling of 'sure'.  Fixed.
      stub function for message history
      Display wiki page name next to room name in banner
      Added web api command to fetch a wiki page historu
      spooky scary skeletons for wiki history and edit screens
      citserver: added undocumented -b switch to aid in backtrace
      Release version 1014 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099526160</link><pubDate>Thu, 03 Jul 2025 19:52:12 +0500</pubDate><title>Release version 1014 generated by do-release.sh</title><guid isPermaLink="false">2099526160@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3ebe7f95aabd7348d2a38079da96214a3d040b5c (commit)
      from  d366e8c7464053e2460daddf7d1a00fe104674ea (commit)


- Log -----------------------------------------------------------------
commit 3ebe7f95aabd7348d2a38079da96214a3d040b5c
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 3 19:52:12 2025 -0400

Release version 1014 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099526159</link><pubDate>Thu, 03 Jul 2025 19:52:01 +0500</pubDate><title>citserver: added undocumented -b switch to aid in backtrace</title><guid isPermaLink="false">2099526159@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d366e8c7464053e2460daddf7d1a00fe104674ea (commit)
      from  701952c8d97a512edb1f665fec7cf35667619cee (commit)


- Log -----------------------------------------------------------------
commit d366e8c7464053e2460daddf7d1a00fe104674ea
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 3 19:51:59 2025 -0400

citserver: added undocumented -b switch to aid in backtrace

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/rssclient/serv_rssclient.c |  1 +
 citadel/server/server_main.c                      |  8 ++++++-
 citadel/server/session.c                          | 26 ++++++++++++++++++++++-
 citadel/server/sysdep_decls.h                     |  1 +
 4 files changed, 34 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099525801</link><pubDate>Mon, 30 Jun 2025 19:07:57 +0500</pubDate><title>spooky scary skeletons for wiki history and edit screens</title><guid isPermaLink="false">2099525801@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  701952c8d97a512edb1f665fec7cf35667619cee (commit)
      from  ddc3e292f99b83048ca95785d7f0950cd4c3d651 (commit)


- Log -----------------------------------------------------------------
commit 701952c8d97a512edb1f665fec7cf35667619cee
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 30 19:07:53 2025 -0400

spooky scary skeletons for wiki history and edit screens

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_wiki.js | 38 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099525329</link><pubDate>Wed, 25 Jun 2025 23:25:16 +0500</pubDate><title>Added web api command to fetch a wiki page historu</title><guid isPermaLink="false">2099525329@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ddc3e292f99b83048ca95785d7f0950cd4c3d651 (commit)
      from  1a7b65d77b4e1448326348e386a86296b4e39d53 (commit)


- Log -----------------------------------------------------------------
commit ddc3e292f99b83048ca95785d7f0950cd4c3d651
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 25 23:25:13 2025 -0400

Added web api command to fetch a wiki page historu

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt        |  2 ++
 webcit-ng/server/forum_view.c |  6 +++---
 webcit-ng/server/wiki_view.c  | 40 +++++++++++++++++++++++++++++++++++++++-
 3 files changed, 44 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099525326</link><pubDate>Wed, 25 Jun 2025 23:03:25 +0500</pubDate><title>Display wiki page name next to room name in banner</title><guid isPermaLink="false">2099525326@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1a7b65d77b4e1448326348e386a86296b4e39d53 (commit)
      from  c8b401ae592578149a2bc98a17539d8a863c789b (commit)


- Log -----------------------------------------------------------------
commit 1a7b65d77b4e1448326348e386a86296b4e39d53
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 25 23:03:23 2025 -0400

Display wiki page name next to room name in banner

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/main.js      | 2 +-
 webcit-ng/static/js/view_wiki.js | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099525223</link><pubDate>Tue, 24 Jun 2025 23:55:48 +0500</pubDate><title>stub function for message history</title><guid isPermaLink="false">2099525223@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c8b401ae592578149a2bc98a17539d8a863c789b (commit)
      from  b94947ddbb8ea54c3cd436a7792c2409c348c2d7 (commit)


- Log -----------------------------------------------------------------
commit c8b401ae592578149a2bc98a17539d8a863c789b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 24 23:55:46 2025 -0400

stub function for message history

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 8 ++++++--
 webcit-ng/server/webcit.h         | 3 +++
 webcit-ng/server/wiki_view.c      | 8 ++++++++
 3 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 webcit-ng/server/wiki_view.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099524603</link><pubDate>Thu, 19 Jun 2025 20:06:41 +0500</pubDate><title>Shure is a manufacturer of microphones and other audio equipment. It is also a misspelling of &#39;sure&#39;. Fixed.</title><guid isPermaLink="false">2099524603@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b94947ddbb8ea54c3cd436a7792c2409c348c2d7 (commit)
      from  8233ad637ed50339c975199b97666d57db1fb55d (commit)


- Log -----------------------------------------------------------------
commit b94947ddbb8ea54c3cd436a7792c2409c348c2d7
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 19 20:06:38 2025 -0400

Shure is a manufacturer of microphones and other audio equipment.  It is also a misspelling of 'sure'.  Fixed.

-----------------------------------------------------------------------

Summary of changes:
 webcit/po/webcit/ar.po                             | 4 ++--
 webcit/po/webcit/bg.po                             | 2 +-
 webcit/po/webcit/cs.po                             | 4 ++--
 webcit/po/webcit/da.po                             | 4 ++--
 webcit/po/webcit/de.po                             | 4 ++--
 webcit/po/webcit/el.po                             | 2 +-
 webcit/po/webcit/en_GB.po                          | 4 ++--
 webcit/po/webcit/es.po                             | 4 ++--
 webcit/po/webcit/et.po                             | 4 ++--
 webcit/po/webcit/fi.po                             | 2 +-
 webcit/po/webcit/fr.po                             | 4 ++--
 webcit/po/webcit/he.po                             | 4 ++--
 webcit/po/webcit/hu.po                             | 4 ++--
 webcit/po/webcit/it.po                             | 4 ++--
 webcit/po/webcit/kk.po                             | 2 +-
 webcit/po/webcit/ko.po                             | 2 +-
 webcit/po/webcit/nl.po                             | 4 ++--
 webcit/po/webcit/pl.po                             | 4 ++--
 webcit/po/webcit/pt_BR.po                          | 4 ++--
 webcit/po/webcit/ro.po                             | 4 ++--
 webcit/po/webcit/ru.po                             | 4 ++--
 webcit/po/webcit/sl.po                             | 2 +-
 webcit/po/webcit/sv.po                             | 2 +-
 webcit/po/webcit/tr.po                             | 2 +-
 webcit/po/webcit/webcit.pot                        | 2 +-
 webcit/po/webcit/zh.po                             | 4 ++--
 webcit/preferences.c                               | 2 +-
 webcit/roomlist.c                                  | 2 +-
 webcit/roomtokens.c                                | 2 +-
 webcit/roomviews.c                                 | 2 +-
 webcit/static/t/edit/message/attachments_pane.html | 2 +-
 webcit/subst.h                                     | 2 +-
 32 files changed, 49 insertions(+), 49 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099524369</link><pubDate>Tue, 17 Jun 2025 14:10:21 +0500</pubDate><title>Loving these assignable buttons</title><guid isPermaLink="false">2099524369@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8233ad637ed50339c975199b97666d57db1fb55d (commit)
      from  7f014d9d876f1fc07e7a6e35f38496b2c0baf0e8 (commit)


- Log -----------------------------------------------------------------
commit 8233ad637ed50339c975199b97666d57db1fb55d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 17 14:10:19 2025 -0400

Loving these assignable buttons

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_wiki.js | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099524248</link><pubDate>Mon, 16 Jun 2025 17:30:51 +0500</pubDate><title>Migrated the Enter and Delete buttons to assignable. No more dispatchers.</title><guid isPermaLink="false">2099524248@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7f014d9d876f1fc07e7a6e35f38496b2c0baf0e8 (commit)
      from  1c6d4ba0e9a33164ce54964cf26e80f3999cf705 (commit)


- Log -----------------------------------------------------------------
commit 7f014d9d876f1fc07e7a6e35f38496b2c0baf0e8
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 16 17:30:48 2025 -0400

Migrated the Enter and Delete buttons to assignable.  No more dispatchers.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html      |  2 +-
 webcit-ng/static/js/view_mail.js | 11 +++++------
 webcit-ng/static/js/view_wiki.js | 18 ++++++++----------
 webcit-ng/static/js/views.js     | 14 +-------------
 4 files changed, 15 insertions(+), 30 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099524237</link><pubDate>Mon, 16 Jun 2025 15:01:44 +0500</pubDate><title>New pattern: top nav buttons now begin life as dumb, poorly labeled, and ASSIGNABLE.</title><guid isPermaLink="false">2099524237@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1c6d4ba0e9a33164ce54964cf26e80f3999cf705 (commit)
      from  c9d0a4d624bf0d7ea335da92fd1f44d3d405b1eb (commit)


- Log -----------------------------------------------------------------
commit 1c6d4ba0e9a33164ce54964cf26e80f3999cf705
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 16 15:01:42 2025 -0400

New pattern: top nav buttons now begin life as dumb, poorly labeled, and ASSIGNABLE.

views.js will hide and deactivate all buttons.
Individual modules' renderers will assign labels and actions.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html       |  3 +-
 webcit-ng/static/js/view_forum.js | 23 ++++++++-------
 webcit-ng/static/js/view_mail.js  | 62 ++++++++++++++++++++-------------------
 webcit-ng/static/js/views.js      | 22 +++-----------
 4 files changed, 50 insertions(+), 60 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099524058</link><pubDate>Fri, 13 Jun 2025 21:23:47 +0500</pubDate><title>Adding user1/user2/user3 buttons to the banner with the intent of them being assignable</title><guid isPermaLink="false">2099524058@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c9d0a4d624bf0d7ea335da92fd1f44d3d405b1eb (commit)
       via  aedc8797e6b060e19d8d4e348aa8919afe2df45e (commit)
      from  18d40d69c1c14ab0a42bd043a5e887e2fd400fe4 (commit)


- Log -----------------------------------------------------------------
commit c9d0a4d624bf0d7ea335da92fd1f44d3d405b1eb
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jun 13 21:23:42 2025 -0400

Adding user1/user2/user3 buttons to the banner with the intent of them being assignable

commit aedc8797e6b060e19d8d4e348aa8919afe2df45e
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jun 13 20:12:23 2025 -0400

webcit-ng: handle wiki links more robustly

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c    |  1 +
 webcit-ng/static/index.html          |  5 ++++-
 webcit-ng/static/js/calendar_edit.js | 10 ++-------
 webcit-ng/static/js/main.js          | 19 +++++++++++++++-
 webcit-ng/static/js/view_calendar.js |  4 ++--
 webcit-ng/static/js/view_wiki.js     | 43 ++++++++++++++++++++++++------------
 webcit-ng/static/js/views.js         | 14 ++++++++++--
 webcit/po/webcit/ar.po               |  2 +-
 webcit/po/webcit/bg.po               |  2 +-
 webcit/po/webcit/cs.po               |  2 +-
 webcit/po/webcit/da.po               |  2 +-
 webcit/po/webcit/de.po               |  2 +-
 webcit/po/webcit/el.po               |  2 +-
 webcit/po/webcit/en_GB.po            |  2 +-
 webcit/po/webcit/es.po               |  2 +-
 webcit/po/webcit/et.po               |  2 +-
 webcit/po/webcit/fi.po               |  2 +-
 webcit/po/webcit/fr.po               |  2 +-
 webcit/po/webcit/he.po               |  2 +-
 webcit/po/webcit/hu.po               |  2 +-
 webcit/po/webcit/it.po               |  2 +-
 webcit/po/webcit/kk.po               |  2 +-
 webcit/po/webcit/ko.po               |  2 +-
 webcit/po/webcit/nl.po               |  2 +-
 webcit/po/webcit/pl.po               |  2 +-
 webcit/po/webcit/pt_BR.po            |  2 +-
 webcit/po/webcit/ro.po               |  2 +-
 webcit/po/webcit/ru.po               |  2 +-
 webcit/po/webcit/sl.po               |  2 +-
 webcit/po/webcit/sv.po               |  2 +-
 webcit/po/webcit/tr.po               |  2 +-
 webcit/po/webcit/webcit.pot          |  2 +-
 webcit/po/webcit/zh.po               |  2 +-
 33 files changed, 94 insertions(+), 54 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099523746</link><pubDate>Tue, 10 Jun 2025 23:14:42 +0500</pubDate><title>view_wiki.js: basic wiki page display and navigation is working.</title><guid isPermaLink="false">2099523746@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  18d40d69c1c14ab0a42bd043a5e887e2fd400fe4 (commit)
      from  917f9e61a555e2e2911fa0cad048022e898fb185 (commit)


- Log -----------------------------------------------------------------
commit 18d40d69c1c14ab0a42bd043a5e887e2fd400fe4
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 10 23:14:40 2025 -0400

view_wiki.js: basic wiki page display and navigation is working.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  4 ++++
 webcit-ng/static/js/view_wiki.js | 40 +++++++++++++++++++++++++++++++++++++++-
 2 files changed, 43 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099523606</link><pubDate>Mon, 09 Jun 2025 15:05:36 +0500</pubDate><title>webcit-ng: renamed Makefile to GNUmakefile to reflect the fact that we do require gmake. We&#39;re heavily using gmake features such as wildcards and pattern substitutions. We still believe that the operating system is called Linux, not GNU/Linux, and we still believe that Richard Stallman is a far-left communist asshole. However, we like gmake and gcc.</title><guid isPermaLink="false">2099523606@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  917f9e61a555e2e2911fa0cad048022e898fb185 (commit)
      from  e4bf628e3c9c48cc898ced313c585ff11f78de53 (commit)


- Log -----------------------------------------------------------------
commit 917f9e61a555e2e2911fa0cad048022e898fb185
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 9 15:05:33 2025 -0400

webcit-ng: renamed Makefile to GNUmakefile to reflect the fact that we do require gmake.  We're heavily using gmake features such as wildcards and pattern substitutions.  We still believe that the operating system is called Linux, not GNU/Linux, and
we still believe that Richard Stallman is a far-left communist asshole.  However, we like gmake and gcc.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/{Makefile => GNUmakefile} | 2 +-
 webcit-ng/README.md                 | 5 +++++
 webcit-ng/static/index.html         | 5 ++---
 3 files changed, 8 insertions(+), 4 deletions(-)
 rename webcit-ng/{Makefile => GNUmakefile} (83%)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099523244</link><pubDate>Thu, 05 Jun 2025 11:44:08 +0500</pubDate><title>serv_wiki.c: new subcommand &#39;showrev&#39; to simply output a specific version of a specific page, instead of having to temporarily stuff it into an ephemeral message in an ephemeral room.</title><guid isPermaLink="false">2099523244@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e4bf628e3c9c48cc898ced313c585ff11f78de53 (commit)
      from  e5f86076bfb0d0f2a9b7c80c5861e98c066e565c (commit)


- Log -----------------------------------------------------------------
commit e4bf628e3c9c48cc898ced313c585ff11f78de53
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 5 11:44:00 2025 -0400

serv_wiki.c: new subcommand 'showrev' to simply output a specific version of a specific page, instead of having to temporarily stuff it into an ephemeral message in an ephemeral room.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 43 +++++++++++++++++----------------
 citadel/server/msgbase.c                |  4 +--
 webcit-ng/static/js/view_wiki.js        |  7 +++++-
 3 files changed, 30 insertions(+), 24 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522841</link><pubDate>Mon, 02 Jun 2025 17:04:56 +0500</pubDate><title>webcit-ng server: allow message fetch by EUID in Wiki rooms</title><guid isPermaLink="false">2099522841@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e5f86076bfb0d0f2a9b7c80c5861e98c066e565c (commit)
      from  fd9d0aef698b0a8ca6d3f07ac5d74af51791bde1 (commit)


- Log -----------------------------------------------------------------
commit e5f86076bfb0d0f2a9b7c80c5861e98c066e565c
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 2 17:04:54 2025 -0400

webcit-ng server: allow message fetch by EUID in Wiki rooms

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 1 +
 webcit-ng/static/index.html       | 5 +++--
 webcit-ng/static/js/view_wiki.js  | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522723</link><pubDate>Sun, 01 Jun 2025 20:05:24 +0500</pubDate><title>Reused the forum list page as a wiki list page (for now?)</title><guid isPermaLink="false">2099522723@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fd9d0aef698b0a8ca6d3f07ac5d74af51791bde1 (commit)
      from  67d0aa0ceac68fad67cd3b65c26f1af94b57740d (commit)


- Log -----------------------------------------------------------------
commit fd9d0aef698b0a8ca6d3f07ac5d74af51791bde1
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 1 20:05:22 2025 -0400

Reused the forum list page as a wiki list page (for now?)

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html                            | 4 ++--
 webcit-ng/static/js/roomlist.js                        | 8 ++++----
 webcit-ng/static/js/{view_contacts.js => view_wiki.js} | 6 +++---
 webcit-ng/static/js/views.js                           | 3 +--
 4 files changed, 10 insertions(+), 11 deletions(-)
 copy webcit-ng/static/js/{view_contacts.js => view_wiki.js} (53%)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522644</link><pubDate>Sat, 31 May 2025 17:37:46 +0500</pubDate><title>webcit-classic: disable the nonworking &#39;publish to blog&#39; button</title><guid isPermaLink="false">2099522644@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  67d0aa0ceac68fad67cd3b65c26f1af94b57740d (commit)
      from  df9f8babc4f9b4effbb82646cd02e2b9f5e201cf (commit)


- Log -----------------------------------------------------------------
commit 67d0aa0ceac68fad67cd3b65c26f1af94b57740d
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 31 17:37:43 2025 -0400

webcit-classic: disable the nonworking 'publish to blog' button

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 17 ++++++-----------
 webcit/static/t/navbar.html             |  8 --------
 2 files changed, 6 insertions(+), 19 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522465</link><pubDate>Fri, 30 May 2025 01:11:03 +0500</pubDate><title>finally...!</title><guid isPermaLink="false">2099522465@Uncensored</guid><description><![CDATA[<html><body>

<p>Well that was fun.</p>
<p>I never liked the fact that Citadel's wiki module required shell calls to diff(1) and patch(1) to create and retrieve wiki version history.  About a year ago I noticed that <a href="http://www.xmailserver.org/xdiff-lib.html">libxdiff</a> exists and can do the same thing.  Since I decided that the Wiki module is going to be the next thing I work on in WebCit-NG, it followed that now is the time to make that change.  It took about a week, including a lot of failed experiments with "newer" versions of the library, but in the end I got what I wanted.</p>
<p>I have to admit I'm rather proud of the format we use to store the history.  We keep a named history document, store it in MIME multipart, and each part is a diff containing the changes required to roll a document back to the previous revision.  The "filename" contains metadata for that version.  So to get any version, you start with the current version, then go through each part running the patches until you get to the revision you want, then stop.</p>
<p>And now it's <strong>fast</strong>!  And of course more secure since there's no way someone can sneak in with a shell or filesystem vulnerability.  All that's left to do now is expose it using REST semantics.  I'm thinking about using the version control stuff in DAV from RFC3253 ... but <em>damn</em> I'd have to handle all of that XML crap again.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522456</link><pubDate>Thu, 29 May 2025 22:28:15 +0500</pubDate><title>This is it! Diff and patch are now completely handled in-program using libxdiff.</title><guid isPermaLink="false">2099522456@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  df9f8babc4f9b4effbb82646cd02e2b9f5e201cf (commit)
      from  b82ece654c77b9761163b96527df628df5a12416 (commit)


- Log -----------------------------------------------------------------
commit df9f8babc4f9b4effbb82646cd02e2b9f5e201cf
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 29 22:28:12 2025 -0400

This is it!  Diff and patch are now completely handled in-program using libxdiff.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 76 ++++++++++++++++++---------------
 citadel/tests/xdifftester/xdifftest.c   |  5 ++-
 2 files changed, 45 insertions(+), 36 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522447</link><pubDate>Thu, 29 May 2025 20:06:16 +0500</pubDate><title>xdifftest: added patch code and comparison test</title><guid isPermaLink="false">2099522447@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b82ece654c77b9761163b96527df628df5a12416 (commit)
      from  cb6a7ff44a615fc3b114363ca993278077abe532 (commit)


- Log -----------------------------------------------------------------
commit b82ece654c77b9761163b96527df628df5a12416
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 29 20:06:14 2025 -0400

xdifftest: added patch code and comparison test

-----------------------------------------------------------------------

Summary of changes:
 citadel/tests/xdifftester/xdifftest.c | 42 +++++++++++++++++++++++++++++++----
 1 file changed, 38 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522442</link><pubDate>Thu, 29 May 2025 19:06:41 +0500</pubDate><title>Switched to the original libxdiff-0.23 because libgit2/libxdiff doesn&#39;t have a patch function.</title><guid isPermaLink="false">2099522442@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  cb6a7ff44a615fc3b114363ca993278077abe532 (commit)
      from  5c46ebec391f344e8a16b66e5f987bc5ec350fa2 (commit)


- Log -----------------------------------------------------------------
commit cb6a7ff44a615fc3b114363ca993278077abe532
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 29 19:06:35 2025 -0400

Switched to the original libxdiff-0.23 because libgit2/libxdiff doesn't have a patch function.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c            | 105 +--
 citadel/server/modules/xdiff/COPYING               |  18 -
 citadel/server/modules/xdiff/README.md             |  25 -
 citadel/server/modules/xdiff/README.txt            |   6 +
 citadel/server/modules/xdiff/git-2.48.1.patch      | 240 -------
 citadel/server/modules/xdiff/git-xdiff.h           |  79 ---
 citadel/server/modules/xdiff/xadler32.c            |  70 ++
 .../modules/xdiff/{xprepare.h => xadler32.h}       |  16 +-
 .../server/modules/xdiff/{xprepare.h => xalloc.c}  |  35 +-
 citadel/server/modules/xdiff/xbdiff.c              | 315 +++++++++
 .../server/modules/xdiff/{xprepare.h => xbdiff.h}  |  22 +-
 citadel/server/modules/xdiff/xbpatchi.c            | 336 +++++++++
 citadel/server/modules/xdiff/xdiff.h               | 135 ++--
 citadel/server/modules/xdiff/xdiffi.c              | 786 ++++-----------------
 citadel/server/modules/xdiff/xdiffi.h              |  10 +-
 citadel/server/modules/xdiff/xemit.c               | 232 +-----
 citadel/server/modules/xdiff/xemit.h               |   8 +-
 citadel/server/modules/xdiff/xhistogram.c          | 370 ----------
 citadel/server/modules/xdiff/xinclude.h            |  16 +-
 citadel/server/modules/xdiff/xmacros.h             |  40 +-
 citadel/server/modules/xdiff/xmerge.c              | 739 -------------------
 citadel/server/modules/xdiff/xmerge3.c             |  66 ++
 citadel/server/modules/xdiff/xpatchi.c             | 641 +++++++++++++++++
 citadel/server/modules/xdiff/xpatience.c           | 373 ----------
 citadel/server/modules/xdiff/xprepare.c            | 321 +++++----
 citadel/server/modules/xdiff/xprepare.h            |   5 +-
 citadel/server/modules/xdiff/xrabdiff.c            | 381 ++++++++++
 citadel/server/modules/xdiff/xrabply.c             | 298 ++++++++
 citadel/server/modules/xdiff/xtypes.h              |   5 +-
 citadel/server/modules/xdiff/xutils.c              | 635 ++++++++++-------
 citadel/server/modules/xdiff/xutils.h              |  23 +-
 citadel/server/user_ops.c                          |   2 +-
 citadel/tests/xdifftester/Makefile                 |   2 +-
 citadel/tests/xdifftester/xdifftest.c              | 127 ++--
 34 files changed, 3077 insertions(+), 3405 deletions(-)
 delete mode 100644 citadel/server/modules/xdiff/COPYING
 delete mode 100644 citadel/server/modules/xdiff/README.md
 create mode 100644 citadel/server/modules/xdiff/README.txt
 delete mode 100644 citadel/server/modules/xdiff/git-2.48.1.patch
 delete mode 100644 citadel/server/modules/xdiff/git-xdiff.h
 create mode 100644 citadel/server/modules/xdiff/xadler32.c
 copy citadel/server/modules/xdiff/{xprepare.h => xadler32.h} (69%)
 copy citadel/server/modules/xdiff/{xprepare.h => xalloc.c} (52%)
 create mode 100644 citadel/server/modules/xdiff/xbdiff.c
 copy citadel/server/modules/xdiff/{xprepare.h => xbdiff.h} (62%)
 create mode 100644 citadel/server/modules/xdiff/xbpatchi.c
 delete mode 100644 citadel/server/modules/xdiff/xhistogram.c
 delete mode 100644 citadel/server/modules/xdiff/xmerge.c
 create mode 100644 citadel/server/modules/xdiff/xmerge3.c
 create mode 100644 citadel/server/modules/xdiff/xpatchi.c
 delete mode 100644 citadel/server/modules/xdiff/xpatience.c
 create mode 100644 citadel/server/modules/xdiff/xrabdiff.c
 create mode 100644 citadel/server/modules/xdiff/xrabply.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522271</link><pubDate>Wed, 28 May 2025 17:14:46 +0500</pubDate><title>xdifftest: modified to test xdl_patch, only to find out that this version of libxdiff doesn&#39;t have it anymore!</title><guid isPermaLink="false">2099522271@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5c46ebec391f344e8a16b66e5f987bc5ec350fa2 (commit)
      from  349406f85bbb08d6a57ab192b9d591edf8d0e116 (commit)


- Log -----------------------------------------------------------------
commit 5c46ebec391f344e8a16b66e5f987bc5ec350fa2
Author: Art Cancro <art.cancro@tierpoint.com>
Date:   Wed May 28 17:14:36 2025 -0400

xdifftest: modified to test xdl_patch, only to find out that this version of libxdiff doesn't have it anymore!

-----------------------------------------------------------------------

Summary of changes:
 citadel/tests/xdifftester/xdifftest.c | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522267</link><pubDate>Wed, 28 May 2025 16:57:27 +0500</pubDate><title>xdifftest: added in-tree</title><guid isPermaLink="false">2099522267@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  349406f85bbb08d6a57ab192b9d591edf8d0e116 (commit)
      from  7fa06eac0504e60c56eccf3fd0492f4ba5a35aa5 (commit)


- Log -----------------------------------------------------------------
commit 349406f85bbb08d6a57ab192b9d591edf8d0e116
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 28 16:57:24 2025 -0400

xdifftest: added in-tree

-----------------------------------------------------------------------

Summary of changes:
 citadel/tests/xdifftester/Makefile    |  2 +
 citadel/tests/xdifftester/README.md   | 10 +++++
 citadel/tests/xdifftester/xdifftest.c | 81 +++++++++++++++++++++++++++++++++++
 3 files changed, 93 insertions(+)
 create mode 100644 citadel/tests/xdifftester/Makefile
 create mode 100644 citadel/tests/xdifftester/README.md
 create mode 100644 citadel/tests/xdifftester/xdifftest.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522213</link><pubDate>Wed, 28 May 2025 11:33:23 +0500</pubDate><title>Write to the patch pipe using a single call to fwrite().</title><guid isPermaLink="false">2099522213@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7fa06eac0504e60c56eccf3fd0492f4ba5a35aa5 (commit)
      from  c5f29a2f417d94882547f682e550343fdea57d20 (commit)


- Log -----------------------------------------------------------------
commit 7fa06eac0504e60c56eccf3fd0492f4ba5a35aa5
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 28 11:28:51 2025 -0400

Write to the patch pipe using a single call to fwrite().

I have realized that over the years I've given a strong preference
to handling data line by line when I should just be performing
operations on big buffers.  This is likely a carryover from the old
days when we didn't have enough memory for big buffers.

In this particular case it doesn't matter that much because the code
in question is about to be replaced entirely.  But it's an exercise in
doing things The Right Way (tm).

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 31 +++++++++++--------------------
 1 file changed, 11 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522145</link><pubDate>Tue, 27 May 2025 23:09:03 +0500</pubDate><title>serv_wiki.c: fetch/revert history now sends a CtdlMessage to the callback; tempfile is created/destroyed inside the callback. This puts us into position for changing the callback to patch using libxdiff instead of a temporary file and the patch command. Almost there!</title><guid isPermaLink="false">2099522145@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c5f29a2f417d94882547f682e550343fdea57d20 (commit)
      from  82a3ae5c4487b4d5721a37ea5bc9256bfbc954ae (commit)


- Log -----------------------------------------------------------------
commit c5f29a2f417d94882547f682e550343fdea57d20
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 27 23:09:00 2025 -0400

serv_wiki.c: fetch/revert history now sends a CtdlMessage to the callback; tempfile is created/destroyed inside the callback.  This puts us into position for changing the callback to patch using libxdiff instead of a temporary file and the patch
command.  Almost there!

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 144 +++++++++++++++-----------------
 1 file changed, 68 insertions(+), 76 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522139</link><pubDate>Tue, 27 May 2025 22:10:29 +0500</pubDate><title>serv_wiki.c: separated current, history, and synthetic msg and msgnum into different variables.</title><guid isPermaLink="false">2099522139@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  82a3ae5c4487b4d5721a37ea5bc9256bfbc954ae (commit)
      from  362a239923e19e2ce86c6694b1df37aaee8970d1 (commit)


- Log -----------------------------------------------------------------
commit 82a3ae5c4487b4d5721a37ea5bc9256bfbc954ae
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 27 22:10:27 2025 -0400

serv_wiki.c: separated current, history, and synthetic msg and msgnum into different variables.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 87 +++++++++++++++++----------------
 1 file changed, 44 insertions(+), 43 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099522074</link><pubDate>Tue, 27 May 2025 14:31:47 +0500</pubDate><title>cosmetic changes</title><guid isPermaLink="false">2099522074@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  362a239923e19e2ce86c6694b1df37aaee8970d1 (commit)
      from  1b466559f28fe72508aaef4564e915e9f1b5d519 (commit)


- Log -----------------------------------------------------------------
commit 362a239923e19e2ce86c6694b1df37aaee8970d1
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 27 14:31:45 2025 -0400

cosmetic changes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 25 ++++++++-----------------
 1 file changed, 8 insertions(+), 17 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521954</link><pubDate>Mon, 26 May 2025 21:37:27 +0500</pubDate><title>Wiki history, show rev, and revert to rev are working again.</title><guid isPermaLink="false">2099521954@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1b466559f28fe72508aaef4564e915e9f1b5d519 (commit)
      from  9d5dc000c9826603e2c7589a7658f583ac4c8b6c (commit)


- Log -----------------------------------------------------------------
commit 1b466559f28fe72508aaef4564e915e9f1b5d519
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 26 21:37:25 2025 -0400

Wiki history, show rev, and revert to rev are working again.

No changes were made to the client protocol, so WebCit (classic) still works as-is
without modification.

This version still uses the 'patch' command, but it no longer has to play around
with pseudo-filenames since those are no longer included in the diffs.  The next
version of this will use libxdiff to patch.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521949</link><pubDate>Mon, 26 May 2025 21:02:40 +0500</pubDate><title>Fix bug which would refuse to save a brand new wiki page</title><guid isPermaLink="false">2099521949@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9d5dc000c9826603e2c7589a7658f583ac4c8b6c (commit)
      from  00ea0ec429d1b778a92e43a24b45998dd01a72ad (commit)


- Log -----------------------------------------------------------------
commit 9d5dc000c9826603e2c7589a7658f583ac4c8b6c
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 26 21:02:38 2025 -0400

Fix bug which would refuse to save a brand new wiki page

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521944</link><pubDate>Mon, 26 May 2025 20:44:18 +0500</pubDate><title>Completed the generation of wiki page history using libxdiff.</title><guid isPermaLink="false">2099521944@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  00ea0ec429d1b778a92e43a24b45998dd01a72ad (commit)
       via  9e311435d8641d0d8a5c9439f0f5a988e81e7909 (commit)
      from  3fb3c0883b57250f18a8e03f7a4a518ec1675da0 (commit)


- Log -----------------------------------------------------------------
commit 00ea0ec429d1b778a92e43a24b45998dd01a72ad
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 26 20:44:15 2025 -0400

Completed the generation of wiki page history using libxdiff.

We are using the version of libxdiff from the libgit2 project, which is extremely well
maintained.  Other unfortunate bits of code have been rewritten so that we can deal with
missing or corrupted histories as well.

commit 9e311435d8641d0d8a5c9439f0f5a988e81e7909
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 26 14:39:37 2025 -0400

This commit merges libxdiff from libgit2 into Citadel.

It is included UNMODIFIED so that it can be upgraded later.  This will be used
to replace shell calls to 'diff' and 'patch' in the wiki module.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c       |  161 ++--
 citadel/server/modules/xdiff/COPYING          |   18 +
 citadel/server/modules/xdiff/README.md        |   25 +
 citadel/server/modules/xdiff/git-2.48.1.patch |  240 ++++++
 citadel/server/modules/xdiff/git-xdiff.h      |   79 ++
 citadel/server/modules/xdiff/xdiff.h          |  150 ++++
 citadel/server/modules/xdiff/xdiffi.c         | 1090 +++++++++++++++++++++++++
 citadel/server/modules/xdiff/xdiffi.h         |   62 ++
 citadel/server/modules/xdiff/xemit.c          |  330 ++++++++
 citadel/server/modules/xdiff/xemit.h          |   36 +
 citadel/server/modules/xdiff/xhistogram.c     |  370 +++++++++
 citadel/server/modules/xdiff/xinclude.h       |   39 +
 citadel/server/modules/xdiff/xmacros.h        |   71 ++
 citadel/server/modules/xdiff/xmerge.c         |  739 +++++++++++++++++
 citadel/server/modules/xdiff/xpatience.c      |  373 +++++++++
 citadel/server/modules/xdiff/xprepare.c       |  461 +++++++++++
 citadel/server/modules/xdiff/xprepare.h       |   34 +
 citadel/server/modules/xdiff/xtypes.h         |   67 ++
 citadel/server/modules/xdiff/xutils.c         |  451 ++++++++++
 citadel/server/modules/xdiff/xutils.h         |   48 ++
 20 files changed, 4764 insertions(+), 80 deletions(-)
 create mode 100644 citadel/server/modules/xdiff/COPYING
 create mode 100644 citadel/server/modules/xdiff/README.md
 create mode 100644 citadel/server/modules/xdiff/git-2.48.1.patch
 create mode 100644 citadel/server/modules/xdiff/git-xdiff.h
 create mode 100644 citadel/server/modules/xdiff/xdiff.h
 create mode 100644 citadel/server/modules/xdiff/xdiffi.c
 create mode 100644 citadel/server/modules/xdiff/xdiffi.h
 create mode 100644 citadel/server/modules/xdiff/xemit.c
 create mode 100644 citadel/server/modules/xdiff/xemit.h
 create mode 100644 citadel/server/modules/xdiff/xhistogram.c
 create mode 100644 citadel/server/modules/xdiff/xinclude.h
 create mode 100644 citadel/server/modules/xdiff/xmacros.h
 create mode 100644 citadel/server/modules/xdiff/xmerge.c
 create mode 100644 citadel/server/modules/xdiff/xpatience.c
 create mode 100644 citadel/server/modules/xdiff/xprepare.c
 create mode 100644 citadel/server/modules/xdiff/xprepare.h
 create mode 100644 citadel/server/modules/xdiff/xtypes.h
 create mode 100644 citadel/server/modules/xdiff/xutils.c
 create mode 100644 citadel/server/modules/xdiff/xutils.h

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521755</link><pubDate>Sat, 24 May 2025 20:37:45 +0500</pubDate><title>serv_wiki.c: encode the null terminator as part of the synthetic filename.</title><guid isPermaLink="false">2099521755@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3fb3c0883b57250f18a8e03f7a4a518ec1675da0 (commit)
      from  7cdf94aed5e3dd38e4efe519850ea28a8266da2e (commit)


- Log -----------------------------------------------------------------
commit 3fb3c0883b57250f18a8e03f7a4a518ec1675da0
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 24 20:37:43 2025 -0400

serv_wiki.c: encode the null terminator as part of the synthetic filename.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521612</link><pubDate>Fri, 23 May 2025 11:50:52 +0500</pubDate><title>Message #2099521612</title><guid isPermaLink="false">2099521612@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1013 has been created
        at  97b6f46d850848072fa5e65e3ef0fc5b983796fb (tag)
   tagging  7cdf94aed5e3dd38e4efe519850ea28a8266da2e (commit)
  replaces  v1012
 tagged by  Art Cancro
        on  Fri May 23 11:50:50 2025 -0400

- Log -----------------------------------------------------------------
Version 1013 release

Art Cancro (37):
      webcit-ng: completed the mailing list sub/unsub admin UI.
      room_functions.c: genericize the netconfig list/add/remove ops.
      The whole config-key thing (particularly in netconfigs) fix some details and update docs
      DRY the listbox populate/add/remove functions, use them for RSS feeds in addition to mailing list recipients.
      json_get_netconfig_item() now considers the key to be everything before the first delimiter, and the value to be everything after the first delimiter, including all subsequent delimiters.  Trailing delimiters are removed, so if the value is
only one field, that's all you get.
      modify_netconfig_item() now also handles values containing multiple fields.
      strip_trailing_delimiters() - rewrote in a way that is easier to read.
      random cleanup
      libcitadel: modified how we JSON-encode strings with high characters.
      The auto-generated code didn't handle UTF-8 source strings properly.
      Removed ShutDownLibCitadel() and its friends.
      lingering_close() is no longer used, removed it
      json_get_netconfig_item() can now handle multiple fields as a value.
      test render for pop3client
      ctdl-msg-header-buttons: add 1px top padding to keep the button from getting cut off
      render pop3client panel.
      Tidied up the look of the pop3client panel
      add pop3: completed client side of dialog
      modify_netconfig_item() split into two functions so we can reuse part of it
      Moved netconfig functions to separate file.
      pop3 add client logic and ui completed
      Validate inputs and handle edge cases
      Completed pop3client add/remove
      Improved version of escapeJS()
      Fixed screen overflow on lower resolution displays when a table is inserted inside a formgrid.
      Got the pop3client delete working.  This COMPLETES THE ROOM EDITING AND CONFIGURATION SCREENS!  That took WAY too long but I can finally move on to another part of the system.
      Someday I'll rewrite the text client completely.  This is not that day.
      There was no excuse for capitalizing that variable name.  Fixed.
      I typed "=" instead of "==" in 2009 and wiki history has been broken ever since.  :(
      Went back to the old metadata format because our MIME parser doesn't extract those other fields.  History is working but show-version is generating a few errors.
      Server network functions moved out of sysdep.c and into new serversocket.c
      sysdep.c: renamed to session.c
      citserver is always dumpable.
      citserver now writes a stack trace to syslog when sigsegv is caught
      Call SSL_shutdown() again if it returns 0, as per the instructions
      Troubleshooting for a user who is getting crashes during a simple 'MESG hello' command.  Added more logging, changed cprintf() to call va_end() sooner, and removed the strerror output from the MESG command.  Dunno if any of this will work but
it might produce more data.
      Release version 1013 generated by do-release.sh

Harlow Solutions (1):
      Fixed freeing signature buffer with OPENSSL_free() rather than free() since signature was allocated with OPENSSL_malloc().

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521611</link><pubDate>Fri, 23 May 2025 11:50:51 +0500</pubDate><title>Release version 1013 generated by do-release.sh</title><guid isPermaLink="false">2099521611@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7cdf94aed5e3dd38e4efe519850ea28a8266da2e (commit)
      from  1849265e6418ea16fffd23da252789e50056290e (commit)


- Log -----------------------------------------------------------------
commit 7cdf94aed5e3dd38e4efe519850ea28a8266da2e
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 23 11:50:50 2025 -0400

Release version 1013 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521610</link><pubDate>Fri, 23 May 2025 11:50:38 +0500</pubDate><title>Troubleshooting for a user who is getting crashes during a simple &#39;MESG hello&#39; command. Added more logging, changed cprintf() to call va_end() sooner, and removed the strerror output from the MESG command. Dunno if any of this will work but it might produce more data.</title><guid isPermaLink="false">2099521610@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1849265e6418ea16fffd23da252789e50056290e (commit)
      from  5fe5631a1787150648d19287d33e0727b31a7cd8 (commit)


- Log -----------------------------------------------------------------
commit 1849265e6418ea16fffd23da252789e50056290e
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 23 11:50:36 2025 -0400

Troubleshooting for a user who is getting crashes during a simple 'MESG hello' command.  Added more logging, changed cprintf() to call va_end() sooner, and removed the strerror output from the MESG command.  Dunno if any of this will work but it
might produce more data.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/ctdlproto/serv_file.c |  3 ++-
 citadel/server/serversocket.c                | 12 ++++++------
 2 files changed, 8 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521510</link><pubDate>Thu, 22 May 2025 23:34:10 +0500</pubDate><title>Re: Coredump in endtls()</title><guid isPermaLink="false">2099521510@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<p>I got a coredump from endtls() in citadel/server/modules/crypto/serv_crypto.c.  It coredumped while freeing memory in SSL_free(CC-&gt;ssl).  I have only seen it once.</p>
<p>The only thing I can find that is suspect is the call to SSL_shutdown() before it.  The code does not check the return codes for either of the calls, but reading the docs on SSL_shutdown(), sometimes you need to call it twice if it does not return zero the first time.  Can someone who knows SSL take a look at the code and verify what the logic should be.  I do not want to change something and break it.</p>
</div>
</blockquote>
<p>After a lot of hunting I couldn't find anything either.  But I do agree with your observation that we need to call SSL_shutdown() again if it asks for that.  So I added it.</p>
<p>I also added some code to print a stack trace to the syslog if the server crashes on sigsegv.  Hopefully that will help a bunch of people.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521509</link><pubDate>Thu, 22 May 2025 23:32:53 +0500</pubDate><title>Call SSL_shutdown() again if it returns 0, as per the instructions</title><guid isPermaLink="false">2099521509@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5fe5631a1787150648d19287d33e0727b31a7cd8 (commit)
      from  3a79bf1a3f56583ea892118adc900c0d23cc8a2d (commit)


- Log -----------------------------------------------------------------
commit 5fe5631a1787150648d19287d33e0727b31a7cd8
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 22 23:32:51 2025 -0400

Call SSL_shutdown() again if it returns 0, as per the instructions

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/crypto/serv_crypto.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521505</link><pubDate>Thu, 22 May 2025 23:03:01 +0500</pubDate><title>citserver now writes a stack trace to syslog when sigsegv is caught</title><guid isPermaLink="false">2099521505@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3a79bf1a3f56583ea892118adc900c0d23cc8a2d (commit)
       via  8a5f80a0490d8cfe7339321c02172ce6a05624bf (commit)
      from  65669d3f5b5256408dffc36c970e3765f981bdf7 (commit)


- Log -----------------------------------------------------------------
commit 3a79bf1a3f56583ea892118adc900c0d23cc8a2d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 22 23:02:57 2025 -0400

citserver now writes a stack trace to syslog when sigsegv is caught

commit 8a5f80a0490d8cfe7339321c02172ce6a05624bf
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 22 18:23:42 2025 -0400

citserver is always dumpable.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/server_main.c |   5 +-
 citadel/server/session.c     | 118 +++++++++++++++++++++++++++++++------------
 2 files changed, 87 insertions(+), 36 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521416</link><pubDate>Thu, 22 May 2025 10:59:36 +0500</pubDate><title>sysdep.c: renamed to session.c</title><guid isPermaLink="false">2099521416@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  65669d3f5b5256408dffc36c970e3765f981bdf7 (commit)
      from  9fec429edd5ee88308d49b5f015421765922c07c (commit)


- Log -----------------------------------------------------------------
commit 65669d3f5b5256408dffc36c970e3765f981bdf7
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 22 10:59:34 2025 -0400

sysdep.c: renamed to session.c

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/{sysdep.c => session.c} | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
 rename citadel/server/{sysdep.c => session.c} (99%)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521414</link><pubDate>Thu, 22 May 2025 10:57:00 +0500</pubDate><title>Server network functions moved out of sysdep.c and into new serversocket.c</title><guid isPermaLink="false">2099521414@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9fec429edd5ee88308d49b5f015421765922c07c (commit)
      from  b99a7dedcd2baabc0a52d1841b69d6b8910643f3 (commit)


- Log -----------------------------------------------------------------
commit 9fec429edd5ee88308d49b5f015421765922c07c
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 22 10:56:57 2025 -0400

Server network functions moved out of sysdep.c and into new serversocket.c

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/serversocket.c | 482 ++++++++++++++++++++++++++++++++++++++++++
 citadel/server/sysdep.c       | 469 ++--------------------------------------
 2 files changed, 498 insertions(+), 453 deletions(-)
 create mode 100644 citadel/server/serversocket.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521402</link><pubDate>Thu, 22 May 2025 10:05:32 +0500</pubDate><title>Re: Coredump in endtls()</title><guid isPermaLink="false">2099521402@Uncensored</guid><description><![CDATA[ >I got a coredump from endtls() in  
 >citadel/server/modules/crypto/serv_crypto.c.  It coredumped while  
 >freeing memory in SSL_free(CC->ssl).  I have only seen it once.   
  
 Interesting.  I'll have a look.  I wonder if we can figure out the conditions
to make that happen. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521353</link><pubDate>Wed, 21 May 2025 23:39:16 +0500</pubDate><title>Went back to the old metadata format because our MIME parser doesn&#39;t extract those other fields. History is working but show-version is generating a few errors.</title><guid isPermaLink="false">2099521353@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b99a7dedcd2baabc0a52d1841b69d6b8910643f3 (commit)
      from  4bc9ef15f839237a88584535b8e206b9b6192a4a (commit)


- Log -----------------------------------------------------------------
commit b99a7dedcd2baabc0a52d1841b69d6b8910643f3
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 21 23:39:13 2025 -0400

Went back to the old metadata format because our MIME parser doesn't extract those other fields.  History is working but show-version is generating a few errors.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521350</link><pubDate>Wed, 21 May 2025 23:21:29 +0500</pubDate><title>I typed &quot;=&quot; instead of &quot;==&quot; in 2009 and wiki history has been broken ever since. :(</title><guid isPermaLink="false">2099521350@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4bc9ef15f839237a88584535b8e206b9b6192a4a (commit)
       via  85eb97950b15390c59696723fda925ae2c10c63d (commit)
      from  5fea3952a8cf4744888148441d40051932c6f978 (commit)


- Log -----------------------------------------------------------------
commit 4bc9ef15f839237a88584535b8e206b9b6192a4a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 21 23:17:26 2025 -0400

I typed "=" instead of "==" in 2009 and wiki history has been broken ever since.  :(

How did this mistake persist for 16 years with no one noticing?  Or did it break
some other time later and the first mistake caused it?  I have no idea, but no one
(including me) noticed that wiki history wasn't working.  Or maybe I wasn't paying
attention.

Anyway, it's still broken, because I'm rewriting the code and history format.

commit 85eb97950b15390c59696723fda925ae2c10c63d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 19 13:28:49 2025 -0400

There was no excuse for capitalizing that variable name.  Fixed.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 356 ++++++++++++++++----------------
 citadel/server/msgbase.c                |  26 +--
 webcit-ng/server/messages.c             |  10 +-
 3 files changed, 202 insertions(+), 190 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099521199</link><pubDate>Tue, 20 May 2025 19:41:43 +0500</pubDate><title>Coredump in endtls()</title><guid isPermaLink="false">2099521199@Uncensored</guid><description><![CDATA[<html><body>

<p>I got a coredump from endtls() in citadel/server/modules/crypto/serv_crypto.c.  It coredumped while freeing memory in SSL_free(CC-&gt;ssl).  I have only seen it once.</p>
<p>The only thing I can find that is suspect is the call to SSL_shutdown() before it.  The code does not check the return codes for either of the calls, but reading the docs on SSL_shutdown(), sometimes you need to call it twice if it does not return zero the first time.  Can someone who knows SSL take a look at the code and verify what the logic should be.  I do not want to change something and break it.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520676</link><pubDate>Fri, 16 May 2025 10:24:41 +0500</pubDate><title>Someday I&#39;ll rewrite the text client completely. This is not that day.</title><guid isPermaLink="false">2099520676@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5fea3952a8cf4744888148441d40051932c6f978 (commit)
      from  6916deac130e4f4f4e2ed614a8274bd648f773de (commit)


- Log -----------------------------------------------------------------
commit 5fea3952a8cf4744888148441d40051932c6f978
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 16 10:24:36 2025 -0400

Someday I'll rewrite the text client completely.  This is not that day.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c        | 10 +++++----
 textclient/commands.c       | 53 +++++++++++++++++++++++++--------------------
 webcit-ng/static/js/util.js |  2 +-
 3 files changed, 36 insertions(+), 29 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520633</link><pubDate>Thu, 15 May 2025 23:20:55 +0500</pubDate><title>Got the pop3client delete working. This COMPLETES THE ROOM EDITING AND CONFIGURATION SCREENS! That took WAY too long but I can finally move on to another part of the system.</title><guid isPermaLink="false">2099520633@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6916deac130e4f4f4e2ed614a8274bd648f773de (commit)
      from  18ada60d6825c37ed86cb23c3365d9185b9a8591 (commit)


- Log -----------------------------------------------------------------
commit 6916deac130e4f4f4e2ed614a8274bd648f773de
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 15 23:20:53 2025 -0400

Got the pop3client delete working.  This COMPLETES THE ROOM EDITING AND CONFIGURATION SCREENS!  That took WAY too long but I can finally move on to another part of the system.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520629</link><pubDate>Thu, 15 May 2025 22:46:32 +0500</pubDate><title>Fixed screen overflow on lower resolution displays when a table is inserted inside a formgrid.</title><guid isPermaLink="false">2099520629@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  18ada60d6825c37ed86cb23c3365d9185b9a8591 (commit)
      from  6b05a368a902b6f1853d0ffcd8aa3fea22ba5385 (commit)


- Log -----------------------------------------------------------------
commit 18ada60d6825c37ed86cb23c3365d9185b9a8591
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 15 22:46:30 2025 -0400

Fixed screen overflow on lower resolution displays when a table is inserted inside a formgrid.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 40 +++++++++++++++++++++++++++++++++-------
 webcit-ng/static/js/edit_room.js | 10 +++++-----
 2 files changed, 38 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520616</link><pubDate>Thu, 15 May 2025 19:10:47 +0500</pubDate><title>Improved version of escapeJS()</title><guid isPermaLink="false">2099520616@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6b05a368a902b6f1853d0ffcd8aa3fea22ba5385 (commit)
      from  c5e14c03ccf9e3b7475d80abf24b7c8dcbcf27d3 (commit)


- Log -----------------------------------------------------------------
commit 6b05a368a902b6f1853d0ffcd8aa3fea22ba5385
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 15 19:10:45 2025 -0400

Improved version of escapeJS()

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/util.js | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520609</link><pubDate>Thu, 15 May 2025 18:32:41 +0500</pubDate><title>Completed pop3client add/remove</title><guid isPermaLink="false">2099520609@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c5e14c03ccf9e3b7475d80abf24b7c8dcbcf27d3 (commit)
      from  733fb70cc43619609ce78947a958014c3c06fc6c (commit)


- Log -----------------------------------------------------------------
commit c5e14c03ccf9e3b7475d80abf24b7c8dcbcf27d3
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 15 18:32:39 2025 -0400

Completed pop3client add/remove

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/netconfig.c     |  9 ++++--
 webcit-ng/static/js/edit_room.js | 65 ++++++++++++++++++++++++++++++----------
 2 files changed, 57 insertions(+), 17 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520601</link><pubDate>Thu, 15 May 2025 16:27:44 +0500</pubDate><title>Validate inputs and handle edge cases</title><guid isPermaLink="false">2099520601@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  733fb70cc43619609ce78947a958014c3c06fc6c (commit)
      from  174282e10865f19a096021eab74b428636a84e5d (commit)


- Log -----------------------------------------------------------------
commit 733fb70cc43619609ce78947a958014c3c06fc6c
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 15 16:27:41 2025 -0400

Validate inputs and handle edge cases

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/netconfig.c | 54 ++++++++++++++++++++------------------------
 1 file changed, 25 insertions(+), 29 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520589</link><pubDate>Thu, 15 May 2025 15:08:57 +0500</pubDate><title>pop3 add client logic and ui completed</title><guid isPermaLink="false">2099520589@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  174282e10865f19a096021eab74b428636a84e5d (commit)
      from  f508c4076934daaba050e0b678cc5e839b9ed73a (commit)


- Log -----------------------------------------------------------------
commit 174282e10865f19a096021eab74b428636a84e5d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 15 15:08:55 2025 -0400

pop3 add client logic and ui completed

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/netconfig.c      | 42 +++++++++++++++++++++++++++++++++++++++
 webcit-ng/server/room_functions.c |  5 +++--
 webcit-ng/server/webcit.h         |  1 +
 webcit-ng/static/js/edit_room.js  | 10 +++++-----
 4 files changed, 51 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520578</link><pubDate>Thu, 15 May 2025 13:38:32 +0500</pubDate><title>Moved netconfig functions to separate file.</title><guid isPermaLink="false">2099520578@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f508c4076934daaba050e0b678cc5e839b9ed73a (commit)
      from  c5ab772db67fee5c414c84045f1b48f6b3292734 (commit)


- Log -----------------------------------------------------------------
commit f508c4076934daaba050e0b678cc5e839b9ed73a
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 15 13:38:30 2025 -0400

Moved netconfig functions to separate file.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/netconfig.c      | 179 ++++++++++++++++++++++++++++++++++++++
 webcit-ng/server/room_functions.c | 160 ----------------------------------
 webcit-ng/server/webcit.h         |   3 +
 3 files changed, 182 insertions(+), 160 deletions(-)
 create mode 100644 webcit-ng/server/netconfig.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520469</link><pubDate>Wed, 14 May 2025 15:46:53 +0500</pubDate><title>modify_netconfig_item() split into two functions so we can reuse part of it</title><guid isPermaLink="false">2099520469@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c5ab772db67fee5c414c84045f1b48f6b3292734 (commit)
      from  f22ac85033c1358ce2dba1cbb985e392f9b4819d (commit)


- Log -----------------------------------------------------------------
commit c5ab772db67fee5c414c84045f1b48f6b3292734
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 14 15:46:50 2025 -0400

modify_netconfig_item() split into two functions so we can reuse part of it

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 67 +++++++++++++++++++++++----------------
 1 file changed, 40 insertions(+), 27 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520458</link><pubDate>Wed, 14 May 2025 14:49:54 +0500</pubDate><title>add pop3: completed client side of dialog</title><guid isPermaLink="false">2099520458@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f22ac85033c1358ce2dba1cbb985e392f9b4819d (commit)
      from  299ed94b3abba7da3150e7dcf1ad3511a3b304fe (commit)


- Log -----------------------------------------------------------------
commit f22ac85033c1358ce2dba1cbb985e392f9b4819d
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 14 14:49:52 2025 -0400

add pop3: completed client side of dialog

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt           |  6 +++++-
 webcit-ng/static/js/edit_room.js | 37 +++++++++++++++++++++++++++++++++++--
 2 files changed, 40 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520442</link><pubDate>Wed, 14 May 2025 14:13:55 +0500</pubDate><title>Tidied up the look of the pop3client panel</title><guid isPermaLink="false">2099520442@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  299ed94b3abba7da3150e7dcf1ad3511a3b304fe (commit)
      from  8bfb242aaa928cdf524b7c61bf85c6964100c654 (commit)


- Log -----------------------------------------------------------------
commit 299ed94b3abba7da3150e7dcf1ad3511a3b304fe
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 14 14:13:51 2025 -0400

Tidied up the look of the pop3client panel

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520365</link><pubDate>Tue, 13 May 2025 23:46:32 +0500</pubDate><title>render pop3client panel.</title><guid isPermaLink="false">2099520365@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8bfb242aaa928cdf524b7c61bf85c6964100c654 (commit)
      from  b9a649f4fb3d1868730bd99bc2ccf89f8d6c859c (commit)


- Log -----------------------------------------------------------------
commit 8bfb242aaa928cdf524b7c61bf85c6964100c654
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 13 23:46:30 2025 -0400

render pop3client panel.

wanna get this screen finished so I can move on to some other part of the system.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt           |  1 +
 webcit-ng/static/css/webcit.css  |  1 -
 webcit-ng/static/js/edit_room.js | 89 ++++++++++++++++++++++++++++++----------
 3 files changed, 68 insertions(+), 23 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520355</link><pubDate>Tue, 13 May 2025 21:48:30 +0500</pubDate><title>ctdl-msg-header-buttons: add 1px top padding to keep the button from getting cut off</title><guid isPermaLink="false">2099520355@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b9a649f4fb3d1868730bd99bc2ccf89f8d6c859c (commit)
      from  a0bf18da825d379351df90838ebde3925a6a8f49 (commit)


- Log -----------------------------------------------------------------
commit b9a649f4fb3d1868730bd99bc2ccf89f8d6c859c
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 13 21:48:05 2025 -0400

ctdl-msg-header-buttons: add 1px top padding to keep the button from getting cut off

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 2 ++
 1 file changed, 2 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520354</link><pubDate>Tue, 13 May 2025 21:41:33 +0500</pubDate><title>test render for pop3client</title><guid isPermaLink="false">2099520354@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a0bf18da825d379351df90838ebde3925a6a8f49 (commit)
      from  a895cf3e17dfeff4d0c50ebd210d65f1343a5409 (commit)


- Log -----------------------------------------------------------------
commit a0bf18da825d379351df90838ebde3925a6a8f49
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 13 21:41:30 2025 -0400

test render for pop3client

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  5 +++++
 webcit-ng/static/js/edit_room.js | 13 +++++++++++++
 2 files changed, 18 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520343</link><pubDate>Tue, 13 May 2025 19:12:40 +0500</pubDate><title>json_get_netconfig_item() can now handle multiple fields as a value.</title><guid isPermaLink="false">2099520343@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a895cf3e17dfeff4d0c50ebd210d65f1343a5409 (commit)
      from  40860c4e395db0359bf60956b1d22a237cf25038 (commit)


- Log -----------------------------------------------------------------
commit a895cf3e17dfeff4d0c50ebd210d65f1343a5409
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 13 19:12:38 2025 -0400

json_get_netconfig_item() can now handle multiple fields as a value.
If supplied with field names, it will tokenize and output JSON dictionary.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt            |  7 +++++++
 webcit-ng/server/room_functions.c | 35 +++++++++++++++++++++++++++--------
 2 files changed, 34 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520339</link><pubDate>Tue, 13 May 2025 18:33:35 +0500</pubDate><title>lingering_close() is no longer used, removed it</title><guid isPermaLink="false">2099520339@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  40860c4e395db0359bf60956b1d22a237cf25038 (commit)
      from  fe1b095e2bbc1ce91ab01f505b7cd44e084dfc6d (commit)


- Log -----------------------------------------------------------------
commit 40860c4e395db0359bf60956b1d22a237cf25038
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 13 18:33:32 2025 -0400

lingering_close() is no longer used, removed it

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/tcp_sockets.c | 36 ------------------------------------
 webcit-ng/server/webcit.h      |  1 -
 2 files changed, 37 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520213</link><pubDate>Mon, 12 May 2025 14:58:31 +0500</pubDate><title>Removed ShutDownLibCitadel() and its friends.</title><guid isPermaLink="false">2099520213@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fe1b095e2bbc1ce91ab01f505b7cd44e084dfc6d (commit)
      from  a29b2b61bfba21ff15322b284fbb28b4530bb29f (commit)


- Log -----------------------------------------------------------------
commit fe1b095e2bbc1ce91ab01f505b7cd44e084dfc6d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 12 14:58:29 2025 -0400

Removed ShutDownLibCitadel() and its friends.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.c      |  8 +---
 libcitadel/lib/libcitadel.h      |  1 -
 libcitadel/lib/libcitadellocal.h |  1 -
 libcitadel/lib/mime_parser.c     | 99 ++++++++++++++--------------------------
 webcit/sysdep.c                  |  1 -
 webcit/webserver.c               |  1 -
 6 files changed, 35 insertions(+), 76 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520203</link><pubDate>Mon, 12 May 2025 13:35:17 +0500</pubDate><title>The auto-generated code didn&#39;t handle UTF-8 source strings properly.</title><guid isPermaLink="false">2099520203@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a29b2b61bfba21ff15322b284fbb28b4530bb29f (commit)
      from  e6e563db17509a43182ba3ca8969a9a9a505ba13 (commit)


- Log -----------------------------------------------------------------
commit a29b2b61bfba21ff15322b284fbb28b4530bb29f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 12 13:35:13 2025 -0400

The auto-generated code didn't handle UTF-8 source strings properly.

Imagine that, there is no silver bullet.  Tried again with better prompts and hand-modified
the generated code to match surrounding code.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/json.c         | 96 ++++++++++++++++++++++++++-----------------
 webcit-ng/server/forum_view.c |  6 +--
 2 files changed, 61 insertions(+), 41 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520195</link><pubDate>Mon, 12 May 2025 11:57:04 +0500</pubDate><title>libcitadel: modified how we JSON-encode strings with high characters.</title><guid isPermaLink="false">2099520195@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e6e563db17509a43182ba3ca8969a9a9a505ba13 (commit)
      from  97735f6b273d3869f1d7a1d543be67c6705ae017 (commit)


- Log -----------------------------------------------------------------
commit e6e563db17509a43182ba3ca8969a9a9a505ba13
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 12 11:56:53 2025 -0400

libcitadel: modified how we JSON-encode strings with high characters.

Yes, I used Grok to generate the code for me.  Not sure how I feel about that.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/json.c         | 51 +++++++++++++++++++++++++++++++------------
 webcit-ng/README.md           |  5 +++++
 webcit-ng/server/forum_view.c |  6 +++++
 3 files changed, 48 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099520051</link><pubDate>Sat, 10 May 2025 16:56:53 +0500</pubDate><title>Fixed freeing signature buffer with OPENSSL_free() rather than free() since signature was allocated with OPENSSL_malloc().</title><guid isPermaLink="false">2099520051@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  97735f6b273d3869f1d7a1d543be67c6705ae017 (commit)
      from  81f9614850500e56fc7fb43d36edcd537275e22b (commit)


- Log -----------------------------------------------------------------
commit 97735f6b273d3869f1d7a1d543be67c6705ae017
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sat May 10 16:56:33 2025 -0400

Fixed freeing signature buffer with OPENSSL_free() rather than free() since signature was allocated with OPENSSL_malloc().

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/smtp/dkim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519879</link><pubDate>Thu, 08 May 2025 21:49:06 +0500</pubDate><title>random cleanup</title><guid isPermaLink="false">2099519879@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  81f9614850500e56fc7fb43d36edcd537275e22b (commit)
       via  f15309e068d9b7dce482523450a10be7517a8756 (commit)
      from  f7f4c936859a8c594570d0faafb1737a6fee13c1 (commit)


- Log -----------------------------------------------------------------
commit 81f9614850500e56fc7fb43d36edcd537275e22b
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 8 21:49:03 2025 -0400

random cleanup

commit f15309e068d9b7dce482523450a10be7517a8756
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 8 14:43:43 2025 -0400

strip_trailing_delimiters() - rewrote in a way that is easier to read.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/stringbuf.c        | 22 ++++++++++++++--------
 textclient/file_transfer.c        | 15 +++++++++++----
 textclient/utilfunc.c             |  2 +-
 webcit-ng/server/room_functions.c | 14 +++++++-------
 4 files changed, 33 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519748</link><pubDate>Wed, 07 May 2025 23:41:56 +0500</pubDate><title>modify_netconfig_item() now also handles values containing multiple fields.</title><guid isPermaLink="false">2099519748@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f7f4c936859a8c594570d0faafb1737a6fee13c1 (commit)
      from  7b4e4ab6332a320a4c07c7bb675fe66166043fec (commit)


- Log -----------------------------------------------------------------
commit f7f4c936859a8c594570d0faafb1737a6fee13c1
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 7 23:41:53 2025 -0400

modify_netconfig_item() now also handles values containing multiple fields.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 33 +++++++++++++++++++--------------
 1 file changed, 19 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519745</link><pubDate>Wed, 07 May 2025 23:26:43 +0500</pubDate><title>json_get_netconfig_item() now considers the key to be everything before the first delimiter, and the value to be everything after the first delimiter, including all subsequent delimiters. Trailing delimiters are removed, so if the value is only one field, that&#39;s all you get.</title><guid isPermaLink="false">2099519745@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7b4e4ab6332a320a4c07c7bb675fe66166043fec (commit)
      from  5355ef0899b39cd06e0bba1cd2c74b9d397697a3 (commit)


- Log -----------------------------------------------------------------
commit 7b4e4ab6332a320a4c07c7bb675fe66166043fec
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 7 23:26:39 2025 -0400

json_get_netconfig_item() now considers the key to be everything before the first delimiter, and the value to be everything after the first delimiter, including all subsequent delimiters.  Trailing delimiters are removed, so if the value is only one
field, that's all you get.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 40 +++++++++++++++++++++++++++++++++------
 1 file changed, 34 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519610</link><pubDate>Tue, 06 May 2025 23:35:09 +0500</pubDate><title>DRY the listbox populate/add/remove functions, use them for RSS feeds in addition to mailing list recipients.</title><guid isPermaLink="false">2099519610@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5355ef0899b39cd06e0bba1cd2c74b9d397697a3 (commit)
      from  24c676d6c1d6474bd0cd6b12b091f3476fa930b0 (commit)


- Log -----------------------------------------------------------------
commit 5355ef0899b39cd06e0bba1cd2c74b9d397697a3
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 6 23:35:07 2025 -0400

DRY the listbox populate/add/remove functions, use them for RSS feeds in addition to mailing list recipients.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 118 ++++++++++++++++++++++++++++++---------
 1 file changed, 93 insertions(+), 25 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519600</link><pubDate>Tue, 06 May 2025 22:18:07 +0500</pubDate><title>The whole config-key thing (particularly in netconfigs) fix some details and update docs</title><guid isPermaLink="false">2099519600@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  24c676d6c1d6474bd0cd6b12b091f3476fa930b0 (commit)
      from  c8816de10cf15c35872a7731c27a87028097c5b2 (commit)


- Log -----------------------------------------------------------------
commit 24c676d6c1d6474bd0cd6b12b091f3476fa930b0
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 6 22:18:05 2025 -0400

The whole config-key thing (particularly in netconfigs) fix some details and update docs

-----------------------------------------------------------------------

Summary of changes:
 citadel/docs/databaselayout.md    | 30 +++++++++++++++++-------------
 citadel/docs/netconfigs.txt       | 27 +++++++++++++--------------
 citadel/docs/views.md             | 31 ++++++++++++++-----------------
 webcit-ng/server/room_functions.c | 12 ++++++------
 4 files changed, 50 insertions(+), 50 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519447</link><pubDate>Tue, 06 May 2025 00:23:16 +0500</pubDate><title>room_functions.c: genericize the netconfig list/add/remove ops.</title><guid isPermaLink="false">2099519447@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c8816de10cf15c35872a7731c27a87028097c5b2 (commit)
      from  c4d041dc808acd0a1635c2ed8b8d7ceabe94940d (commit)


- Log -----------------------------------------------------------------
commit c8816de10cf15c35872a7731c27a87028097c5b2
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 6 00:23:13 2025 -0400

room_functions.c: genericize the netconfig list/add/remove ops.

We were using them for mailing list recipients, but with a bit of DRY strategy
they can also be used for RSS feeds.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt            |  9 +++++-
 webcit-ng/server/room_functions.c | 62 +++++++++++++++++++++++++++------------
 webcit-ng/static/js/edit_room.js  | 44 +++++++++++++++++++++++----
 3 files changed, 89 insertions(+), 26 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519306</link><pubDate>Sun, 04 May 2025 23:41:54 +0500</pubDate><title>webcit-ng: completed the mailing list sub/unsub admin UI.</title><guid isPermaLink="false">2099519306@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c4d041dc808acd0a1635c2ed8b8d7ceabe94940d (commit)
      from  266786a89d025242b9ebbc42f3e10013f9f24075 (commit)


- Log -----------------------------------------------------------------
commit c4d041dc808acd0a1635c2ed8b8d7ceabe94940d
Author: Art Cancro <ajc@citadel.org>
Date:   Sun May 4 23:41:52 2025 -0400

webcit-ng: completed the mailing list sub/unsub admin UI.

Also continued the changeover to SPDX license identifiers.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css         |  7 +++----
 webcit-ng/static/js/caldav_client.js    |  6 ++----
 webcit-ng/static/js/calendar_edit.js    |  2 +-
 webcit-ng/static/js/defs.js             |  4 +---
 webcit-ng/static/js/edit_room.js        | 35 +++++++++++++++++++++++++++++----
 webcit-ng/static/js/login.js            |  4 +---
 webcit-ng/static/js/mail_folder_list.js |  2 +-
 webcit-ng/static/js/main.js             |  2 +-
 webcit-ng/static/js/roomlist.js         |  2 +-
 webcit-ng/static/js/upload.js           |  2 +-
 webcit-ng/static/js/user_profile.js     |  2 +-
 webcit-ng/static/js/util.js             |  2 +-
 webcit-ng/static/js/view_calendar.js    |  2 +-
 webcit-ng/static/js/view_contacts.js    |  2 +-
 webcit-ng/static/js/view_forum.js       |  2 +-
 webcit-ng/static/js/view_mail.js        |  2 +-
 webcit-ng/static/js/views.js            |  4 ++--
 17 files changed, 51 insertions(+), 31 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519112</link><pubDate>Sat, 03 May 2025 22:33:16 +0500</pubDate><title>Message #2099519112</title><guid isPermaLink="false">2099519112@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1012 has been created
        at  434d170fdad5e2a119ed8e3dd765daaac96bf014 (tag)
   tagging  266786a89d025242b9ebbc42f3e10013f9f24075 (commit)
  replaces  v1011
 tagged by  Art Cancro
        on  Sat May 3 22:33:15 2025 -0400

- Log -----------------------------------------------------------------
Version 1012 release

Art Cancro (41):
      sendcommand: accept new '-r' option to run in a specific room
      Cribbed more messages from the webcit-classic catalog, so as to not lose the translations.
      worked on listserv panel
      includes including other includes is non-inclusive.
      threads.h: don't include includes
      More shuffling of headers around
      berkeley_db.c: reorder includes
      Consolidated sysedep.h and server.h
      consolidate part 1
      Merge citadel_defs.h into sysdep.h
      More header consolidation
      And another one gone, and another one gone, two more header files bite the dust
      Don't include system headers from our header files.
      Don't include system headers from our header files.
      Cleaned up years of technical debt regarding which includes were included and where they were included from and in what order.  I probably broke FreeBSD again.  Will need to check on that.  Expecting future changes to be easier though.
      client_close() now accepts a 'struct CitContext *' to work with.
      CtdlDoIHavePermissionToDeleteMessagesFromThisRoom() now accepts a CitContext instead of assuming CC
      Add mailing list add/remove API commands
      Move access control buttons adjacent to the lists they affect.
      add the boxes and buttons for add/remove
      ctdl_module.h: began removing variable names from function prototypes
      ctdl_module.h: continue removing variable names from function prototypes
      ctdl_module.h: continue removing variable names from function prototypes
      more cleanup of headers
      ctdlload.c: don't add message #0 on an empty msglist or fulltext record.
      Moved stuff around
      This is why we can't have nice things.
      Function prototypes are not documentation.
      config.h: remove headers included from other headers
      ctdl_module.h: continued war on nested includes
      citserver.h: continued war on nested includes
      More of the war against nested includes.
      visit.h: removed include libcitadel.h, it isn't needed from here
      More whack-a-mole on nested includes
      This commit was made by my cat.
      ctdl_module.h: more correction of nested includes
      ctdl_module.h: correct the last of the nested includes from this header
      That about wraps it up for nuking nested includes.
      All license declarations are now in SPDX format.
      cmd_lsub: reject empty or invalid email addresses.
      Release version 1012 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519111</link><pubDate>Sat, 03 May 2025 22:33:15 +0500</pubDate><title>Release version 1012 generated by do-release.sh</title><guid isPermaLink="false">2099519111@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  266786a89d025242b9ebbc42f3e10013f9f24075 (commit)
      from  3fa274f6e69f49fe087327751ecb67af06f60a7e (commit)


- Log -----------------------------------------------------------------
commit 266786a89d025242b9ebbc42f3e10013f9f24075
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 3 22:33:15 2025 -0400

Release version 1012 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099519110</link><pubDate>Sat, 03 May 2025 22:33:08 +0500</pubDate><title>cmd_lsub: reject empty or invalid email addresses.</title><guid isPermaLink="false">2099519110@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3fa274f6e69f49fe087327751ecb67af06f60a7e (commit)
      from  02de1f4f0af294ec3804476b8bc29d553fe91577 (commit)


- Log -----------------------------------------------------------------
commit 3fa274f6e69f49fe087327751ecb67af06f60a7e
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 3 22:33:05 2025 -0400

cmd_lsub: reject empty or invalid email addresses.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/listsub/serv_listsub.c | 15 ++++++++++++++-
 libcitadel/lib/tools.c                        | 24 +++++++++++++-----------
 2 files changed, 27 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518939</link><pubDate>Fri, 02 May 2025 13:42:03 +0500</pubDate><title>All license declarations are now in SPDX format.</title><guid isPermaLink="false">2099518939@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  02de1f4f0af294ec3804476b8bc29d553fe91577 (commit)
      from  912d7305a3d36d642e93f392228650e2e48e6581 (commit)


- Log -----------------------------------------------------------------
commit 02de1f4f0af294ec3804476b8bc29d553fe91577
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 2 13:42:01 2025 -0400

All license declarations are now in SPDX format.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c           | 2 +-
 citadel/server/backends/berkeley_db/berkeley_db.h           | 2 +-
 citadel/server/backends/common/database.c                   | 2 +-
 citadel/server/citadel_dirs.c                               | 2 +-
 citadel/server/citadel_dirs.h                               | 2 +-
 citadel/server/citadel_ldap.h                               | 2 +-
 citadel/server/citserver.c                                  | 2 +-
 citadel/server/citserver.h                                  | 2 +-
 citadel/server/clientsocket.c                               | 2 +-
 citadel/server/clientsocket.h                               | 2 +-
 citadel/server/config.c                                     | 2 +-
 citadel/server/config.h                                     | 2 +-
 citadel/server/context.c                                    | 2 +-
 citadel/server/control.c                                    | 2 +-
 citadel/server/control.h                                    | 2 +-
 citadel/server/ctdl_module.h                                | 2 +-
 citadel/server/database.h                                   | 2 +-
 citadel/server/default_timezone.c                           | 2 +-
 citadel/server/domain.c                                     | 2 +-
 citadel/server/domain.h                                     | 2 +-
 citadel/server/euidindex.c                                  | 2 +-
 citadel/server/genstamp.c                                   | 2 +-
 citadel/server/housekeeping.c                               | 2 +-
 citadel/server/internet_addressing.c                        | 2 +-
 citadel/server/journaling.c                                 | 2 +-
 citadel/server/ldap.c                                       | 2 +-
 citadel/server/locate_host.c                                | 2 +-
 citadel/server/locate_host.h                                | 2 +-
 citadel/server/makeuserkey.c                                | 2 +-
 citadel/server/modules/autocompletion/serv_autocompletion.c | 2 +-
 citadel/server/modules/autocompletion/serv_autocompletion.h | 2 +-
 citadel/server/modules/bio/serv_bio.c                       | 2 +-
 citadel/server/modules/blog/serv_blog.c                     | 2 +-
 citadel/server/modules/calendar/ical_ctdl_is_overlap.c      | 2 +-
 citadel/server/modules/calendar/serv_calendar.c             | 2 +-
 citadel/server/modules/calendar/serv_calendar.h             | 2 +-
 citadel/server/modules/checkpoint/serv_checkpoint.c         | 2 +-
 citadel/server/modules/clamav/serv_virus.c                  | 2 +-
 citadel/server/modules/crypto/serv_crypto.c                 | 2 +-
 citadel/server/modules/ctdlproto/serv_ctdlproto.c           | 2 +-
 citadel/server/modules/ctdlproto/serv_file.c                | 2 +-
 citadel/server/modules/ctdlproto/serv_messages.c            | 2 +-
 citadel/server/modules/ctdlproto/serv_rooms.c               | 2 +-
 citadel/server/modules/ctdlproto/serv_session.c             | 2 +-
 citadel/server/modules/ctdlproto/serv_syscmds.c             | 2 +-
 citadel/server/modules/ctdlproto/serv_user.c                | 2 +-
 citadel/server/modules/expire/expire_policy.c               | 2 +-
 citadel/server/modules/expire/serv_expire.c                 | 2 +-
 citadel/server/modules/fulltext/ft_wordbreaker.c            | 2 +-
 citadel/server/modules/fulltext/ft_wordbreaker.h            | 2 +-
 citadel/server/modules/fulltext/serv_fulltext.c             | 2 +-
 citadel/server/modules/fulltext/serv_fulltext.h             | 2 +-
 citadel/server/modules/image/serv_image.c                   | 2 +-
 citadel/server/modules/imap/imap_acl.c                      | 2 +-
 citadel/server/modules/imap/imap_acl.h                      | 2 +-
 citadel/server/modules/imap/imap_fetch.c                    | 2 +-
 citadel/server/modules/imap/imap_fetch.h                    | 2 +-
 citadel/server/modules/imap/imap_list.c                     | 2 +-
 citadel/server/modules/imap/imap_metadata.c                 | 2 +-
 citadel/server/modules/imap/imap_metadata.h                 | 2 +-
 citadel/server/modules/imap/imap_misc.c                     | 2 +-
 citadel/server/modules/imap/imap_misc.h                     | 2 +-
 citadel/server/modules/imap/imap_search.c                   | 2 +-
 citadel/server/modules/imap/imap_search.h                   | 2 +-
 citadel/server/modules/imap/imap_store.c                    | 2 +-
 citadel/server/modules/imap/imap_store.h                    | 2 +-
 citadel/server/modules/imap/imap_tools.c                    | 2 +-
 citadel/server/modules/imap/serv_imap.c                     | 2 +-
 citadel/server/modules/imap/serv_imap.h                     | 2 +-
 citadel/server/modules/inboxrules/serv_inboxrules.c         | 2 +-
 citadel/server/modules/inetcfg/serv_inetcfg.c               | 2 +-
 citadel/server/modules/instmsg/serv_instmsg.c               | 2 +-
 citadel/server/modules/listdeliver/serv_listdeliver.c       | 2 +-
 citadel/server/modules/listsub/serv_listsub.c               | 2 +-
 citadel/server/modules/nntp/serv_nntp.c                     | 2 +-
 citadel/server/modules/nntp/serv_nntp.h                     | 2 +-
 citadel/server/modules/notes/serv_notes.c                   | 2 +-
 citadel/server/modules/pop3/serv_pop3.c                     | 2 +-
 citadel/server/modules/pop3/serv_pop3.h                     | 2 +-
 citadel/server/modules/pop3client/serv_pop3client.c         | 2 +-
 citadel/server/modules/roomchat/serv_roomchat.c             | 2 +-
 citadel/server/modules/rssclient/serv_rssclient.c           | 2 +-
 citadel/server/modules/rwho/serv_rwho.c                     | 2 +-
 citadel/server/modules/smtp/dkim.c                          | 2 +-
 citadel/server/modules/smtp/dkim_bindings.c                 | 2 +-
 citadel/server/modules/smtp/serv_smtp.c                     | 2 +-
 citadel/server/modules/smtp/serv_smtpclient.c               | 2 +-
 citadel/server/modules/smtp/smtp_util.c                     | 2 +-
 citadel/server/modules/smtp/smtp_util.h                     | 2 +-
 citadel/server/modules/spam/serv_spam.c                     | 2 +-
 citadel/server/modules/test/serv_test.c                     | 2 +-
 citadel/server/modules/upgrade/serv_upgrade.c               | 2 +-
 citadel/server/modules/upgrade/serv_upgrade.h               | 2 +-
 citadel/server/modules/vcard/serv_vcard.c                   | 2 +-
 citadel/server/modules/wiki/serv_wiki.c                     | 2 +-
 citadel/server/modules/xmpp/serv_xmpp.c                     | 2 +-
 citadel/server/modules/xmpp/serv_xmpp.h                     | 2 +-
 citadel/server/modules/xmpp/xmpp_messages.c                 | 2 +-
 citadel/server/modules/xmpp/xmpp_presence.c                 | 2 +-
 citadel/server/modules/xmpp/xmpp_query_namespace.c          | 2 +-
 citadel/server/modules/xmpp/xmpp_queue.c                    | 2 +-
 citadel/server/modules/xmpp/xmpp_sasl_service.c             | 2 +-
 citadel/server/modules_init.c                               | 2 +-
 citadel/server/modules_init.h                               | 2 +-
 citadel/server/msgbase.c                                    | 2 +-
 citadel/server/msgbase.h                                    | 2 +-
 citadel/server/netconfig.c                                  | 2 +-
 citadel/server/room_ops.c                                   | 2 +-
 citadel/server/serv_extensions.c                            | 2 +-
 citadel/server/server_main.c                                | 2 +-
 citadel/server/support.c                                    | 2 +-
 citadel/server/sysdep.c                                     | 2 +-
 citadel/server/sysdep.h                                     | 2 +-
 citadel/server/threads.c                                    | 2 +-
 citadel/server/user_ops.c                                   | 2 +-
 citadel/server/user_ops.h                                   | 2 +-
 citadel/server/usetable.c                                   | 2 +-
 citadel/server/visit.c                                      | 2 +-
 citadel/server/visit.h                                      | 2 +-
 citadel/utils/auth.c                                        | 2 +-
 citadel/utils/chkpw.c                                       | 2 +-
 citadel/utils/chkpwd.c                                      | 2 +-
 citadel/utils/citmail.c                                     | 2 +-
 citadel/utils/ctdldump.c                                    | 2 +-
 citadel/utils/ctdlload.c                                    | 2 +-
 citadel/utils/dbnothing.c                                   | 2 +-
 citadel/utils/loadtest.c                                    | 2 +-
 citadel/utils/sendcommand.c                                 | 2 +-
 citadel/utils/setup.c                                       | 2 +-
 libcitadel/lib/array.c                                      | 7 ++-----
 libcitadel/lib/base64.c                                     | 2 +-
 libcitadel/lib/decode.c                                     | 6 ++----
 libcitadel/lib/hash.c                                       | 6 ++----
 libcitadel/lib/html_to_ascii.c                              | 2 +-
 libcitadel/lib/json.c                                       | 2 +-
 libcitadel/lib/libcitadel.c                                 | 2 +-
 libcitadel/lib/libcitadel.h                                 | 2 +-
 libcitadel/lib/mime_parser.c                                | 7 ++-----
 libcitadel/lib/stringbuf.c                                  | 2 +-
 libcitadel/lib/tools.c                                      | 2 +-
 libcitadel/lib/urlhandling.c                                | 4 ++--
 libcitadel/lib/vcard.c                                      | 7 ++-----
 libcitadel/lib/vnote.c                                      | 5 +----
 textclient/citadel.c                                        | 2 +-
 textclient/citadel_ipc.c                                    | 2 +-
 textclient/client_chat.c                                    | 2 +-
 textclient/client_passwords.c                               | 2 +-
 textclient/commands.c                                       | 2 +-
 textclient/file_transfer.c                                  | 2 +-
 textclient/messages.c                                       | 2 +-
 textclient/rooms.c                                          | 2 +-
 textclient/screen.c                                         | 2 +-
 textclient/sysutil.c                                        | 2 +-
 textclient/tcpclient.c                                      | 2 +-
 textclient/textclient.h                                     | 2 +-
 textclient/tuiconfig.c                                      | 2 +-
 textclient/user_functions.c                                 | 2 +-
 textclient/utilfunc.c                                       | 2 +-
 webcit-ng/server/admin_functions.c                          | 2 +-
 webcit-ng/server/caldav_reports.c                           | 2 +-
 webcit-ng/server/ctdl_commands.c                            | 2 +-
 webcit-ng/server/ctdlclient.c                               | 2 +-
 webcit-ng/server/ctdlfunctions.c                            | 2 +-
 webcit-ng/server/floor_functions.c                          | 2 +-
 webcit-ng/server/forum_view.c                               | 2 +-
 webcit-ng/server/html2html.c                                | 2 +-
 webcit-ng/server/http.c                                     | 2 +-
 webcit-ng/server/ical_ctdl_is_overlap.c                     | 2 +-
 webcit-ng/server/main.c                                     | 2 +-
 webcit-ng/server/messages.c                                 | 2 +-
 webcit-ng/server/request.c                                  | 2 +-
 webcit-ng/server/room_functions.c                           | 2 +-
 webcit-ng/server/static.c                                   | 2 +-
 webcit-ng/server/tcp_sockets.c                              | 2 +-
 webcit-ng/server/text2html.c                                | 2 +-
 webcit-ng/server/tls.c                                      | 2 +-
 webcit-ng/server/upload.c                                   | 2 +-
 webcit-ng/server/user_functions.c                           | 2 +-
 webcit-ng/server/util.c                                     | 2 +-
 webcit-ng/server/webcit.h                                   | 2 +-
 webcit-ng/server/webserver.c                                | 2 +-
 webcit/auth.c                                               | 2 +-
 webcit/autocompletion.c                                     | 2 +-
 webcit/blogview_renderer.c                                  | 2 +-
 webcit/calendar.c                                           | 2 +-
 webcit/calendar.h                                           | 2 +-
 webcit/calendar_view.c                                      | 2 +-
 webcit/context_loop.c                                       | 2 +-
 webcit/cookie_conversion.c                                  | 2 +-
 webcit/crypto.c                                             | 2 +-
 webcit/dav.h                                                | 2 +-
 webcit/dav_delete.c                                         | 2 +-
 webcit/dav_get.c                                            | 2 +-
 webcit/dav_main.c                                           | 2 +-
 webcit/dav_options.c                                        | 2 +-
 webcit/dav_propfind.c                                       | 2 +-
 webcit/dav_put.c                                            | 2 +-
 webcit/dav_report.c                                         | 2 +-
 webcit/downloads.c                                          | 2 +-
 webcit/event.c                                              | 2 +-
 webcit/feed_generator.c                                     | 2 +-
 webcit/fmt_date.c                                           | 2 +-
 webcit/gettext.c                                            | 2 +-
 webcit/graphics.c                                           | 2 +-
 webcit/ical_ctdl_is_overlap.c                               | 2 +-
 webcit/ical_dezonify.c                                      | 2 +-
 webcit/icontheme.c                                          | 2 +-
 webcit/netconf.c                                            | 2 +-
 webcit/roomops.c                                            | 2 +-
 webcit/sieve.c                                              | 2 +-
 webcit/siteconfig.c                                         | 5 +----
 webcit/sockets.c                                            | 2 +-
 webcit/sysdep.c                                             | 2 +-
 webcit/webcit.h                                             | 2 +-
 webcit/webserver.c                                          | 4 +---
 215 files changed, 221 insertions(+), 242 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518925</link><pubDate>Fri, 02 May 2025 12:10:29 +0500</pubDate><title>That about wraps it up for nuking nested includes.</title><guid isPermaLink="false">2099518925@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  912d7305a3d36d642e93f392228650e2e48e6581 (commit)
      from  7ce54a3295b2a3717f67040c55068ed69d9680d7 (commit)


- Log -----------------------------------------------------------------
commit 912d7305a3d36d642e93f392228650e2e48e6581
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 2 12:10:26 2025 -0400

That about wraps it up for nuking nested includes.

I think I also found and fixed all of the places where the boilerplate was wrong for
the copyright notice and license declaration.  It wasn't *wrong* wrong, but it was
inconsistent with the way we prefer to declare it now.  We prefer it this way:

This program is open source software.  Use, duplication, or disclosure is subject to the GNU General Public License version 3.

All the other stuff is *in* the GPL itself.  And of course we use the phrase 'Open Source'
rather than 'Free Software'.  This will anger Richard Stallman, and that's a feature, not
a bug.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/config.c                             |  1 +
 citadel/server/control.c                            |  1 +
 citadel/server/domain.h                             | 15 +--------------
 citadel/server/euidindex.c                          |  1 +
 citadel/server/internet_addressing.c                |  1 +
 citadel/server/journaling.c                         |  3 ++-
 .../modules/autocompletion/serv_autocompletion.c    |  1 +
 .../modules/autocompletion/serv_autocompletion.h    | 13 ++-----------
 citadel/server/modules/bio/serv_bio.c               |  1 +
 citadel/server/modules/blog/serv_blog.c             |  1 +
 citadel/server/modules/calendar/serv_calendar.c     |  2 +-
 citadel/server/modules/calendar/serv_calendar.h     |  5 +----
 citadel/server/modules/checkpoint/serv_checkpoint.c |  1 +
 citadel/server/modules/clamav/serv_virus.c          |  1 +
 citadel/server/modules/ctdlproto/files.h            |  1 -
 citadel/server/modules/ctdlproto/serv_ctdlproto.c   |  1 -
 citadel/server/modules/ctdlproto/serv_file.c        |  1 +
 citadel/server/modules/ctdlproto/serv_messages.c    |  1 +
 citadel/server/modules/ctdlproto/serv_rooms.c       |  1 +
 citadel/server/modules/ctdlproto/serv_user.c        |  1 +
 citadel/server/modules/expire/expire_policy.c       |  1 +
 citadel/server/modules/expire/serv_expire.c         |  2 +-
 citadel/server/modules/fulltext/ft_wordbreaker.c    |  1 +
 citadel/server/modules/fulltext/ft_wordbreaker.h    | 21 +++++----------------
 citadel/server/modules/fulltext/serv_fulltext.c     |  5 +++--
 citadel/server/modules/fulltext/serv_fulltext.h     |  4 +---
 citadel/server/modules/image/serv_image.c           |  1 +
 citadel/server/modules/imap/imap_acl.c              |  1 +
 citadel/server/modules/imap/imap_acl.h              |  4 +---
 citadel/server/modules/imap/imap_fetch.c            |  6 +++---
 citadel/server/modules/imap/imap_fetch.h            |  4 +---
 citadel/server/modules/imap/imap_list.c             |  1 +
 citadel/server/modules/imap/imap_metadata.c         |  4 ++--
 citadel/server/modules/imap/imap_metadata.h         |  4 +---
 citadel/server/modules/imap/imap_misc.c             |  3 ++-
 citadel/server/modules/imap/imap_misc.h             |  4 +---
 citadel/server/modules/imap/imap_search.c           |  1 +
 citadel/server/modules/imap/imap_search.h           |  4 +---
 citadel/server/modules/imap/imap_store.c            |  1 +
 citadel/server/modules/imap/imap_store.h            |  4 +---
 citadel/server/modules/imap/serv_imap.c             |  2 +-
 citadel/server/modules/inboxrules/serv_inboxrules.c |  1 +
 citadel/server/modules/inetcfg/serv_inetcfg.c       |  1 +
 citadel/server/modules/instmsg/serv_instmsg.c       |  1 +
 .../server/modules/listdeliver/serv_listdeliver.c   |  1 +
 citadel/server/modules/listsub/serv_listsub.c       |  1 +
 citadel/server/modules/nntp/serv_nntp.c             |  1 +
 citadel/server/modules/nntp/serv_nntp.h             | 14 ++------------
 citadel/server/modules/notes/serv_notes.c           |  1 +
 citadel/server/modules/pop3/serv_pop3.c             |  1 +
 citadel/server/modules/pop3/serv_pop3.h             | 13 ++-----------
 citadel/server/modules/pop3client/serv_pop3client.c |  1 +
 citadel/server/modules/roomchat/serv_roomchat.c     |  1 +
 citadel/server/modules/rssclient/serv_rssclient.c   |  1 +
 citadel/server/modules/rwho/serv_rwho.c             |  1 +
 citadel/server/modules/smtp/dkim_bindings.c         |  1 +
 citadel/server/modules/smtp/serv_smtp.c             |  1 +
 citadel/server/modules/smtp/serv_smtpclient.c       |  1 +
 citadel/server/modules/smtp/smtp_util.c             |  1 +
 citadel/server/modules/spam/serv_spam.c             |  1 +
 citadel/server/modules/upgrade/serv_upgrade.c       |  1 +
 citadel/server/modules/upgrade/serv_upgrade.h       | 19 ++-----------------
 citadel/server/modules/vcard/serv_vcard.c           |  1 +
 citadel/server/modules/wiki/serv_wiki.c             |  1 +
 citadel/server/modules/xmpp/serv_xmpp.c             |  1 +
 citadel/server/modules/xmpp/serv_xmpp.h             | 14 +++-----------
 citadel/server/modules/xmpp/xmpp_presence.c         |  1 +
 citadel/server/modules_init.h                       |  1 -
 citadel/server/msgbase.c                            |  2 +-
 citadel/server/msgbase.h                            | 13 ++-----------
 citadel/server/room_ops.c                           |  2 +-
 citadel/server/serv_extensions.c                    |  3 ++-
 citadel/server/sysdep.h                             |  1 -
 citadel/server/user_ops.c                           |  2 +-
 74 files changed, 89 insertions(+), 148 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518917</link><pubDate>Fri, 02 May 2025 11:45:36 +0500</pubDate><title>ctdl_module.h: correct the last of the nested includes from this header</title><guid isPermaLink="false">2099518917@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7ce54a3295b2a3717f67040c55068ed69d9680d7 (commit)
      from  5cdb9889a79cac88c3d316909402f59eff87be3c (commit)


- Log -----------------------------------------------------------------
commit 7ce54a3295b2a3717f67040c55068ed69d9680d7
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 2 11:45:34 2025 -0400

ctdl_module.h: correct the last of the nested includes from this header

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c           | 1 +
 citadel/server/backends/common/database.c                   | 1 +
 citadel/server/citserver.c                                  | 1 +
 citadel/server/clientsocket.c                               | 1 +
 citadel/server/config.c                                     | 1 +
 citadel/server/control.c                                    | 1 +
 citadel/server/ctdl_module.h                                | 2 --
 citadel/server/default_timezone.c                           | 1 +
 citadel/server/euidindex.c                                  | 1 +
 citadel/server/housekeeping.c                               | 1 +
 citadel/server/internet_addressing.c                        | 1 +
 citadel/server/journaling.c                                 | 1 +
 citadel/server/ldap.c                                       | 1 +
 citadel/server/modules/autocompletion/serv_autocompletion.c | 1 +
 citadel/server/modules/bio/serv_bio.c                       | 1 +
 citadel/server/modules/blog/serv_blog.c                     | 1 +
 citadel/server/modules/calendar/serv_calendar.c             | 1 +
 citadel/server/modules/checkpoint/serv_checkpoint.c         | 1 +
 citadel/server/modules/clamav/serv_virus.c                  | 1 +
 citadel/server/modules/crypto/serv_crypto.c                 | 1 +
 citadel/server/modules/ctdlproto/serv_ctdlproto.c           | 1 +
 citadel/server/modules/ctdlproto/serv_file.c                | 1 +
 citadel/server/modules/ctdlproto/serv_messages.c            | 1 +
 citadel/server/modules/ctdlproto/serv_rooms.c               | 1 +
 citadel/server/modules/ctdlproto/serv_session.c             | 1 +
 citadel/server/modules/ctdlproto/serv_syscmds.c             | 1 +
 citadel/server/modules/ctdlproto/serv_user.c                | 1 +
 citadel/server/modules/image/serv_image.c                   | 1 +
 citadel/server/modules/imap/imap_acl.c                      | 1 +
 citadel/server/modules/imap/imap_fetch.c                    | 1 +
 citadel/server/modules/imap/imap_list.c                     | 1 +
 citadel/server/modules/imap/imap_metadata.c                 | 1 +
 citadel/server/modules/imap/imap_misc.c                     | 1 +
 citadel/server/modules/imap/imap_search.c                   | 1 +
 citadel/server/modules/imap/imap_store.c                    | 1 +
 citadel/server/modules/imap/imap_tools.c                    | 1 +
 citadel/server/modules/imap/serv_imap.c                     | 1 +
 citadel/server/modules/inboxrules/serv_inboxrules.c         | 1 +
 citadel/server/modules/inetcfg/serv_inetcfg.c               | 1 +
 citadel/server/modules/listdeliver/serv_listdeliver.c       | 1 +
 citadel/server/modules/listsub/serv_listsub.c               | 1 +
 citadel/server/modules/nntp/serv_nntp.c                     | 1 +
 citadel/server/modules/notes/serv_notes.c                   | 1 +
 citadel/server/modules/pop3/serv_pop3.c                     | 1 +
 citadel/server/modules/pop3client/serv_pop3client.c         | 1 +
 citadel/server/modules/roomchat/serv_roomchat.c             | 1 +
 citadel/server/modules/smtp/dkim_bindings.c                 | 1 +
 citadel/server/modules/smtp/serv_smtp.c                     | 1 +
 citadel/server/modules/smtp/serv_smtpclient.c               | 1 +
 citadel/server/modules/smtp/smtp_util.c                     | 1 +
 citadel/server/modules/spam/serv_spam.c                     | 1 +
 citadel/server/modules/test/serv_test.c                     | 1 +
 citadel/server/modules/upgrade/serv_upgrade.c               | 1 +
 citadel/server/modules/vcard/serv_vcard.c                   | 1 +
 citadel/server/modules/wiki/serv_wiki.c                     | 1 +
 citadel/server/modules/xmpp/serv_xmpp.c                     | 1 +
 citadel/server/modules/xmpp/xmpp_messages.c                 | 1 +
 citadel/server/modules/xmpp/xmpp_presence.c                 | 1 +
 citadel/server/modules/xmpp/xmpp_query_namespace.c          | 1 +
 citadel/server/modules/xmpp/xmpp_queue.c                    | 1 +
 citadel/server/modules/xmpp/xmpp_sasl_service.c             | 1 +
 citadel/server/msgbase.c                                    | 1 +
 citadel/server/netconfig.c                                  | 1 +
 citadel/server/room_ops.c                                   | 1 +
 citadel/server/server_main.c                                | 1 +
 citadel/server/support.c                                    | 1 +
 citadel/server/usetable.c                                   | 1 +
 67 files changed, 66 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518909</link><pubDate>Fri, 02 May 2025 11:31:10 +0500</pubDate><title>ctdl_module.h: more correction of nested includes</title><guid isPermaLink="false">2099518909@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5cdb9889a79cac88c3d316909402f59eff87be3c (commit)
      from  4bbc8ba45bfb70c3cc285fc144a88407f72cc6b5 (commit)


- Log -----------------------------------------------------------------
commit 5cdb9889a79cac88c3d316909402f59eff87be3c
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 2 11:31:09 2025 -0400

ctdl_module.h: more correction of nested includes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c | 1 +
 citadel/server/backends/common/database.c         | 1 +
 citadel/server/citserver.c                        | 1 +
 citadel/server/ctdl_module.h                      | 1 -
 citadel/server/modules/crypto/serv_crypto.c       | 1 +
 citadel/server/modules/ctdlproto/serv_file.c      | 1 +
 citadel/server/modules/ctdlproto/serv_rooms.c     | 1 +
 citadel/server/modules/image/serv_image.c         | 1 +
 citadel/server/modules/upgrade/serv_upgrade.c     | 1 +
 citadel/server/user_ops.c                         | 1 +
 10 files changed, 9 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518907</link><pubDate>Fri, 02 May 2025 11:27:08 +0500</pubDate><title>This commit was made by my cat.</title><guid isPermaLink="false">2099518907@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4bbc8ba45bfb70c3cc285fc144a88407f72cc6b5 (commit)
      from  4ddb19f2eb62de17ed287e4cee0ae62a737c7937 (commit)


- Log -----------------------------------------------------------------
commit 4bbc8ba45bfb70c3cc285fc144a88407f72cc6b5
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 2 11:27:05 2025 -0400

This commit was made by my cat.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/config.c                                     |  1 +
 citadel/server/context.c                                    |  1 +
 citadel/server/control.c                                    |  1 +
 citadel/server/ctdl_module.h                                | 13 -------------
 citadel/server/housekeeping.c                               |  1 +
 citadel/server/journaling.c                                 |  1 +
 citadel/server/modules/autocompletion/serv_autocompletion.c |  1 +
 citadel/server/modules/crypto/serv_crypto.c                 |  3 ++-
 citadel/server/modules/ctdlproto/serv_syscmds.c             |  1 +
 citadel/server/modules/ctdlproto/serv_user.c                |  1 +
 citadel/server/modules/inboxrules/serv_inboxrules.c         |  1 +
 citadel/server/modules/instmsg/serv_instmsg.c               |  1 +
 citadel/server/modules/listdeliver/serv_listdeliver.c       |  1 +
 citadel/server/modules/listsub/serv_listsub.c               |  1 +
 citadel/server/modules/roomchat/serv_roomchat.c             |  1 +
 citadel/server/modules/smtp/serv_smtp.c                     |  1 +
 citadel/server/modules/smtp/serv_smtpclient.c               |  1 +
 citadel/server/modules/vcard/serv_vcard.c                   |  1 +
 citadel/server/modules/xmpp/xmpp_messages.c                 |  1 +
 citadel/server/modules/xmpp/xmpp_queue.c                    |  1 +
 citadel/server/msgbase.c                                    |  1 +
 citadel/server/netconfig.c                                  |  1 +
 citadel/server/room_ops.c                                   |  1 +
 citadel/server/server_main.c                                |  1 +
 citadel/server/sysdep.c                                     |  1 +
 citadel/server/user_ops.c                                   |  1 +
 26 files changed, 26 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518903</link><pubDate>Fri, 02 May 2025 11:13:17 +0500</pubDate><title>More whack-a-mole on nested includes</title><guid isPermaLink="false">2099518903@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4ddb19f2eb62de17ed287e4cee0ae62a737c7937 (commit)
      from  d27d060f112219d1c4688758a578235d8f57fbfb (commit)


- Log -----------------------------------------------------------------
commit 4ddb19f2eb62de17ed287e4cee0ae62a737c7937
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 2 11:13:15 2025 -0400

More whack-a-mole on nested includes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c  |  3 ++
 citadel/server/backends/common/database.c          |  3 ++
 citadel/server/citserver.c                         |  4 +++
 citadel/server/clientsocket.c                      | 38 ++++++++++++++--------
 citadel/server/config.c                            |  5 +++
 citadel/server/context.c                           |  2 ++
 citadel/server/control.c                           |  3 ++
 citadel/server/ctdl_module.h                       | 24 +-------------
 citadel/server/euidindex.c                         |  3 ++
 citadel/server/housekeeping.c                      |  3 ++
 citadel/server/internet_addressing.c               |  1 +
 citadel/server/journaling.c                        |  1 +
 citadel/server/ldap.c                              |  4 ++-
 .../modules/autocompletion/serv_autocompletion.c   |  5 ++-
 citadel/server/modules/bio/serv_bio.c              |  7 ++++
 citadel/server/modules/calendar/serv_calendar.c    |  3 ++
 citadel/server/modules/clamav/serv_virus.c         |  1 +
 citadel/server/modules/crypto/serv_crypto.c        |  5 +--
 citadel/server/modules/ctdlproto/serv_ctdlproto.c  |  2 ++
 citadel/server/modules/ctdlproto/serv_file.c       |  5 +++
 citadel/server/modules/ctdlproto/serv_messages.c   |  2 ++
 citadel/server/modules/ctdlproto/serv_rooms.c      |  3 ++
 citadel/server/modules/ctdlproto/serv_session.c    |  2 ++
 citadel/server/modules/ctdlproto/serv_syscmds.c    |  1 +
 citadel/server/modules/ctdlproto/serv_user.c       |  4 +++
 citadel/server/modules/expire/expire_policy.c      |  1 +
 citadel/server/modules/expire/serv_expire.c        |  2 ++
 citadel/server/modules/fulltext/ft_wordbreaker.c   |  1 +
 citadel/server/modules/fulltext/serv_fulltext.c    |  2 ++
 citadel/server/modules/image/serv_image.c          |  4 +++
 citadel/server/modules/imap/imap_fetch.c           |  1 +
 citadel/server/modules/imap/imap_list.c            |  1 +
 citadel/server/modules/imap/imap_misc.c            |  1 +
 citadel/server/modules/imap/imap_tools.c           |  1 +
 citadel/server/modules/imap/serv_imap.c            |  2 ++
 .../server/modules/inboxrules/serv_inboxrules.c    |  2 ++
 citadel/server/modules/inetcfg/serv_inetcfg.c      |  1 +
 citadel/server/modules/instmsg/serv_instmsg.c      |  1 +
 .../server/modules/listdeliver/serv_listdeliver.c  |  1 +
 citadel/server/modules/listsub/serv_listsub.c      |  1 +
 citadel/server/modules/nntp/serv_nntp.c            |  1 +
 citadel/server/modules/notes/serv_notes.c          |  1 +
 citadel/server/modules/pop3/serv_pop3.c            |  2 ++
 .../server/modules/pop3client/serv_pop3client.c    |  1 +
 citadel/server/modules/roomchat/serv_roomchat.c    |  1 +
 citadel/server/modules/rssclient/serv_rssclient.c  |  1 +
 citadel/server/modules/rwho/serv_rwho.c            |  1 +
 citadel/server/modules/smtp/serv_smtp.c            |  1 +
 citadel/server/modules/smtp/serv_smtpclient.c      |  2 ++
 citadel/server/modules/spam/serv_spam.c            |  1 +
 citadel/server/modules/test/serv_test.c            |  2 ++
 citadel/server/modules/upgrade/serv_upgrade.c      |  1 +
 citadel/server/modules/vcard/serv_vcard.c          |  2 ++
 citadel/server/modules/wiki/serv_wiki.c            |  2 ++
 citadel/server/modules/xmpp/serv_xmpp.c            |  2 ++
 citadel/server/modules/xmpp/xmpp_messages.c        |  2 ++
 citadel/server/modules/xmpp/xmpp_presence.c        |  3 ++
 citadel/server/modules/xmpp/xmpp_query_namespace.c |  2 ++
 citadel/server/modules/xmpp/xmpp_queue.c           |  1 +
 citadel/server/modules/xmpp/xmpp_sasl_service.c    |  2 ++
 citadel/server/modules_init.c                      |  2 ++
 citadel/server/msgbase.c                           |  4 +++
 citadel/server/netconfig.c                         |  2 ++
 citadel/server/room_ops.c                          |  4 +++
 citadel/server/serv_extensions.c                   |  2 ++
 citadel/server/server_main.c                       |  4 +++
 citadel/server/sysdep.c                            |  2 ++
 citadel/server/threads.c                           |  3 ++
 citadel/server/user_ops.c                          |  7 +++-
 citadel/server/usetable.c                          |  1 +
 citadel/server/visit.c                             |  1 +
 71 files changed, 177 insertions(+), 42 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518891</link><pubDate>Fri, 02 May 2025 09:46:11 +0500</pubDate><title>visit.h: removed include libcitadel.h, it isn&#39;t needed from here</title><guid isPermaLink="false">2099518891@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d27d060f112219d1c4688758a578235d8f57fbfb (commit)
      from  5b33ffb467a3b3b39d0dff1782d9e7c709d673bd (commit)


- Log -----------------------------------------------------------------
commit d27d060f112219d1c4688758a578235d8f57fbfb
Author: Art Cancro <ajc@citadel.org>
Date:   Fri May 2 09:46:09 2025 -0400

visit.h: removed include libcitadel.h, it isn't needed from here

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/visit.h | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518824</link><pubDate>Thu, 01 May 2025 18:17:37 +0500</pubDate><title>More of the war against nested includes.</title><guid isPermaLink="false">2099518824@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5b33ffb467a3b3b39d0dff1782d9e7c709d673bd (commit)
       via  ae604bc9c3112f969bf834c6cf332e801cbf4e24 (commit)
      from  c775cae05ba5af280b53dd234dc3450f1c7c1992 (commit)


- Log -----------------------------------------------------------------
commit 5b33ffb467a3b3b39d0dff1782d9e7c709d673bd
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 1 18:17:34 2025 -0400

More of the war against nested includes.

commit ae604bc9c3112f969bf834c6cf332e801cbf4e24
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 1 17:50:40 2025 -0400

citserver.h: continued war on nested includes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c           | 1 +
 citadel/server/citserver.c                                  | 1 +
 citadel/server/citserver.h                                  | 5 +----
 citadel/server/default_timezone.c                           | 1 +
 citadel/server/euidindex.c                                  | 1 +
 citadel/server/internet_addressing.c                        | 1 +
 citadel/server/ldap.c                                       | 1 +
 citadel/server/modules/autocompletion/serv_autocompletion.c | 1 +
 citadel/server/modules/blog/serv_blog.c                     | 1 +
 citadel/server/modules/checkpoint/serv_checkpoint.c         | 2 +-
 citadel/server/modules/clamav/serv_virus.c                  | 2 +-
 citadel/server/modules/ctdlproto/serv_ctdlproto.c           | 2 ++
 citadel/server/modules/ctdlproto/serv_messages.c            | 1 +
 citadel/server/modules/ctdlproto/serv_rooms.c               | 1 +
 citadel/server/modules/ctdlproto/serv_session.c             | 1 +
 citadel/server/modules/expire/serv_expire.c                 | 4 ++--
 citadel/server/modules/fulltext/ft_wordbreaker.c            | 3 ++-
 citadel/server/modules/fulltext/serv_fulltext.c             | 3 ++-
 citadel/server/modules/imap/imap_acl.c                      | 4 ++--
 citadel/server/modules/imap/imap_fetch.c                    | 1 +
 citadel/server/modules/imap/imap_list.c                     | 2 +-
 citadel/server/modules/imap/imap_metadata.c                 | 2 +-
 citadel/server/modules/imap/imap_misc.c                     | 2 +-
 citadel/server/modules/imap/imap_search.c                   | 4 ++--
 citadel/server/modules/imap/imap_store.c                    | 3 ++-
 citadel/server/modules/imap/imap_tools.c                    | 2 +-
 citadel/server/modules/imap/serv_imap.c                     | 2 +-
 citadel/server/modules/inboxrules/serv_inboxrules.c         | 2 +-
 citadel/server/modules/inetcfg/serv_inetcfg.c               | 1 +
 citadel/server/modules/instmsg/serv_instmsg.c               | 1 +
 citadel/server/modules/listdeliver/serv_listdeliver.c       | 2 +-
 citadel/server/modules/listsub/serv_listsub.c               | 2 +-
 citadel/server/modules/nntp/serv_nntp.c                     | 2 +-
 citadel/server/modules/notes/serv_notes.c                   | 2 +-
 citadel/server/modules/pop3/serv_pop3.c                     | 2 +-
 citadel/server/modules/pop3client/serv_pop3client.c         | 2 +-
 citadel/server/modules/roomchat/serv_roomchat.c             | 2 +-
 citadel/server/modules/rssclient/serv_rssclient.c           | 2 +-
 citadel/server/modules/rwho/serv_rwho.c                     | 4 +++-
 citadel/server/modules/smtp/dkim_bindings.c                 | 1 +
 citadel/server/modules/smtp/serv_smtp.c                     | 3 ++-
 citadel/server/modules/smtp/serv_smtpclient.c               | 2 +-
 citadel/server/modules/smtp/smtp_util.c                     | 2 +-
 citadel/server/modules/spam/serv_spam.c                     | 2 +-
 citadel/server/modules/upgrade/serv_upgrade.c               | 4 ++--
 citadel/server/modules/vcard/serv_vcard.c                   | 2 +-
 citadel/server/modules/wiki/serv_wiki.c                     | 2 +-
 citadel/server/modules/xmpp/serv_xmpp.c                     | 1 +
 citadel/server/modules/xmpp/xmpp_messages.c                 | 2 ++
 citadel/server/modules/xmpp/xmpp_presence.c                 | 1 +
 citadel/server/modules/xmpp/xmpp_query_namespace.c          | 1 +
 citadel/server/modules/xmpp/xmpp_queue.c                    | 1 +
 citadel/server/modules/xmpp/xmpp_sasl_service.c             | 1 +
 citadel/server/msgbase.c                                    | 1 +
 citadel/server/room_ops.c                                   | 2 +-
 citadel/server/serv_extensions.c                            | 2 ++
 citadel/server/server_main.c                                | 1 +
 citadel/server/support.c                                    | 1 +
 citadel/server/sysdep.c                                     | 1 +
 citadel/server/user_ops.c                                   | 2 ++
 citadel/server/usetable.c                                   | 2 +-
 citadel/server/visit.c                                      | 3 +++
 62 files changed, 78 insertions(+), 40 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518819</link><pubDate>Thu, 01 May 2025 17:45:39 +0500</pubDate><title>ctdl_module.h: continued war on nested includes</title><guid isPermaLink="false">2099518819@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c775cae05ba5af280b53dd234dc3450f1c7c1992 (commit)
      from  ed9090b2c0753e176b126747f8370934cfcd50c1 (commit)


- Log -----------------------------------------------------------------
commit c775cae05ba5af280b53dd234dc3450f1c7c1992
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 1 17:45:36 2025 -0400

ctdl_module.h: continued war on nested includes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/clientsocket.c                               | 1 +
 citadel/server/control.c                                    | 1 +
 citadel/server/ctdl_module.h                                | 2 --
 citadel/server/housekeeping.c                               | 1 +
 citadel/server/modules/autocompletion/serv_autocompletion.c | 3 ++-
 citadel/server/modules/bio/serv_bio.c                       | 1 +
 citadel/server/modules/calendar/serv_calendar.c             | 6 +++---
 citadel/server/modules/ctdlproto/serv_file.c                | 1 +
 citadel/server/modules_init.c                               | 1 +
 9 files changed, 11 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518814</link><pubDate>Thu, 01 May 2025 17:28:03 +0500</pubDate><title>config.h: remove headers included from other headers</title><guid isPermaLink="false">2099518814@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ed9090b2c0753e176b126747f8370934cfcd50c1 (commit)
      from  24592a8d00b624322f0bfe9078b8e8b66f1c3894 (commit)


- Log -----------------------------------------------------------------
commit ed9090b2c0753e176b126747f8370934cfcd50c1
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 1 17:28:00 2025 -0400

config.h: remove headers included from other headers

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/config.h              | 11 ++++------
 citadel/server/internet_addressing.h | 40 +++++++++++++++++-------------------
 citadel/server/support.h             |  2 +-
 3 files changed, 24 insertions(+), 29 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518809</link><pubDate>Thu, 01 May 2025 17:11:00 +0500</pubDate><title>Function prototypes are not documentation.</title><guid isPermaLink="false">2099518809@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  24592a8d00b624322f0bfe9078b8e8b66f1c3894 (commit)
      from  4d6a4f1927accd1a97d4ab0f10788cb9bedef092 (commit)


- Log -----------------------------------------------------------------
commit 24592a8d00b624322f0bfe9078b8e8b66f1c3894
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 1 17:10:58 2025 -0400

Function prototypes are not documentation.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/context.h         | 4 ++--
 citadel/server/serv_extensions.h | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518807</link><pubDate>Thu, 01 May 2025 17:03:45 +0500</pubDate><title>This is why we can&#39;t have nice things.</title><guid isPermaLink="false">2099518807@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4d6a4f1927accd1a97d4ab0f10788cb9bedef092 (commit)
      from  ef15897ee3136afad2ac0b4e15746aa7ebdd1fd0 (commit)


- Log -----------------------------------------------------------------
commit 4d6a4f1927accd1a97d4ab0f10788cb9bedef092
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 1 17:03:40 2025 -0400

This is why we can't have nice things.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/context.h     | 68 +++++++++++++++++++++-----------------------
 citadel/server/locate_host.c |  1 +
 2 files changed, 33 insertions(+), 36 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518743</link><pubDate>Thu, 01 May 2025 08:57:40 +0500</pubDate><title>Moved stuff around</title><guid isPermaLink="false">2099518743@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ef15897ee3136afad2ac0b4e15746aa7ebdd1fd0 (commit)
      from  b8c0aa559a81f87c4a6fb2d1821951bb5fb18b51 (commit)


- Log -----------------------------------------------------------------
commit ef15897ee3136afad2ac0b4e15746aa7ebdd1fd0
Author: Art Cancro <ajc@citadel.org>
Date:   Thu May 1 08:57:30 2025 -0400

Moved stuff around

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/html2html.c | 53 ++++++++++++++++++++++++--------------------
 webcit-ng/server/request.c   | 43 +++++++++++++++++------------------
 webcit-ng/server/webcit.h    |  5 +++--
 webcit-ng/server/webserver.c |  9 ++++----
 4 files changed, 59 insertions(+), 51 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518663</link><pubDate>Wed, 30 Apr 2025 15:51:48 +0500</pubDate><title>ctdlload.c: don&#39;t add message #0 on an empty msglist or fulltext record.</title><guid isPermaLink="false">2099518663@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b8c0aa559a81f87c4a6fb2d1821951bb5fb18b51 (commit)
      from  6f8635be4f7154aafe41c33e7aa6ffbfcb40782b (commit)


- Log -----------------------------------------------------------------
commit b8c0aa559a81f87c4a6fb2d1821951bb5fb18b51
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 30 12:50:26 2025 -0700

ctdlload.c: don't add message #0 on an empty msglist or fulltext record.

This behavior was harmless, but it caused the ctdldumploadtest to fail.

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/ctdlload.c | 32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518610</link><pubDate>Wed, 30 Apr 2025 12:14:32 +0500</pubDate><title>more cleanup of headers</title><guid isPermaLink="false">2099518610@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6f8635be4f7154aafe41c33e7aa6ffbfcb40782b (commit)
       via  9d91bd9f728f0542e705333b222442fe61cc2672 (commit)
      from  45df8ecfb817a734a15893fd151e2d8bc946b72e (commit)


- Log -----------------------------------------------------------------
commit 6f8635be4f7154aafe41c33e7aa6ffbfcb40782b
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 30 12:14:30 2025 -0400

more cleanup of headers

commit 9d91bd9f728f0542e705333b222442fe61cc2672
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 30 11:57:43 2025 -0400

ctdl_module.h: continue removing variable names from function prototypes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/ctdl_module.h |  2 +-
 citadel/server/sysdep.h      | 24 +++++++-----------------
 2 files changed, 8 insertions(+), 18 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518596</link><pubDate>Wed, 30 Apr 2025 11:56:03 +0500</pubDate><title>ctdl_module.h: continue removing variable names from function prototypes</title><guid isPermaLink="false">2099518596@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  45df8ecfb817a734a15893fd151e2d8bc946b72e (commit)
      from  2416470a90061b5ad92a7e30b25a035f1a7411b1 (commit)


- Log -----------------------------------------------------------------
commit 45df8ecfb817a734a15893fd151e2d8bc946b72e
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 30 11:56:01 2025 -0400

ctdl_module.h: continue removing variable names from function prototypes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/ctdl_module.h | 52 ++++++++++++++++++++++----------------------
 1 file changed, 26 insertions(+), 26 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518594</link><pubDate>Wed, 30 Apr 2025 11:49:41 +0500</pubDate><title>ctdl_module.h: began removing variable names from function prototypes</title><guid isPermaLink="false">2099518594@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2416470a90061b5ad92a7e30b25a035f1a7411b1 (commit)
      from  7715e43b85ab3af851290fccade02bcd57bec3d1 (commit)


- Log -----------------------------------------------------------------
commit 2416470a90061b5ad92a7e30b25a035f1a7411b1
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 30 11:49:39 2025 -0400

ctdl_module.h: began removing variable names from function prototypes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/ctdl_module.h | 65 +++++++++++++++-----------------------------
 citadel/server/room_ops.c    |  3 +-
 2 files changed, 23 insertions(+), 45 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518410</link><pubDate>Mon, 28 Apr 2025 23:46:48 +0500</pubDate><title>add the boxes and buttons for add/remove</title><guid isPermaLink="false">2099518410@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7715e43b85ab3af851290fccade02bcd57bec3d1 (commit)
      from  36ed6a54a2d9e94723d1a095a99afa07012e9e78 (commit)


- Log -----------------------------------------------------------------
commit 7715e43b85ab3af851290fccade02bcd57bec3d1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 28 23:46:45 2025 -0400

add the boxes and buttons for add/remove

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518407</link><pubDate>Mon, 28 Apr 2025 23:31:29 +0500</pubDate><title>Move access control buttons adjacent to the lists they affect.</title><guid isPermaLink="false">2099518407@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  36ed6a54a2d9e94723d1a095a99afa07012e9e78 (commit)
      from  33c78b77a859beef4678f0219d339bd42d22bc2e (commit)


- Log -----------------------------------------------------------------
commit 36ed6a54a2d9e94723d1a095a99afa07012e9e78
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 28 23:31:25 2025 -0400

Move access control buttons adjacent to the lists they affect.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 54 +++++++++++++++++++++++++---------------
 1 file changed, 34 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518404</link><pubDate>Mon, 28 Apr 2025 23:12:29 +0500</pubDate><title>Add mailing list add/remove API commands</title><guid isPermaLink="false">2099518404@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  33c78b77a859beef4678f0219d339bd42d22bc2e (commit)
      from  9a8141815415b9d637c21fc28072bd7a36700ced (commit)


- Log -----------------------------------------------------------------
commit 33c78b77a859beef4678f0219d339bd42d22bc2e
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 28 23:12:25 2025 -0400

Add mailing list add/remove API commands

-----------------------------------------------------------------------

Summary of changes:
 citadel/docs/netconfigs.txt        | 35 +++++--------------
 citadel/server/citadel_dirs.h      |  5 ---
 citadel/server/modules/smtp/dkim.c |  2 +-
 citadel/server/room_ops.c          |  1 -
 citadel/utils/ctdldump.c           |  2 +-
 citadel/utils/ctdlload.c           |  2 +-
 webcit-ng/docs/api.txt             | 18 ++++++----
 webcit-ng/server/room_functions.c  | 70 ++++++++++++++++++++++++++++++++++++++
 webcit-ng/static/js/edit_room.js   |  2 +-
 9 files changed, 94 insertions(+), 43 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518241</link><pubDate>Sun, 27 Apr 2025 17:24:31 +0500</pubDate><title>CtdlDoIHavePermissionToDeleteMessagesFromThisRoom() now accepts a CitContext instead of assuming CC</title><guid isPermaLink="false">2099518241@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9a8141815415b9d637c21fc28072bd7a36700ced (commit)
      from  13ffe1850f652acbbb60ef5d21c1ca1e65c74f3e (commit)


- Log -----------------------------------------------------------------
commit 9a8141815415b9d637c21fc28072bd7a36700ced
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Apr 27 17:24:28 2025 -0400

CtdlDoIHavePermissionToDeleteMessagesFromThisRoom() now accepts a CitContext instead of assuming CC

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/calendar/serv_calendar.c  | 2 +-
 citadel/server/modules/ctdlproto/serv_messages.c | 2 +-
 citadel/server/modules/imap/imap_store.c         | 2 +-
 citadel/server/room_ops.c                        | 4 ++--
 citadel/server/room_ops.h                        | 2 +-
 citadel/server/sysdep.c                          | 3 +--
 6 files changed, 7 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518238</link><pubDate>Sun, 27 Apr 2025 17:10:37 +0500</pubDate><title>client_close() now accepts a &#39;struct CitContext *&#39; to work with.</title><guid isPermaLink="false">2099518238@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  13ffe1850f652acbbb60ef5d21c1ca1e65c74f3e (commit)
      from  7680f882bd3196cbc0c516a178a5051d2ccc3d6a (commit)


- Log -----------------------------------------------------------------
commit 13ffe1850f652acbbb60ef5d21c1ca1e65c74f3e
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Apr 27 17:10:33 2025 -0400

client_close() now accepts a 'struct CitContext *' to work with.

This is the proper way to avoid repeating calls to 'CC' instead of trying to cache it
at the top of the function.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citserver.c    |  3 +++
 citadel/server/context.c      |  2 +-
 citadel/server/context.h      |  1 +
 citadel/server/sysdep.c       | 46 +++++++++++++++++++++----------------------
 citadel/server/sysdep_decls.h |  1 -
 5 files changed, 27 insertions(+), 26 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518045</link><pubDate>Fri, 25 Apr 2025 16:59:22 +0500</pubDate><title>Cleaned up years of technical debt regarding which includes were included and where they were included from and in what order. I probably broke FreeBSD again. Will need to check on that. Expecting future changes to be easier though.</title><guid isPermaLink="false">2099518045@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7680f882bd3196cbc0c516a178a5051d2ccc3d6a (commit)
      from  428e212cfbf0c1bd31b470927bfa347496a6244f (commit)


- Log -----------------------------------------------------------------
commit 7680f882bd3196cbc0c516a178a5051d2ccc3d6a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 25 16:59:19 2025 -0400

Cleaned up years of technical debt regarding which includes were included and where they were included from and in what order.  I probably broke FreeBSD again.  Will need to check on that.  Expecting future changes to be easier though.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c  |   5 +-
 citadel/server/backends/common/database.c          |   3 +-
 citadel/server/citserver.c                         |   1 +
 citadel/server/clientsocket.c                      |   1 +
 citadel/server/config.c                            |   5 +-
 citadel/server/context.c                           |   5 +
 citadel/server/control.c                           |   1 +
 citadel/server/default_timezone.c                  |   4 +-
 citadel/server/domain.c                            |  12 +-
 citadel/server/euidindex.c                         |   7 +-
 citadel/server/genstamp.c                          |   6 +-
 citadel/server/housekeeping.c                      |   3 +
 citadel/server/internet_addressing.c               |   5 +-
 citadel/server/journaling.c                        |   6 +-
 citadel/server/ldap.c                              |   7 +-
 citadel/server/locate_host.c                       |  13 +-
 citadel/server/makeuserkey.c                       |   1 +
 .../modules/autocompletion/serv_autocompletion.c   |   3 +
 citadel/server/modules/bio/serv_bio.c              |  11 +-
 citadel/server/modules/blog/serv_blog.c            |   5 +-
 citadel/server/modules/calendar/serv_calendar.c    |   3 +
 .../server/modules/checkpoint/serv_checkpoint.c    |   5 +-
 citadel/server/modules/clamav/serv_virus.c         |   5 +-
 citadel/server/modules/crypto/serv_crypto.c        |   4 -
 citadel/server/modules/ctdlproto/serv_ctdlproto.c  |   2 +
 citadel/server/modules/ctdlproto/serv_file.c       |  12 +-
 citadel/server/modules/ctdlproto/serv_messages.c   |   4 +
 citadel/server/modules/ctdlproto/serv_rooms.c      |   2 +
 citadel/server/modules/ctdlproto/serv_session.c    |   4 +
 citadel/server/modules/ctdlproto/serv_syscmds.c    |   4 +
 citadel/server/modules/ctdlproto/serv_user.c       |   6 +
 citadel/server/modules/expire/expire_policy.c      |   5 +-
 citadel/server/modules/expire/serv_expire.c        |   5 +-
 citadel/server/modules/fulltext/ft_wordbreaker.c   |   5 +-
 citadel/server/modules/fulltext/serv_fulltext.c    |   5 +-
 citadel/server/modules/image/serv_image.c          |  16 ++-
 citadel/server/modules/imap/imap_acl.c             |   5 +-
 citadel/server/modules/imap/imap_fetch.c           |   5 +-
 citadel/server/modules/imap/imap_list.c            |   5 +-
 citadel/server/modules/imap/imap_metadata.c        |   5 +-
 citadel/server/modules/imap/imap_misc.c            |   5 +-
 citadel/server/modules/imap/imap_search.c          |   7 +-
 citadel/server/modules/imap/imap_store.c           |   6 +-
 citadel/server/modules/imap/imap_tools.c           |   2 +
 citadel/server/modules/imap/serv_imap.c            |   5 +-
 .../server/modules/inboxrules/serv_inboxrules.c    |   5 +-
 citadel/server/modules/inetcfg/serv_inetcfg.c      |   5 +-
 citadel/server/modules/instmsg/serv_instmsg.c      |   3 +
 .../server/modules/listdeliver/serv_listdeliver.c  |   5 +-
 citadel/server/modules/listsub/serv_listsub.c      |   5 +-
 citadel/server/modules/nntp/serv_nntp.c            |   7 +-
 citadel/server/modules/notes/serv_notes.c          |   7 +-
 citadel/server/modules/pop3/serv_pop3.c            |   5 +-
 .../server/modules/pop3client/serv_pop3client.c    |   2 +
 citadel/server/modules/roomchat/serv_roomchat.c    |   5 +-
 citadel/server/modules/rssclient/serv_rssclient.c  |   2 +
 citadel/server/modules/rwho/serv_rwho.c            |   5 +-
 citadel/server/modules/smtp/dkim.c                 |   4 +-
 citadel/server/modules/smtp/dkim_bindings.c        |   2 +
 citadel/server/modules/smtp/serv_smtp.c            |   5 +-
 citadel/server/modules/smtp/serv_smtpclient.c      |   4 +-
 citadel/server/modules/smtp/smtp_util.c            |   5 +-
 citadel/server/modules/spam/serv_spam.c            |   5 +-
 citadel/server/modules/test/serv_test.c            |  16 +--
 citadel/server/modules/upgrade/serv_upgrade.c      |   5 +-
 citadel/server/modules/vcard/serv_vcard.c          |   5 +-
 citadel/server/modules/wiki/serv_wiki.c            |   5 +-
 citadel/server/modules/xmpp/serv_xmpp.c            |   7 +-
 citadel/server/modules/xmpp/xmpp_messages.c        |   5 +-
 citadel/server/modules/xmpp/xmpp_presence.c        |   5 +-
 citadel/server/modules/xmpp/xmpp_query_namespace.c |   5 +-
 citadel/server/modules/xmpp/xmpp_queue.c           |   5 +-
 citadel/server/modules/xmpp/xmpp_sasl_service.c    |   5 +-
 citadel/server/modules_init.c                      |   3 +
 citadel/server/msgbase.c                           |   4 +
 citadel/server/netconfig.c                         |   7 +-
 citadel/server/parsedate.c                         | 155 +++++++++------------
 citadel/server/parsedate.y                         |  15 +-
 citadel/server/room_ops.c                          |   5 +
 citadel/server/server_main.c                       |   2 +
 citadel/server/support.c                           |  10 +-
 citadel/server/sysdep.c                            |   7 +-
 citadel/server/sysdep.h                            |   2 -
 citadel/server/threads.c                           |   5 +-
 citadel/server/user_ops.c                          |   4 +
 citadel/server/usetable.c                          |   2 +
 citadel/server/visit.c                             |  11 +-
 87 files changed, 397 insertions(+), 215 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518014</link><pubDate>Fri, 25 Apr 2025 16:04:10 +0500</pubDate><title>Don&#39;t include system headers from our header files.</title><guid isPermaLink="false">2099518014@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  428e212cfbf0c1bd31b470927bfa347496a6244f (commit)
      from  24c6369dd9be831d803d288b5c73d948991e215d (commit)


- Log -----------------------------------------------------------------
commit 428e212cfbf0c1bd31b470927bfa347496a6244f
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 25 16:04:08 2025 -0400

Don't include system headers from our header files.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_dirs.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518013</link><pubDate>Fri, 25 Apr 2025 16:03:31 +0500</pubDate><title>Don&#39;t include system headers from our header files.</title><guid isPermaLink="false">2099518013@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  24c6369dd9be831d803d288b5c73d948991e215d (commit)
      from  258cbf39e1422c04a7d95b36199c74defb95b99b (commit)


- Log -----------------------------------------------------------------
commit 24c6369dd9be831d803d288b5c73d948991e215d
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 25 16:03:28 2025 -0400

Don't include system headers from our header files.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/context.h      | 4 +---
 citadel/server/makeuserkey.c  | 3 ++-
 citadel/server/sysdep_decls.h | 2 +-
 citadel/server/user_ops.h     | 5 +----
 4 files changed, 5 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518012</link><pubDate>Fri, 25 Apr 2025 15:53:29 +0500</pubDate><title>And another one gone, and another one gone, two more header files bite the dust</title><guid isPermaLink="false">2099518012@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  258cbf39e1422c04a7d95b36199c74defb95b99b (commit)
      from  5790cc124b09f94df3f1bfe19ab120eb43d41115 (commit)


- Log -----------------------------------------------------------------
commit 258cbf39e1422c04a7d95b36199c74defb95b99b
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 25 15:53:26 2025 -0400

And another one gone, and another one gone, two more header files bite the dust

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/domain.h                            |   2 -
 .../server/modules/pop3client/serv_pop3client.c    |   1 -
 citadel/server/modules/smtp/serv_smtpclient.c      |   1 -
 citadel/server/sysconfig.h                         |  53 -----------
 citadel/server/sysdep.h                            | 102 ++++++++++++++++++++-
 citadel/server/typesize.h                          |  58 ------------
 6 files changed, 100 insertions(+), 117 deletions(-)
 delete mode 100644 citadel/server/sysconfig.h
 delete mode 100644 citadel/server/typesize.h

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518007</link><pubDate>Fri, 25 Apr 2025 15:48:40 +0500</pubDate><title>More header consolidation</title><guid isPermaLink="false">2099518007@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5790cc124b09f94df3f1bfe19ab120eb43d41115 (commit)
      from  97fe1db91b5582bd777131bb643eddf1e1890d93 (commit)


- Log -----------------------------------------------------------------
commit 5790cc124b09f94df3f1bfe19ab120eb43d41115
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 25 15:48:38 2025 -0400

More header consolidation

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/sysdep.h | 26 +-------------------------
 1 file changed, 1 insertion(+), 25 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518006</link><pubDate>Fri, 25 Apr 2025 15:39:31 +0500</pubDate><title>Merge citadel_defs.h into sysdep.h</title><guid isPermaLink="false">2099518006@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  97fe1db91b5582bd777131bb643eddf1e1890d93 (commit)
       via  df62a39ed2477d550c7c129486bdfeccaf5c0b58 (commit)
      from  c6107a043157bad245e52b692b2cfd8a1be96c76 (commit)


- Log -----------------------------------------------------------------
commit 97fe1db91b5582bd777131bb643eddf1e1890d93
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 25 15:39:29 2025 -0400

Merge citadel_defs.h into sysdep.h

commit df62a39ed2477d550c7c129486bdfeccaf5c0b58
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 25 15:37:19 2025 -0400

consolidate part 1

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h                      | 273 -------------------
 citadel/server/citadel_dirs.c                      |   1 -
 citadel/server/default_timezone.c                  |   1 -
 citadel/server/domain.c                            |   1 -
 citadel/server/internet_addressing.c               |   1 -
 citadel/server/modules/blog/serv_blog.c            |   1 -
 .../server/modules/checkpoint/serv_checkpoint.c    |   1 -
 citadel/server/modules/clamav/serv_virus.c         |   1 -
 citadel/server/modules/crypto/serv_crypto.c        |   1 -
 citadel/server/modules/expire/expire_policy.c      |   1 -
 citadel/server/modules/expire/serv_expire.c        |   1 -
 citadel/server/modules/fulltext/ft_wordbreaker.c   |   1 -
 citadel/server/modules/fulltext/serv_fulltext.c    |   1 -
 citadel/server/modules/imap/imap_acl.c             |   1 -
 citadel/server/modules/imap/imap_fetch.c           |   1 -
 citadel/server/modules/imap/imap_list.c            |   1 -
 citadel/server/modules/imap/imap_metadata.c        |   1 -
 citadel/server/modules/imap/imap_misc.c            |   1 -
 citadel/server/modules/imap/imap_search.c          |   1 -
 citadel/server/modules/imap/imap_store.c           |   1 -
 citadel/server/modules/imap/imap_tools.c           |   1 -
 citadel/server/modules/imap/serv_imap.c            |   1 -
 .../server/modules/inboxrules/serv_inboxrules.c    |   1 -
 citadel/server/modules/inetcfg/serv_inetcfg.c      |   1 -
 citadel/server/modules/instmsg/serv_instmsg.c      |   1 -
 .../server/modules/listdeliver/serv_listdeliver.c  |   1 -
 citadel/server/modules/listsub/serv_listsub.c      |   1 -
 citadel/server/modules/nntp/serv_nntp.c            |   1 -
 citadel/server/modules/notes/serv_notes.c          |   1 -
 citadel/server/modules/pop3/serv_pop3.c            |   1 -
 .../server/modules/pop3client/serv_pop3client.c    |   1 -
 citadel/server/modules/roomchat/serv_roomchat.c    |   1 -
 citadel/server/modules/rssclient/serv_rssclient.c  |   1 -
 citadel/server/modules/rwho/serv_rwho.c            |   1 -
 citadel/server/modules/smtp/serv_smtp.c            |   1 -
 citadel/server/modules/smtp/serv_smtpclient.c      |   1 -
 citadel/server/modules/smtp/smtp_util.c            |   1 -
 citadel/server/modules/spam/serv_spam.c            |   1 -
 citadel/server/modules/upgrade/serv_upgrade.c      |   1 -
 citadel/server/modules/vcard/serv_vcard.c          |   1 -
 citadel/server/modules/wiki/serv_wiki.c            |   1 -
 citadel/server/modules/xmpp/serv_xmpp.c            |   1 -
 citadel/server/modules/xmpp/xmpp_messages.c        |   1 -
 citadel/server/modules/xmpp/xmpp_presence.c        |   1 -
 citadel/server/modules/xmpp/xmpp_query_namespace.c |   1 -
 citadel/server/modules/xmpp/xmpp_queue.c           |   1 -
 citadel/server/modules/xmpp/xmpp_sasl_service.c    |   1 -
 citadel/server/support.c                           |   1 -
 citadel/server/sysdep.h                            | 291 ++++++++++++++++++++-
 citadel/utils/chkpw.c                              |   1 -
 citadel/utils/chkpwd.c                             |   1 -
 citadel/utils/citmail.c                            |   1 -
 citadel/utils/ctdldump.c                           |   1 -
 citadel/utils/ctdlload.c                           |   1 -
 citadel/utils/dbnothing.c                          |   1 -
 citadel/utils/loadtest.c                           |   1 -
 citadel/utils/sendcommand.c                        |   1 -
 citadel/utils/setup.c                              |   1 -
 58 files changed, 290 insertions(+), 330 deletions(-)
 delete mode 100644 citadel/server/citadel_defs.h

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099518002</link><pubDate>Fri, 25 Apr 2025 15:32:50 +0500</pubDate><title>Consolidated sysedep.h and server.h</title><guid isPermaLink="false">2099518002@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c6107a043157bad245e52b692b2cfd8a1be96c76 (commit)
      from  2d14b209f2263f34a5baeda2d55fe86b62436cbe (commit)


- Log -----------------------------------------------------------------
commit c6107a043157bad245e52b692b2cfd8a1be96c76
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 25 15:32:48 2025 -0400

Consolidated sysedep.h and server.h

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c  |   1 -
 citadel/server/citadel_dirs.c                      |   5 +-
 citadel/server/context.h                           |   1 -
 citadel/server/ctdl_module.h                       |   5 +-
 citadel/server/default_timezone.c                  |   3 +-
 citadel/server/internet_addressing.c               |   1 -
 citadel/server/internet_addressing.h               |   1 -
 citadel/server/ldap.c                              |   2 +
 citadel/server/modules/blog/serv_blog.c            |  10 +-
 .../server/modules/checkpoint/serv_checkpoint.c    |   1 -
 citadel/server/modules/clamav/serv_virus.c         |   6 +-
 citadel/server/modules/crypto/serv_crypto.c        |   1 -
 citadel/server/modules/ctdlproto/serv_ctdlproto.c  |   6 +-
 citadel/server/modules/ctdlproto/serv_messages.c   |   2 +
 citadel/server/modules/ctdlproto/serv_rooms.c      |   3 +-
 citadel/server/modules/ctdlproto/serv_session.c    |   2 +
 citadel/server/modules/ctdlproto/serv_syscmds.c    |  13 +-
 citadel/server/modules/expire/expire_policy.c      |   1 -
 citadel/server/modules/expire/serv_expire.c        |   1 -
 citadel/server/modules/fulltext/ft_wordbreaker.c   |   4 +-
 citadel/server/modules/fulltext/serv_fulltext.c    |   1 -
 citadel/server/modules/imap/imap_acl.c             |   8 +-
 citadel/server/modules/imap/imap_fetch.c           |   5 +-
 citadel/server/modules/imap/imap_list.c            |  23 +--
 citadel/server/modules/imap/imap_metadata.c        |  26 +--
 citadel/server/modules/imap/imap_misc.c            |   1 -
 citadel/server/modules/imap/imap_search.c          |   5 +-
 citadel/server/modules/imap/imap_store.c           |   6 +-
 citadel/server/modules/imap/imap_tools.c           |   4 +-
 citadel/server/modules/imap/serv_imap.c            |   1 -
 .../server/modules/inboxrules/serv_inboxrules.c    |   1 -
 citadel/server/modules/inetcfg/serv_inetcfg.c      |   4 +-
 citadel/server/modules/instmsg/serv_instmsg.c      |   1 -
 .../server/modules/listdeliver/serv_listdeliver.c  |   3 +-
 citadel/server/modules/listsub/serv_listsub.c      |   3 +-
 citadel/server/modules/nntp/serv_nntp.c            |   6 +-
 citadel/server/modules/notes/serv_notes.c          |   4 +-
 citadel/server/modules/pop3/serv_pop3.c            |   3 +-
 .../server/modules/pop3client/serv_pop3client.c    |  10 +-
 citadel/server/modules/roomchat/serv_roomchat.c    |   1 -
 citadel/server/modules/rssclient/serv_rssclient.c  |   8 +-
 citadel/server/modules/rwho/serv_rwho.c            |   3 +-
 citadel/server/modules/smtp/dkim_bindings.c        |   4 +-
 citadel/server/modules/smtp/serv_smtp.c            |   1 -
 citadel/server/modules/smtp/serv_smtpclient.c      |   5 +-
 citadel/server/modules/smtp/smtp_util.c            |   1 -
 citadel/server/modules/spam/serv_spam.c            |   8 +-
 citadel/server/modules/upgrade/serv_upgrade.c      |   1 -
 citadel/server/modules/vcard/serv_vcard.c          |  11 +-
 citadel/server/modules/wiki/serv_wiki.c            |   3 +-
 citadel/server/modules/xmpp/serv_xmpp.c            |   1 -
 citadel/server/modules/xmpp/xmpp_messages.c        |   3 +-
 citadel/server/modules/xmpp/xmpp_presence.c        |   1 -
 citadel/server/modules/xmpp/xmpp_query_namespace.c |   1 -
 citadel/server/modules/xmpp/xmpp_queue.c           |   3 +-
 citadel/server/modules/xmpp/xmpp_sasl_service.c    |   7 +-
 citadel/server/room_ops.c                          |   2 +
 citadel/server/serv_extensions.c                   |   4 +-
 citadel/server/serv_extensions.h                   |   1 -
 citadel/server/server.h                            | 193 --------------------
 citadel/server/server_main.c                       |   2 +
 citadel/server/sysdep.h                            | 195 ++++++++++++++++++++-
 citadel/server/usetable.c                          |   2 +
 citadel/server/visit.c                             |   4 +-
 citadel/server/visit.h                             |  13 +-
 citadel/utils/chkpw.c                              |   6 +-
 citadel/utils/chkpwd.c                             |   8 +-
 citadel/utils/citmail.c                            |   3 +-
 citadel/utils/ctdldump.c                           |   3 +-
 citadel/utils/ctdlload.c                           |   3 +-
 citadel/utils/dbnothing.c                          |   3 +-
 citadel/utils/loadtest.c                           |   5 +-
 citadel/utils/sendcommand.c                        |   5 +-
 citadel/utils/setup.c                              |   5 +-
 74 files changed, 301 insertions(+), 402 deletions(-)
 delete mode 100644 citadel/server/server.h

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517987</link><pubDate>Fri, 25 Apr 2025 15:06:42 +0500</pubDate><title>berkeley_db.c: reorder includes</title><guid isPermaLink="false">2099517987@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2d14b209f2263f34a5baeda2d55fe86b62436cbe (commit)
      from  be32162be7f241c93fe4fd00555f0735db2db527 (commit)


- Log -----------------------------------------------------------------
commit 2d14b209f2263f34a5baeda2d55fe86b62436cbe
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 25 15:06:38 2025 -0400

berkeley_db.c: reorder includes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517904</link><pubDate>Thu, 24 Apr 2025 23:12:28 +0500</pubDate><title>More shuffling of headers around</title><guid isPermaLink="false">2099517904@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  be32162be7f241c93fe4fd00555f0735db2db527 (commit)
      from  a843d55b46b2bff62d52f64ac6223ca92449d1f1 (commit)


- Log -----------------------------------------------------------------
commit be32162be7f241c93fe4fd00555f0735db2db527
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Apr 24 20:12:26 2025 -0700

More shuffling of headers around

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c   |  2 +-
 citadel/server/citadel_defs.h                       |  8 ++------
 citadel/server/citserver.c                          |  2 +-
 citadel/server/context.c                            |  2 +-
 citadel/server/euidindex.c                          |  2 +-
 citadel/server/housekeeping.c                       |  6 +-----
 citadel/server/locate_host.h                        |  3 +++
 citadel/server/modules/checkpoint/serv_checkpoint.c |  7 ++-----
 citadel/server/modules/crypto/serv_crypto.c         |  2 +-
 citadel/server/modules/ctdlproto/serv_user.c        | 11 +----------
 citadel/server/msgbase.c                            |  2 +-
 citadel/server/room_ops.c                           |  2 +-
 citadel/server/serv_extensions.c                    |  2 +-
 citadel/server/server.h                             |  2 +-
 citadel/server/support.h                            |  4 +---
 citadel/server/sysdep.c                             |  2 +-
 citadel/server/threads.c                            |  2 +-
 citadel/server/user_ops.c                           |  2 +-
 citadel/server/usetable.c                           |  2 +-
 19 files changed, 23 insertions(+), 42 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517898</link><pubDate>Thu, 24 Apr 2025 22:57:19 +0500</pubDate><title>threads.h: don&#39;t include includes</title><guid isPermaLink="false">2099517898@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a843d55b46b2bff62d52f64ac6223ca92449d1f1 (commit)
      from  81b26395f29813c388673f496cfaa630c9fd65f6 (commit)


- Log -----------------------------------------------------------------
commit a843d55b46b2bff62d52f64ac6223ca92449d1f1
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Apr 24 19:57:17 2025 -0700

threads.h: don't include includes

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/threads.h | 8 --------
 1 file changed, 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517897</link><pubDate>Thu, 24 Apr 2025 22:54:44 +0500</pubDate><title>includes including other includes is non-inclusive.</title><guid isPermaLink="false">2099517897@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  81b26395f29813c388673f496cfaa630c9fd65f6 (commit)
      from  f301c6e3528c401b491b4297e9ebb15dce52ccf6 (commit)


- Log -----------------------------------------------------------------
commit 81b26395f29813c388673f496cfaa630c9fd65f6
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Apr 24 19:54:42 2025 -0700

includes including other includes is non-inclusive.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c   |  9 +++++++++
 citadel/server/citserver.c                          |  1 +
 citadel/server/config.c                             |  1 +
 citadel/server/context.c                            |  1 +
 citadel/server/control.c                            |  1 +
 citadel/server/euidindex.c                          |  1 +
 citadel/server/housekeeping.c                       |  1 +
 citadel/server/modules/checkpoint/serv_checkpoint.c |  1 +
 citadel/server/modules/ctdlproto/serv_messages.c    |  1 +
 citadel/server/modules/ctdlproto/serv_rooms.c       |  1 +
 citadel/server/modules/ctdlproto/serv_user.c        |  1 +
 citadel/server/msgbase.c                            |  1 +
 citadel/server/room_ops.c                           |  1 +
 citadel/server/serv_extensions.c                    |  3 ++-
 citadel/server/sysdep.c                             |  1 +
 citadel/server/sysdep_decls.h                       | 10 ----------
 citadel/server/threads.c                            |  7 ++++---
 citadel/server/user_ops.c                           |  1 +
 citadel/server/usetable.c                           |  1 +
 19 files changed, 30 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517675</link><pubDate>Tue, 22 Apr 2025 23:32:36 +0500</pubDate><title>worked on listserv panel</title><guid isPermaLink="false">2099517675@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f301c6e3528c401b491b4297e9ebb15dce52ccf6 (commit)
      from  d8b207fab4211cfa4a0dac0d1f63d70674ebb527 (commit)


- Log -----------------------------------------------------------------
commit f301c6e3528c401b491b4297e9ebb15dce52ccf6
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 22 23:32:34 2025 -0400

worked on listserv panel

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  8 ++++----
 webcit-ng/static/js/edit_room.js | 18 +++++++++++-------
 2 files changed, 15 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517672</link><pubDate>Tue, 22 Apr 2025 23:09:14 +0500</pubDate><title>Cribbed more messages from the webcit-classic catalog, so as to not lose the translations.</title><guid isPermaLink="false">2099517672@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d8b207fab4211cfa4a0dac0d1f63d70674ebb527 (commit)
      from  8da5de61ba39fd6c91b85b010fc3821018579806 (commit)


- Log -----------------------------------------------------------------
commit d8b207fab4211cfa4a0dac0d1f63d70674ebb527
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 22 23:09:11 2025 -0400

Cribbed more messages from the webcit-classic catalog, so as to not lose the translations.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js            | 17 +++++++++++++++++
 webcit/po/webcit/ar.po                      |  8 ++++----
 webcit/po/webcit/bg.po                      |  8 ++++----
 webcit/po/webcit/cs.po                      |  8 ++++----
 webcit/po/webcit/da.po                      |  8 ++++----
 webcit/po/webcit/de.po                      |  8 ++++----
 webcit/po/webcit/el.po                      |  8 ++++----
 webcit/po/webcit/en_GB.po                   | 16 ++++++++--------
 webcit/po/webcit/es.po                      |  8 ++++----
 webcit/po/webcit/et.po                      |  8 ++++----
 webcit/po/webcit/fi.po                      |  8 ++++----
 webcit/po/webcit/fr.po                      |  8 ++++----
 webcit/po/webcit/he.po                      |  8 ++++----
 webcit/po/webcit/hu.po                      |  8 ++++----
 webcit/po/webcit/it.po                      |  8 ++++----
 webcit/po/webcit/kk.po                      |  8 ++++----
 webcit/po/webcit/ko.po                      |  8 ++++----
 webcit/po/webcit/nl.po                      |  8 ++++----
 webcit/po/webcit/pl.po                      |  8 ++++----
 webcit/po/webcit/pt_BR.po                   |  8 ++++----
 webcit/po/webcit/ro.po                      |  8 ++++----
 webcit/po/webcit/ru.po                      |  8 ++++----
 webcit/po/webcit/sl.po                      |  8 ++++----
 webcit/po/webcit/sv.po                      |  8 ++++----
 webcit/po/webcit/tr.po                      |  8 ++++----
 webcit/po/webcit/webcit.pot                 |  8 ++++----
 webcit/po/webcit/zh.po                      |  8 ++++----
 webcit/static/t/room/edit/tab_listserv.html |  2 +-
 28 files changed, 126 insertions(+), 109 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517663</link><pubDate>Tue, 22 Apr 2025 22:03:38 +0500</pubDate><title>sendcommand: accept new &#39;-r&#39; option to run in a specific room</title><guid isPermaLink="false">2099517663@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8da5de61ba39fd6c91b85b010fc3821018579806 (commit)
      from  5de448060f6888b656e4517e1792eb8751a4ecde (commit)


- Log -----------------------------------------------------------------
commit 8da5de61ba39fd6c91b85b010fc3821018579806
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 22 22:01:43 2025 -0400

sendcommand: accept new '-r' option to run in a specific room

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/sendcommand.c | 26 +++++++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517650</link><pubDate>Tue, 22 Apr 2025 18:22:20 +0500</pubDate><title>Message #2099517650</title><guid isPermaLink="false">2099517650@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1011 has been created
        at  2f3bb884964e25d22fcaa3c4dc908b5d88b0cc13 (tag)
   tagging  5de448060f6888b656e4517e1792eb8751a4ecde (commit)
  replaces  v1010
 tagged by  Art Cancro
        on  Tue Apr 22 18:22:18 2025 -0400

- Log -----------------------------------------------------------------
Version 1011 release

Art Cancro (50):
      webcit-ng: brought the new OpenSSL error handler over from webcit-classic
      webcit-ng: cleaned up OpenSSL error handling.
      serv_rooms.c: added an option to the WHOK server command to have it show both users who do AND do not have access to the room.  This will be used for the access control screen in webcit-ng
      All references to a username field now use USERNAME_SIZE.  There were a few places that still had a numeric value.
      textclient: uniform color across the status line
      USERNAME_SIZE is 64 bytes. Found some places where the constant 64 was used and replaced with USERNAME_SIZE
      room_functions.c: completed the /ctdl/r/xxx/access API function
      New subclass 'ctdl-formgrid-fieldset-stdwidth' to use when you have more than one of them on the same screen and it looks funny when they are all different widths.
      When expanding one of the room edit panels, scroll it into view as much as possible.
      Room edit is now a true accordion where expanding one block collapses all the others.
      edit_room.js: began populating the invite/kick dialog.
      Skeleton code for invite/kick room access.
      xmpp_query_namespace.c: convert to C99 comment style
      serv_rooms.c: update to current coding style
      xmpp_presence.c: updated to current coding standards
      smtp_util.c: updated to current coding standards
      crc16.c: update to current coding standards
      serv_user.c: removed an old style comment
      serv_session.c: updated to current coding standards
      serv_instmsg.c
      serv_roomchat.c: update to current coding style
      webcit-ng room access invite/kick complete!
      you have to read this commit to find out what's in it
      Room config accordion now works clicking anywhere on the legend.
      serv_imap.c: update to current style guidelines
      serv_imap.h: update to current style guidelines
      imap_misc.c: update to current style guidelines
      citserver: default TLS cipher list is now DEFAULT
      Reactivate TLS to the server if possible, also changed Encrypted/Unencrypted in the status bar to lock/unlock unicode icons.
      Refuse to accept new messages if there is less than 100 MB free on disk
      The helpful Citadel Aide now posts a message to alert the administrator of software upgrades.
      netconfig.c: remove support for converting legacy netconfig files
      Removed support for upgrading Citadel databases earlier than version 901.
      CtdlGetCurrentMessageNumber() - removed.  No longer used anywhere.
      cmd_gnet() : filter out lines with invalid key names
      Move netconfig sanitizer to LoadRoomNetConfigFile()
      cmd_gnet() still tokenizes and outputs one line at a time now.
      Last bit of sanitization.  Always null terminate!
      ENCODE NULL TERMINATOR IDIOT
      cmd_snet() now sanitizes input for valid config key types too.
      Random acts of cleanup
      Removed unimplemented option 'moderated mailing list'
      Began work on mailing list config screen
      Moved legacy RoomNetCfg types from libcitadel into webcit-classic.
      webcit-classic: removed 'participate' mode from config screen.
      netconfig.c: auto-convert the obsolete 'digestrecp' key to 'listrecp'
      Remove the digest dialog from room edit
      webcit-ng: new API call /ctdl/r/<roomname>/listrecp
      webcit-ng: room deletion now uses a prompt that is already in the message catalog.
      Release version 1011 generated by do-release.sh

Harlow Solutions (1):
      Add error checking to locate_host() and return truncated host name rather than blank.

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517649</link><pubDate>Tue, 22 Apr 2025 18:22:19 +0500</pubDate><title>Release version 1011 generated by do-release.sh</title><guid isPermaLink="false">2099517649@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5de448060f6888b656e4517e1792eb8751a4ecde (commit)
      from  de874eaf1066e4489c0772f8483af94d38f5fd09 (commit)


- Log -----------------------------------------------------------------
commit 5de448060f6888b656e4517e1792eb8751a4ecde
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 22 18:22:18 2025 -0400

Release version 1011 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517557</link><pubDate>Mon, 21 Apr 2025 23:47:28 +0500</pubDate><title>webcit-ng: room deletion now uses a prompt that is already in the message catalog.</title><guid isPermaLink="false">2099517557@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  de874eaf1066e4489c0772f8483af94d38f5fd09 (commit)
      from  a34e82d9819581ee14ba1bb05d0d666d1301a44d (commit)


- Log -----------------------------------------------------------------
commit de874eaf1066e4489c0772f8483af94d38f5fd09
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 21 23:47:26 2025 -0400

webcit-ng: room deletion now uses a prompt that is already in the message catalog.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517554</link><pubDate>Mon, 21 Apr 2025 23:27:50 +0500</pubDate><title>webcit-ng: new API call /ctdl/r/&lt;roomname&gt;/listrecp</title><guid isPermaLink="false">2099517554@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a34e82d9819581ee14ba1bb05d0d666d1301a44d (commit)
       via  2cf452d22586cbf6331dea5646d0517c1f23b45a (commit)
      from  774a6ebf4d19c49e87c2e1dff7bc159fc15b38fe (commit)


- Log -----------------------------------------------------------------
commit a34e82d9819581ee14ba1bb05d0d666d1301a44d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 21 23:27:48 2025 -0400

webcit-ng: new API call /ctdl/r/<roomname>/listrecp

This produces a JSON-formatted array of email addresses which are subscribed to
the room as a mailing list.

commit 2cf452d22586cbf6331dea5646d0517c1f23b45a
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 21 22:58:52 2025 -0400

Remove the digest dialog from room edit

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/netconfig.c                  |  2 ++
 webcit-ng/docs/api.txt                      |  2 +-
 webcit-ng/server/room_functions.c           | 34 +++++++++++++++++++++++++++++
 webcit/static/t/room/edit/tab_listserv.html | 28 +++++-------------------
 4 files changed, 42 insertions(+), 24 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517550</link><pubDate>Mon, 21 Apr 2025 22:50:40 +0500</pubDate><title>netconfig.c: auto-convert the obsolete &#39;digestrecp&#39; key to &#39;listrecp&#39;</title><guid isPermaLink="false">2099517550@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  774a6ebf4d19c49e87c2e1dff7bc159fc15b38fe (commit)
      from  d4e315f91027b2f25b2617e9a28c9bb9832739e8 (commit)


- Log -----------------------------------------------------------------
commit 774a6ebf4d19c49e87c2e1dff7bc159fc15b38fe
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 21 22:50:38 2025 -0400

netconfig.c: auto-convert the obsolete 'digestrecp' key to 'listrecp'

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/netconfig.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517546</link><pubDate>Mon, 21 Apr 2025 22:23:13 +0500</pubDate><title>webcit-classic: removed &#39;participate&#39; mode from config screen.</title><guid isPermaLink="false">2099517546@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d4e315f91027b2f25b2617e9a28c9bb9832739e8 (commit)
      from  4aa261e4989257d55e2def46f5440d46613a3f92 (commit)


- Log -----------------------------------------------------------------
commit d4e315f91027b2f25b2617e9a28c9bb9832739e8
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 21 22:23:11 2025 -0400

webcit-classic: removed 'participate' mode from config screen.

This mode doesn't exist anymore, and the regular mode actually works better
for the intended purpose.

-----------------------------------------------------------------------

Summary of changes:
 webcit/static/t/room/edit/tab_listserv.html | 27 ---------------------------
 1 file changed, 27 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517393</link><pubDate>Sun, 20 Apr 2025 18:14:59 +0500</pubDate><title>Moved legacy RoomNetCfg types from libcitadel into webcit-classic.</title><guid isPermaLink="false">2099517393@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4aa261e4989257d55e2def46f5440d46613a3f92 (commit)
      from  566eebee142c5276ba8f9a99413dfb6228028c01 (commit)


- Log -----------------------------------------------------------------
commit 4aa261e4989257d55e2def46f5440d46613a3f92
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Apr 20 18:14:57 2025 -0400

Moved legacy RoomNetCfg types from libcitadel into webcit-classic.

These represent a programming style we don't use in this project anymore, and they were
only used in webcit-classic, so we moved them there to die when webcit-classic is retired.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.c | 19 +------------------
 libcitadel/lib/libcitadel.h | 15 ---------------
 webcit-ng/docs/api.txt      |  1 +
 webcit/roomlist.c           | 41 +++++++++++++++++++++--------------------
 webcit/roomops.h            | 16 ++++++++++++++++
 5 files changed, 39 insertions(+), 53 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517136</link><pubDate>Fri, 18 Apr 2025 22:05:22 +0500</pubDate><title>Began work on mailing list config screen</title><guid isPermaLink="false">2099517136@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  566eebee142c5276ba8f9a99413dfb6228028c01 (commit)
      from  09ae60129739dbba23b49f6b0b7e833293d335e2 (commit)


- Log -----------------------------------------------------------------
commit 566eebee142c5276ba8f9a99413dfb6228028c01
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 18 22:05:18 2025 -0400

Began work on mailing list config screen

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c |  4 +++-
 webcit-ng/static/js/edit_room.js  | 13 ++++++++++---
 2 files changed, 13 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517127</link><pubDate>Fri, 18 Apr 2025 20:51:57 +0500</pubDate><title>Removed unimplemented option &#39;moderated mailing list&#39;</title><guid isPermaLink="false">2099517127@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  09ae60129739dbba23b49f6b0b7e833293d335e2 (commit)
      from  71c7ca92bb2fb4d484b593e5d691f9c6b66c3785 (commit)


- Log -----------------------------------------------------------------
commit 09ae60129739dbba23b49f6b0b7e833293d335e2
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 18 20:51:54 2025 -0400

Removed unimplemented option 'moderated mailing list'

Why did we even have that?  We've never had that feature but it's offered in the
room flags and in every client.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.h                 |  4 ++--
 textclient/rooms.c                          |  4 ++--
 webcit-ng/server/room_functions.c           |  2 +-
 webcit-ng/static/js/edit_room.js            | 19 +++++++++++++++++++
 webcit/roomops.c                            | 22 ++++++++--------------
 webcit/static/t/room/edit/tab_listserv.html |  5 +++--
 6 files changed, 35 insertions(+), 21 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099517109</link><pubDate>Fri, 18 Apr 2025 18:58:48 +0500</pubDate><title>Random acts of cleanup</title><guid isPermaLink="false">2099517109@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  71c7ca92bb2fb4d484b593e5d691f9c6b66c3785 (commit)
      from  86bf592a3b0703f911bab4901f95ce9212b6ac02 (commit)


- Log -----------------------------------------------------------------
commit 71c7ca92bb2fb4d484b593e5d691f9c6b66c3785
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 18 18:58:45 2025 -0400

Random acts of cleanup

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/imap/imap_fetch.c      | 14 ++++----------
 citadel/server/modules/listsub/serv_listsub.c | 14 ++------------
 citadel/server/modules/smtp/smtp_util.c       |  9 ++-------
 citadel/server/modules/xmpp/xmpp_messages.c   | 27 ++++++---------------------
 citadel/server/netconfig.c                    |  3 +--
 5 files changed, 15 insertions(+), 52 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516786</link><pubDate>Wed, 16 Apr 2025 14:20:27 +0500</pubDate><title>cmd_snet() now sanitizes input for valid config key types too.</title><guid isPermaLink="false">2099516786@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  86bf592a3b0703f911bab4901f95ce9212b6ac02 (commit)
      from  e8370e39482ab15b4c4b636a4e057c9a7b66f33a (commit)


- Log -----------------------------------------------------------------
commit 86bf592a3b0703f911bab4901f95ce9212b6ac02
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 16 14:20:25 2025 -0400

cmd_snet() now sanitizes input for valid config key types too.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/netconfig.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516774</link><pubDate>Wed, 16 Apr 2025 12:53:05 +0500</pubDate><title>ENCODE NULL TERMINATOR IDIOT</title><guid isPermaLink="false">2099516774@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e8370e39482ab15b4c4b636a4e057c9a7b66f33a (commit)
      from  ea69f16e2a1848f43aa5c7e52c82fea2802ca44b (commit)


- Log -----------------------------------------------------------------
commit e8370e39482ab15b4c4b636a4e057c9a7b66f33a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 16 12:53:03 2025 -0400

ENCODE NULL TERMINATOR IDIOT

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/netconfig.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516770</link><pubDate>Wed, 16 Apr 2025 12:17:58 +0500</pubDate><title>Last bit of sanitization. Always null terminate!</title><guid isPermaLink="false">2099516770@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ea69f16e2a1848f43aa5c7e52c82fea2802ca44b (commit)
      from  d89a7345f0033a06e53e1c69e576688e37c40228 (commit)


- Log -----------------------------------------------------------------
commit ea69f16e2a1848f43aa5c7e52c82fea2802ca44b
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 16 12:17:56 2025 -0400

Last bit of sanitization.  Always null terminate!

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/netconfig.c | 44 ++++++++++++++++++++++++++------------------
 1 file changed, 26 insertions(+), 18 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516762</link><pubDate>Wed, 16 Apr 2025 11:37:38 +0500</pubDate><title>cmd_gnet() still tokenizes and outputs one line at a time now.</title><guid isPermaLink="false">2099516762@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d89a7345f0033a06e53e1c69e576688e37c40228 (commit)
      from  a49ad121b3b29023b13133b2cc81d2c229e54b03 (commit)


- Log -----------------------------------------------------------------
commit d89a7345f0033a06e53e1c69e576688e37c40228
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 16 11:37:36 2025 -0400

cmd_gnet() still tokenizes and outputs one line at a time now.
Even though it doesn't have to, we've already written the tokenizer and doing it this
way is more consistent with the rest of the protocol.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/netconfig.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516761</link><pubDate>Wed, 16 Apr 2025 11:35:56 +0500</pubDate><title>Move netconfig sanitizer to LoadRoomNetConfigFile()</title><guid isPermaLink="false">2099516761@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a49ad121b3b29023b13133b2cc81d2c229e54b03 (commit)
      from  4fe4b966f7162034d404274e1c1dc807946ff00a (commit)


- Log -----------------------------------------------------------------
commit a49ad121b3b29023b13133b2cc81d2c229e54b03
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 16 11:35:53 2025 -0400

Move netconfig sanitizer to LoadRoomNetConfigFile()

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/netconfig.c | 50 ++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 42 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516758</link><pubDate>Wed, 16 Apr 2025 11:15:43 +0500</pubDate><title>cmd_gnet() : filter out lines with invalid key names</title><guid isPermaLink="false">2099516758@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4fe4b966f7162034d404274e1c1dc807946ff00a (commit)
      from  44a7c56a0e6f46355e12a639151ef45495c3d709 (commit)


- Log -----------------------------------------------------------------
commit 4fe4b966f7162034d404274e1c1dc807946ff00a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 16 11:15:40 2025 -0400

cmd_gnet() : filter out lines with invalid key names

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/netconfig.c | 31 ++++++++++++++++++++++++++-----
 1 file changed, 26 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516695</link><pubDate>Tue, 15 Apr 2025 19:47:39 +0500</pubDate><title>CtdlGetCurrentMessageNumber() - removed. No longer used anywhere.</title><guid isPermaLink="false">2099516695@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  44a7c56a0e6f46355e12a639151ef45495c3d709 (commit)
      from  9f099af6f73ef4d99f5a552cd297a3312e39d2dd (commit)


- Log -----------------------------------------------------------------
commit 44a7c56a0e6f46355e12a639151ef45495c3d709
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 15 19:47:37 2025 -0400

CtdlGetCurrentMessageNumber() - removed.  No longer used anywhere.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/control.c     | 11 -----------
 citadel/server/ctdl_module.h |  9 ---------
 2 files changed, 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516694</link><pubDate>Tue, 15 Apr 2025 19:44:22 +0500</pubDate><title>Removed support for upgrading Citadel databases earlier than version 901.</title><guid isPermaLink="false">2099516694@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9f099af6f73ef4d99f5a552cd297a3312e39d2dd (commit)
      from  197a6dd59fb041c1b7243d94677502cf5e868521 (commit)


- Log -----------------------------------------------------------------
commit 9f099af6f73ef4d99f5a552cd297a3312e39d2dd
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 15 19:44:20 2025 -0400

Removed support for upgrading Citadel databases earlier than version 901.

This is consistent with our policy of supporting the upgrade of Citadel versions up
to ten years old.  Beyond that, you'll have to step up through a few older versions,
which seems reasonable now that we're leaving older versions in Docker Hub.  Or you
can pull old versions from git and build them.  If you're so lazy that you can't do
an upgrade in more than ten years, I'll do it for a fee.  It won't be cheap.  :)

Since the server will now refuse to start if the existing database is older than
version 901, we have now removed the following data conversion processes:

1. System configuration stored in a citadel.config file
2. Control records stored in a citadel.control file
3. Room networking configurations stored in files in netconfig/ directory

It's all in the database now.  And since the database is now so yummy, we should all
be happy about that.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citserver.c                    |   1 -
 citadel/server/config.c                       | 104 +-------------------------
 citadel/server/config.h                       |  87 +--------------------
 citadel/server/control.c                      |  44 +----------
 citadel/server/control.h                      |   3 +-
 citadel/server/modules/upgrade/serv_upgrade.c |   8 +-
 6 files changed, 6 insertions(+), 241 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516691</link><pubDate>Tue, 15 Apr 2025 19:27:24 +0500</pubDate><title>netconfig.c: remove support for converting legacy netconfig files</title><guid isPermaLink="false">2099516691@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  197a6dd59fb041c1b7243d94677502cf5e868521 (commit)
      from  883042ecd6ccb290395208dc5ff5a8251f71c5ed (commit)


- Log -----------------------------------------------------------------
commit 197a6dd59fb041c1b7243d94677502cf5e868521
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 15 19:27:21 2025 -0400

netconfig.c: remove support for converting legacy netconfig files

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/netconfig.c                  | 52 ++---------------------------
 webcit/po/webcit/ar.po                      |  2 +-
 webcit/po/webcit/bg.po                      |  2 +-
 webcit/po/webcit/cs.po                      |  2 +-
 webcit/po/webcit/da.po                      |  2 +-
 webcit/po/webcit/de.po                      |  2 +-
 webcit/po/webcit/el.po                      |  2 +-
 webcit/po/webcit/en_GB.po                   |  2 +-
 webcit/po/webcit/es.po                      |  2 +-
 webcit/po/webcit/et.po                      |  2 +-
 webcit/po/webcit/fi.po                      |  2 +-
 webcit/po/webcit/fr.po                      |  2 +-
 webcit/po/webcit/he.po                      |  2 +-
 webcit/po/webcit/hu.po                      |  2 +-
 webcit/po/webcit/it.po                      |  2 +-
 webcit/po/webcit/kk.po                      |  2 +-
 webcit/po/webcit/ko.po                      |  2 +-
 webcit/po/webcit/nl.po                      |  2 +-
 webcit/po/webcit/pl.po                      |  2 +-
 webcit/po/webcit/pt_BR.po                   |  2 +-
 webcit/po/webcit/ro.po                      |  2 +-
 webcit/po/webcit/ru.po                      |  2 +-
 webcit/po/webcit/sl.po                      |  2 +-
 webcit/po/webcit/sv.po                      |  2 +-
 webcit/po/webcit/tr.po                      |  2 +-
 webcit/po/webcit/webcit.pot                 |  2 +-
 webcit/po/webcit/zh.po                      |  2 +-
 webcit/static/t/room/edit/tab_listserv.html |  2 +-
 28 files changed, 29 insertions(+), 77 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516539</link><pubDate>Mon, 14 Apr 2025 13:53:48 +0500</pubDate><title>The helpful Citadel Aide now posts a message to alert the administrator of software upgrades.</title><guid isPermaLink="false">2099516539@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  883042ecd6ccb290395208dc5ff5a8251f71c5ed (commit)
      from  79dfa5ba02d7236d87d8d5a842aa89944be84582 (commit)


- Log -----------------------------------------------------------------
commit 883042ecd6ccb290395208dc5ff5a8251f71c5ed
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 14 13:53:45 2025 -0400

The helpful Citadel Aide now posts a message to alert the administrator of software upgrades.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/upgrade/serv_upgrade.c | 29 ++++++++++++---------------
 1 file changed, 13 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516451</link><pubDate>Sun, 13 Apr 2025 23:15:37 +0500</pubDate><title>Refuse to accept new messages if there is less than 100 MB free on disk</title><guid isPermaLink="false">2099516451@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  79dfa5ba02d7236d87d8d5a842aa89944be84582 (commit)
      from  f48128cb96e6f9d288038ebe6dc1c97b53feffc4 (commit)


- Log -----------------------------------------------------------------
commit 79dfa5ba02d7236d87d8d5a842aa89944be84582
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Apr 13 23:15:35 2025 -0400

Refuse to accept new messages if there is less than 100 MB free on disk

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/common/database.c         | 37 ++++++++++++++++++++++-
 citadel/server/citserver.c                        |  4 +++
 citadel/server/database.h                         |  4 +--
 citadel/server/modules/ctdlproto/serv_messages.c  | 14 +++++----
 citadel/server/modules/fulltext/serv_fulltext.c   | 14 ++++++---
 citadel/server/modules/rssclient/serv_rssclient.c | 16 ++++++----
 citadel/server/modules/smtp/serv_smtp.c           |  8 ++++-
 libcitadel/lib/libcitadel.h                       |  1 +
 8 files changed, 77 insertions(+), 21 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516084</link><pubDate>Thu, 10 Apr 2025 22:46:02 +0500</pubDate><title>Reactivate TLS to the server if possible, also changed Encrypted/Unencrypted in the status bar to lock/unlock unicode icons.</title><guid isPermaLink="false">2099516084@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f48128cb96e6f9d288038ebe6dc1c97b53feffc4 (commit)
      from  0cb966bfd340932847acfcecad20712befbce689 (commit)


- Log -----------------------------------------------------------------
commit f48128cb96e6f9d288038ebe6dc1c97b53feffc4
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Apr 10 22:45:55 2025 -0400

Reactivate TLS to the server if possible, also changed Encrypted/Unencrypted in the status bar to lock/unlock unicode icons.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099516082</link><pubDate>Thu, 10 Apr 2025 22:35:56 +0500</pubDate><title>citserver: default TLS cipher list is now DEFAULT</title><guid isPermaLink="false">2099516082@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0cb966bfd340932847acfcecad20712befbce689 (commit)
      from  242fcc12b6d3f3a0155c71e9e0f44c6ff9b79c4b (commit)


- Log -----------------------------------------------------------------
commit 0cb966bfd340932847acfcecad20712befbce689
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Apr 10 19:35:52 2025 -0700

citserver: default TLS cipher list is now DEFAULT

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/crypto/serv_crypto.c | 7 +++----
 citadel/server/modules/crypto/serv_crypto.h | 7 +++----
 webcit/crypto.c                             | 3 +--
 3 files changed, 7 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515712</link><pubDate>Tue, 08 Apr 2025 17:15:49 +0500</pubDate><title>imap_misc.c: update to current style guidelines</title><guid isPermaLink="false">2099515712@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  242fcc12b6d3f3a0155c71e9e0f44c6ff9b79c4b (commit)
      from  00dc1b76e66b008d38c735843360e82426901ada (commit)


- Log -----------------------------------------------------------------
commit 242fcc12b6d3f3a0155c71e9e0f44c6ff9b79c4b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 8 14:15:46 2025 -0700

imap_misc.c: update to current style guidelines

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/imap/imap_misc.c | 130 +++++++++++---------------------
 1 file changed, 46 insertions(+), 84 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515711</link><pubDate>Tue, 08 Apr 2025 17:10:58 +0500</pubDate><title>serv_imap.h: update to current style guidelines</title><guid isPermaLink="false">2099515711@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  00dc1b76e66b008d38c735843360e82426901ada (commit)
      from  d6b24e4a511bbc40a7279b1e7a1dc2996cccabc3 (commit)


- Log -----------------------------------------------------------------
commit 00dc1b76e66b008d38c735843360e82426901ada
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 8 14:10:55 2025 -0700

serv_imap.h: update to current style guidelines

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/imap/serv_imap.h | 62 ++++++++++++++-------------------
 1 file changed, 27 insertions(+), 35 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515710</link><pubDate>Tue, 08 Apr 2025 17:07:44 +0500</pubDate><title>serv_imap.c: update to current style guidelines</title><guid isPermaLink="false">2099515710@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d6b24e4a511bbc40a7279b1e7a1dc2996cccabc3 (commit)
      from  467eda9260ef20faf6903a7e9e35e9a667d94ede (commit)


- Log -----------------------------------------------------------------
commit d6b24e4a511bbc40a7279b1e7a1dc2996cccabc3
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 8 14:07:40 2025 -0700

serv_imap.c: update to current style guidelines

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/imap/serv_imap.c | 119 ++++++++++----------------------
 1 file changed, 38 insertions(+), 81 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515597</link><pubDate>Mon, 07 Apr 2025 23:27:03 +0500</pubDate><title>Room config accordion now works clicking anywhere on the legend.</title><guid isPermaLink="false">2099515597@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  467eda9260ef20faf6903a7e9e35e9a667d94ede (commit)
      from  f81f8c11b27aaf1efa64a669ecc11ebd21343d1d (commit)


- Log -----------------------------------------------------------------
commit 467eda9260ef20faf6903a7e9e35e9a667d94ede
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 7 23:27:00 2025 -0400

Room config accordion now works clicking anywhere on the legend.

It was definitely annoying to have to sharpshoot the little + or - box on the left side
of the legend, and since we now implement the more traditional style of automatically closing
all other boxes when a new one is opened, it made more sense to do it this way.  Click on
any legend and it will open that dialog, closing all the other ones.

I expect we'll use this in several other places.

And tomorrow I'll probably discover that there's now a makeIntoAccordion() method that's been
built into the browsers for the last few years.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 62 ++++++++++++++++++----------------------
 1 file changed, 28 insertions(+), 34 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515537</link><pubDate>Mon, 07 Apr 2025 13:16:00 +0500</pubDate><title>you have to read this commit to find out what&#39;s in it</title><guid isPermaLink="false">2099515537@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f81f8c11b27aaf1efa64a669ecc11ebd21343d1d (commit)
      from  b29eb5eaf8a7e1a5639df67f92faa509df2d59cc (commit)


- Log -----------------------------------------------------------------
commit f81f8c11b27aaf1efa64a669ecc11ebd21343d1d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 7 13:15:49 2025 -0400

you have to read this commit to find out what's in it

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c | 48 +++++++++++------------
 citadel/server/user_ops.c                         | 20 +++-------
 2 files changed, 30 insertions(+), 38 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515469</link><pubDate>Mon, 07 Apr 2025 01:30:52 +0500</pubDate><title>Add error checking to locate_host() and return truncated host name rather than blank.</title><guid isPermaLink="false">2099515469@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b29eb5eaf8a7e1a5639df67f92faa509df2d59cc (commit)
      from  9898d4501844a263451d0ab3f40a3e6c78d1aefe (commit)


- Log -----------------------------------------------------------------
commit b29eb5eaf8a7e1a5639df67f92faa509df2d59cc
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Mon Apr 7 01:30:23 2025 -0400

Add error checking to locate_host() and return truncated host name rather than blank.

Encountered core dump from getnameinfo() during DOS attack.  From dump, looked like getpeername()
must have errored and address data was corupted.
When the return buffer for getnameinfo() is too small or errors, the function does not put anything into the buffer.
Switched to using a large buffer and then copying so it should never truncate and am able to copy truncated name.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/context.c     |  1 -
 citadel/server/locate_host.c | 20 ++++++++++++++++----
 2 files changed, 16 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515303</link><pubDate>Sat, 05 Apr 2025 12:38:32 +0500</pubDate><title>webcit-ng room access invite/kick complete!</title><guid isPermaLink="false">2099515303@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9898d4501844a263451d0ab3f40a3e6c78d1aefe (commit)
      from  28893cb3c01fb9d374a1f29096a8a64293653dce (commit)


- Log -----------------------------------------------------------------
commit 9898d4501844a263451d0ab3f40a3e6c78d1aefe
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Apr 5 12:38:30 2025 -0400

webcit-ng room access invite/kick complete!

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt            |  9 +++++++--
 webcit-ng/server/http.c           |  8 ++++----
 webcit-ng/server/request.c        |  2 +-
 webcit-ng/server/room_functions.c | 33 +++++++++++++++++++++++++++++++++
 webcit-ng/server/webcit.h         |  1 +
 webcit-ng/server/webserver.c      | 14 +++++++-------
 webcit-ng/static/js/edit_room.js  | 30 ++++++++++++++++++++++--------
 7 files changed, 75 insertions(+), 22 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515172</link><pubDate>Fri, 04 Apr 2025 11:21:55 +0500</pubDate><title>serv_roomchat.c: update to current coding style</title><guid isPermaLink="false">2099515172@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  28893cb3c01fb9d374a1f29096a8a64293653dce (commit)
      from  14d0822f836d374b526cb5c5f1ef79d19cb0fe93 (commit)


- Log -----------------------------------------------------------------
commit 28893cb3c01fb9d374a1f29096a8a64293653dce
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 4 11:21:52 2025 -0400

serv_roomchat.c: update to current coding style

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/roomchat/serv_roomchat.c | 58 +++++++------------------
 1 file changed, 15 insertions(+), 43 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515171</link><pubDate>Fri, 04 Apr 2025 11:18:12 +0500</pubDate><title>serv_instmsg.c</title><guid isPermaLink="false">2099515171@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  14d0822f836d374b526cb5c5f1ef79d19cb0fe93 (commit)
      from  e4f4ca636b0e9abd17b0e93338f7d05899297c72 (commit)


- Log -----------------------------------------------------------------
commit 14d0822f836d374b526cb5c5f1ef79d19cb0fe93
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 4 11:17:48 2025 -0400

serv_instmsg.c

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/instmsg/serv_instmsg.c | 37 ++++++++++++---------------
 1 file changed, 17 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515165</link><pubDate>Fri, 04 Apr 2025 11:13:54 +0500</pubDate><title>serv_session.c: updated to current coding standards</title><guid isPermaLink="false">2099515165@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e4f4ca636b0e9abd17b0e93338f7d05899297c72 (commit)
      from  946c964966a362942be018b98e55b62e832a6254 (commit)


- Log -----------------------------------------------------------------
commit e4f4ca636b0e9abd17b0e93338f7d05899297c72
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 4 11:13:52 2025 -0400

serv_session.c: updated to current coding standards

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/ctdlproto/serv_session.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515164</link><pubDate>Fri, 04 Apr 2025 11:12:22 +0500</pubDate><title>serv_user.c: removed an old style comment</title><guid isPermaLink="false">2099515164@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  946c964966a362942be018b98e55b62e832a6254 (commit)
      from  a1cafe73d45ecbb1683e4350376463b3eac0bf18 (commit)


- Log -----------------------------------------------------------------
commit 946c964966a362942be018b98e55b62e832a6254
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 4 11:12:20 2025 -0400

serv_user.c: removed an old style comment

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/ctdlproto/serv_user.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515163</link><pubDate>Fri, 04 Apr 2025 11:11:17 +0500</pubDate><title>crc16.c: update to current coding standards</title><guid isPermaLink="false">2099515163@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a1cafe73d45ecbb1683e4350376463b3eac0bf18 (commit)
      from  e1c8468883387283ab40ae39989f720bb321f1e3 (commit)


- Log -----------------------------------------------------------------
commit a1cafe73d45ecbb1683e4350376463b3eac0bf18
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 4 11:11:14 2025 -0400

crc16.c: update to current coding standards

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/fulltext/crc16.c | 225 +++++++++++++++-----------------
 1 file changed, 102 insertions(+), 123 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515158</link><pubDate>Fri, 04 Apr 2025 11:05:00 +0500</pubDate><title>smtp_util.c: updated to current coding standards</title><guid isPermaLink="false">2099515158@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e1c8468883387283ab40ae39989f720bb321f1e3 (commit)
      from  ee20cf5da571fe3aa528e495ccb3a8cfbd2e549d (commit)


- Log -----------------------------------------------------------------
commit e1c8468883387283ab40ae39989f720bb321f1e3
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 4 11:04:58 2025 -0400

smtp_util.c: updated to current coding standards

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/smtp/smtp_util.c | 50 ++++++++++++---------------------
 1 file changed, 18 insertions(+), 32 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515157</link><pubDate>Fri, 04 Apr 2025 11:01:32 +0500</pubDate><title>xmpp_presence.c: updated to current coding standards</title><guid isPermaLink="false">2099515157@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ee20cf5da571fe3aa528e495ccb3a8cfbd2e549d (commit)
      from  652a411acf4d840ded25be00bbf8060267682f46 (commit)


- Log -----------------------------------------------------------------
commit ee20cf5da571fe3aa528e495ccb3a8cfbd2e549d
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 4 11:01:28 2025 -0400

xmpp_presence.c: updated to current coding standards

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/xmpp/xmpp_presence.c | 157 +++++++++++-----------------
 1 file changed, 59 insertions(+), 98 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515154</link><pubDate>Fri, 04 Apr 2025 10:17:13 +0500</pubDate><title>serv_rooms.c: update to current coding style</title><guid isPermaLink="false">2099515154@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  652a411acf4d840ded25be00bbf8060267682f46 (commit)
       via  c33c929fe8e430ea9d0b0b0d6fc5a1231fb5bcd2 (commit)
      from  42357b28fa5f7a1d7b177db1d0ad62b52e63d80d (commit)


- Log -----------------------------------------------------------------
commit 652a411acf4d840ded25be00bbf8060267682f46
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 4 10:17:11 2025 -0400

serv_rooms.c: update to current coding style

commit c33c929fe8e430ea9d0b0b0d6fc5a1231fb5bcd2
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 4 10:05:11 2025 -0400

xmpp_query_namespace.c: convert to C99 comment style

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/ctdlproto/serv_rooms.c      | 97 ++++++++++------------
 citadel/server/modules/xmpp/xmpp_query_namespace.c | 69 +++++----------
 do-release.sh                                      |  3 +-
 3 files changed, 68 insertions(+), 101 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099515016</link><pubDate>Thu, 03 Apr 2025 13:29:40 +0500</pubDate><title>Skeleton code for invite/kick room access.</title><guid isPermaLink="false">2099515016@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  42357b28fa5f7a1d7b177db1d0ad62b52e63d80d (commit)
      from  679acd44df4185a91668ec7e3dd1e8fb5109332c (commit)


- Log -----------------------------------------------------------------
commit 42357b28fa5f7a1d7b177db1d0ad62b52e63d80d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Apr 3 13:29:38 2025 -0400

Skeleton code for invite/kick room access.

Selected users are now passed to functions which will implement this.  I am also
noticing that there are some javascript/html escape issues that need to be addressed
and working on that.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 31 ++++++++++++++++++++++++++++---
 1 file changed, 28 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099514769</link><pubDate>Tue, 01 Apr 2025 23:52:06 +0500</pubDate><title>edit_room.js: began populating the invite/kick dialog.</title><guid isPermaLink="false">2099514769@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  679acd44df4185a91668ec7e3dd1e8fb5109332c (commit)
      from  99b443af4021c48a393536f6ce2d16d39d5376c6 (commit)


- Log -----------------------------------------------------------------
commit 679acd44df4185a91668ec7e3dd1e8fb5109332c
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 1 23:52:04 2025 -0400

edit_room.js: began populating the invite/kick dialog.

I'm importing the text and labels from WebCit Classic because they're already translated.
Sometimes they don't apply perfectly but we'll fix that after flag day by changing both the
program text and the translate keys, so the translators can tune it up.

Also I'm aware that there are people following the commit logs now, so hello and a big
shout out to you all!

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  4 ++--
 webcit-ng/static/js/edit_room.js | 49 +++++++++++++++++++++++++++++++++-------
 2 files changed, 43 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099513769</link><pubDate>Mon, 24 Mar 2025 23:19:18 +0500</pubDate><title>Room edit is now a true accordion where expanding one block collapses all the others.</title><guid isPermaLink="false">2099513769@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  99b443af4021c48a393536f6ce2d16d39d5376c6 (commit)
      from  6049889f7d443a7c4a56200d2791c5b24e8ce11c (commit)


- Log -----------------------------------------------------------------
commit 99b443af4021c48a393536f6ce2d16d39d5376c6
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 24 23:19:16 2025 -0400

Room edit is now a true accordion where expanding one block collapses all the others.

This required some ugly code and if we end up doing an accordion anywhere else I'm
going to have to put some work in to abstract it so we can DRY the code.  But for now
it works and it looks good and I'm moving on.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099513765</link><pubDate>Mon, 24 Mar 2025 22:55:46 +0500</pubDate><title>When expanding one of the room edit panels, scroll it into view as much as possible.</title><guid isPermaLink="false">2099513765@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6049889f7d443a7c4a56200d2791c5b24e8ce11c (commit)
      from  1765410079f029d84afa4c6339cf244e905ab118 (commit)


- Log -----------------------------------------------------------------
commit 6049889f7d443a7c4a56200d2791c5b24e8ce11c
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 24 22:55:44 2025 -0400

When expanding one of the room edit panels, scroll it into view as much as possible.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 1 +
 1 file changed, 1 insertion(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099513762</link><pubDate>Mon, 24 Mar 2025 22:42:56 +0500</pubDate><title>New subclass &#39;ctdl-formgrid-fieldset-stdwidth&#39; to use when you have more than one of them on the same screen and it looks funny when they are all different widths.</title><guid isPermaLink="false">2099513762@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1765410079f029d84afa4c6339cf244e905ab118 (commit)
      from  0944c40fc8f76f84bd9be33ecb1fc75845238a55 (commit)


- Log -----------------------------------------------------------------
commit 1765410079f029d84afa4c6339cf244e905ab118
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 24 22:42:52 2025 -0400

New subclass 'ctdl-formgrid-fieldset-stdwidth' to use when you have more than one of them on the same screen and it looks funny when they are all different widths.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  4 ++++
 webcit-ng/static/js/edit_room.js | 14 +++++++-------
 2 files changed, 11 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099513749</link><pubDate>Mon, 24 Mar 2025 18:50:03 +0500</pubDate><title>room_functions.c: completed the /ctdl/r/xxx/access API function</title><guid isPermaLink="false">2099513749@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0944c40fc8f76f84bd9be33ecb1fc75845238a55 (commit)
      from  de7dbb67be36b18ac5bdac8252723f6c0a5a38d1 (commit)


- Log -----------------------------------------------------------------
commit 0944c40fc8f76f84bd9be33ecb1fc75845238a55
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 24 18:50:00 2025 -0400

room_functions.c: completed the /ctdl/r/xxx/access API function

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099513745</link><pubDate>Mon, 24 Mar 2025 18:29:51 +0500</pubDate><title>USERNAME_SIZE is 64 bytes. Found some places where the constant 64 was used and replaced with USERNAME_SIZE</title><guid isPermaLink="false">2099513745@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  de7dbb67be36b18ac5bdac8252723f6c0a5a38d1 (commit)
      from  4ff0bcb02a67bfb8ca8a3b2e62412d69b9bfb8b7 (commit)


- Log -----------------------------------------------------------------
commit de7dbb67be36b18ac5bdac8252723f6c0a5a38d1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 24 18:29:36 2025 -0400

USERNAME_SIZE is 64 bytes. Found some places where the constant 64 was used and replaced with USERNAME_SIZE

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 6 +++++-
 webcit-ng/server/webcit.h         | 3 ++-
 2 files changed, 7 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099513734</link><pubDate>Mon, 24 Mar 2025 18:04:43 +0500</pubDate><title>textclient: uniform color across the status line</title><guid isPermaLink="false">2099513734@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4ff0bcb02a67bfb8ca8a3b2e62412d69b9bfb8b7 (commit)
      from  bb91a5f0c1018f833d9853c1a2857f8a109ee218 (commit)


- Log -----------------------------------------------------------------
commit 4ff0bcb02a67bfb8ca8a3b2e62412d69b9bfb8b7
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 24 18:04:39 2025 -0400

textclient: uniform color across the status line

-----------------------------------------------------------------------

Summary of changes:
 textclient/screen.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099513328</link><pubDate>Thu, 20 Mar 2025 23:15:43 +0500</pubDate><title>All references to a username field now use USERNAME_SIZE. There were a few places that still had a numeric value.</title><guid isPermaLink="false">2099513328@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  bb91a5f0c1018f833d9853c1a2857f8a109ee218 (commit)
      from  4dd7429f5ab3c07946b01549bed463e81f8ab1f6 (commit)


- Log -----------------------------------------------------------------
commit bb91a5f0c1018f833d9853c1a2857f8a109ee218
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Mar 20 23:15:41 2025 -0400

All references to a username field now use USERNAME_SIZE.  There were a few places that still had a numeric value.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/inboxrules/serv_inboxrules.c |  4 ++--
 citadel/server/modules/smtp/serv_smtp.c             |  2 +-
 textclient/textclient.h                             |  2 +-
 textclient/user_functions.c                         |  2 +-
 webcit-ng/docs/api.txt                              |  1 +
 webcit-ng/server/request.c                          | 16 +++++++---------
 webcit-ng/server/room_functions.c                   | 21 +++++++++++++++++++++
 7 files changed, 34 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099513323</link><pubDate>Thu, 20 Mar 2025 22:54:06 +0500</pubDate><title>serv_rooms.c: added an option to the WHOK server command to have it show both users who do AND do not have access to the room. This will be used for the access control screen in webcit-ng</title><guid isPermaLink="false">2099513323@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4dd7429f5ab3c07946b01549bed463e81f8ab1f6 (commit)
      from  706af9b583b20fd9e75231b51224e376441541b0 (commit)


- Log -----------------------------------------------------------------
commit 4dd7429f5ab3c07946b01549bed463e81f8ab1f6
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Mar 20 22:54:03 2025 -0400

serv_rooms.c: added an option to the WHOK server command to have it show both users who do AND do not have access to the room.  This will be used for the access control screen in webcit-ng

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/ctdlproto/serv_rooms.c | 126 +++++++++++++-------------
 1 file changed, 61 insertions(+), 65 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099512437</link><pubDate>Thu, 13 Mar 2025 13:55:24 +0500</pubDate><title>webcit-ng: cleaned up OpenSSL error handling.</title><guid isPermaLink="false">2099512437@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  706af9b583b20fd9e75231b51224e376441541b0 (commit)
      from  336b73e6b27b27342697a6868a512a9c6161ea3c (commit)


- Log -----------------------------------------------------------------
commit 706af9b583b20fd9e75231b51224e376441541b0
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Mar 13 13:55:21 2025 -0400

webcit-ng: cleaned up OpenSSL error handling.

This started as a verification that the SSL problem we fixed in webcit-classic
didn't also exist here.  It didn't.  Then it turned into an effort to try and
figure out why the browsers are trying to send client certificates even though
we're not requesting them.  We didn't figure that out either.  But at least we
cleaned up error handling.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/tls.c | 35 ++++++++++++++++++++++-------------
 1 file changed, 22 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099511939</link><pubDate>Mon, 10 Mar 2025 14:27:36 +0500</pubDate><title>webcit-ng: brought the new OpenSSL error handler over from webcit-classic</title><guid isPermaLink="false">2099511939@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  336b73e6b27b27342697a6868a512a9c6161ea3c (commit)
      from  835370163f7a39a1d02a4368cde2197fb9e8be1c (commit)


- Log -----------------------------------------------------------------
commit 336b73e6b27b27342697a6868a512a9c6161ea3c
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 10 11:27:34 2025 -0700

webcit-ng: brought the new OpenSSL error handler over from webcit-classic

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/tls.c | 34 +++++++++++++++++++++-------------
 1 file changed, 21 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099511725</link><pubDate>Sat, 08 Mar 2025 09:28:52 +0500</pubDate><title>Message #2099511725</title><guid isPermaLink="false">2099511725@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1010 has been created
        at  f8df9e8d28f0b667adf90622192a12e41ea3e2dd (tag)
   tagging  835370163f7a39a1d02a4368cde2197fb9e8be1c (commit)
  replaces  v1009
 tagged by  Art Cancro
        on  Sat Mar 8 09:28:51 2025 -0500

- Log -----------------------------------------------------------------
Version 1010 release

Art Cancro (5):
      webcit-ng: completed room expire policy dialog
      Trying to sort out stuck webcit-https processes, but ended up reformatting some really funky source code
      webcit classic: in HTTPS mode, fail the entire connection if SSL negotiation fails.
      webcit-classic: eliminated several conditions that could make webcit unresponsive.
      Release version 1010 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099511724</link><pubDate>Sat, 08 Mar 2025 09:28:52 +0500</pubDate><title>Release version 1010 generated by do-release.sh</title><guid isPermaLink="false">2099511724@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  835370163f7a39a1d02a4368cde2197fb9e8be1c (commit)
      from  c1265af2fd77a04bb872baae217b69f05f773140 (commit)


- Log -----------------------------------------------------------------
commit 835370163f7a39a1d02a4368cde2197fb9e8be1c
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Mar 8 09:28:51 2025 -0500

Release version 1010 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099511663</link><pubDate>Fri, 07 Mar 2025 18:27:45 +0500</pubDate><title>webcit-classic: eliminated several conditions that could make webcit unresponsive.</title><guid isPermaLink="false">2099511663@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c1265af2fd77a04bb872baae217b69f05f773140 (commit)
      from  d89385440bad6035e9a3660b81f384d682633ed2 (commit)


- Log -----------------------------------------------------------------
commit c1265af2fd77a04bb872baae217b69f05f773140
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Mar 7 18:27:43 2025 -0500

webcit-classic: eliminated several conditions that could make webcit unresponsive.

-----------------------------------------------------------------------

Summary of changes:
 webcit/context_loop.c |   2 -
 webcit/crypto.c       |  58 ++++----
 webcit/mainmenu.c     |   2 +-
 webcit/sockets.c      |  38 -----
 webcit/sysdep.c       | 377 ++++++++++++--------------------------------------
 webcit/webserver.c    |  22 +--
 6 files changed, 119 insertions(+), 380 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099511446</link><pubDate>Thu, 06 Mar 2025 12:00:26 +0500</pubDate><title>webcit classic: in HTTPS mode, fail the entire connection if SSL negotiation fails.</title><guid isPermaLink="false">2099511446@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d89385440bad6035e9a3660b81f384d682633ed2 (commit)
      from  3ae9777438a9a247b0f358d80320a1ac00a945cf (commit)


- Log -----------------------------------------------------------------
commit d89385440bad6035e9a3660b81f384d682633ed2
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Mar 6 12:00:23 2025 -0500

webcit classic: in HTTPS mode, fail the entire connection if SSL negotiation fails.

-----------------------------------------------------------------------

Summary of changes:
 webcit/crypto.c  | 23 ++++++++++-------------
 webcit/gettext.c |  1 -
 webcit/sockets.c | 32 +++++++++++++-------------------
 webcit/webcit.h  |  1 +
 4 files changed, 24 insertions(+), 33 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099511114</link><pubDate>Tue, 04 Mar 2025 11:15:17 +0500</pubDate><title>Trying to sort out stuck webcit-https processes, but ended up reformatting some really funky source code</title><guid isPermaLink="false">2099511114@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3ae9777438a9a247b0f358d80320a1ac00a945cf (commit)
      from  d82f3f9014c32dc1545b42aff1188deee30f487d (commit)


- Log -----------------------------------------------------------------
commit 3ae9777438a9a247b0f358d80320a1ac00a945cf
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Mar 4 11:15:14 2025 -0500

Trying to sort out stuck webcit-https processes, but ended up reformatting some really funky source code

-----------------------------------------------------------------------

Summary of changes:
 webcit/context_loop.c | 157 +++++++++++++++++++++++---------------------------
 webcit/sysdep.c       | 117 ++++++++++++++++---------------------
 webcit/webcit.h       |   2 +
 3 files changed, 125 insertions(+), 151 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099508691</link><pubDate>Sat, 15 Feb 2025 22:59:14 +0500</pubDate><title>webcit-ng: completed room expire policy dialog</title><guid isPermaLink="false">2099508691@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d82f3f9014c32dc1545b42aff1188deee30f487d (commit)
      from  308ff1a3250c1fd9caff9bba46d8c595b706290e (commit)


- Log -----------------------------------------------------------------
commit d82f3f9014c32dc1545b42aff1188deee30f487d
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 15 22:59:02 2025 -0500

webcit-ng: completed room expire policy dialog

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/expire/expire_policy.c |  14 +-
 citadel/server/modules/expire/serv_expire.c   |   2 -
 citadel/server/modules_init.c                 |   5 +-
 citadel/server/modules_init.h                 |   3 +-
 webcit-ng/Makefile                            |   2 +-
 webcit-ng/docs/api.txt                        |  24 +--
 webcit-ng/server/room_functions.c             | 214 ++++++++++++++------------
 webcit-ng/static/js/edit_room.js              |  84 ++++++----
 8 files changed, 203 insertions(+), 145 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099508585</link><pubDate>Fri, 14 Feb 2025 21:48:15 +0500</pubDate><title>Re: External encryption plugin?</title><guid isPermaLink="false">2099508585@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Feb 13 2025 23:50:13 UTC</span><span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span><span class="message_subject">Subject: Re: External encryption plugin?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Interesting. Are you looking to add message encryption right into the server via plugins?</div>
<div class="fmout-JUSTIFY"> </div>
</div>
</blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY">Yes.</div>
<div class="fmout-JUSTIFY"> </div>
<blockquote>
<div class="fmout-JUSTIFY">3. Set up the external encryption providers as microservices and connect to them over a socket, like we currently do with SpamAssassin and ClamAV.</div>
</blockquote>
<div class="fmout-JUSTIFY"> </div>
<div class="fmout-JUSTIFY">This sounds sensible. Thanks for the pointers.<br /><br /></div>
<div class="fmout-JUSTIFY">
<blockquote>By the way, we don't really use a lot of the C99 extensions, mainly just the comment style.</blockquote>
</div>
</div>
<p>Good to know! I'll look at the code and see what I can figure out.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099508446</link><pubDate>Thu, 13 Feb 2025 18:50:13 +0500</pubDate><title>Re: External encryption plugin?</title><guid isPermaLink="false">2099508446@Uncensored</guid><description><![CDATA[Interesting.  Are you looking to add message encryption right into the server
via plugins?
 
 I can think of three possibilities, all of which I am ok with:
 
 1. Ignore the problem.  I have no love for Richard Stallman.
 
 2. Edit the license file and place "special exceptions" at the top of the
GPL.  This is the normal process for people who have GPL code and want to
link it with non-GPL code.  (I think we've done this before.)
 
 3. Set up the external encryption providers as microservices and connect
to them over a socket, like we currently do with SpamAssassin and ClamAV.
 
 By the way, we don't really use a lot of the C99 extensions, mainly just
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099508408</link><pubDate>Thu, 13 Feb 2025 13:45:47 +0500</pubDate><title>External encryption plugin?</title><guid isPermaLink="false">2099508408@Uncensored</guid><description><![CDATA[<html><body>

<p>Greetings, all!</p>
<p>I'm a fairly new initiate to the Citadel ecosystem and I'd like to bring to light a potential problem with licensing and non-GNU encryption algorithms.</p>
<p>The Citadel server is GPL 3 licensed which requires patent permission to be public when using patented code with it. GNU-PG seems to be the only encryption utility I know of that satisfies the license terms. If a potential user needed something stronger or otherwise patented, it would not be possible in the present configuration.</p>
<p>My proposed solution to this dilemma is to take advantage of the fact that GNU-PG can function as a POSIX filter, accepting input via STDIN and sending output via STDOUT, with the exceptional case of an error code being returned that is logged from STDERR. Each of these can be redirected from another filter stream to chain filters end-to-end with pipes. This would allow the output of BZip2 or XZ compression to be piped through the encryption almost transparently with an external script.</p>
<p>In this configuration, neither the encryption nor the compression need to be GPL 3 license compatible since they are now external programs with their own separate licensing terms. This alleviates the problem of license compatibility and patent sharing required by version 3 of the GPL. Is this the type of solution that would be welcome here?</p>
<p>I'm quite fluent in C90 and should be able to navigate around C99 and newer extensions with some determination. I'm willing to commit some time to make the plugin system a reality for my own use and would love to keep this in the mainline as well.</p>
<p>Thanks for reading this. I hope to be in touch with you and address any concerns.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099507385</link><pubDate>Thu, 06 Feb 2025 19:25:01 +0500</pubDate><title>Message #2099507385</title><guid isPermaLink="false">2099507385@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1009 has been created
        at  07f097b51ba970cba34c1a0796051ab012590827 (tag)
   tagging  308ff1a3250c1fd9caff9bba46d8c595b706290e (commit)
  replaces  v1008
 tagged by  Art Cancro
        on  Thu Feb 6 19:24:40 2025 -0500

- Log -----------------------------------------------------------------
Version 1009 release

Art Cancro (20):
      CSS changes to make the room edit screen fieldsets collapsible (kind of like an accordion dialog)
      Room edit screen: expand and collapse buttons for all sections
      Removed spurious calls to stty_ctdl(SB_CHARMODE); they were making the status line go blank
      Made some old code more readable
      skeleton code for expire policy config
      sieve.c: style cleanup
      webcit-classic: remove the empty boxes and vestigial code for social logins
      webcit classic: trying to get international language support working again, I don't know when it broke
      webcit-classic: more tinkering trying to figure out why gettext() is not translating
      i18n working now, just need to document it
      icontheme.c (webcit-classic) : style cleanup
      webcit-ng: remove superfluous parentheses in return statements
      serv_xmpp.c: modernized style (didn't need much)
      Killing time, because it has fewer consequences than killing people.
      tcpclient.c: clean up error message display when server rejects our session
      Still nibbling away to undamage NLS in webcit-classic.
      html2html.c: code review
      I have a problem where I cannot work on a source file without updating its coding style to current standards first.
      webcit-classic: still fiddling with the language selector trying to return it to its original functionality
      Release version 1009 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099507384</link><pubDate>Thu, 06 Feb 2025 19:24:51 +0500</pubDate><title>Release version 1009 generated by do-release.sh</title><guid isPermaLink="false">2099507384@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  308ff1a3250c1fd9caff9bba46d8c595b706290e (commit)
      from  770f099a9f9c1a7d19a204a273825f672c4a90f2 (commit)


- Log -----------------------------------------------------------------
commit 308ff1a3250c1fd9caff9bba46d8c595b706290e
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Feb 6 19:24:40 2025 -0500

Release version 1009 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h |  2 +-
 libcitadel/lib/libcitadel.h   |  2 +-
 release_version.txt           |  2 +-
 textclient/textclient.h       |  2 +-
 webcit/roomops.c              | 10 +++++++---
 webcit/webcit.h               |  2 +-
 6 files changed, 12 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506973</link><pubDate>Mon, 03 Feb 2025 22:59:46 +0500</pubDate><title>webcit-classic: still fiddling with the language selector trying to return it to its original functionality</title><guid isPermaLink="false">2099506973@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  770f099a9f9c1a7d19a204a273825f672c4a90f2 (commit)
      from  350b2f01c6ed694776c3b2656e19c25a91a5685e (commit)


- Log -----------------------------------------------------------------
commit 770f099a9f9c1a7d19a204a273825f672c4a90f2
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 3 22:59:34 2025 -0500

webcit-classic: still fiddling with the language selector trying to return it to its original functionality

-----------------------------------------------------------------------

Summary of changes:
 webcit/context_loop.c | 45 ++++++++++++++----------------------
 webcit/static.c       | 12 +++++-----
 webcit/webcit.c       | 63 ++++++++++++++++-----------------------------------
 webcit/webcit.h       |  1 -
 webcit/webserver.c    |  2 --
 5 files changed, 42 insertions(+), 81 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506969</link><pubDate>Mon, 03 Feb 2025 22:38:18 +0500</pubDate><title>I have a problem where I cannot work on a source file without updating its coding style to current standards first.</title><guid isPermaLink="false">2099506969@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  350b2f01c6ed694776c3b2656e19c25a91a5685e (commit)
      from  fe0e84578d879c3e2e20a3f5d2b826746d75b464 (commit)


- Log -----------------------------------------------------------------
commit 350b2f01c6ed694776c3b2656e19c25a91a5685e
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 3 22:38:05 2025 -0500

I have a problem where I cannot work on a source file without updating its coding style to current standards first.

-----------------------------------------------------------------------

Summary of changes:
 webcit/webcit.c | 308 +++++++++++++++++++++++---------------------------------
 webcit/webcit.h |   5 -
 2 files changed, 124 insertions(+), 189 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506940</link><pubDate>Mon, 03 Feb 2025 16:35:36 +0500</pubDate><title>html2html.c: code review</title><guid isPermaLink="false">2099506940@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fe0e84578d879c3e2e20a3f5d2b826746d75b464 (commit)
      from  213fcac4d8dd4ed6cab499abbed857c73c3d7359 (commit)


- Log -----------------------------------------------------------------
commit fe0e84578d879c3e2e20a3f5d2b826746d75b464
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 3 16:35:24 2025 -0500

html2html.c: code review

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/html2html.c | 150 ++++++++++++++++++++++---------------------
 1 file changed, 78 insertions(+), 72 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506634</link><pubDate>Fri, 31 Jan 2025 16:31:38 +0500</pubDate><title>Killing time, because it has fewer consequences than killing people.</title><guid isPermaLink="false">2099506634@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4eb3a2f88130673df3fa25729f32d8ba612230c5 (commit)
      from  8b04af943008dc2c267e4df0d27a06990cb7e29d (commit)


- Log -----------------------------------------------------------------
commit 4eb3a2f88130673df3fa25729f32d8ba612230c5
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 31 16:31:35 2025 -0500

Killing time, because it has fewer consequences than killing people.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/wiki/serv_wiki.c | 248 ++++++++++++++------------------
 textclient/sysutil.c                    |   6 +-
 2 files changed, 107 insertions(+), 147 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506532</link><pubDate>Thu, 30 Jan 2025 20:01:47 +0500</pubDate><title>serv_xmpp.c: modernized style (didn&#39;t need much)</title><guid isPermaLink="false">2099506532@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8b04af943008dc2c267e4df0d27a06990cb7e29d (commit)
      from  43fdfb73f48cf25289b3821598ab003718622025 (commit)


- Log -----------------------------------------------------------------
commit 8b04af943008dc2c267e4df0d27a06990cb7e29d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 30 20:01:44 2025 -0500

serv_xmpp.c: modernized style (didn't need much)

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/xmpp/serv_xmpp.c | 185 +++++++++++---------------------
 1 file changed, 62 insertions(+), 123 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506365</link><pubDate>Wed, 29 Jan 2025 11:49:58 +0500</pubDate><title>webcit-ng: remove superfluous parentheses in return statements</title><guid isPermaLink="false">2099506365@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  43fdfb73f48cf25289b3821598ab003718622025 (commit)
      from  e5d47ade5a86af350ccd17415701ff12a282504d (commit)


- Log -----------------------------------------------------------------
commit 43fdfb73f48cf25289b3821598ab003718622025
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 29 11:49:57 2025 -0500

webcit-ng: remove superfluous parentheses in return statements

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/caldav_reports.c |  8 ++++----
 webcit-ng/server/forum_view.c     |  2 +-
 webcit-ng/server/html2html.c      |  4 ++--
 webcit-ng/server/http.c           | 14 +++++++-------
 webcit-ng/server/messages.c       |  6 +++---
 webcit-ng/server/room_functions.c |  6 +++---
 webcit-ng/server/tcp_sockets.c    |  4 ++--
 webcit-ng/server/text2html.c      | 10 +++++-----
 webcit-ng/server/tls.c            |  4 ++--
 webcit-ng/server/upload.c         |  2 +-
 webcit-ng/server/util.c           |  6 +++---
 11 files changed, 33 insertions(+), 33 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506363</link><pubDate>Wed, 29 Jan 2025 11:41:33 +0500</pubDate><title>icontheme.c (webcit-classic) : style cleanup</title><guid isPermaLink="false">2099506363@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e5d47ade5a86af350ccd17415701ff12a282504d (commit)
      from  fa47aaf19f756f9bc20ba1cebb322de21dcfafbd (commit)


- Log -----------------------------------------------------------------
commit e5d47ade5a86af350ccd17415701ff12a282504d
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 29 11:41:30 2025 -0500

icontheme.c (webcit-classic) : style cleanup

-----------------------------------------------------------------------

Summary of changes:
 webcit/icontheme.c | 124 ++++++++++++++++++++++++-----------------------------
 1 file changed, 55 insertions(+), 69 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506317</link><pubDate>Tue, 28 Jan 2025 23:21:54 +0500</pubDate><title>i18n working now, just need to document it</title><guid isPermaLink="false">2099506317@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fa47aaf19f756f9bc20ba1cebb322de21dcfafbd (commit)
      from  5610e2be9f690b704405ad9855deebcef9ef3bcb (commit)


- Log -----------------------------------------------------------------
commit fa47aaf19f756f9bc20ba1cebb322de21dcfafbd
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 28 23:21:52 2025 -0500

i18n working now, just need to document it

-----------------------------------------------------------------------

Summary of changes:
 webcit/gettext.c | 2 --
 webcit/webcit.h  | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506314</link><pubDate>Tue, 28 Jan 2025 23:09:12 +0500</pubDate><title>webcit-classic: more tinkering trying to figure out why gettext() is not translating</title><guid isPermaLink="false">2099506314@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5610e2be9f690b704405ad9855deebcef9ef3bcb (commit)
      from  778eeaff898d70d138c38bf391c8778032c29558 (commit)


- Log -----------------------------------------------------------------
commit 5610e2be9f690b704405ad9855deebcef9ef3bcb
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 28 23:09:10 2025 -0500

webcit-classic: more tinkering trying to figure out why gettext() is not translating

-----------------------------------------------------------------------

Summary of changes:
 webcit/gettext.c       |  1 +
 webcit/ical_dezonify.c |  8 ++++----
 webcit/webcit.h        | 38 ++++++++++++++++++--------------------
 3 files changed, 23 insertions(+), 24 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506294</link><pubDate>Tue, 28 Jan 2025 22:20:01 +0500</pubDate><title>Re: SVG Logo</title><guid isPermaLink="false">2099506294@Uncensored</guid><description><![CDATA[<html><body>

<p>Thank you!  I have added it to the logo page at <a href="https://www.citadel.org/citadel_logo.html">https://www.citadel.org/citadel_logo.html</a></p>
<p>I'm not sure why the designer didn't include that in the first place.  Lots of software can display native SVG now.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506093</link><pubDate>Sun, 26 Jan 2025 18:12:20 +0500</pubDate><title>SVG Logo</title><guid isPermaLink="false">2099506093@Uncensored</guid><description><![CDATA[<html><body>

<p><img style="vertical-align: top;" src="https://codeberg.org/SamuraiCrow/dart_citadel/raw/branch/main/dart_citadel/assets/citadel_logo.svg" alt="SVG version of Citadel logo" width="289" height="78" /></p>
<p>I've imported the PDF logo into Inkscape and exported it to a plain SVG if anybody is interested. The image is above.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506040</link><pubDate>Sat, 25 Jan 2025 19:15:14 +0500</pubDate><title>webcit-classic: remove the empty boxes and vestigial code for social logins</title><guid isPermaLink="false">2099506040@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  54d44238fac318d5b524d78115106771f4b31e96 (commit)
      from  88f746c45d9beeaaa6933fa704bec391963fde00 (commit)


- Log -----------------------------------------------------------------
commit 54d44238fac318d5b524d78115106771f4b31e96
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 25 19:15:12 2025 -0500

webcit-classic: remove the empty boxes and vestigial code for social logins

-----------------------------------------------------------------------

Summary of changes:
 webcit/configure.ac                |   4 +-
 webcit/gettext.c                   | 173 ++++++++++++++++---------------------
 webcit/static/authmethods.js       |   4 -
 webcit/static/styles/webcit.css    |   4 +-
 webcit/static/t/get_logged_in.html |  76 ++--------------
 5 files changed, 81 insertions(+), 180 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099506031</link><pubDate>Sat, 25 Jan 2025 18:22:22 +0500</pubDate><title>skeleton code for expire policy config</title><guid isPermaLink="false">2099506031@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d13d92381228a7cfccc7bef6f71c150722fe96f8 (commit)
      from  3bf23012d5f6c07f460636ee11d85027b3cf2d4b (commit)


- Log -----------------------------------------------------------------
commit d13d92381228a7cfccc7bef6f71c150722fe96f8
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 25 18:22:20 2025 -0500

skeleton code for expire policy config

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 62 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 56 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099505887</link><pubDate>Fri, 24 Jan 2025 13:09:22 +0500</pubDate><title>Made some old code more readable</title><guid isPermaLink="false">2099505887@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3bf23012d5f6c07f460636ee11d85027b3cf2d4b (commit)
      from  b71fcf38c27ab362487e1265a81ad29f7e1d8417 (commit)


- Log -----------------------------------------------------------------
commit 3bf23012d5f6c07f460636ee11d85027b3cf2d4b
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 24 13:09:20 2025 -0500

Made some old code more readable

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/internet_addressing.c | 47 ++++++++++++++++++++++--------------
 1 file changed, 29 insertions(+), 18 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099505436</link><pubDate>Tue, 21 Jan 2025 07:13:46 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099505436@Uncensored</guid><description><![CDATA[<html><body>

<p>22 is open from here.. </p>
<p>( web is not, but may not supposed to be anyway )</p>
<blockquote>
<div class="message_header"><span>Tue Jan 21 2025 02:26:58 UTC</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Database Deadlock Handling</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>I tried to access test.citadel.org and it cannot connect.  I cannot <br />access as mail server or ssh.  Am I missing something? </blockquote>
<br />I don't think so ... the IPv4 address is 72.0.224.94 and the IPv6 address is 2606:8800:21:12::4800:e05e <br /><br />And the log is full of bad password attempts from the usual roaming gangs of bad people, so the SSH port is definitely open.</div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099505392</link><pubDate>Mon, 20 Jan 2025 22:04:26 +0500</pubDate><title>Removed spurious calls to stty_ctdl(SB_CHARMODE); they were making the status line go blank</title><guid isPermaLink="false">2099505392@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b71fcf38c27ab362487e1265a81ad29f7e1d8417 (commit)
      from  8b810d9d46f002b590b8ed5d0aa4e55da201d1c5 (commit)


- Log -----------------------------------------------------------------
commit b71fcf38c27ab362487e1265a81ad29f7e1d8417
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 20 22:04:24 2025 -0500

Removed spurious calls to stty_ctdl(SB_CHARMODE); they were making the status line go blank

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 5 -----
 1 file changed, 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099505370</link><pubDate>Mon, 20 Jan 2025 21:26:58 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099505370@Uncensored</guid><description><![CDATA[ >I tried to access test.citadel.org and it cannot connect.  I cannot
 >access as mail server or ssh.  Am I missing something? 
 
 I don't think so ... the IPv4 address is 72.0.224.94 and the IPv6 address
is 2606:8800:21:12::4800:e05e
 
 And the log is full of bad password attempts from the usual roaming gangs
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099505346</link><pubDate>Mon, 20 Jan 2025 18:00:15 +0500</pubDate><title>Room edit screen: expand and collapse buttons for all sections</title><guid isPermaLink="false">2099505346@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8b810d9d46f002b590b8ed5d0aa4e55da201d1c5 (commit)
      from  00a8fdc9ba5597ae71df1e2b5ea14203f89196ad (commit)


- Log -----------------------------------------------------------------
commit 8b810d9d46f002b590b8ed5d0aa4e55da201d1c5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 20 18:00:11 2025 -0500

Room edit screen: expand and collapse buttons for all sections

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  8 +++++
 webcit-ng/static/js/edit_room.js | 70 ++++++++++++++++++++++++++++++++--------
 2 files changed, 65 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099505227</link><pubDate>Mon, 20 Jan 2025 00:27:09 +0500</pubDate><title>CSS changes to make the room edit screen fieldsets collapsible (kind of like an accordion dialog)</title><guid isPermaLink="false">2099505227@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  00a8fdc9ba5597ae71df1e2b5ea14203f89196ad (commit)
      from  4143c365c370d6952df744e662a7a035467e67f9 (commit)


- Log -----------------------------------------------------------------
commit 00a8fdc9ba5597ae71df1e2b5ea14203f89196ad
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 20 00:27:07 2025 -0500

CSS changes to make the room edit screen fieldsets collapsible (kind of like an accordion dialog)

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 29 +++++++++++++++++++++++++----
 webcit-ng/static/js/edit_room.js |  6 +++++-
 2 files changed, 30 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099505191</link><pubDate>Sun, 19 Jan 2025 19:37:15 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099505191@Uncensored</guid><description><![CDATA[<html><body>

<p>Compared the Makefiles and only optimization.  Copied yours and still deadlocks...  When I get access to test, I should be able to figure out if it is my system or something else</p>
<blockquote>
<div class="message_header"><span>Mon Jan 20 2025 00:03:34 UTC</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Database Deadlock Handling</span></div>
<div class="message_content">
<p>Sorry for the delay.  H have family in Los Angeles and have been distracted.  Actually in LA now.  Family and residence ok.</p>
<p>I tried to access test.citadel.org and it cannot connect.  I cannot access as mail server or ssh.  Am I missing something?</p>
<blockquote>
<div class="message_header"><span>Wed Jan 15 2025 03:21:48 UTC</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Database Deadlock Handling</span></div>
<div class="message_content">
<blockquote>
<div class="message_content">
<p>I am still really interested in why they run differently.  Since some of the Makefiles are created with autoconfig, maybe there is a difference in the Makefiles.  Can you give me the following Makefiles from your system so I can compare to mine:</p>
<ul>
<li>db-18.1.40/build_unix/Makefile</li>
<li>libcitadel/lib/xdgmime/Makefile</li>
<li>libcitadel/Makefile</li>
<li>citadel/Makefile</li>
</ul>
</div>
</blockquote>
<p>Ok, here are the makefiles (attached).</p>
<p>I've also set up a Rocky Linux 9 at test.citadel.org.  I copied over your account name and hashed password from www.citadel.org so you should be able to log in.  Let me know if that works.</p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099505185</link><pubDate>Sun, 19 Jan 2025 19:12:51 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099505185@Uncensored</guid><description><![CDATA[<html><body>

<p>That is good everyone is ok.  </p>
<blockquote>
<div class="message_header"><span>Mon Jan 20 2025 00:03:34 UTC</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Database Deadlock Handling</span></div>
<div class="message_content">
<p>Sorry for the delay.  H have family in Los Angeles and have been distracted.  Actually in LA now.  Family and residence ok.</p>
<blockquote>
<div class="message_content">
<p> </p>
</div>
</blockquote>
</div>
</blockquote>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099505183</link><pubDate>Sun, 19 Jan 2025 19:03:34 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099505183@Uncensored</guid><description><![CDATA[<html><body>

<p>Sorry for the delay.  H have family in Los Angeles and have been distracted.  Actually in LA now.  Family and residence ok.</p>
<p>I tried to access test.citadel.org and it cannot connect.  I cannot access as mail server or ssh.  Am I missing something?</p>
<blockquote>
<div class="message_header"><span>Wed Jan 15 2025 03:21:48 UTC</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Database Deadlock Handling</span></div>
<div class="message_content">
<blockquote>
<div class="message_content">
<p>I am still really interested in why they run differently.  Since some of the Makefiles are created with autoconfig, maybe there is a difference in the Makefiles.  Can you give me the following Makefiles from your system so I can compare to mine:</p>
<ul>
<li>db-18.1.40/build_unix/Makefile</li>
<li>libcitadel/lib/xdgmime/Makefile</li>
<li>libcitadel/Makefile</li>
<li>citadel/Makefile</li>
</ul>
</div>
</blockquote>
<p>Ok, here are the makefiles (attached).</p>
<p>I've also set up a Rocky Linux 9 at test.citadel.org.  I copied over your account name and hashed password from www.citadel.org so you should be able to log in.  Let me know if that works.</p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504812</link><pubDate>Thu, 16 Jan 2025 22:27:23 +0500</pubDate><title>Re: Python Client link</title><guid isPermaLink="false">2099504812@Uncensored</guid><description><![CDATA[ >In the process of looking at other bindings for the Citadel protocol, I
 >wanted to look at the 3rd party code 
 >at https://bitbucket.org/pystew/citadel but the code is not public or 
 >visible any more. Does somebody have an updated link?
 
 I know that did exist at one time but I haven't looked at it in ages.  I
do a fair bit of Python programming but none of it is on the Citadel project.
 
 Unfortunately it's probably safe to assume that this went unmaintained and
eventually went away.  Looks like it's been gone for a while, too ... archive.org's
oldest archive is June 2020 and it's a blank page, after that it goes to the
not-found screen.
 
 I'll go through the list of third party contributions on the web site and
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504729</link><pubDate>Thu, 16 Jan 2025 11:57:32 +0500</pubDate><title>Message #2099504729</title><guid isPermaLink="false">2099504729@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1008 has been created
        at  3e48e840c0a0fd727e45911717a3db03e66dbfa2 (tag)
   tagging  4143c365c370d6952df744e662a7a035467e67f9 (commit)
  replaces  v1007
 tagged by  Art Cancro
        on  Thu Jan 16 11:57:30 2025 -0500

- Log -----------------------------------------------------------------
Version 1008 release

Art Cancro (99):
      calendar_edit.js: start/end time editing now loads and saves correctly.
      textclient: disable SIGWINCH during terminal capability detect.
      Identify point-in-time and all-day events, they need to be rendered differently
      webcit.css: calendar headings/content use flexbox properly instead of static sizing
      view_calendar.js: display all day events up top near the labels
      view_calendar.js: make the top labels line up with the columns (HACK)
      view_calendar.js: top-align the date labels, remove debugs
      view_calendar.js: handle non-inclusive DTEND properly
      back() is now scr_back() and used everywhere it can be
      Initial go at the console rework
      screen.c: moved other screen handling functions into this file
      moved things
      fmout() use global screenwidth instead of as a parameter
      character loop output instead of printf
      scr_printf() dynamic buffer and don't mangle it
      Removed unused parameter to scr_getc()
      Added scr_ functions to redirect output to a memory buffer
      <Q>uote and <P>rint use the new scr_redir api
      html_to_ascii() accept screenwidth=0 to suppress soft line breaks in conversion
      Merge branch 'master' into console_rework
      Phasing out fmout()
      fmout() subst mode is long gone, remove the param
      war on fmout()
      read_one_message() now converts legacy message format to unwrapped lines.  Let the screen.c renderer handle soft line wrap.
      footprint-reduced fmout() that is only needed until we rewrite the message editor
      suppress the paginator when redirecting output to a memory buffer
      Minor string formatting changes
      Editing system banners now requires an external editor (for now).
      textclient.h: much cleanup, see description below.
      Replace non-obvious 'mode' variable with 'editor_mode' and enum'ed options
      strproc() is now sanitize_string() and has improved badassery
      ka_system() is no longer called by anything.  Removed.
      messages.c: war on goto statements continued, this time in the editor save options loop
      Newfangled string traversal
      process_quote() cleanup.  second tempfile is far more ephemeral now and no longer a global variable.
      <.E>nter <A>scii now converts CRLF to LF, avoids unwanted double-spacing
      Please forgive my frequent small commits.  They are probably annoying.
      Replaced most of the error messages with a new macro call scr_perror()
      Rewrote the built in editor.
      replace size_t with int where signed comparisons are needed
      Saving my work because I'm about to try something
      citedit: rely on screen.c to tell us what column we're actually in.
      messages.c: more fine tuning of the editor.
      Moar editor tweaks
      Consolidating terminal stuff into screen.c
      screen.c: more simplification of stty_ctdl()
      initial go at restoring the status line
      messages.c: dial back word wrap by one more column
      disable debug bar
      Completed the return of the status line.
      Merge branch 'console_rework'
      msgbase.c: editor display/edit modes
      Oops!  My attempt to DRY the null termination created a bug.  Reversed that.
      Oops, I left the debug bar in.  Let's tuck that away.
      Mac OS Terminal sucks
      Skeleton screen for room edit
      WebCit Classic: fixed improper English in room edit screens.
      tcp_sockets.c: eliminate unix domain socket server - never used in WebCit-NG
      edit_room.js: set up the formgrids and fieldsets
      We do have 'Save changes' in our message catalog.  Use that.
      New function do_whatever_seems_sensible_upon_landing()
      Support DELETE method to delete a room.
      Delete Room operation is working in webcit-ng
      Rendered the rest of the admin box.  Also fixed some spelling errors in webcit.pot (and corresponding in all .po files referencing it)
      idle terminal adjustment
      document the DELETE method for a room
      Completed the screens to edit a room banner.
      Both versions of webcit - change 'room info file' to 'room banner'
      Random acts of style cleanup
      Display room icon in the banner
      icon upload screen ... started
      ctdl-formgrid-fieldset-stealth class to hide extra borders
      More options for the uploader.
      Did the JS side of 'save room icon'
      Update banners for 2025
      Replace room icon: complete
      Blowing off steam because I am explosively angry right now.
      More changing of 'aide' to 'administrator' in message catalog.
      Populate the room edit screen's floor selector with the actual floors available.
      /ctdl/r/<roomname>/config now returns all the GETR attributes.
      Continued fleshing out the 'Edit room' screen.
      Add -b (big message) and -w (write only) switches to loadtest
      ipcdef.h is superfluous, all these defs are in libcitadel.h
      libcitadel.h: random acts of style cleanup
      QR_INUSE flag is no longer relevant.  Removed it.
      Revert "QR_INUSE flag is no longer relevant.  Removed it."
      Add remaining QR2_ flags to json api
      configuration screen complete (but not fully populated yet)
      edit_room.js: populate remaining config options with data
      loadtest: make sure test messages are never zero length.
      Parse POST of application/x-www-form-urlencoded identically to query parameters.
      /ctdl/a/login now uses application/x-www-form-urlencoded query parameters.
      screen.c: use ESC 7 (DECSC) and ESC 8 (DECRC) to save/restore cursor position.
      room edit: saving of flags is now complete
      Finished the string room parameters.
      Room config: move save/cancel buttons inside config panel
      Don't try to set dkim_from_domain if fromaddr is empty
      Comment out opencmd in stock citadel.rc
      Release version 1008 generated by do-release.sh

Harlow Solutions (10):
      Lock mutexes were never initialized.  Implemented proper initialization and added error checking to initialization, lock and unlock.
      msgbase.c: Sending message without locking caused deadlock coredump.
      msgbase.c: Fixing room locking bug when saving message.
      msgbase.c: When saving message, switch from locking room to regular lock.
      msgbase.c: Fixing room locking bug when saving message.
      msgbase.c: When saving message, switch from locking room to regular lock.
      serv_inboxrules.c: Make global array of users (users_requiring_inbox_processing[]) thread safe.
      Fix coredumps caused by context cleanups at shutdown
      Shutdown the worker threads a little faster.
      Stop indexing messages on shutdown

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504728</link><pubDate>Thu, 16 Jan 2025 11:57:31 +0500</pubDate><title>Release version 1008 generated by do-release.sh</title><guid isPermaLink="false">2099504728@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4143c365c370d6952df744e662a7a035467e67f9 (commit)
      from  6a6e0eeedc8dd652f4d15628da41b207d4449de6 (commit)


- Log -----------------------------------------------------------------
commit 4143c365c370d6952df744e662a7a035467e67f9
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 16 11:57:30 2025 -0500

Release version 1008 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504727</link><pubDate>Thu, 16 Jan 2025 11:57:09 +0500</pubDate><title>Comment out opencmd in stock citadel.rc</title><guid isPermaLink="false">2099504727@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6a6e0eeedc8dd652f4d15628da41b207d4449de6 (commit)
      from  f321a5a75b8adfe8ab8dfed44f6d86f8f69ab0a8 (commit)


- Log -----------------------------------------------------------------
commit 6a6e0eeedc8dd652f4d15628da41b207d4449de6
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 16 11:57:07 2025 -0500

Comment out opencmd in stock citadel.rc

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.rc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504724</link><pubDate>Thu, 16 Jan 2025 11:54:45 +0500</pubDate><title>Don&#39;t try to set dkim_from_domain if fromaddr is empty</title><guid isPermaLink="false">2099504724@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f321a5a75b8adfe8ab8dfed44f6d86f8f69ab0a8 (commit)
      from  05b9c3742eb3f0a2330ce2a0070ec52070baee3b (commit)


- Log -----------------------------------------------------------------
commit f321a5a75b8adfe8ab8dfed44f6d86f8f69ab0a8
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 16 11:54:43 2025 -0500

Don't try to set dkim_from_domain if fromaddr is empty

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/smtp/serv_smtpclient.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504595</link><pubDate>Wed, 15 Jan 2025 15:48:56 +0500</pubDate><title>Python Client link</title><guid isPermaLink="false">2099504595@Uncensored</guid><description><![CDATA[<html><body>

<p>In the process of looking at other bindings for the Citadel protocol, I wanted to look at the 3rd party code at https://bitbucket.org/pystew/citadel but the code is not public or visible any more. Does somebody have an updated link?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504513</link><pubDate>Tue, 14 Jan 2025 23:05:39 +0500</pubDate><title>Room config: move save/cancel buttons inside config panel</title><guid isPermaLink="false">2099504513@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  05b9c3742eb3f0a2330ce2a0070ec52070baee3b (commit)
      from  daf1e749beae883de6a3269310d21a8b79d589f7 (commit)


- Log -----------------------------------------------------------------
commit 05b9c3742eb3f0a2330ce2a0070ec52070baee3b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 14 23:05:37 2025 -0500

Room config: move save/cancel buttons inside config panel

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504510</link><pubDate>Tue, 14 Jan 2025 22:37:58 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099504510@Uncensored</guid><description><![CDATA[ 
 On test.citadel.org in /root/citadel there is an installation of the git
master branch of Citadel ... and I wasn't able to get it to deadlock.  Go
ahead and try it and see what it does for you.  (Your account has sudo.)
 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504507</link><pubDate>Tue, 14 Jan 2025 22:21:48 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099504507@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<p>I am still really interested in why they run differently.  Since some of the Makefiles are created with autoconfig, maybe there is a difference in the Makefiles.  Can you give me the following Makefiles from your system so I can compare to mine:</p>
<ul>
<li>db-18.1.40/build_unix/Makefile</li>
<li>libcitadel/lib/xdgmime/Makefile</li>
<li>libcitadel/Makefile</li>
<li>citadel/Makefile</li>
</ul>
</div>
</blockquote>
<p>Ok, here are the makefiles (attached).</p>
<p>I've also set up a Rocky Linux 9 at test.citadel.org.  I copied over your account name and hashed password from www.citadel.org so you should be able to log in.  Let me know if that works.</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504429</link><pubDate>Mon, 13 Jan 2025 23:20:42 +0500</pubDate><title>Finished the string room parameters.</title><guid isPermaLink="false">2099504429@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  daf1e749beae883de6a3269310d21a8b79d589f7 (commit)
       via  6f89a801eb3dc0d7f69b0ecd47a6a6ef4737e23a (commit)
      from  a8eac13dee85a8a84c4235e3b7c4c9c7c79bf861 (commit)


- Log -----------------------------------------------------------------
commit daf1e749beae883de6a3269310d21a8b79d589f7
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 13 23:20:35 2025 -0500

Finished the string room parameters.

commit 6f89a801eb3dc0d7f69b0ecd47a6a6ef4737e23a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 10 00:16:32 2025 -0500

room edit: saving of flags is now complete

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 160 +++++++++++++++++++++++++-------------
 webcit-ng/server/webcit.h         |   4 +-
 webcit-ng/static/js/edit_room.js  |  25 +++---
 3 files changed, 126 insertions(+), 63 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504416</link><pubDate>Mon, 13 Jan 2025 19:07:36 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099504416@Uncensored</guid><description><![CDATA[<html><body>

<p class="MsoNormal">I run Rocky in a VirtualBox machine.</p>
<p class="MsoNormal">The deadlocks seem to be intermittent.  I was testing for a while and never had a deadlock, and then all of a sudden, I get them all the time.</p>
<p class="MsoNormal">Recovering from deadlocks requires some code which I have written, but if it is not occurring for others, I am hesitant to check it in.<span style="mso-spacerun: yes;">  </span>The existing code will coredump on the next DB operation.</p>
<p class="MsoNormal">I am interested in getting to the root cause of why my system is showing this issue, so if you can recreate, great.<span style="mso-spacerun: yes;">  </span>Still if you can send me the makefiles, I am curious if there is a difference that may change timing or something and help figure out the root cause.</p>
<p class="MsoNormal">I have been able to avoid all the deadlocks by locking around all the database operations for MSGMAIN and BIGMSGS.  It does not negatively affect performance and is fairly simple.  I think it is worth checking in because it will avoid deadlocks if they show up even on other systems and would need to be included if we do decide to implement deadlock recovery because it is more efficient than the database trying to recover.</p>
<p class="MsoNormal">I have crated branch BDB_Message_Lock which implements just the locks.  The only big thing in implementing it was I had to move the mutex locking to libcitadel because the BDB code is used externally and cannot access the begin and end critical section calls.<span style="mso-spacerun: yes;">  </span>The critical section code is still in threads.c, but it uses the new library functions to actually lock/unlock.<span style="mso-spacerun: yes;">  </span>I added the new locks to the end of tools.c<span style="mso-spacerun: yes;">  </span>I implemented more generically so it can be used by any app and have<span style="mso-spacerun: yes;">  </span>lot of error checking just in case.</p>
<p class="MsoNormal">If you think it is worth it you can test and just merge it into master.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504401</link><pubDate>Mon, 13 Jan 2025 17:08:05 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099504401@Uncensored</guid><description><![CDATA[<html><body>

<p class="MsoNormal">I run Rocky in a VirtualBox machine.</p>
<p class="MsoNormal">The deadlocks seem to be intermittent.  I was testing for a while and never had a deadlock, and then all of a sudden, I get them all the time.</p>
<p class="MsoNormal">Recovering from deadlocks requires some code which I have written, but if it is not occurring for others, I am hesitant to check it in.<span style="mso-spacerun: yes;">  </span>The existing code will coredump on the next DB operation.</p>
<p class="MsoNormal">I am interested in getting to the root cause of why my system is showing this issue, so if you can recreate, great.<span style="mso-spacerun: yes;">  </span>Still if you can send me the makefiles, I am curious if there is a difference that may change timing or something and help figure out the root cause.</p>
<p class="MsoNormal">I have been able to avoid all the deadlocks by locking around all the database operations for MSGMAIN and BIGMSGS.  It does not negatively affect performance and is fairly simple.  I think it is worth checking in because it will avoid deadlocks if they show up even on other systems and would need to be included if we do decide to implement deadlock recovery because it is more efficient than the database trying to recover.</p>
<p class="MsoNormal">I have crated branch BDB_Message_Lock which implements just the locks.  The only big thing in implementing it was I had to move the mutex locking to libcitadel because the BDB code is used externally and cannot access the begin and end critical section calls.<span style="mso-spacerun: yes;">  </span>The critical section code is still in threads.c, but it uses the new library functions to actually lock/unlock.<span style="mso-spacerun: yes;">  </span>I added the new locks to the end of tools.c<span style="mso-spacerun: yes;">  </span>I implemented more generically so it can be used by any app and have<span style="mso-spacerun: yes;">  </span>lot of error checking just in case.</p>
<p class="MsoNormal">If you think it is worth it you can test and just merge it into master.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504398</link><pubDate>Mon, 13 Jan 2025 16:43:01 +0500</pubDate><title>Implemented mutex locks around all Berkeley DB operations to avoid deadlocks.</title><guid isPermaLink="false">2099504398@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, BDB_Message_Lock has been created
        at  c1506e4c9415bbf8aa48e3afc2fcac47b3f84f7f (commit)

- Log -----------------------------------------------------------------
commit c1506e4c9415bbf8aa48e3afc2fcac47b3f84f7f
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Mon Jan 13 16:39:12 2025 -0500

Implemented mutex locks around all Berkeley DB operations to avoid deadlocks.

Mutex lock all database operations to MSGMAIN and BIGMSGS
to avoid Berkeley DB operations internally deadlocking.

Moved mutex locking from threads.c in citserver to tools.c
in libcitadel so Berkley DB code can perform locks in citserver
and utility programs.  begin and end critical sections still in
threads.c, but now use libcitadel locking.

No performance impact detected.

commit a8eac13dee85a8a84c4235e3b7c4c9c7c79bf861
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sun Jan 12 20:43:57 2025 -0500
-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504368</link><pubDate>Mon, 13 Jan 2025 10:08:42 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099504368@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<p>I have been thinking about this and I can switch to a different Linux if that will make it more stable.  I just used Rocky because I used CentOS at work for a long time so using it was just easy.  What Linux do you recommend?</p>
</div>
</blockquote>
<p>That depends on how much patience you have  :)</p>
<p>If there is a bug that only manifests on Rocky Linux, then it's still a bug and I'd like to get it fixed.  Perhaps I can get a Rocky Linux installation going over here and we can try to reproduce the problem again.  I could even copy over a known working test database just to make sure.  Are you running Rocky in a virtual machine, in a container, or on bare metal?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504315</link><pubDate>Sun, 12 Jan 2025 20:46:17 +0500</pubDate><title>Stop indexing messages on shutdown</title><guid isPermaLink="false">2099504315@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a8eac13dee85a8a84c4235e3b7c4c9c7c79bf861 (commit)
      from  e676d373984f27f01c94d78ba4a1e9fdbc36fe4d (commit)


- Log -----------------------------------------------------------------
commit a8eac13dee85a8a84c4235e3b7c4c9c7c79bf861
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sun Jan 12 20:43:57 2025 -0500

Stop indexing messages on shutdown

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/fulltext/serv_fulltext.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504186</link><pubDate>Fri, 10 Jan 2025 18:14:05 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099504186@Uncensored</guid><description><![CDATA[<html><body>

<p>I have been thinking about this and I can switch to a different Linux if that will make it more stable.  I just used Rocky because I used CentOS at work for a long time so using it was just easy.  What Linux do you recommend?</p>
<p>I am still really interested in why they run differently.  Since some of the Makefiles are created with autoconfig, maybe there is a difference in the Makefiles.  Can you give me the following Makefiles from your system so I can compare to mine:</p>
<ul>
<li>db-18.1.40/build_unix/Makefile</li>
<li>libcitadel/lib/xdgmime/Makefile</li>
<li>libcitadel/Makefile</li>
<li>citadel/Makefile</li>
</ul>
<div> </div>
<blockquote>
<div class="message_header"><span>Thu Jan 09 2025 00:52:48 UTC</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Database Deadlock Handling</span></div>
<div class="message_content">
<p>It baffles me too.  I just assumed it was my load testing that made it show up but when I deleted all the directories, and downloaded/ran easyinstall and loadtest caused the deadlock, became very confused.  What really confuses me is while I have been working on deadlock recovery, the problem switched from deadlocking on MSGMAIN to BIGMSGS.  I have a headache....</p>
<p>I am running Rocky Linux 9.5 (Blue Onyx) 5.14.0-503.19.1.el9_5.x86_64</p>
<p>My data filesystem is ext4</p>
<p>Other than I have disabled SELinux, it is pretty much out of the box.</p>
<p>The only thing I can think of is a difference in timing may be throwing off the database code.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504165</link><pubDate>Fri, 10 Jan 2025 15:18:11 +0500</pubDate><title>uncensored stopped responding on https</title><guid isPermaLink="false">2099504165@Uncensored</guid><description><![CDATA[<html><body>

<p>I thought the site was down, but it looks like the SSL port is not listening or firewalled.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099504037</link><pubDate>Thu, 09 Jan 2025 12:01:28 +0500</pubDate><title>screen.c: use ESC 7 (DECSC) and ESC 8 (DECRC) to save/restore cursor position.</title><guid isPermaLink="false">2099504037@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e676d373984f27f01c94d78ba4a1e9fdbc36fe4d (commit)
      from  abe5a2f6bf16a2c363b176e1aecdac5c53310a13 (commit)


- Log -----------------------------------------------------------------
commit e676d373984f27f01c94d78ba4a1e9fdbc36fe4d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 9 12:00:35 2025 -0500

screen.c: use ESC 7 (DECSC) and ESC 8 (DECRC) to save/restore cursor position.

These are older sequences that might work on more terminals.
Anyone got a Mac to try this on?

-----------------------------------------------------------------------

Summary of changes:
 textclient/screen.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503976</link><pubDate>Wed, 08 Jan 2025 19:52:48 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099503976@Uncensored</guid><description><![CDATA[<html><body>

<p>It baffles me too.  I just assumed it was my load testing that made it show up but when I deleted all the directories, and downloaded/ran easyinstall and loadtest caused the deadlock, became very confused.  What really confuses me is while I have been working on deadlock recovery, the problem switched from deadlocking on MSGMAIN to BIGMSGS.  I have a headache....</p>
<p>I am running Rocky Linux 9.5 (Blue Onyx) 5.14.0-503.19.1.el9_5.x86_64</p>
<p>My data filesystem is ext4</p>
<p>Other than I have disabled SELinux, it is pretty much out of the box.</p>
<p>The only thing I can think of is a difference in timing may be throwing off the database code.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503898</link><pubDate>Tue, 07 Jan 2025 23:10:50 +0500</pubDate><title>/ctdl/a/login now uses application/x-www-form-urlencoded query parameters.</title><guid isPermaLink="false">2099503898@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  abe5a2f6bf16a2c363b176e1aecdac5c53310a13 (commit)
      from  3d783a53b12e518708e0df22ac1fe830fb1c5fe1 (commit)


- Log -----------------------------------------------------------------
commit abe5a2f6bf16a2c363b176e1aecdac5c53310a13
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 7 23:10:47 2025 -0500

/ctdl/a/login now uses application/x-www-form-urlencoded query parameters.

It was just a dumb delimited string before.  Now it's prim and proper.
Makes sense, I guess.  This was the very first API call we built and I was just figuring things
out.  What we've got now is actually a very elegantly designed application server.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/admin_functions.c |  8 +++-----
 webcit-ng/static/js/login.js       | 38 ++++++++++++++++++++++----------------
 2 files changed, 25 insertions(+), 21 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503895</link><pubDate>Tue, 07 Jan 2025 22:45:21 +0500</pubDate><title>Parse POST of application/x-www-form-urlencoded identically to query parameters.</title><guid isPermaLink="false">2099503895@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3d783a53b12e518708e0df22ac1fe830fb1c5fe1 (commit)
      from  409af9aaffff4f571fa0a24f3c9b5ae4c8011a48 (commit)


- Log -----------------------------------------------------------------
commit 3d783a53b12e518708e0df22ac1fe830fb1c5fe1
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 7 22:45:18 2025 -0500

Parse POST of application/x-www-form-urlencoded identically to query parameters.

Also added the post side of saving room config parameters.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/http.c           | 47 +++++++++++++++---------
 webcit-ng/server/room_functions.c | 33 +++++++++++++++--
 webcit-ng/server/webcit.h         |  4 +--
 webcit-ng/static/js/edit_room.js  | 76 +++++++++++++++++++++++----------------
 4 files changed, 110 insertions(+), 50 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503849</link><pubDate>Tue, 07 Jan 2025 17:13:53 +0500</pubDate><title>loadtest: make sure test messages are never zero length.</title><guid isPermaLink="false">2099503849@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  409af9aaffff4f571fa0a24f3c9b5ae4c8011a48 (commit)
      from  98e2ddd84fbbd6ba5c7dcf815117281d97721087 (commit)


- Log -----------------------------------------------------------------
commit 409af9aaffff4f571fa0a24f3c9b5ae4c8011a48
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 7 17:13:50 2025 -0500

loadtest: make sure test messages are never zero length.

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/loadtest.c          |  6 ++++-
 webcit-ng/docs/api.txt            |  4 ++++
 webcit-ng/server/room_functions.c | 11 +++++++++
 webcit-ng/static/js/edit_room.js  | 47 ++++++++++++++++++++++++++++++---------
 4 files changed, 56 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503826</link><pubDate>Tue, 07 Jan 2025 14:40:44 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099503826@Uncensored</guid><description><![CDATA[<html><body>

<p>As always if you need an extra sandbox, just yell.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503810</link><pubDate>Tue, 07 Jan 2025 14:13:12 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099503810@Uncensored</guid><description><![CDATA[ >I ran the code from master (no changes) against loadtest (no 
 >parameters,
 >so 10 threads) and I get a coredump within 30 seconds. 
 >
 >   citserver[43011]: bdb: bdb_delete(00): BDB0068 DB_LOCK_DEADLOCK:
 >Locker killed to resolve a deadlock 
 
 Ok, so stock citserver and stock loadtest are doing that on your machine,
with no modifications to either one?
 
 If that is the case, there's something very weird going on and we're probably
both barking up the wrong tree.  There are countless thousands of Citadel
Server instances in use around the world and this problem ought to be endemic
if it is in the mainline code.
 
 So let's figure out what's different here.  Let me reiterate that I completely
believe what you're saying and I want to help develop a solution.  But right
now I'm baffled.
 
 Let's start with the basics.  May I assume that you are running a mainstream
Linux distribution
on either AMD64 or ARM64 architecture?  What filesystem is in use?  Anything
else special or unusual?
 
 If we can't figure out the difference then my next step might be to set up
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503790</link><pubDate>Tue, 07 Jan 2025 10:53:46 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099503790@Uncensored</guid><description><![CDATA[<html><body>

<p>Same results with a fresh easyinstall of v1007.</p>
<blockquote>
<div class="message_header"><span>Tue Jan 07 2025 05:10:21 UTC</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Database Deadlock Handling</span></div>
<div class="message_content">
<p>I ran the code from master (no changes) against loadtest (no parameters, so 10 threads) and I get a coredump within 30 seconds.</p>
<p>   citserver[43011]: bdb: bdb_delete(00): BDB0068 DB_LOCK_DEADLOCK: Locker killed to resolve a deadlock</p>
<p>I will have to try again with a clean easyinstall just in case my build environment is causing something different.  Can you try again and look in the system log for "DEADLOCK" or "Core Dump".</p>
<p>As a side note, when I run loadtest, I get a bunch of error messages in the system log from citserver about NULL bodies.  I don't think they are related to the deadlocks, but not sure why I am getting them.  Do you get this too?</p>
<p>   msgbase: ERROR; attempt to save message with NULL body</p>
<p> </p>
<blockquote>
<div class="message_header"> </div>
</blockquote>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503755</link><pubDate>Tue, 07 Jan 2025 00:10:21 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099503755@Uncensored</guid><description><![CDATA[<html><body>

<p>I ran the code from master (no changes) against loadtest (no parameters, so 10 threads) and I get a coredump within 30 seconds.</p>
<p>   citserver[43011]: bdb: bdb_delete(00): BDB0068 DB_LOCK_DEADLOCK: Locker killed to resolve a deadlock</p>
<p>I will have to try again with a clean easyinstall just in case my build environment is causing something different.  Can you try again and look in the system log for "DEADLOCK" or "Core Dump".</p>
<p>As a side note, when I run loadtest, I get a bunch of error messages in the system log from citserver about NULL bodies.  I don't think they are related to the deadlocks, but not sure why I am getting them.  Do you get this too?</p>
<p>   msgbase: ERROR; attempt to save message with NULL body</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Mon Jan 06 2025 05:06:01 UTC</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Database Deadlock Handling</span></div>
<div class="message_content">
<p>I will try loadtest and see if I can recreate.  If not I will see about modifying it to make it recreate.</p>
<p>As for the configuration settings, the workers are started and added in threads.c  I think it looks at the upper limit, but does not do anything with a lower limit.  Both are probably useful.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503723</link><pubDate>Mon, 06 Jan 2025 13:21:05 +0500</pubDate><title>edit_room.js: populate remaining config options with data</title><guid isPermaLink="false">2099503723@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  98e2ddd84fbbd6ba5c7dcf815117281d97721087 (commit)
      from  de71644671a48ae293d8210ab1d2e90b493458ca (commit)


- Log -----------------------------------------------------------------
commit 98e2ddd84fbbd6ba5c7dcf815117281d97721087
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 6 13:21:03 2025 -0500

edit_room.js: populate remaining config options with data

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 36 ++++++++++++++++++++++++++++++------
 1 file changed, 30 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503653</link><pubDate>Mon, 06 Jan 2025 00:06:01 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099503653@Uncensored</guid><description><![CDATA[<html><body>

<p>I will try loadtest and see if I can recreate.  If not I will see about modifying it to make it recreate.</p>
<p>As for the configuration settings, the workers are started and added in threads.c  I think it looks at the upper limit, but does not do anything with a lower limit.  Both are probably useful.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503648</link><pubDate>Sun, 05 Jan 2025 20:51:53 +0500</pubDate><title>configuration screen complete (but not fully populated yet)</title><guid isPermaLink="false">2099503648@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  de71644671a48ae293d8210ab1d2e90b493458ca (commit)
      from  5461d43ea831aaceab6a78b7dfe9490d70b40ef3 (commit)


- Log -----------------------------------------------------------------
commit de71644671a48ae293d8210ab1d2e90b493458ca
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 5 20:51:50 2025 -0500

configuration screen complete (but not fully populated yet)

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 81 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 73 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503585</link><pubDate>Sat, 04 Jan 2025 19:53:33 +0500</pubDate><title>Re: Revert &quot;QR_INUSE flag is no longer relevant. Removed it.&quot;</title><guid isPermaLink="false">2099503585@Uncensored</guid><description><![CDATA[ >Revert "QR_INUSE flag is no longer relevant.  Removed it."  
  
 Geez.  That was quite the fail. 
  
 QR_INUSE was a holdover from the days between 1987 and 1998, when the rooms
table was a flat file containing a fixed number of records.  QR_INUSE meant
that a particular slot in the file held an active record; its absence meant
that a new room could be stored there. 
  
 That isn't really needed anymore because when we remove a record (from any
table) it is simply deleted from the database, so there's no longer any reason
to have a flag that says "yes, this is a real record and not empty space."
 I thought I removed it properly, but a little while later, half of my test
system vanished.  I still don't know exactly why, but it's definitely something
in that commit.  So it's back for now. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503579</link><pubDate>Sat, 04 Jan 2025 19:37:26 +0500</pubDate><title>Add remaining QR2_ flags to json api</title><guid isPermaLink="false">2099503579@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5461d43ea831aaceab6a78b7dfe9490d70b40ef3 (commit)
      from  a61f5a1c08da31da61862240e6ab47b9ff24d793 (commit)


- Log -----------------------------------------------------------------
commit 5461d43ea831aaceab6a78b7dfe9490d70b40ef3
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 4 19:37:24 2025 -0500

Add remaining QR2_ flags to json api

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/expire/serv_expire.c | 9 ++-------
 webcit-ng/server/room_functions.c           | 5 +++++
 2 files changed, 7 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503578</link><pubDate>Sat, 04 Jan 2025 19:34:19 +0500</pubDate><title>Revert &quot;QR_INUSE flag is no longer relevant. Removed it.&quot;</title><guid isPermaLink="false">2099503578@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a61f5a1c08da31da61862240e6ab47b9ff24d793 (commit)
      from  2832f788f938b3d68074dd46ce8db81a529ba270 (commit)


- Log -----------------------------------------------------------------
commit a61f5a1c08da31da61862240e6ab47b9ff24d793
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 4 19:33:46 2025 -0500

Revert "QR_INUSE flag is no longer relevant.  Removed it."

This reverts commit 2832f788f938b3d68074dd46ce8db81a529ba270.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/housekeeping.c                 |  8 +++++++-
 citadel/server/modules/ctdlproto/serv_rooms.c | 27 +++++++++++++++++----------
 citadel/server/room_ops.c                     |  8 +++++---
 webcit-ng/server/room_functions.c             |  5 -----
 4 files changed, 29 insertions(+), 19 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503571</link><pubDate>Sat, 04 Jan 2025 16:56:17 +0500</pubDate><title>QR_INUSE flag is no longer relevant. Removed it.</title><guid isPermaLink="false">2099503571@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2832f788f938b3d68074dd46ce8db81a529ba270 (commit)
      from  69674317eaa1a0fe03bd859dfdc4ccb8b68988f3 (commit)


- Log -----------------------------------------------------------------
commit 2832f788f938b3d68074dd46ce8db81a529ba270
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 4 16:56:15 2025 -0500

QR_INUSE flag is no longer relevant.  Removed it.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/housekeeping.c                 |  8 +-------
 citadel/server/modules/ctdlproto/serv_rooms.c | 27 ++++++++++-----------------
 citadel/server/room_ops.c                     |  8 +++-----
 webcit-ng/server/room_functions.c             |  5 +++++
 4 files changed, 19 insertions(+), 29 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503568</link><pubDate>Sat, 04 Jan 2025 16:34:17 +0500</pubDate><title>libcitadel.h: random acts of style cleanup</title><guid isPermaLink="false">2099503568@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  69674317eaa1a0fe03bd859dfdc4ccb8b68988f3 (commit)
      from  fd8e6603f40e88df4f7c52c0a538233453d27b0e (commit)


- Log -----------------------------------------------------------------
commit 69674317eaa1a0fe03bd859dfdc4ccb8b68988f3
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 4 16:34:14 2025 -0500

libcitadel.h: random acts of style cleanup

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/libcitadel.h | 272 +++++++++++++++++++-------------------------
 1 file changed, 117 insertions(+), 155 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503565</link><pubDate>Sat, 04 Jan 2025 16:18:16 +0500</pubDate><title>ipcdef.h is superfluous, all these defs are in libcitadel.h</title><guid isPermaLink="false">2099503565@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fd8e6603f40e88df4f7c52c0a538233453d27b0e (commit)
      from  32b659ad4bfccd431330ffb292ac9e434e03f502 (commit)


- Log -----------------------------------------------------------------
commit fd8e6603f40e88df4f7c52c0a538233453d27b0e
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 4 16:18:14 2025 -0500

ipcdef.h is superfluous, all these defs are in libcitadel.h

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h    |  1 -
 citadel/server/ipcdef.h          | 82 ----------------------------------------
 webcit-ng/static/js/edit_room.js |  9 +++++
 3 files changed, 9 insertions(+), 83 deletions(-)
 delete mode 100644 citadel/server/ipcdef.h

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503558</link><pubDate>Sat, 04 Jan 2025 15:29:59 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099503558@Uncensored</guid><description><![CDATA[  
 Anyway, what I forgot to mention was, maybe try to see if you can get it
to deadlock on your system using the supplied load test program.  Or if not,
maybe you can modify loadtest.c with new options to create the deadlock condition.

  
 I really want to offer some insight here but I don't think I can do so without
recreating the problem here. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503557</link><pubDate>Sat, 04 Jan 2025 15:28:26 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099503557@Uncensored</guid><description><![CDATA[ >I run 50 threads, each sending 50 messages each (Total: 2500 messages).
  
 >  
 >Each message has 80000 characters in the body.   
  
 Check the latest version of loadtest, I added two new options: 
  
 -b   Big message mode.  Posts 80000 byte printer test style messages instead
of lipsum. 
 -w   Write-only mode.  All threads hammer a single room with writes instead
of random operations. 
  
 My test was  
 ./loadtest -b -n80 -w 
  
 but unfortunately I was still not able to make it deadlock. 
  
 I also noticed that we have configuration settings "c_min_workers" and "c_max_workers"
to control the size of the thread pool, and we don't actually do anything
with those settings.  They might have been removed at some point. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503554</link><pubDate>Sat, 04 Jan 2025 15:21:09 +0500</pubDate><title>Add -b (big message) and -w (write only) switches to loadtest</title><guid isPermaLink="false">2099503554@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  32b659ad4bfccd431330ffb292ac9e434e03f502 (commit)
      from  e7428788fdcc91aea41eba03ef0fb228981b79d4 (commit)


- Log -----------------------------------------------------------------
commit 32b659ad4bfccd431330ffb292ac9e434e03f502
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 4 12:21:05 2025 -0800

Add -b (big message) and -w (write only) switches to loadtest

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/loadtest.c | 69 ++++++++++++++++++++++++++++++++++--------------
 1 file changed, 49 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503503</link><pubDate>Fri, 03 Jan 2025 22:57:44 +0500</pubDate><title>Continued fleshing out the &#39;Edit room&#39; screen.</title><guid isPermaLink="false">2099503503@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e7428788fdcc91aea41eba03ef0fb228981b79d4 (commit)
      from  a4d8bc3e65b179b2d41831bec2ac950d3d841993 (commit)


- Log -----------------------------------------------------------------
commit e7428788fdcc91aea41eba03ef0fb228981b79d4
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 3 22:57:41 2025 -0500

Continued fleshing out the 'Edit room' screen.

Continued wishing an excruciating death upon the person who wronged me.
Die die die.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  42 +++++++++++-----
 webcit-ng/static/js/edit_room.js | 101 +++++++++++++++++++++++++++++++++++++--
 2 files changed, 127 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503481</link><pubDate>Fri, 03 Jan 2025 18:46:38 +0500</pubDate><title>/ctdl/r/&lt;roomname&gt;/config now returns all the GETR attributes.</title><guid isPermaLink="false">2099503481@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a4d8bc3e65b179b2d41831bec2ac950d3d841993 (commit)
      from  3702af7fead7947e4d1e68171d560a43d3b78bf6 (commit)


- Log -----------------------------------------------------------------
commit a4d8bc3e65b179b2d41831bec2ac950d3d841993
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 3 18:46:36 2025 -0500

/ctdl/r/<roomname>/config now returns all the GETR attributes.

May the enemy still on my mind suffer slowly and die painfully.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt            |  1 +
 webcit-ng/server/room_functions.c | 72 +++++++++++++++++++++++++++++++++++++--
 2 files changed, 70 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503477</link><pubDate>Fri, 03 Jan 2025 18:21:12 +0500</pubDate><title>Populate the room edit screen&#39;s floor selector with the actual floors available.</title><guid isPermaLink="false">2099503477@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3702af7fead7947e4d1e68171d560a43d3b78bf6 (commit)
      from  d2397e3ad4b6de97a56a86c62d20d50b6baa18c2 (commit)


- Log -----------------------------------------------------------------
commit 3702af7fead7947e4d1e68171d560a43d3b78bf6
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 3 18:21:10 2025 -0500

Populate the room edit screen's floor selector with the actual floors available.

Also, continuing to dwell on how much I seriously want a single specific person to get
stabbed in the face with my truck.  Die, asshole.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 13 +++++++++++++
 webcit-ng/static/js/roomlist.js  |  2 +-
 2 files changed, 14 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503469</link><pubDate>Fri, 03 Jan 2025 17:12:48 +0500</pubDate><title>More changing of &#39;aide&#39; to &#39;administrator&#39; in message catalog.</title><guid isPermaLink="false">2099503469@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d2397e3ad4b6de97a56a86c62d20d50b6baa18c2 (commit)
      from  9f190a4b839491375ac0da8868d962f822e0e145 (commit)


- Log -----------------------------------------------------------------
commit d2397e3ad4b6de97a56a86c62d20d50b6baa18c2
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 3 17:12:46 2025 -0500

More changing of 'aide' to 'administrator' in message catalog.

Also, I am still explosively angry.  May the person who made me this angry die immediately and
painfully.  You know who you are, but you're definitely not reading this because you're too stupid
to be part of an open source project.  I hope you suffer greatly.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js                  |  6 +++++-
 webcit/po/webcit/ar.po                            | 10 +++++-----
 webcit/po/webcit/bg.po                            | 10 +++++-----
 webcit/po/webcit/cs.po                            | 10 +++++-----
 webcit/po/webcit/da.po                            | 10 +++++-----
 webcit/po/webcit/de.po                            | 10 +++++-----
 webcit/po/webcit/el.po                            | 10 +++++-----
 webcit/po/webcit/en_GB.po                         | 20 ++++++++++----------
 webcit/po/webcit/es.po                            | 10 +++++-----
 webcit/po/webcit/et.po                            | 10 +++++-----
 webcit/po/webcit/fi.po                            | 10 +++++-----
 webcit/po/webcit/fr.po                            | 10 +++++-----
 webcit/po/webcit/he.po                            | 10 +++++-----
 webcit/po/webcit/hu.po                            | 10 +++++-----
 webcit/po/webcit/it.po                            | 10 +++++-----
 webcit/po/webcit/kk.po                            | 10 +++++-----
 webcit/po/webcit/ko.po                            | 10 +++++-----
 webcit/po/webcit/nl.po                            | 10 +++++-----
 webcit/po/webcit/pl.po                            | 10 +++++-----
 webcit/po/webcit/pt_BR.po                         | 10 +++++-----
 webcit/po/webcit/ro.po                            | 10 +++++-----
 webcit/po/webcit/ru.po                            | 10 +++++-----
 webcit/po/webcit/sl.po                            | 10 +++++-----
 webcit/po/webcit/sv.po                            | 10 +++++-----
 webcit/po/webcit/tr.po                            | 10 +++++-----
 webcit/po/webcit/webcit.pot                       | 10 +++++-----
 webcit/po/webcit/zh.po                            | 10 +++++-----
 webcit/static/t/aide/display_aliases.html         |  2 +-
 webcit/static/t/aide/display_sitewide_config.html |  2 +-
 webcit/static/t/aide/edituser/select.html         |  2 +-
 webcit/static/t/aide/siteconfig/tab_access.html   |  6 +++---
 webcit/static/t/room/edit/tab_config.html         |  2 +-
 32 files changed, 147 insertions(+), 143 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503464</link><pubDate>Fri, 03 Jan 2025 16:59:36 +0500</pubDate><title>Blowing off steam because I am explosively angry right now.</title><guid isPermaLink="false">2099503464@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9f190a4b839491375ac0da8868d962f822e0e145 (commit)
      from  634897c410f5cb991cb036c8d679a766c16fe9ac (commit)


- Log -----------------------------------------------------------------
commit 9f190a4b839491375ac0da8868d962f822e0e145
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 3 16:59:34 2025 -0500

Blowing off steam because I am explosively angry right now.

-----------------------------------------------------------------------

Summary of changes:
 webcit/siteconfig.c | 118 ++++++++++++++++++++--------------------------------
 1 file changed, 46 insertions(+), 72 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503374</link><pubDate>Thu, 02 Jan 2025 23:50:54 +0500</pubDate><title>Replace room icon: complete</title><guid isPermaLink="false">2099503374@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  634897c410f5cb991cb036c8d679a766c16fe9ac (commit)
      from  3482cebeadfd7f71a898a3356772ac74f657d2d6 (commit)


- Log -----------------------------------------------------------------
commit 634897c410f5cb991cb036c8d679a766c16fe9ac
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 2 23:50:51 2025 -0500

Replace room icon: complete

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c        | 11 ++++++--
 webcit-ng/server/room_functions.c | 54 +++++++++++++++++++++++++++++++++++++--
 webcit-ng/server/upload.c         | 16 ++++++------
 webcit-ng/static/js/edit_room.js  |  3 ++-
 4 files changed, 71 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503302</link><pubDate>Thu, 02 Jan 2025 09:47:33 +0500</pubDate><title>Update banners for 2025</title><guid isPermaLink="false">2099503302@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3482cebeadfd7f71a898a3356772ac74f657d2d6 (commit)
      from  f8fecf1a358b484ed917b2b358b2551c401f7594 (commit)


- Log -----------------------------------------------------------------
commit 3482cebeadfd7f71a898a3356772ac74f657d2d6
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 2 09:47:31 2025 -0500

Update banners for 2025

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/server_main.c |   6 +-
 ctdlsh/config.c              |  26 +++----
 ctdlsh/datetime.c            |  13 ++--
 ctdlsh/export.c              |   9 +--
 ctdlsh/mailq.c               |  31 ++++----
 ctdlsh/main.c                |  52 ++++++-------
 ctdlsh/main.c~               | 175 -------------------------------------------
 ctdlsh/passwd.c              |   9 +--
 ctdlsh/shutdown.c            |   9 +--
 ctdlsh/sockets.c             |  95 +++++++++--------------
 ctdlsh/who.c                 |  13 ++--
 webcit-ng/server/main.c      |   4 +-
 webcit/webserver.c           |   4 +-
 13 files changed, 110 insertions(+), 336 deletions(-)
 delete mode 100644 ctdlsh/main.c~

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503133</link><pubDate>Tue, 31 Dec 2024 12:55:39 +0500</pubDate><title>Did the JS side of &#39;save room icon&#39;</title><guid isPermaLink="false">2099503133@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f8fecf1a358b484ed917b2b358b2551c401f7594 (commit)
      from  ab813a318bf15da5e947ba6787dab8bc3254c7d2 (commit)


- Log -----------------------------------------------------------------
commit f8fecf1a358b484ed917b2b358b2551c401f7594
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 31 12:47:11 2024 -0500

Did the JS side of 'save room icon'

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt            |  2 +-
 webcit-ng/server/room_functions.c | 22 ++++++++++++----------
 webcit-ng/static/js/edit_room.js  | 21 +++++++++++++++++++++
 3 files changed, 34 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099503044</link><pubDate>Mon, 30 Dec 2024 14:12:40 +0500</pubDate><title>Shutdown the worker threads a little faster.</title><guid isPermaLink="false">2099503044@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ab813a318bf15da5e947ba6787dab8bc3254c7d2 (commit)
      from  5ee479f447e7cd570ac6da65ffcaf3196866de7e (commit)


- Log -----------------------------------------------------------------
commit ab813a318bf15da5e947ba6787dab8bc3254c7d2
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Mon Dec 30 14:12:20 2024 -0500

Shutdown the worker threads a little faster.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/sysdep.c | 57 +++++++++++++++++++++++++++++++++++++------------
 1 file changed, 43 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502977</link><pubDate>Mon, 30 Dec 2024 08:31:42 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099502977@Uncensored</guid><description><![CDATA[<html><body>

<p>I found that I can reproduce with 10 threads.  You do need to patch threads.c to open more than 10 workers so they do not get serialized.  Eventually a running server would increase the number of workers, so just adding them at the start to reproduce faster is a valid test.  You also have to remove the S_SAVE_THIS_MSG locks to reproduce reliably.  In my testing, I would get intermittent deadlocks even with the S_SAVE_THIS_MSG locks from other database accesses, so the S_SAVE_THIS_MSG gets rid of most of the conflicts.</p>
<blockquote>
<div class="message_header"><span>Sun Dec 29 2024 22:29:09 UTC</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Database Deadlock Handling</span></div>
<div class="message_content">
<p>I can reproduce it consistently.  You just have to run a test program with a good number of threads that each send multiple large messages in SMTP.  Here is what I am running with to benchmark that will cause deadlocks without locks.  The current master code has a lock around the stores in save_this_message, so you may want to remove those to force more deadlocks.  Those locks worked until I really stressed it and found that they only avoided the main deadlocking.</p>
<p>I initially create 100 workers at startup in thread.c.  You should be able to deadlock a lot more if you do not do this, but a lot of threads will time out.</p>
<p>I run 50 threads, each sending 50 messages each (Total: 2500 messages).</p>
<p>Each message has 80000 characters in the body.</p>
<p>Again, this is not a realistic test case, I am just stressing the server to find areas that need hardening.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502901</link><pubDate>Sun, 29 Dec 2024 17:29:09 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099502901@Uncensored</guid><description><![CDATA[<html><body>

<p>I can reproduce it consistently.  You just have to run a test program with a good number of threads that each send multiple large messages in SMTP.  Here is what I am running with to benchmark that will cause deadlocks without locks.  The current master code has a lock around the stores in save_this_message, so you may want to remove those to force more deadlocks.  Those locks worked until I really stressed it and found that they only avoided the main deadlocking.</p>
<p>I initially create 100 workers at startup in thread.c.  You should be able to deadlock a lot more if you do not do this, but a lot of threads will time out.</p>
<p>I run 50 threads, each sending 50 messages each (Total: 2500 messages).</p>
<p>Each message has 80000 characters in the body.</p>
<p>Again, this is not a realistic test case, I am just stressing the server to find areas that need hardening.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502897</link><pubDate>Sun, 29 Dec 2024 16:44:29 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099502897@Uncensored</guid><description><![CDATA[I don't suppose you can supply a reliable set of steps to reproduce the deadlock
problem?  Or is it just random and stochastic on your system? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502883</link><pubDate>Sun, 29 Dec 2024 10:36:17 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099502883@Uncensored</guid><description><![CDATA[<html><body>

<p class="MsoNormal">You can decide if you want to add the code or not.  I am still developing and testing.  Here are the details for what I have learned/completed:</p>
<p class="MsoNormal">The deadlocks affect several database calls beyond bdb_store.<span style="mso-spacerun: yes;">  </span>The database calls put, del, get, c_get and truncate all can deadlock.<span style="mso-spacerun: yes;">  </span>This affects bdb_store, bdb_delete, bdb_fetch, bdb_next_item and bdb_trunc.<span style="mso-spacerun: yes;">  </span>I had to implement deadlock recovery for all of them.</p>
<p class="MsoNormal">I did confirm that the database is causing the deadlocks, not our code.<span style="mso-spacerun: yes;">  </span>Berkeley uses page based locking and when a store is running, it locks a couple of pages internally.<span style="mso-spacerun: yes;">  </span>Other messages being stored can try to lock the same pages and it results in a deadlock.</p>
<p class="MsoNormal">I tested the performance of recovering the deadlocks vs adding mutex locks around the database calls to MSGMAIN.<span style="mso-spacerun: yes;">  </span>With message loads that will not deadlock, the time to send all the messages are the same. <span style="mso-spacerun: yes;"> </span>For message loads that will cause deadlocks, the mutex locks increased the time to send a message by about 3 times.<span style="mso-spacerun: yes;">  </span>Without the mutex locks, the deadlock recovery took about 10 times longer for each message.</p>
<p class="MsoNormal">From these results, the proper way to implement is to add both deadlock recovery and mutex locks.<span style="mso-spacerun: yes;">  </span>This will ensure that heavy server use will protect message handing from failing.</p>
<p class="MsoNormal">I have only tested receiving messages (SMTP) which causes the deadlocks in MSGMAIN only, so I only lock accesses to that.<span style="mso-spacerun: yes;">  </span>I still need to implement the citserver code that has to retry the external transactions it creates<span style="mso-spacerun: yes;">  </span>Then I need to stress test IMAP/POP sending messages.</p>
<p class="MsoNormal">Since deadlocking may not apply to other databases, I implemented the locking in the Berkeley code so the citserver code does not have to change except for the external retry code which I will add, but it will be transparent to other database code.<span style="mso-spacerun: yes;">  </span>I had to move the mutex lock code from citserver to libcitadel since the Berkley code is used in external utilities.<span style="mso-spacerun: yes;">  </span>All the changes are not a huge amount of code, but it is not trivial.<span style="mso-spacerun: yes;">  </span>With testing, I do not think it is a high risk, but we gain significant hardening.</p>
<p class="MsoNormal"> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502831</link><pubDate>Sat, 28 Dec 2024 18:04:10 +0500</pubDate><title>More options for the uploader.</title><guid isPermaLink="false">2099502831@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5ee479f447e7cd570ac6da65ffcaf3196866de7e (commit)
      from  c24879eb5984d4776bcd237920c0f3501fb48fa9 (commit)


- Log -----------------------------------------------------------------
commit 5ee479f447e7cd570ac6da65ffcaf3196866de7e
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 28 18:04:08 2024 -0500

More options for the uploader.

Allow or disallow the upload window to be opened or closed.
If it is attachments to an email for example, we want to be able to call up and
dismiss the uploads window.  For an explicit upload dialog, we want it to stay.

Allow or disallow multiple files to be uploaded.
Sometimes we want exactly one file, sometimes we can have as many as the user wants.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js |  8 ++++++--
 webcit-ng/static/js/upload.js    | 28 +++++++++++++++++++---------
 webcit-ng/static/js/view_mail.js |  8 ++++++--
 3 files changed, 31 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502741</link><pubDate>Fri, 27 Dec 2024 22:32:09 +0500</pubDate><title>ctdl-formgrid-fieldset-stealth class to hide extra borders</title><guid isPermaLink="false">2099502741@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c24879eb5984d4776bcd237920c0f3501fb48fa9 (commit)
      from  d7a763645956cd73cabe6fc161aaf7d3221be283 (commit)


- Log -----------------------------------------------------------------
commit c24879eb5984d4776bcd237920c0f3501fb48fa9
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 27 22:32:08 2024 -0500

ctdl-formgrid-fieldset-stealth class to hide extra borders

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 5 +++++
 webcit-ng/static/js/edit_room.js | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502735</link><pubDate>Fri, 27 Dec 2024 22:08:46 +0500</pubDate><title>icon upload screen ... started</title><guid isPermaLink="false">2099502735@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d7a763645956cd73cabe6fc161aaf7d3221be283 (commit)
      from  66f0aae59e20dc895abe773e21ad98aa2645101c (commit)


- Log -----------------------------------------------------------------
commit d7a763645956cd73cabe6fc161aaf7d3221be283
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 27 22:08:44 2024 -0500

icon upload screen ... started

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 30 +++++++++++++++++++++++++++++-
 webcit-ng/static/js/upload.js    | 19 +++++++++++++++----
 webcit-ng/static/js/view_mail.js |  4 ++--
 3 files changed, 46 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502719</link><pubDate>Fri, 27 Dec 2024 20:53:32 +0500</pubDate><title>Display room icon in the banner</title><guid isPermaLink="false">2099502719@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  66f0aae59e20dc895abe773e21ad98aa2645101c (commit)
      from  d1af4a84c4b6080c237b95a3dc538308e604af0a (commit)


- Log -----------------------------------------------------------------
commit 66f0aae59e20dc895abe773e21ad98aa2645101c
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 27 20:53:30 2024 -0500

Display room icon in the banner

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt            |  2 ++
 webcit-ng/server/room_functions.c | 58 +++++++++++++++++++++++++++++++++++++++
 webcit-ng/server/user_functions.c |  4 +--
 webcit-ng/static/index.html       |  2 ++
 webcit-ng/static/js/edit_room.js  |  1 -
 webcit-ng/static/js/main.js       | 12 +++++++-
 6 files changed, 75 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502639</link><pubDate>Fri, 27 Dec 2024 14:48:51 +0500</pubDate><title>Random acts of style cleanup</title><guid isPermaLink="false">2099502639@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d1af4a84c4b6080c237b95a3dc538308e604af0a (commit)
      from  57b68f9e929a2edcf2783cd058690189189d0efe (commit)


- Log -----------------------------------------------------------------
commit d1af4a84c4b6080c237b95a3dc538308e604af0a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 27 11:48:48 2024 -0800

Random acts of style cleanup

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/msgbase.c | 148 +++++++++++++++++++++++++++--------------------
 1 file changed, 84 insertions(+), 64 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502625</link><pubDate>Fri, 27 Dec 2024 11:07:25 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099502625@Uncensored</guid><description><![CDATA[ >I have implemented aborting and recovering the transactions that are
 >created in the BDB code and it is working very well.  I have removed
 
 As you've undoubtedly discovered, most of the time cdb_store() opens and
closes a transaction on its own, because the caller doesn't bother.  That's
obviously going to be an easy change, just end the transaction, begin a new
one, and try again.  Things get more complicated with the indexer and the
auto-purger, which do open transactions on their own because they are requesting
some amount of atomicity in the things they're writing to the database, a
group of writes that need to be done all together or not at all.  I wonder
if those operations could be refactored to not need that.
 
 Simplicity is the name of the game.  We try not to do anything excessively
clever, not because we are simpletons but because we have code that literally
runs for decades
between maintenance activities and the next person who comes along must be
able to understand it without help from the last one.  Anyway, like I said
before, if you're getting deadlocks and a good fix then run it up the flagpole,
just be careful to honor the layering of the backend interface so that no
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502590</link><pubDate>Thu, 26 Dec 2024 22:22:35 +0500</pubDate><title>Both versions of webcit - change &#39;room info file&#39; to &#39;room banner&#39;</title><guid isPermaLink="false">2099502590@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  57b68f9e929a2edcf2783cd058690189189d0efe (commit)
      from  0a15271b357cdb0ea8721e05134c11a240da43db (commit)


- Log -----------------------------------------------------------------
commit 57b68f9e929a2edcf2783cd058690189189d0efe
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 26 19:22:32 2024 -0800

Both versions of webcit - change 'room info file' to 'room banner'

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css       |    3 +
 webcit-ng/static/js/edit_room.js      |    7 +-
 webcit/po/webcit/ar.po                | 6063 ++++++++++++++++----------------
 webcit/po/webcit/bg.po                | 4292 ++++++++++++-----------
 webcit/po/webcit/cs.po                | 6071 ++++++++++++++++-----------------
 webcit/po/webcit/da.po                | 6029 ++++++++++++++++----------------
 webcit/po/webcit/de.po                | 6070 ++++++++++++++++----------------
 webcit/po/webcit/el.po                | 4525 ++++++++++++------------
 webcit/po/webcit/en_GB.po             | 5934 ++++++++++++++++----------------
 webcit/po/webcit/es.po                | 5920 ++++++++++++++++----------------
 webcit/po/webcit/et.po                | 5796 ++++++++++++++++---------------
 webcit/po/webcit/fi.po                | 4822 +++++++++++++-------------
 webcit/po/webcit/fr.po                | 6057 ++++++++++++++++----------------
 webcit/po/webcit/he.po                | 4364 ++++++++++++------------
 webcit/po/webcit/hu.po                | 5851 ++++++++++++++++---------------
 webcit/po/webcit/it.po                | 5998 ++++++++++++++++----------------
 webcit/po/webcit/kk.po                | 4234 ++++++++++++-----------
 webcit/po/webcit/ko.po                | 4244 ++++++++++++-----------
 webcit/po/webcit/nl.po                | 6070 ++++++++++++++++----------------
 webcit/po/webcit/pl.po                | 6017 ++++++++++++++++----------------
 webcit/po/webcit/pt_BR.po             | 6038 ++++++++++++++++----------------
 webcit/po/webcit/ro.po                | 5336 ++++++++++++++---------------
 webcit/po/webcit/ru.po                | 5539 +++++++++++++++---------------
 webcit/po/webcit/sl.po                | 4234 ++++++++++++-----------
 webcit/po/webcit/sv.po                | 4504 ++++++++++++------------
 webcit/po/webcit/tr.po                | 4300 ++++++++++++-----------
 webcit/po/webcit/webcit.pot           | 4234 ++++++++++++-----------
 webcit/po/webcit/zh.po                | 6054 ++++++++++++++++----------------
 webcit/static/t/room/create_blog.html |    2 +-
 webcit/static/t/room/edit_info.html   |    2 +-
 30 files changed, 69008 insertions(+), 69602 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502587</link><pubDate>Thu, 26 Dec 2024 22:00:51 +0500</pubDate><title>Completed the screens to edit a room banner.</title><guid isPermaLink="false">2099502587@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0a15271b357cdb0ea8721e05134c11a240da43db (commit)
      from  b22956f583448b486af5c9a34b1d3115b464b106 (commit)


- Log -----------------------------------------------------------------
commit 0a15271b357cdb0ea8721e05134c11a240da43db
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 26 19:00:48 2024 -0800

Completed the screens to edit a room banner.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt              |  1 +
 webcit-ng/server/http.c             |  1 +
 webcit-ng/server/room_functions.c   | 38 ++++++++++++++++-
 webcit-ng/server/util.c             | 35 ++++++++++++++++
 webcit-ng/server/webcit.h           |  9 ++--
 webcit-ng/static/js/edit_room.js    | 82 +++++++++++++++++++++++++++++++++----
 webcit/po/webcit/ar.po              |  2 +-
 webcit/po/webcit/bg.po              |  2 +-
 webcit/po/webcit/cs.po              |  2 +-
 webcit/po/webcit/da.po              |  2 +-
 webcit/po/webcit/de.po              |  2 +-
 webcit/po/webcit/el.po              |  2 +-
 webcit/po/webcit/en_GB.po           |  2 +-
 webcit/po/webcit/es.po              |  2 +-
 webcit/po/webcit/et.po              |  2 +-
 webcit/po/webcit/fi.po              |  2 +-
 webcit/po/webcit/fr.po              |  2 +-
 webcit/po/webcit/he.po              |  2 +-
 webcit/po/webcit/hu.po              |  2 +-
 webcit/po/webcit/it.po              |  2 +-
 webcit/po/webcit/kk.po              |  2 +-
 webcit/po/webcit/ko.po              |  2 +-
 webcit/po/webcit/nl.po              |  2 +-
 webcit/po/webcit/pl.po              |  2 +-
 webcit/po/webcit/pt_BR.po           |  2 +-
 webcit/po/webcit/ro.po              |  2 +-
 webcit/po/webcit/ru.po              |  2 +-
 webcit/po/webcit/sl.po              |  2 +-
 webcit/po/webcit/sv.po              |  2 +-
 webcit/po/webcit/tr.po              |  2 +-
 webcit/po/webcit/webcit.pot         |  2 +-
 webcit/po/webcit/zh.po              |  2 +-
 webcit/static/t/room/edit_info.html |  2 +-
 webcit/static/t/user/edit_bio.html  |  2 +-
 34 files changed, 181 insertions(+), 41 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502533</link><pubDate>Thu, 26 Dec 2024 13:07:34 +0500</pubDate><title>document the DELETE method for a room</title><guid isPermaLink="false">2099502533@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b22956f583448b486af5c9a34b1d3115b464b106 (commit)
      from  dff94b747f6053447c672296091dbfa311c72c31 (commit)


- Log -----------------------------------------------------------------
commit b22956f583448b486af5c9a34b1d3115b464b106
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 26 13:07:32 2024 -0500

document the DELETE method for a room

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/api.txt | 1 +
 1 file changed, 1 insertion(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502430</link><pubDate>Tue, 24 Dec 2024 14:45:37 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099502430@Uncensored</guid><description><![CDATA[<html><body>

<p class="MsoNormal">The deadlock detection is coming from the Berkeley libraries.<span style="mso-spacerun: yes;">  </span>I have stared at too many dumps and I do not see actual deadlocks.<span style="mso-spacerun: yes;">  </span>The Berkeley documentation says that the deadlock detection can produce false positives when the locks get complicated and you still have to handle them.<span style="mso-spacerun: yes;">  </span>My testing is catching edge cases probably, but they could show up anytime resulting in core dumps.</p>
<p class="MsoNormal">The existing code loops trying the command again.<span style="mso-spacerun: yes;">  </span>The documentation says that you have to abort the transaction and close any cursors, start new ones and then retry the operations that you performed in the transaction.<span style="mso-spacerun: yes;">  </span>If you just retry the command or most other DB operations, the transaction is corrupted and will core dump or return errors which we core dump on.</p>
<p class="MsoNormal">My original fix of adding mutex locks to the save message code worked to a point, but did not eliminate the issue with further, harder testing.<span style="mso-spacerun: yes;">  </span>I think it just helped the database not get flooded with store requests that it had to handle.</p>
<p class="MsoNormal">I have implemented aborting and recovering the transactions that are created in the BDB code and it is working very well.<span style="mso-spacerun: yes;">  </span>I have removed the locks I added and see a lot more deadlock recoveries occurring.<span style="mso-spacerun: yes;">  </span>I may end up leaving them in just to help the database.<span style="mso-spacerun: yes;">  </span>The stores end up blocking in the database anyway.</p>
<p class="MsoNormal">I am starting to look at the transactions created outside of the database code and I have a way to implement that will not break non-Berkeley databases.<span style="mso-spacerun: yes;">  </span>There are not many and might as well harden them too.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502395</link><pubDate>Mon, 23 Dec 2024 23:18:54 +0500</pubDate><title>idle terminal adjustment</title><guid isPermaLink="false">2099502395@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  dff94b747f6053447c672296091dbfa311c72c31 (commit)
      from  ed0d0d7dab35ac588a2023344e5aeabc1c8a519b (commit)


- Log -----------------------------------------------------------------
commit dff94b747f6053447c672296091dbfa311c72c31
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 23 23:18:52 2024 -0500

idle terminal adjustment

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502382</link><pubDate>Mon, 23 Dec 2024 18:36:33 +0500</pubDate><title>Rendered the rest of the admin box. Also fixed some spelling errors in webcit.pot (and corresponding in all .po files referencing it)</title><guid isPermaLink="false">2099502382@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ed0d0d7dab35ac588a2023344e5aeabc1c8a519b (commit)
      from  60d44b099a61d6f0b4c7f4a6268d928f4edd0cd2 (commit)


- Log -----------------------------------------------------------------
commit ed0d0d7dab35ac588a2023344e5aeabc1c8a519b
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 23 18:36:31 2024 -0500

Rendered the rest of the admin box.  Also fixed some spelling errors in webcit.pot (and corresponding in all .po files referencing it)

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 25 ++++++++++++++++++++++++-
 webcit/po/webcit/ar.po           |  2 +-
 webcit/po/webcit/bg.po           |  2 +-
 webcit/po/webcit/cs.po           |  2 +-
 webcit/po/webcit/da.po           |  4 ++--
 webcit/po/webcit/de.po           |  2 +-
 webcit/po/webcit/el.po           |  2 +-
 webcit/po/webcit/en_GB.po        |  4 ++--
 webcit/po/webcit/es.po           |  4 ++--
 webcit/po/webcit/et.po           |  4 ++--
 webcit/po/webcit/fi.po           |  2 +-
 webcit/po/webcit/fr.po           |  4 ++--
 webcit/po/webcit/he.po           |  2 +-
 webcit/po/webcit/hu.po           |  4 ++--
 webcit/po/webcit/it.po           |  2 +-
 webcit/po/webcit/kk.po           |  2 +-
 webcit/po/webcit/ko.po           |  2 +-
 webcit/po/webcit/nl.po           |  2 +-
 webcit/po/webcit/pl.po           |  2 +-
 webcit/po/webcit/pt_BR.po        |  2 +-
 webcit/po/webcit/ro.po           |  4 ++--
 webcit/po/webcit/ru.po           |  2 +-
 webcit/po/webcit/sl.po           |  2 +-
 webcit/po/webcit/sv.po           |  2 +-
 webcit/po/webcit/tr.po           |  2 +-
 webcit/po/webcit/webcit.pot      |  2 +-
 webcit/po/webcit/zh.po           |  2 +-
 webcit/preferences.c             |  2 +-
 28 files changed, 58 insertions(+), 35 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502374</link><pubDate>Mon, 23 Dec 2024 16:12:44 +0500</pubDate><title>Delete Room operation is working in webcit-ng</title><guid isPermaLink="false">2099502374@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  60d44b099a61d6f0b4c7f4a6268d928f4edd0cd2 (commit)
      from  71a8a765933cd4b1c1f5051ffe15d8098ad5c8a2 (commit)


- Log -----------------------------------------------------------------
commit 60d44b099a61d6f0b4c7f4a6268d928f4edd0cd2
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 23 16:12:44 2024 -0500

Delete Room operation is working in webcit-ng

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502370</link><pubDate>Mon, 23 Dec 2024 16:07:14 +0500</pubDate><title>Support DELETE method to delete a room.</title><guid isPermaLink="false">2099502370@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  71a8a765933cd4b1c1f5051ffe15d8098ad5c8a2 (commit)
      from  2769e96ecd95fdfed14c5469d25c1236c55b0a52 (commit)


- Log -----------------------------------------------------------------
commit 71a8a765933cd4b1c1f5051ffe15d8098ad5c8a2
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 23 16:07:12 2024 -0500

Support DELETE method to delete a room.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/room_functions.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502354</link><pubDate>Mon, 23 Dec 2024 11:11:22 +0500</pubDate><title>New function do_whatever_seems_sensible_upon_landing()</title><guid isPermaLink="false">2099502354@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2769e96ecd95fdfed14c5469d25c1236c55b0a52 (commit)
      from  cc69c6325f34a0806e3d88d9342876644f66af21 (commit)


- Log -----------------------------------------------------------------
commit 2769e96ecd95fdfed14c5469d25c1236c55b0a52
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 23 11:11:20 2024 -0500

New function do_whatever_seems_sensible_upon_landing()

This abstracts the idea of going to a landing page.  It was isolated out of the login
process so we can call it elsewhere.  Added this action as what happens when we delete
the current room and it no longer exists.

In the past we simply went to the Lobby (via _BASEROOM_ macro) but that may or may not
be the correct action in the near future.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 31 +++++++++++++++++++++++++++++++
 webcit-ng/static/js/main.js      | 20 +++++++++++++-------
 2 files changed, 44 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502325</link><pubDate>Mon, 23 Dec 2024 00:08:31 +0500</pubDate><title>We do have &#39;Save changes&#39; in our message catalog. Use that.</title><guid isPermaLink="false">2099502325@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  cc69c6325f34a0806e3d88d9342876644f66af21 (commit)
      from  9de7add39ce1d7127af0221e15cac1d3af6fc42f (commit)


- Log -----------------------------------------------------------------
commit cc69c6325f34a0806e3d88d9342876644f66af21
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 23 00:08:29 2024 -0500

We do have 'Save changes' in our message catalog.  Use that.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/edit_room.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502321</link><pubDate>Mon, 23 Dec 2024 00:01:50 +0500</pubDate><title>edit_room.js: set up the formgrids and fieldsets</title><guid isPermaLink="false">2099502321@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9de7add39ce1d7127af0221e15cac1d3af6fc42f (commit)
      from  e98505f126842132c0e65f2b990dc18a2987a4b3 (commit)


- Log -----------------------------------------------------------------
commit 9de7add39ce1d7127af0221e15cac1d3af6fc42f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 23 00:01:48 2024 -0500

edit_room.js: set up the formgrids and fieldsets

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  5 ++++
 webcit-ng/static/js/edit_room.js | 63 +++++++++++++++++++++++++++++++++++++++-
 2 files changed, 67 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502307</link><pubDate>Sun, 22 Dec 2024 19:46:48 +0500</pubDate><title>tcp_sockets.c: eliminate unix domain socket server - never used in WebCit-NG</title><guid isPermaLink="false">2099502307@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e98505f126842132c0e65f2b990dc18a2987a4b3 (commit)
      from  1740d85436ca4c8a6a30694948d189a3a59a3925 (commit)


- Log -----------------------------------------------------------------
commit e98505f126842132c0e65f2b990dc18a2987a4b3
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 22 19:46:45 2024 -0500

tcp_sockets.c: eliminate unix domain socket server - never used in WebCit-NG

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/tcp_sockets.c | 46 ------------------------------------------
 webcit-ng/server/webcit.h      |  1 -
 2 files changed, 47 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502306</link><pubDate>Sun, 22 Dec 2024 19:43:32 +0500</pubDate><title>WebCit Classic: fixed improper English in room edit screens.</title><guid isPermaLink="false">2099502306@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1740d85436ca4c8a6a30694948d189a3a59a3925 (commit)
      from  f8d86bcd0531f43e074ffe1c632df220446d2408 (commit)


- Log -----------------------------------------------------------------
commit 1740d85436ca4c8a6a30694948d189a3a59a3925
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 22 19:43:28 2024 -0500

WebCit Classic: fixed improper English in room edit screens.

Also made corresponding changes in .po and .pot files to avoid breaking translations.
Figured I'd do this before copying the messages over to WebCit-NG.

-----------------------------------------------------------------------

Summary of changes:
 webcit/feed_generator.c                     |  2 +-
 webcit/po/webcit/ar.po                      |  8 ++++----
 webcit/po/webcit/bg.po                      |  8 ++++----
 webcit/po/webcit/cs.po                      |  8 ++++----
 webcit/po/webcit/da.po                      |  8 ++++----
 webcit/po/webcit/de.po                      |  8 ++++----
 webcit/po/webcit/el.po                      |  8 ++++----
 webcit/po/webcit/en_GB.po                   | 16 ++++++++--------
 webcit/po/webcit/es.po                      |  8 ++++----
 webcit/po/webcit/et.po                      |  8 ++++----
 webcit/po/webcit/fi.po                      |  8 ++++----
 webcit/po/webcit/fr.po                      |  8 ++++----
 webcit/po/webcit/he.po                      |  8 ++++----
 webcit/po/webcit/hu.po                      |  8 ++++----
 webcit/po/webcit/it.po                      |  8 ++++----
 webcit/po/webcit/kk.po                      |  8 ++++----
 webcit/po/webcit/ko.po                      |  8 ++++----
 webcit/po/webcit/nl.po                      |  8 ++++----
 webcit/po/webcit/pl.po                      |  8 ++++----
 webcit/po/webcit/pt_BR.po                   |  8 ++++----
 webcit/po/webcit/ro.po                      |  8 ++++----
 webcit/po/webcit/ru.po                      |  8 ++++----
 webcit/po/webcit/sl.po                      |  8 ++++----
 webcit/po/webcit/sv.po                      |  8 ++++----
 webcit/po/webcit/tr.po                      |  8 ++++----
 webcit/po/webcit/webcit.pot                 |  8 ++++----
 webcit/po/webcit/zh.po                      |  8 ++++----
 webcit/static/t/room/edit/tab_admin.html    |  4 ++--
 webcit/static/t/room/edit/tab_config.html   |  2 +-
 webcit/static/t/room/edit/tab_listserv.html |  2 +-
 30 files changed, 113 insertions(+), 113 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502302</link><pubDate>Sun, 22 Dec 2024 19:13:40 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099502302@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<p>The other is the deadlock handling.  Since the deadlock code had been there for a while, I assume that we have not gotten any deadlocks in normal operation.  Since all the other database code Linux aborts on something bad, I just concentrated on avoiding the lock instead.</p>
</div>
</blockquote>
<p>Ok, so you're talking about native Berkeley DB deadlocks, rather than the general condition where two or more threads are holding mutexes while trying to acquire mutexes belonging to other threads.</p>
<p>So from berkeley_db.c around line 392:</p>
<pre>do {
        ret = bdb_table[cdb]-&gt;put(
        bdb_table[cdb],                 // db
        TSD-&gt;tid,                       // transaction ID
        &amp;dkey,                          // key
        &amp;ddata,                         // data
        0                               // flags
        );
        if ((ret != 0) &amp;&amp; (ret != DB_LOCK_DEADLOCK)) {
                syslog(LOG_ERR, "bdb: bdb_store(%02x): error %d: %s", cdb, ret, 
                db_strerror(ret));
                bdb_abort();
        }
        if (ret == DB_LOCK_DEADLOCK) {
                syslog(LOG_DEBUG, "bdb: bdb_store(%02x): would deadlock, trying again", cdb);
        }
} while (ret == DB_LOCK_DEADLOCK);
</pre>
<p>I don't quite remember what we were doing here, nor do I remember whether this was the way LS originally wrote it or if I made some changes (`git blame` shows it as me since I shuffled everything around in a refactor) but ... if I remember correctly, the ass-umption was that a deadlock should normally never happen here since we lock entire tables by acquiring a mutex associated with the act of writing to them.  Therefore, simply coming back around and trying again was thought to be good enough.</p>
<p>Are you seeing the "would deadlock, trying again" message?</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502211</link><pubDate>Sat, 21 Dec 2024 12:28:50 +0500</pubDate><title>Skeleton screen for room edit</title><guid isPermaLink="false">2099502211@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f8d86bcd0531f43e074ffe1c632df220446d2408 (commit)
      from  043b785ccd6f1738581cfb63bc447c417670838d (commit)


- Log -----------------------------------------------------------------
commit f8d86bcd0531f43e074ffe1c632df220446d2408
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 21 12:04:04 2024 -0500

Skeleton screen for room edit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html      | 3 ++-
 webcit-ng/static/js/edit_room.js | 8 ++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)
 create mode 100644 webcit-ng/static/js/edit_room.js

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502133</link><pubDate>Fri, 20 Dec 2024 15:13:06 +0500</pubDate><title>Mac OS Terminal sucks</title><guid isPermaLink="false">2099502133@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  043b785ccd6f1738581cfb63bc447c417670838d (commit)
      from  e23b6ff67723ae2d434a481ee67366b0511b4198 (commit)


- Log -----------------------------------------------------------------
commit 043b785ccd6f1738581cfb63bc447c417670838d
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 20 15:13:04 2024 -0500

Mac OS Terminal sucks

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.rc | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099502007</link><pubDate>Thu, 19 Dec 2024 19:02:02 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099502007@Uncensored</guid><description><![CDATA[<html><body>

<p>I probably need to explain my thoughts and provide a little more detail so you can give the proper guidance of how to proceed.  Yes, this is too long :-)</p>
<p>The underling issue is what is deadlocking and why.  When I originally got a deadlock, I saw two save messages running, so I thought that the save message store’s occurring at the same time was causing the deadlock, so I added the locking.  When I got the deadlock, the code core dumped (SEGV) on the deadlock retry of the put.  When I looked at the code and read up on the Berkeley expected handling of any deadlock (abort the transaction and retry if you want), I realized that the retry in the code is what caused the core dump since it never should have tried the put again without aborting the transaction and creating a new one.</p>
<p>The locks seem to have avoided the dead lock issue, so I did not bother with the dead lock handling since you should never get a deadlock ideally.</p>
<p>This time I got the deadlock on the save message store, but only one thread was running save message (rest blocked by my lock) which was put’ing on the message base (CDB_MSGMAIN).  There were two other threads running commands against the message base database, a fetch and a store (GetMetaData() and SetMetaData()) so I think the save and one or both of the meta data calls are actually deadlocking.</p>
<p>I now have more information on what was deadlocking and that it is not isolated to the save message, so that is one thing I am working on.</p>
<p>The other is the deadlock handling.  Since the deadlock code had been there for a while, I assume that we have not gotten any deadlocks in normal operation.  Since all the other database code Linux aborts on something bad, I just concentrated on avoiding the lock instead.</p>
<p>Now that I see that there could be more deadlocks in the future, minimally, it should not SEGV, but rather do a Linux abort or do a proper retry and log it.  Since the existing code actually tried to retry, I assume that we wanted the server to try, so that is why I was going to retry which means the any of the code outside of the database routines that begin a transaction would have to handle the retry.</p>
<p>I would probably implement the retry by adding a new function to the database code that does not have to be implemented.  If it is not, then the code just aborts on deadlock.  If it is implemented, it returns if the last fetch/store needs to be retried.  Something like that.  Have to think a little on that.</p>
<p>So that means two tasks:</p>
<p>1. Find the deadlock between save message and meta updates (a must).</p>
<p>2. Either retry deadlocks or just Linux abort so we don’t try to run any more commands against the database with a corrupted transaction.</p>
<div> </div>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501964</link><pubDate>Thu, 19 Dec 2024 13:29:01 +0500</pubDate><title>Re: Database Deadlock Handling</title><guid isPermaLink="false">2099501964@Uncensored</guid><description><![CDATA[ >After implementing this, I will try removing the locks I had added and
 >see if they are needed anymore.  If the number of deadlocks increases
 >significantly without them, even though it may not fail, I  will
 >probably leave them in just to reduce the number of times we encounter
 >deadlocks and need to retry. 
 >
 >Sound like a plan?
 
 I'm interested in understanding why you're having locking problems that no
one else seems to be having.  If it is a defect in the software then I want
to understand what conditions you are supplying to the system that are making
it fail for you and not for me or (to our knowledge) anyone else.
 
 If you've found a use case that reliably exposes a locking bug, and you're
willing and capable of supplying a fix, then yes by all means do so.  I would
advise doing the following:
 
 1. If this work is experimental, do it in a git branch rather than in master.
 We use master as the release branch and will probably have a new version
published soon.
 
 2. Make sure you stay inside the mindset of doing locking in a way that is
not specific to Berkeley DB.  Although BDB is the only backend available now,
there *will* be others in the future.  All that pluggable backend stuff you
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501963</link><pubDate>Thu, 19 Dec 2024 13:21:01 +0500</pubDate><title>Re: Thread management question</title><guid isPermaLink="false">2099501963@Uncensored</guid><description><![CDATA[ >A note on the calendar system, I tried to hack it up once to support
 >Outlook as a Internet Calendar (did not work well because of Outlook
 >authentication and did not have time to complete), but I did find that
 >there were some errors in the ics that it generated.  I traced it down
 
 We're going to continue using libical for that -- but keep in mind there
are actually TWO libraries called libical:
 
 1. There's the original C implementation, which is used in all currently
published Citadel software.  Interesting history about that -- Eric Busboom
wrote the original implementation, and it got forked into a bunch of different
places.  I got together with Andy Winters of KDE and we worked really hard
for a couple of years to un-diaspora it and get all of the forks merged back
into a single distribution.  That's what is available today.
 
 2. There is a much newer Javascript implementation
by Philipp Kewisch, that seems to have found its way into Thunderbird and
a bunch of other "web native" software.  That's being used in WebCit-NG.
 
 In any case ... the ical objects that are emitted by Citadel are generated
inside one libical or the other.  Citadel considers the wire format to be
opaque and just sends along wat the library supplies to it.  So if it's doing
something Outlook-hostile ... sure, go ahead and work on it if you think you
can improve the compatibility or standards compliance.  But if you do so you'll
be working on libical, not on Citadel.  
 
 So basically what I'm saying is, it's not that I don't care, but it's not
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501909</link><pubDate>Thu, 19 Dec 2024 09:16:01 +0500</pubDate><title>Oops, I left the debug bar in. Let&#39;s tuck that away.</title><guid isPermaLink="false">2099501909@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e23b6ff67723ae2d434a481ee67366b0511b4198 (commit)
      from  46a156acd987d465508a762d46a4d2b77ea655bc (commit)


- Log -----------------------------------------------------------------
commit e23b6ff67723ae2d434a481ee67366b0511b4198
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 19 09:15:58 2024 -0500

Oops, I left the debug bar in.  Let's tuck that away.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501885</link><pubDate>Thu, 19 Dec 2024 02:10:18 +0500</pubDate><title>Database Deadlock Handling</title><guid isPermaLink="false">2099501885@Uncensored</guid><description><![CDATA[<html><body>

<p>I think I have a little project to work on.  I think I found the root cause of the issues when saving messages, which I thought I fixed by locking the section that updated the messages.  I have been testing with more workers, I discovered that we are getting database deadlocks.  I think the locks I added to the save message only reduced the probability of them happening.  With a small number of workers, it does not seem to occur, but the issue is there.</p>
<p>The problem is that the current deadlock handling is not recovering properly.  It currently loops on trying the operation again.  For deadlocks, you need to abort the transaction and then retry everything in the transaction again.  Most of the database commands create/commit/end a transaction on each command so easy to abort, begin a new transaction and retry.  I found that luckily there are only a few places in the main citserver code that start their own transactions and do a block of work and expect them to be committed all together.  For these, I will have to return something to let them know that they will have to go back and begin a new transaction and retry everything they executed the first time.</p>
<p>After implementing this, I will try removing the locks I had added and see if they are needed anymore.  If the number of deadlocks increases significantly without them, even though it may not fail, I  will probably leave them in just to reduce the number of times we encounter deadlocks and need to retry.</p>
<p>Sound like a plan?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501851</link><pubDate>Wed, 18 Dec 2024 17:18:08 +0500</pubDate><title>Re: Thread management question</title><guid isPermaLink="false">2099501851@Uncensored</guid><description><![CDATA[<html><body>

<p>I reactivated the text indexing and it looks like the changes I made to the shutdown fixed the issue (or is doing a good job of hiding it).</p>
<p>On the RBLs, I tried to turn that on a long time ago and had issues, so I implemented my own to keep my server up.  I will have to try it again now that it is not critical and see if it works.</p>
<p>A note on the calendar system, I tried to hack it up once to support Outlook as a Internet Calendar (did not work well because of Outlook authentication and did not have time to complete), but I did find that there were some errors in the ics that it generated.  I traced it down to the actual iCal library generating non-compliant info.  It has been so long, I cannot remember any of the specifics, but you should run things through a validator during development to ensure proper compliance.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Dec 17 2024 03:23:41 UTC</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Thread management question</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>I am going to turn text indexing back on and see if it works now.  If <br />not, I will dig into it.  I have resolved all the other threading <br />issues that I have been running into, so I think it is stable for now.  <br />The more I have gotten into the code, you have done a very good job! </blockquote>
<br />Sure thing, and when there's time we can run Uncensored on it for a bit and see if it exposes any weird behaviors. As for the SMTP attackers, may I assume you've at least enabled all of the common RBL's to make connections from them go away? Overloading the server is the reason I added the option to blow them away by printing a negative greeting banner instead of waiting for them to try to send a message. It gets rid of them a lot faster. <br /><br />It's a good time for someone to be playing around in that part of the code because no one else is doing anything else in there right now. The server core is generally "stable" right now so it's in good shape for experimenting with improvements. <br />I promised myself that I wouldn't go on any more side quests until WebCit-NG was finished, but when the whims hit I tend to do it anyway. So I've been off in text client land rewriting all the ugly parts that haven't gotten enough attention in many years. At some point I'll be satisfied and merge it back in an
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501850</link><pubDate>Wed, 18 Dec 2024 17:11:27 +0500</pubDate><title>Oops! My attempt to DRY the null termination created a bug. Reversed that.</title><guid isPermaLink="false">2099501850@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  46a156acd987d465508a762d46a4d2b77ea655bc (commit)
      from  ec2a1a6e18275a6f47fa11974bc6d8bcd0f7a489 (commit)


- Log -----------------------------------------------------------------
commit 46a156acd987d465508a762d46a4d2b77ea655bc
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 18 17:11:25 2024 -0500

Oops!  My attempt to DRY the null termination created a bug.  Reversed that.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 4 ++++
 1 file changed, 4 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501845</link><pubDate>Wed, 18 Dec 2024 17:07:40 +0500</pubDate><title>msgbase.c: editor display/edit modes</title><guid isPermaLink="false">2099501845@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ec2a1a6e18275a6f47fa11974bc6d8bcd0f7a489 (commit)
      from  2f5f286330edbe5d4ca07df68cfa3537fee33aa8 (commit)


- Log -----------------------------------------------------------------
commit ec2a1a6e18275a6f47fa11974bc6d8bcd0f7a489
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 18 17:07:37 2024 -0500

msgbase.c: editor display/edit modes

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 35 ++++++++++++++++++++++++++---------
 1 file changed, 26 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501830</link><pubDate>Wed, 18 Dec 2024 13:34:10 +0500</pubDate><title>Message #2099501830</title><guid isPermaLink="false">2099501830@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2f5f286330edbe5d4ca07df68cfa3537fee33aa8 (commit)
       via  63b58db3b17a3cfd291c2ac2d61d9ae787a38ff1 (commit)
       via  6bd79e0a46de1d8c4e64c955d7b221babc720110 (commit)
       via  e76cee338cbb83bc79cc44259a333cb6746720a2 (commit)
       via  cb74f52cc79de47d86b65a4f8ea812e22b275a04 (commit)
       via  cabf2fc5c9e798dcb73278d97dc027fd69039004 (commit)
       via  733cb9052f4234e78f4f6420a77236be4c9a5951 (commit)
       via  5ef507b6a1810abeb2d8a68e84aaa55197129b5f (commit)
       via  f3ca6700ae5be09b6f7be8adfdd6df2979c7577f (commit)
       via  29b9fda56bf174aec9c6ff1771cb6eec8d3a36d5 (commit)
       via  f9ddb6d7eca99723a23e5de150b2c42b66b6e7dd (commit)
       via  14f70eb44053cb8b9e9743343b8a0e82d0b3eb87 (commit)
       via  ca4328a16f2ed94dbfff1fcbf6d48bccbd0924fa (commit)
       via  cc780532a61477e440039509eb217ac9e0c5b025 (commit)
       via  ac426ad9af512f1b043aa87ad9f17ed8ac7beef2 (commit)
       via  0ee2bd4eba7aaab42cf7f0d63cccf0dfddce327d (commit)
       via  18c0d770db4aa85a7048b2554434130703378188 (commit)
       via  39d21684f9573388b831d29d3ef5253e5395df22 (commit)
       via  baf0e38c626c6fa7c3f1e8fcfaac6d1b373d6c1c (commit)
       via  2e569e9c557e01f7916abb732b1dd6a7e3c842f4 (commit)
       via  eaae0f70b7a1972b5661d87a4f60bd683b5bd3f8 (commit)
       via  57207c7066b7feeacdf6ee79fefbeed0cf58f2f4 (commit)
       via  ff5c0bcb9695a8c285d3a7cabbe8e347de6a852f (commit)
       via  51dd799abf232a021f586805d18b6943e23e3c01 (commit)
       via  89a841ffc79e2c9e1c25c022001ea7dc8044f989 (commit)
       via  576644c2e7b98098d8bdb0b9e5af282293790d9e (commit)
       via  af4d80deb41fab1ed79b18c78a42b702f2ff09c2 (commit)
       via  eccb8be585ff8b4943ccb7b01b231d1c62be50c1 (commit)
       via  ab967efb000b7c6f3a9c12a98b62718a1f6dc584 (commit)
       via  ccc0a990c54508d6e094ec6457b1ccf90ab8fa32 (commit)
       via  3453113e509db29b5a42fb61a861b68ecba91b29 (commit)
       via  a405fdfc4614dc28ed2d6fe3087eab3f91f5d018 (commit)
       via  5140871a40c75aaa33ed0a3514351abd766b9007 (commit)
       via  27025f5e6c4e1f7406aa49224b7254ef866aade1 (commit)
       via  eb54625772088f9bfcd836e220de9b8f10f4c914 (commit)
       via  977bbc133019a1f094fd5a7ebf2f7ac0796f56e9 (commit)
       via  c7e36a0155fab4d583371552e2b4e1c297068bf0 (commit)
       via  567ad9024f479d23f067cf006c8636e2898084ac (commit)
       via  587b4944a5716d2469d8f6c0dc306255f48364f5 (commit)
       via  28c9ce73afacd91fc08081197a44c51d268de9cf (commit)
       via  a99b76253acf923a3575e61eefdc0e2c54e325db (commit)
       via  f2de8e1d26a1a79dd9c31a4b9a8d43a992b10797 (commit)
       via  d3469dc1e69e49e4129b5e0c199b1290ef537e67 (commit)
      from  2a0f7681f4d4d03b3d88c7819ab4f20876d19c48 (commit)


- Log -----------------------------------------------------------------
commit 2f5f286330edbe5d4ca07df68cfa3537fee33aa8
Merge: 2a0f7681f 63b58db3b
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 18 13:34:00 2024 -0500

Merge branch 'console_rework'

commit 63b58db3b17a3cfd291c2ac2d61d9ae787a38ff1
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 18 11:56:52 2024 -0500

Completed the return of the status line.

commit 6bd79e0a46de1d8c4e64c955d7b221babc720110
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 18 11:23:00 2024 -0500

disable debug bar

commit e76cee338cbb83bc79cc44259a333cb6746720a2
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 18 11:18:49 2024 -0500

messages.c: dial back word wrap by one more column

commit cb74f52cc79de47d86b65a4f8ea812e22b275a04
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 17 23:35:04 2024 -0500

initial go at restoring the status line

commit cabf2fc5c9e798dcb73278d97dc027fd69039004
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 17 22:48:38 2024 -0500

screen.c: more simplification of stty_ctdl()

commit 733cb9052f4234e78f4f6420a77236be4c9a5951
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 17 16:02:54 2024 -0500

Consolidating terminal stuff into screen.c

commit 5ef507b6a1810abeb2d8a68e84aaa55197129b5f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 23:10:09 2024 -0500

Moar editor tweaks

commit f3ca6700ae5be09b6f7be8adfdd6df2979c7577f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 22:35:14 2024 -0500

messages.c: more fine tuning of the editor.

commit 29b9fda56bf174aec9c6ff1771cb6eec8d3a36d5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 21:49:39 2024 -0500

citedit: rely on screen.c to tell us what column we're actually in.

commit f9ddb6d7eca99723a23e5de150b2c42b66b6e7dd
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 21:41:54 2024 -0500

Saving my work because I'm about to try something

commit 14f70eb44053cb8b9e9743343b8a0e82d0b3eb87
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 16:39:04 2024 -0500

replace size_t with int where signed comparisons are needed

commit ca4328a16f2ed94dbfff1fcbf6d48bccbd0924fa
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 15 21:51:20 2024 -0500

Rewrote the built in editor.

commit cc780532a61477e440039509eb217ac9e0c5b025
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 12 11:55:09 2024 -0500

Replaced most of the error messages with a new macro call scr_perror()

This simply displays the function name from __func__ along with strerror(errno)
which turns out to be a perfectly serviceable error message 99% of the time.

commit ac426ad9af512f1b043aa87ad9f17ed8ac7beef2
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 11 22:39:19 2024 -0500

Please forgive my frequent small commits.  They are probably annoying.

commit 0ee2bd4eba7aaab42cf7f0d63cccf0dfddce327d
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 11 16:13:14 2024 -0500

<.E>nter <A>scii now converts CRLF to LF, avoids unwanted double-spacing

commit 18c0d770db4aa85a7048b2554434130703378188
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 11 16:00:04 2024 -0500

process_quote() cleanup.  second tempfile is far more ephemeral now and no longer a global variable.

commit 39d21684f9573388b831d29d3ef5253e5395df22
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Tue Dec 10 16:43:29 2024 -0500

msgbase.c: When saving message, switch from locking room to regular lock.

Originally thought locking room was the proper solution when writing to database.
Found that emails from unauthenticated users result in an blank room, so not
a solution for all cases.  Switched to using critical section locks for all
saves.

commit baf0e38c626c6fa7c3f1e8fcfaac6d1b373d6c1c
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Mon Dec 9 23:30:12 2024 -0500

msgbase.c: Fixing room locking bug when saving message.

CtdlSubmitMsg() change locked room.  After further testing in production,
found that messages from Gmail (and probably others) resulted in
blank room names.  Changed so if a lock does not work, still
go ahaed and save teh message.

Will need to debug more to determine how to lock all rooms.  This fix at least
fix some possible deadlocks.

commit 2e569e9c557e01f7916abb732b1dd6a7e3c842f4
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 11 15:17:48 2024 -0500

Newfangled string traversal

commit eaae0f70b7a1972b5661d87a4f60bd683b5bd3f8
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 23:29:08 2024 -0500

messages.c: war on goto statements continued, this time in the editor save options loop

commit 57207c7066b7feeacdf6ee79fefbeed0cf58f2f4
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 16:18:54 2024 -0500

ka_system() is no longer called by anything.  Removed.

commit ff5c0bcb9695a8c285d3a7cabbe8e347de6a852f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 16:08:41 2024 -0500

strproc() is now sanitize_string() and has improved badassery

commit 51dd799abf232a021f586805d18b6943e23e3c01
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 15:01:26 2024 -0500

Replace non-obvious 'mode' variable with 'editor_mode' and enum'ed options

commit 89a841ffc79e2c9e1c25c022001ea7dc8044f989
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 13:41:56 2024 -0500

textclient.h: much cleanup, see description below.

There is a lot of very old code in here, some of it as much as 37 years old.
To understand why it is as messy as it is in places, one must understand that
the text client is actually the remnant of the old monolithic Citadel BBS
program after the back end code was moved to a dedicated server.   Most of it
was left in its existing form for decades because it was working fine and it
contained no interesting problems to solve.

Currently, there are people who are finding the text client to be an attractive
place to tinker.  This seems to be a combination of interest in retro style
interaction and an increase in the deployment of Citadel on high latency links
such as darknets and digital radio modes.  Because of this interest, my current
whim is to clean up the text client and make it an easier platform to hack.

The current commit mostly focuses on making the textclient.h header file more
sensible to navigate.  It began as a concatenation of multiple header files but
makes more sense this way.  Those following the commit log will have noticed that
there was much duplication of effort in externs and function prototypes appearing
redundantly all over the system.  This has been cleaned up quite a bit.

My coding style in 1987 was quite atrocious and overused the 'goto' statement,
which is considered poor form in C language.  Although this practice has been
corrected throughout most of the system, there are still a few sections remaining
in which the use of 'goto' is heavily entrenched.  These have either been recently
corrected or are in the process of being replaced.

Another regrettable anti-pattern in the client is the overuse of temporary files.
These seemed to make sense at the time, particularly for anything that held a
message being composed or quoted.  This may have been excusable on a small system
in 1987 but it no longer makes sense in the modern era when there is both ample
system memory and a universe of documentation on how to perform these functions
using in-memory buffers.  In particular, we are refactoring the code in
preparation for a complete rewrite of the message composition editor (which,
coincidentally, now has the largest remaining density of 'goto' statements).

Finally, there is the classic Citadel behavior of formatting all messages to the
reader's screen width.  This behavior was mostly implemented in the message
output routines and in the message editor.  Inspired by a recent read through
of Jeff Prothero's 1981 Citadel CP/M code, I have extended the scr_printf() and
its companion functions written by Michael Hampton in the early 2000's to
handle soft word wrapping at that layer.  He originally wrote scr_printf() and
the rest of screen.c to implement an ncurses-based output mode, which we later
abandoned in favor of just-plain-ANSI because there are no longer any non-ANSI
terminals in use.  Owing to the fact that ALL client output now goes through this
layer, we are able to handle soft word wrap in a single location, eliminating the
need for other functions to handle it and making all code more simple and
understandable.

This is all taking place in the 'console_rework' git branch, which will be merged
back to git master once it has achieved feature parity.  For those of you who
want to tinker with it: happy hacking.

commit 576644c2e7b98098d8bdb0b9e5af282293790d9e
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 10:51:45 2024 -0500

Editing system banners now requires an external editor (for now).

This was done because I'm going to rewrite the built in message editor
and that means citedit() is going away.  It will return in some form later.

commit af4d80deb41fab1ed79b18c78a42b702f2ff09c2
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 22:50:29 2024 -0500

Minor string formatting changes

commit eccb8be585ff8b4943ccb7b01b231d1c62be50c1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 21:48:22 2024 -0500

suppress the paginator when redirecting output to a memory buffer

commit ab967efb000b7c6f3a9c12a98b62718a1f6dc584
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 21:00:36 2024 -0500

footprint-reduced fmout() that is only needed until we rewrite the message editor

commit ccc0a990c54508d6e094ec6457b1ccf90ab8fa32
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 20:53:54 2024 -0500

read_one_message() now converts legacy message format to unwrapped lines.  Let the screen.c renderer handle soft line wrap.

commit 3453113e509db29b5a42fb61a861b68ecba91b29
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 20:30:18 2024 -0500

war on fmout()

commit a405fdfc4614dc28ed2d6fe3087eab3f91f5d018
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 19:19:59 2024 -0500

fmout() subst mode is long gone, remove the param

commit 5140871a40c75aaa33ed0a3514351abd766b9007
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 19:12:40 2024 -0500

Phasing out fmout()

commit 27025f5e6c4e1f7406aa49224b7254ef866aade1
Merge: eb5462577 aede97e50
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 18:46:43 2024 -0500

Merge branch 'master' into console_rework

commit eb54625772088f9bfcd836e220de9b8f10f4c914
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 18:40:48 2024 -0500

<Q>uote and <P>rint use the new scr_redir api

commit 977bbc133019a1f094fd5a7ebf2f7ac0796f56e9
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 17:59:18 2024 -0500

Added scr_ functions to redirect output to a memory buffer

commit c7e36a0155fab4d583371552e2b4e1c297068bf0
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 17:16:27 2024 -0500

Removed unused parameter to scr_getc()

commit 567ad9024f479d23f067cf006c8636e2898084ac
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 14:52:10 2024 -0500

scr_printf() dynamic buffer and don't mangle it

commit 587b4944a5716d2469d8f6c0dc306255f48364f5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 14:05:38 2024 -0500

character loop output instead of printf

commit 28c9ce73afacd91fc08081197a44c51d268de9cf
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 11:27:56 2024 -0500

fmout() use global screenwidth instead of as a parameter

commit a99b76253acf923a3575e61eefdc0e2c54e325db
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 8 22:18:17 2024 -0500

moved things

commit f2de8e1d26a1a79dd9c31a4b9a8d43a992b10797
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 8 22:09:04 2024 -0500

screen.c: moved other screen handling functions into this file

commit d3469dc1e69e49e4129b5e0c199b1290ef537e67
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 8 21:13:34 2024 -0500

Initial go at the console rework

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile         |    4 +-
 textclient/citadel.c        |   54 +--
 textclient/citadel.rc       |    4 +-
 textclient/client_chat.c    |    4 +-
 textclient/commands.c       | 1130 ++++++++++++++++---------------------------
 textclient/file_transfer.c  |   18 +-
 textclient/messages.c       |  939 ++++++++++++++---------------------
 textclient/rooms.c          |   28 +-
 textclient/screen.c         |  564 ++++++++++++++++-----
 textclient/sysutil.c        |   24 +-
 textclient/tcpclient.c      |    2 +-
 textclient/textclient.h     |  129 ++---
 textclient/tuiconfig.c      |    6 +-
 textclient/user_functions.c |   11 +-
 textclient/utilfunc.c       |   48 +-
 textclient/wcwidth.c        |  309 ++++++++++++
 16 files changed, 1670 insertions(+), 1604 deletions(-)
 create mode 100644 textclient/wcwidth.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501819</link><pubDate>Wed, 18 Dec 2024 11:56:53 +0500</pubDate><title>Completed the return of the status line.</title><guid isPermaLink="false">2099501819@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  63b58db3b17a3cfd291c2ac2d61d9ae787a38ff1 (commit)
      from  6bd79e0a46de1d8c4e64c955d7b221babc720110 (commit)


- Log -----------------------------------------------------------------
commit 63b58db3b17a3cfd291c2ac2d61d9ae787a38ff1
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 18 11:56:52 2024 -0500

Completed the return of the status line.

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c   |  1 +
 textclient/screen.c     | 13 +++++++++++++
 textclient/textclient.h |  1 +
 3 files changed, 15 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501809</link><pubDate>Wed, 18 Dec 2024 11:23:02 +0500</pubDate><title>disable debug bar</title><guid isPermaLink="false">2099501809@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  6bd79e0a46de1d8c4e64c955d7b221babc720110 (commit)
      from  e76cee338cbb83bc79cc44259a333cb6746720a2 (commit)


- Log -----------------------------------------------------------------
commit 6bd79e0a46de1d8c4e64c955d7b221babc720110
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 18 11:23:00 2024 -0500

disable debug bar

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 8 ++++----
 textclient/screen.c   | 1 -
 2 files changed, 4 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501806</link><pubDate>Wed, 18 Dec 2024 11:18:51 +0500</pubDate><title>messages.c: dial back word wrap by one more column</title><guid isPermaLink="false">2099501806@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  e76cee338cbb83bc79cc44259a333cb6746720a2 (commit)
      from  cb74f52cc79de47d86b65a4f8ea812e22b275a04 (commit)


- Log -----------------------------------------------------------------
commit e76cee338cbb83bc79cc44259a333cb6746720a2
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 18 11:18:49 2024 -0500

messages.c: dial back word wrap by one more column

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.rc |  2 +-
 textclient/messages.c | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501765</link><pubDate>Tue, 17 Dec 2024 23:35:06 +0500</pubDate><title>initial go at restoring the status line</title><guid isPermaLink="false">2099501765@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  cb74f52cc79de47d86b65a4f8ea812e22b275a04 (commit)
      from  cabf2fc5c9e798dcb73278d97dc027fd69039004 (commit)


- Log -----------------------------------------------------------------
commit cb74f52cc79de47d86b65a4f8ea812e22b275a04
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 17 23:35:04 2024 -0500

initial go at restoring the status line

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c |  2 +-
 textclient/screen.c  | 31 ++++++++++++++++++++++++++++++-
 2 files changed, 31 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501762</link><pubDate>Tue, 17 Dec 2024 22:48:43 +0500</pubDate><title>screen.c: more simplification of stty_ctdl()</title><guid isPermaLink="false">2099501762@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  cabf2fc5c9e798dcb73278d97dc027fd69039004 (commit)
      from  733cb9052f4234e78f4f6420a77236be4c9a5951 (commit)


- Log -----------------------------------------------------------------
commit cabf2fc5c9e798dcb73278d97dc027fd69039004
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 17 22:48:38 2024 -0500

screen.c: more simplification of stty_ctdl()

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c       | 12 +++++-------
 textclient/citadel.rc      |  4 ++--
 textclient/commands.c      | 24 +++++++++++++++---------
 textclient/file_transfer.c | 10 +++++-----
 textclient/messages.c      | 24 ++++++++++++------------
 textclient/rooms.c         |  4 ++--
 textclient/screen.c        | 35 +++++++++++++++++++++++++----------
 textclient/sysutil.c       |  8 ++++----
 textclient/tcpclient.c     |  2 +-
 textclient/textclient.h    |  8 +++-----
 textclient/tuiconfig.c     |  4 ++--
 11 files changed, 76 insertions(+), 59 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501738</link><pubDate>Tue, 17 Dec 2024 16:02:56 +0500</pubDate><title>Consolidating terminal stuff into screen.c</title><guid isPermaLink="false">2099501738@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  733cb9052f4234e78f4f6420a77236be4c9a5951 (commit)
      from  5ef507b6a1810abeb2d8a68e84aaa55197129b5f (commit)


- Log -----------------------------------------------------------------
commit 733cb9052f4234e78f4f6420a77236be4c9a5951
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 17 16:02:54 2024 -0500

Consolidating terminal stuff into screen.c

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    |   3 +-
 textclient/commands.c   | 133 +++---------------------------------------------
 textclient/rooms.c      |   8 ++-
 textclient/screen.c     | 125 +++++++++++++++++++++++++++++++++++++++++++--
 textclient/textclient.h |   2 +-
 5 files changed, 135 insertions(+), 136 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501660</link><pubDate>Mon, 16 Dec 2024 23:10:11 +0500</pubDate><title>Moar editor tweaks</title><guid isPermaLink="false">2099501660@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  5ef507b6a1810abeb2d8a68e84aaa55197129b5f (commit)
      from  f3ca6700ae5be09b6f7be8adfdd6df2979c7577f (commit)


- Log -----------------------------------------------------------------
commit 5ef507b6a1810abeb2d8a68e84aaa55197129b5f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 23:10:09 2024 -0500

Moar editor tweaks

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 6 +++---
 textclient/screen.c   | 8 +++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501654</link><pubDate>Mon, 16 Dec 2024 22:35:16 +0500</pubDate><title>messages.c: more fine tuning of the editor.</title><guid isPermaLink="false">2099501654@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  f3ca6700ae5be09b6f7be8adfdd6df2979c7577f (commit)
      from  29b9fda56bf174aec9c6ff1771cb6eec8d3a36d5 (commit)


- Log -----------------------------------------------------------------
commit f3ca6700ae5be09b6f7be8adfdd6df2979c7577f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 22:35:14 2024 -0500

messages.c: more fine tuning of the editor.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501651</link><pubDate>Mon, 16 Dec 2024 22:23:41 +0500</pubDate><title>Re: Thread management question</title><guid isPermaLink="false">2099501651@Uncensored</guid><description><![CDATA[ >I am going to turn text indexing back on and see if it works now.  If
 >not, I will dig into it.  I have resolved all the other threading
 >issues that I have been running into, so I think it is stable for now. 
 >The more I have gotten into the code, you have done a very good job!
 
 Sure thing, and when there's time we can run Uncensored on it for a bit and
see if it exposes any weird behaviors.  As for the SMTP attackers, may I assume
you've at least enabled all of the common RBL's to make connections from them
go away?  Overloading the server is the reason I added the option to blow
them away by printing a negative greeting banner instead of waiting for them
to try to send a message.  It gets rid of them a lot faster.
 
 It's a good time for someone to be playing around in that part of the code
because no one else is doing anything else in there right now.  The server
core is generally
"stable" right now so it's in good shape for experimenting with improvements.
 I promised myself that I wouldn't go on any more side quests until WebCit-NG
was finished, but when the whims hit I tend to do it anyway.  So I've been
off in text client land rewriting all the ugly parts that haven't gotten enough
attention in many years.  At some point I'll be satisfied and merge it back
in and then get back to work on the most tedious part of WebCit-NG -- the
calendar system.  So I'm thrilled that someone with both interest and skill
has arrived to poke around in the server core ... and more than a little flattered
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501645</link><pubDate>Mon, 16 Dec 2024 21:49:41 +0500</pubDate><title>citedit: rely on screen.c to tell us what column we&#39;re actually in.</title><guid isPermaLink="false">2099501645@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  29b9fda56bf174aec9c6ff1771cb6eec8d3a36d5 (commit)
      from  f9ddb6d7eca99723a23e5de150b2c42b66b6e7dd (commit)


- Log -----------------------------------------------------------------
commit 29b9fda56bf174aec9c6ff1771cb6eec8d3a36d5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 21:49:39 2024 -0500

citedit: rely on screen.c to tell us what column we're actually in.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 30 ++++++++++--------------------
 1 file changed, 10 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501642</link><pubDate>Mon, 16 Dec 2024 21:41:56 +0500</pubDate><title>Saving my work because I&#39;m about to try something</title><guid isPermaLink="false">2099501642@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  f9ddb6d7eca99723a23e5de150b2c42b66b6e7dd (commit)
      from  14f70eb44053cb8b9e9743343b8a0e82d0b3eb87 (commit)


- Log -----------------------------------------------------------------
commit f9ddb6d7eca99723a23e5de150b2c42b66b6e7dd
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 21:41:54 2024 -0500

Saving my work because I'm about to try something

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c   | 8 ++++----
 textclient/textclient.h | 3 ++-
 2 files changed, 6 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501602</link><pubDate>Mon, 16 Dec 2024 16:39:07 +0500</pubDate><title>replace size_t with int where signed comparisons are needed</title><guid isPermaLink="false">2099501602@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  14f70eb44053cb8b9e9743343b8a0e82d0b3eb87 (commit)
      from  ca4328a16f2ed94dbfff1fcbf6d48bccbd0924fa (commit)


- Log -----------------------------------------------------------------
commit 14f70eb44053cb8b9e9743343b8a0e82d0b3eb87
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 16 16:39:04 2024 -0500

replace size_t with int where signed comparisons are needed

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 74 +++++++++++++++++++++++++++++++--------------------
 1 file changed, 45 insertions(+), 29 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501502</link><pubDate>Mon, 16 Dec 2024 07:41:24 +0500</pubDate><title>Re: Thread management question</title><guid isPermaLink="false">2099501502@Uncensored</guid><description><![CDATA[<html><body>

<p>Since you have tried different implementations, best to leave it as is.  I have attackers that were opening SMTP sessions at a ridiculous rate and trying brute force account/password attacks which I think caused coredumps from the things that I have fixed now.  I implemented a blocking scheme that keeps track of the IPs and closes them before they even get a session, which stopped them and saved the server.  The blocking is really strict and not suitable for an email server in general, but it kept my server alive.</p>
<p>I went ahead and checked in the reworked worker code.  It looks like a big change in diff, but I really did not change anything except using do {} whiles in a couple of places.</p>
<p>The non-goto code is part of the latest check-in.  This one was killing me because it was core dumping in different places when I shutdown and there were workers still running.  Even under low loads on my production server it would coredump on shutdown occasionally.  I was debugging the socket code when I realized that the contexts had been freed while the workers were blocked and when the connections were closed, the reads unblocking and were corrupting memory and all sorts of stuff.  I decided that implementing a clean shutdown of the workers before cleaning up the contexts was the best solution.  Even with tons of workers running, it only takes a couple of seconds to stop them gracefully.</p>
<p>I am going to turn text indexing back on and see if it works now.  If not, I will dig into it.  I have resolved all the other threading issues that I have been running into, so I think it is stable for now.  The more I have gotten into the code, you have done a very good job!</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501492</link><pubDate>Mon, 16 Dec 2024 05:16:32 +0500</pubDate><title>Fix coredumps caused by context cleanups at shutdown</title><guid isPermaLink="false">2099501492@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2a0f7681f4d4d03b3d88c7819ab4f20876d19c48 (commit)
      from  5cef10265af0d1d021db417e19df165443795d6a (commit)


- Log -----------------------------------------------------------------
commit 2a0f7681f4d4d03b3d88c7819ab4f20876d19c48
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Mon Dec 16 05:15:26 2024 -0500

Fix coredumps caused by context cleanups at shutdown

During shutdown cleanup, contexts were removed while
worker threads were blocked on sockets.  When removing
the context, the worker I/O would unblock and return
to freed context buffers and coredump.

Fixed by adding a worker cleanup that closes the sockets
which unblocks the workers so they can process the
shutdown request and exit.

Reworked the sysdep.c worker code to remove the gotos
and added some more comments.  Lots of diff changes,
but the funtionality is the same as before with a
few tweaks for the shutdown detection.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citserver.c |   7 +-
 citadel/server/sysdep.c    | 370 ++++++++++++++++++++++++++-------------------
 citadel/server/sysdep.h    |   2 +
 3 files changed, 224 insertions(+), 155 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501471</link><pubDate>Sun, 15 Dec 2024 21:51:22 +0500</pubDate><title>Rewrote the built in editor.</title><guid isPermaLink="false">2099501471@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  ca4328a16f2ed94dbfff1fcbf6d48bccbd0924fa (commit)
      from  cc780532a61477e440039509eb217ac9e0c5b025 (commit)


- Log -----------------------------------------------------------------
commit ca4328a16f2ed94dbfff1fcbf6d48bccbd0924fa
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 15 21:51:20 2024 -0500

Rewrote the built in editor.

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c   |   8 ++-
 textclient/messages.c   | 172 ++++++++++++++++++++++++------------------------
 textclient/rooms.c      |   2 +-
 textclient/screen.c     |   2 +-
 textclient/textclient.h |   2 +-
 5 files changed, 96 insertions(+), 90 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501467</link><pubDate>Sun, 15 Dec 2024 21:42:58 +0500</pubDate><title>Re: Thread management question</title><guid isPermaLink="false">2099501467@Uncensored</guid><description><![CDATA[All I can say is that what we have now is the result of decades of trial-and-error
*in practice* of actual operations.  This is not to say that I think it's
perfect and cannot be improved upon, of course.  But other approaches *have*
been tried and failed.  In the course of normal operation, the thread pool
tends to expand to the size needed for each system's actual concurrency level
and things run fine. 
  
 That having been said, if you have an idea, try it!  Discussing it is good
too because we may have tried it before. 
  
 As for the use of volatile, the short answer is that I didn't know it existed
at the time.  :)   However, from what I understand about volatile, it isn't
a substitute for a guaranteed lock.  It doesn't strictly enforce ordering
and it isn't guaranteed to be atomic.  I may be wrong, of course.  I just
did a bit of not-googling and came up with https://blog.regehr.org/archives/28
that says some of these things. 
  
 And I wouldn't mind looking at the non-goto thread code.  Might be worth
it.  I'm assuming you abused it with the load tester. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501240</link><pubDate>Fri, 13 Dec 2024 17:33:28 +0500</pubDate><title>Re: Thread management question</title><guid isPermaLink="false">2099501240@Uncensored</guid><description><![CDATA[<html><body>

<div class="message_content">Thanks for the history and overview.  It did not sink in while I was going through the code that only one worker was listening to the main socket at a time.  Now I realize more about my failures and looked closer.  They all fail on connect because all the workers are processing existing connections.  Two different client timeouts (connect and receive).</div>
<div class="message_content">Unless someone complains about the server timing out connections or send/receives, "if it ain't broke, don't fix it".</div>
<div class="message_content">1. The only "improvement" I can think of to be more preemptive in avoiding send/receive timeouts has to do with the workers picking the session to work on that has input waiting.  The existing workers choose the first session that it finds in the list.  This is nice because it starts working on it faster, but it gives priority to the first ones in the list and the latter ones will sit longer waiting for all the others to be serviced and could time out on the client side.  Since the list is constantly changing, I think adding a timestamp of when a worker last finished processing a session to the context and have a worker go through all of the selected sockets and pick the oldest one rather than just picking the first one it finds might balance some of the load.  Just a thought.</div>
<div class="message_content">2. Side question, for the global variables in threads.h, is there a reason that they are protected in the code by locks rather than just declaring volatile?</div>
<div class="message_content">3. While going through the worker code in sysdep.c, I saw that you were trying to get rid of gotos in the code, so I took the worker code while I was working, commented a little more as I was figuring it out and used do/while {} to reimplement.  I can check it in if you like.  Since there are no errors in the code and it is code that no one really gets into, it may not be worth the risk of changing.  I have over 40yrs programming experience and I still make mistakes :-)  Still bugs me that my missing return and the uninitialized mutexes never errored or caused a core dump.  Scary or I am completely missing something about the modern compliers.  I miss programming in assembly.</div>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501152</link><pubDate>Fri, 13 Dec 2024 08:38:46 +0500</pubDate><title>Re: Thread management question</title><guid isPermaLink="false">2099501152@Uncensored</guid><description><![CDATA[<html><body>

<p>For starters, I'm assuming that you're talking about incoming messages, with the knowledge that outgoing messages are always handled by a single thread (the housekeeping thread) as just one of the activities that it handles as part of not being associated with any particular user session.</p>
<p>And it's always good to have a fresh pair of eyes on things like this, to have a new perspective on things that have been a certain way for a long time and maybe could use a different perspective.  So what I'll start with is some history of what has been tried before:</p>
<p>* The original implementation simply created a new thread for each incoming connection and kept it bound until the client disconnected.  This worked well enough, but there were choruses of "this won't scale" and I suppose that was true with the size of the computers we ran it on in the late 1990s.</p>
<p>* For a while, we <em>did</em> have code to both increase and decrease the size of the thread pool.  Eventually, we had a developer on the team who made the thread handling code so complex that he basically built the equivalent of an operating system thread scheduler inside Citadel Server.  This got <em>really</em> complex and difficult to maintain.</p>
<p>* Later on, I ripped most of the complexity out.  I don't remember when, probably over 10 years ago at this point.  And at that point we did make the decision to only increase, never decrease, the thread pool (within pre-set high and low limits, of course).  The rationale is that an extra thread handle is only consuming at most a few kilobytes of system memory (which probably got swapped out anyway) and practically zero of real CPU time, so it's better to just let them sit there instead of adding the complexity of reaping idle threads.</p>
<p>You're correct in observing that the current implementation adds worker threads whenever it finds that all the existing ones are bound to active sessions.  It is a naive implementation but it does work.  If you're getting timeouts on unusually heavy client traffic, then maybe it's worth revisiting.  Obviously only one thread can handle new incoming sessions, because only one thread can listen on the master socket at a time.   At that point, it creates a new session and binds to it, and another thread can take its place.  The operating system ought to be maintaining a queue of incoming connections on the master socket (or more specifically, on the master sockets for each protocol it can handle).  I wonder if you could extract the queue length and pre-create the correct number of threads to make up the deficit?</p>
<p>In summary, if you're getting timeouts then it might be worth experimenting with finding a way to pre-create enough threads to get ahead of it, and see what the benefit might look like.  On the other hand, while I'm not violently opposed to shutting down threads when too many are idle, I think it's probably fine to leave them idle based on the fact that the resources they consume are so small.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501122</link><pubDate>Thu, 12 Dec 2024 22:19:48 +0500</pubDate><title>Thread management question</title><guid isPermaLink="false">2099501122@Uncensored</guid><description><![CDATA[<html><body>

<p>I have been doing a lot of testing with asynchronous mail messages and fixing some locking issues.  I found that when I send hundreds of messages, I get failures due to timeouts.  This is because the server only has a few workers for handling messages.  This testing is probably not realistic, but I am just wondering if you think that reworking the worker handling is worth implementing.  Has anyone had reported issues of comm failures with a heavy mail load?</p>
<p>The current worker thread system starts with two workers at initialization.  Every second, the main thread adds a new worker if all the workers are processing. If you have a lot of mail incoming, it takes a very long time before it opens enough workers to handle them and the sockets can timeout.  Also, it never releases any workers, so if the load drops, there are a lot of workers just idling.</p>
<p>If you think it is worth it, I think the worker handling can be changed to the following to increase quickly to handle a surge of messages and then free up resources when the load is lower:</p>
<p>Have the workers save the number of waiting sockets.  Every second, the main thread can create new workers all at once to handle the increase in demand and then after demand does not increase after a timeout (5 min?) it can free up workers down to close to the current demand.  Make the system more dynamic.  It has to create and remove threads more than the current scheme, but avoids breaking client communications.</p>
<p>Thoughts?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501043</link><pubDate>Thu, 12 Dec 2024 11:55:12 +0500</pubDate><title>Replaced most of the error messages with a new macro call scr_perror()</title><guid isPermaLink="false">2099501043@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  cc780532a61477e440039509eb217ac9e0c5b025 (commit)
      from  ac426ad9af512f1b043aa87ad9f17ed8ac7beef2 (commit)


- Log -----------------------------------------------------------------
commit cc780532a61477e440039509eb217ac9e0c5b025
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 12 11:55:09 2024 -0500

Replaced most of the error messages with a new macro call scr_perror()

This simply displays the function name from __func__ along with strerror(errno)
which turns out to be a perfectly serviceable error message 99% of the time.

-----------------------------------------------------------------------

Summary of changes:
 textclient/file_transfer.c |   8 +-
 textclient/messages.c      | 228 +++++++++++----------------------------------
 textclient/rooms.c         |   4 +-
 textclient/sysutil.c       |   2 +-
 textclient/textclient.h    |   1 +
 textclient/tuiconfig.c     |   2 +-
 6 files changed, 61 insertions(+), 184 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099501005</link><pubDate>Thu, 12 Dec 2024 09:10:20 +0500</pubDate><title>serv_inboxrules.c: Make global array of users (users_requiring_inbox_processing[]) thread safe.</title><guid isPermaLink="false">2099501005@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5cef10265af0d1d021db417e19df165443795d6a (commit)
      from  e256dcaad25d76c0a92964247d56c6c9a2f352af (commit)


- Log -----------------------------------------------------------------
commit 5cef10265af0d1d021db417e19df165443795d6a
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Thu Dec 12 09:09:25 2024 -0500

serv_inboxrules.c: Make global array of users (users_requiring_inbox_processing[]) thread safe.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h                       |  1 +
 citadel/server/modules/inboxrules/serv_inboxrules.c | 17 ++++++++++-------
 2 files changed, 11 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500946</link><pubDate>Wed, 11 Dec 2024 22:39:23 +0500</pubDate><title>Please forgive my frequent small commits. They are probably annoying.</title><guid isPermaLink="false">2099500946@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  ac426ad9af512f1b043aa87ad9f17ed8ac7beef2 (commit)
      from  0ee2bd4eba7aaab42cf7f0d63cccf0dfddce327d (commit)


- Log -----------------------------------------------------------------
commit ac426ad9af512f1b043aa87ad9f17ed8ac7beef2
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 11 22:39:19 2024 -0500

Please forgive my frequent small commits.  They are probably annoying.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500907</link><pubDate>Wed, 11 Dec 2024 16:13:17 +0500</pubDate><title>&lt;.E&gt;nter &lt;A&gt;scii now converts CRLF to LF, avoids unwanted double-spacing</title><guid isPermaLink="false">2099500907@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  0ee2bd4eba7aaab42cf7f0d63cccf0dfddce327d (commit)
      from  18c0d770db4aa85a7048b2554434130703378188 (commit)


- Log -----------------------------------------------------------------
commit 0ee2bd4eba7aaab42cf7f0d63cccf0dfddce327d
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 11 16:13:14 2024 -0500

<.E>nter <A>scii now converts CRLF to LF, avoids unwanted double-spacing

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500901</link><pubDate>Wed, 11 Dec 2024 16:00:41 +0500</pubDate><title>process_quote() cleanup. second tempfile is far more ephemeral now and no longer a global variable.</title><guid isPermaLink="false">2099500901@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  18c0d770db4aa85a7048b2554434130703378188 (commit)
       via  39d21684f9573388b831d29d3ef5253e5395df22 (commit)
       via  baf0e38c626c6fa7c3f1e8fcfaac6d1b373d6c1c (commit)
      from  2e569e9c557e01f7916abb732b1dd6a7e3c842f4 (commit)


- Log -----------------------------------------------------------------
commit 18c0d770db4aa85a7048b2554434130703378188
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 11 16:00:04 2024 -0500

process_quote() cleanup.  second tempfile is far more ephemeral now and no longer a global variable.

commit 39d21684f9573388b831d29d3ef5253e5395df22
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Tue Dec 10 16:43:29 2024 -0500

msgbase.c: When saving message, switch from locking room to regular lock.

Originally thought locking room was the proper solution when writing to database.
Found that emails from unauthenticated users result in an blank room, so not
a solution for all cases.  Switched to using critical section locks for all
saves.

commit baf0e38c626c6fa7c3f1e8fcfaac6d1b373d6c1c
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Mon Dec 9 23:30:12 2024 -0500

msgbase.c: Fixing room locking bug when saving message.

CtdlSubmitMsg() change locked room.  After further testing in production,
found that messages from Gmail (and probably others) resulted in
blank room names.  Changed so if a lock does not work, still
go ahaed and save teh message.

Will need to debug more to determine how to lock all rooms.  This fix at least
fix some possible deadlocks.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h |  1 +
 citadel/server/msgbase.c      | 13 +++++--------
 textclient/citadel.c          |  3 ---
 textclient/messages.c         | 41 +++++++++++++++++++++--------------------
 textclient/textclient.h       |  1 -
 5 files changed, 27 insertions(+), 32 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500889</link><pubDate>Wed, 11 Dec 2024 15:17:50 +0500</pubDate><title>Newfangled string traversal</title><guid isPermaLink="false">2099500889@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  2e569e9c557e01f7916abb732b1dd6a7e3c842f4 (commit)
      from  eaae0f70b7a1972b5661d87a4f60bd683b5bd3f8 (commit)


- Log -----------------------------------------------------------------
commit 2e569e9c557e01f7916abb732b1dd6a7e3c842f4
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 11 15:17:48 2024 -0500

Newfangled string traversal

-----------------------------------------------------------------------

Summary of changes:
 textclient/utilfunc.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500800</link><pubDate>Tue, 10 Dec 2024 23:29:10 +0500</pubDate><title>messages.c: war on goto statements continued, this time in the editor save options loop</title><guid isPermaLink="false">2099500800@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  eaae0f70b7a1972b5661d87a4f60bd683b5bd3f8 (commit)
      from  57207c7066b7feeacdf6ee79fefbeed0cf58f2f4 (commit)


- Log -----------------------------------------------------------------
commit eaae0f70b7a1972b5661d87a4f60bd683b5bd3f8
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 23:29:08 2024 -0500

messages.c: war on goto statements continued, this time in the editor save options loop

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 225 ++++++++++++++++++++++++++------------------------
 textclient/rooms.c    |   5 +-
 2 files changed, 120 insertions(+), 110 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500766</link><pubDate>Tue, 10 Dec 2024 16:44:13 +0500</pubDate><title>msgbase.c: When saving message, switch from locking room to regular lock.</title><guid isPermaLink="false">2099500766@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e256dcaad25d76c0a92964247d56c6c9a2f352af (commit)
      from  c089025eab15fd910fd7b1a30060438388ccaee7 (commit)


- Log -----------------------------------------------------------------
commit e256dcaad25d76c0a92964247d56c6c9a2f352af
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Tue Dec 10 16:43:29 2024 -0500

msgbase.c: When saving message, switch from locking room to regular lock.

Originally thought locking room was the proper solution when writing to database.
Found that emails from unauthenticated users result in an blank room, so not
a solution for all cases.  Switched to using critical section locks for all
saves.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h |  1 +
 citadel/server/msgbase.c      | 14 ++++----------
 2 files changed, 5 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500762</link><pubDate>Tue, 10 Dec 2024 16:18:56 +0500</pubDate><title>ka_system() is no longer called by anything. Removed.</title><guid isPermaLink="false">2099500762@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  57207c7066b7feeacdf6ee79fefbeed0cf58f2f4 (commit)
      from  ff5c0bcb9695a8c285d3a7cabbe8e347de6a852f (commit)


- Log -----------------------------------------------------------------
commit 57207c7066b7feeacdf6ee79fefbeed0cf58f2f4
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 16:18:54 2024 -0500

ka_system() is no longer called by anything.  Removed.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 30 ------------------------------
 1 file changed, 30 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500759</link><pubDate>Tue, 10 Dec 2024 16:08:43 +0500</pubDate><title>strproc() is now sanitize_string() and has improved badassery</title><guid isPermaLink="false">2099500759@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  ff5c0bcb9695a8c285d3a7cabbe8e347de6a852f (commit)
      from  51dd799abf232a021f586805d18b6943e23e3c01 (commit)


- Log -----------------------------------------------------------------
commit ff5c0bcb9695a8c285d3a7cabbe8e347de6a852f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 16:08:41 2024 -0500

strproc() is now sanitize_string() and has improved badassery

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    |  8 ++++----
 textclient/textclient.h |  2 +-
 textclient/utilfunc.c   | 34 +++++++++++++++-------------------
 3 files changed, 20 insertions(+), 24 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500748</link><pubDate>Tue, 10 Dec 2024 15:01:28 +0500</pubDate><title>Replace non-obvious &#39;mode&#39; variable with &#39;editor_mode&#39; and enum&#39;ed options</title><guid isPermaLink="false">2099500748@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  51dd799abf232a021f586805d18b6943e23e3c01 (commit)
      from  89a841ffc79e2c9e1c25c022001ea7dc8044f989 (commit)


- Log -----------------------------------------------------------------
commit 51dd799abf232a021f586805d18b6943e23e3c01
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 15:01:26 2024 -0500

Replace non-obvious 'mode' variable with 'editor_mode' and enum'ed options

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c   | 59 ++++++++++++++++++++++++++-----------------------
 textclient/textclient.h |  6 ++---
 2 files changed, 34 insertions(+), 31 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500728</link><pubDate>Tue, 10 Dec 2024 13:41:59 +0500</pubDate><title>textclient.h: much cleanup, see description below.</title><guid isPermaLink="false">2099500728@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  89a841ffc79e2c9e1c25c022001ea7dc8044f989 (commit)
      from  576644c2e7b98098d8bdb0b9e5af282293790d9e (commit)


- Log -----------------------------------------------------------------
commit 89a841ffc79e2c9e1c25c022001ea7dc8044f989
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 13:41:56 2024 -0500

textclient.h: much cleanup, see description below.

There is a lot of very old code in here, some of it as much as 37 years old.
To understand why it is as messy as it is in places, one must understand that
the text client is actually the remnant of the old monolithic Citadel BBS
program after the back end code was moved to a dedicated server.   Most of it
was left in its existing form for decades because it was working fine and it
contained no interesting problems to solve.

Currently, there are people who are finding the text client to be an attractive
place to tinker.  This seems to be a combination of interest in retro style
interaction and an increase in the deployment of Citadel on high latency links
such as darknets and digital radio modes.  Because of this interest, my current
whim is to clean up the text client and make it an easier platform to hack.

The current commit mostly focuses on making the textclient.h header file more
sensible to navigate.  It began as a concatenation of multiple header files but
makes more sense this way.  Those following the commit log will have noticed that
there was much duplication of effort in externs and function prototypes appearing
redundantly all over the system.  This has been cleaned up quite a bit.

My coding style in 1987 was quite atrocious and overused the 'goto' statement,
which is considered poor form in C language.  Although this practice has been
corrected throughout most of the system, there are still a few sections remaining
in which the use of 'goto' is heavily entrenched.  These have either been recently
corrected or are in the process of being replaced.

Another regrettable anti-pattern in the client is the overuse of temporary files.
These seemed to make sense at the time, particularly for anything that held a
message being composed or quoted.  This may have been excusable on a small system
in 1987 but it no longer makes sense in the modern era when there is both ample
system memory and a universe of documentation on how to perform these functions
using in-memory buffers.  In particular, we are refactoring the code in
preparation for a complete rewrite of the message composition editor (which,
coincidentally, now has the largest remaining density of 'goto' statements).

Finally, there is the classic Citadel behavior of formatting all messages to the
reader's screen width.  This behavior was mostly implemented in the message
output routines and in the message editor.  Inspired by a recent read through
of Jeff Prothero's 1981 Citadel CP/M code, I have extended the scr_printf() and
its companion functions written by Michael Hampton in the early 2000's to
handle soft word wrapping at that layer.  He originally wrote scr_printf() and
the rest of screen.c to implement an ncurses-based output mode, which we later
abandoned in favor of just-plain-ANSI because there are no longer any non-ANSI
terminals in use.  Owing to the fact that ALL client output now goes through this
layer, we are able to handle soft word wrap in a single location, eliminating the
need for other functions to handle it and making all code more simple and
understandable.

This is all taking place in the 'console_rework' git branch, which will be merged
back to git master once it has achieved feature parity.  For those of you who
want to tinker with it: happy hacking.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    | 10 +++---
 textclient/messages.c   | 18 ++++++-----
 textclient/textclient.h | 86 +++++++++++++++----------------------------------
 3 files changed, 41 insertions(+), 73 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500709</link><pubDate>Tue, 10 Dec 2024 10:51:47 +0500</pubDate><title>Editing system banners now requires an external editor (for now).</title><guid isPermaLink="false">2099500709@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  576644c2e7b98098d8bdb0b9e5af282293790d9e (commit)
      from  af4d80deb41fab1ed79b18c78a42b702f2ff09c2 (commit)


- Log -----------------------------------------------------------------
commit 576644c2e7b98098d8bdb0b9e5af282293790d9e
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 10 10:51:45 2024 -0500

Editing system banners now requires an external editor (for now).

This was done because I'm going to rewrite the built in message editor
and that means citedit() is going away.  It will return in some form later.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c   |  5 ++++-
 textclient/sysutil.c    | 14 ++++----------
 textclient/textclient.h |  1 -
 3 files changed, 8 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500691</link><pubDate>Tue, 10 Dec 2024 10:17:00 +0500</pubDate><title>Re: Lock mutexes were never initialized. Implemented proper initialization and added error checking to initialization, lock and unlock.</title><guid isPermaLink="false">2099500691@Uncensored</guid><description><![CDATA[You've got some good use cases.  Thanks for the insight and effort to work
on it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500647</link><pubDate>Mon, 09 Dec 2024 23:49:19 +0500</pubDate><title>Re: Lock mutexes were never initialized. Implemented proper initialization and added error checking to initialization, lock and unlock.</title><guid isPermaLink="false">2099500647@Uncensored</guid><description><![CDATA[<html><body>

<p>Oh, locking was working, even without initializing.  I am guessing that the memory state of the mutex array must have looked enough like the static initializer that it initialized itself on the first lock.  The only code I found for initializing the mutexes was in thread.c and was never called by anyone.</p>
<p>I figured I might as well implement the recommended initialization scheme and while I was there, add error checking.  I have been tracking down some weird things when I send tons of asynchronous mail messages at the server.</p>
<p>On a different note, you will see I checked in a fix for the send mail room locking I committed before.  I tested it on my test system a lot, but when I put it on my production server, it was rejecting mail.  I found that when I tried sending mail from Gmail, the room lock errored.  I found that the QRname for the current room was blank, so I guess some rooms cannot be locked or I am getting the wrong name.  I will have to debug this to figure out what I am missing about the room, but I wanted to get a quick fix in so it will not break anyone else for now.  I can only debug in production, so may take a bit.  In any case, it is probably better that it still locks some rooms compared to none before :-)</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500644</link><pubDate>Mon, 09 Dec 2024 23:30:55 +0500</pubDate><title>msgbase.c: Fixing room locking bug when saving message.</title><guid isPermaLink="false">2099500644@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c089025eab15fd910fd7b1a30060438388ccaee7 (commit)
      from  aede97e50f1129407279ce1a8874dc5613849446 (commit)


- Log -----------------------------------------------------------------
commit c089025eab15fd910fd7b1a30060438388ccaee7
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Mon Dec 9 23:30:12 2024 -0500

msgbase.c: Fixing room locking bug when saving message.

CtdlSubmitMsg() change locked room.  After further testing in production,
found that messages from Gmail (and probably others) resulted in
blank room names.  Changed so if a lock does not work, still
go ahaed and save teh message.

Will need to debug more to determine how to lock all rooms.  This fix at least
fix some possible deadlocks.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/msgbase.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500641</link><pubDate>Mon, 09 Dec 2024 22:50:32 +0500</pubDate><title>Minor string formatting changes</title><guid isPermaLink="false">2099500641@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  af4d80deb41fab1ed79b18c78a42b702f2ff09c2 (commit)
      from  eccb8be585ff8b4943ccb7b01b231d1c62be50c1 (commit)


- Log -----------------------------------------------------------------
commit af4d80deb41fab1ed79b18c78a42b702f2ff09c2
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 22:50:29 2024 -0500

Minor string formatting changes

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500628</link><pubDate>Mon, 09 Dec 2024 21:48:24 +0500</pubDate><title>suppress the paginator when redirecting output to a memory buffer</title><guid isPermaLink="false">2099500628@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  eccb8be585ff8b4943ccb7b01b231d1c62be50c1 (commit)
      from  ab967efb000b7c6f3a9c12a98b62718a1f6dc584 (commit)


- Log -----------------------------------------------------------------
commit eccb8be585ff8b4943ccb7b01b231d1c62be50c1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 21:48:22 2024 -0500

suppress the paginator when redirecting output to a memory buffer

-----------------------------------------------------------------------

Summary of changes:
 textclient/screen.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500618</link><pubDate>Mon, 09 Dec 2024 21:00:38 +0500</pubDate><title>footprint-reduced fmout() that is only needed until we rewrite the message editor</title><guid isPermaLink="false">2099500618@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  ab967efb000b7c6f3a9c12a98b62718a1f6dc584 (commit)
      from  ccc0a990c54508d6e094ec6457b1ccf90ab8fa32 (commit)


- Log -----------------------------------------------------------------
commit ab967efb000b7c6f3a9c12a98b62718a1f6dc584
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 21:00:36 2024 -0500

footprint-reduced fmout() that is only needed until we rewrite the message editor

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c   | 132 ------------------------------------------------
 textclient/messages.c   |  29 ++++++++++-
 textclient/textclient.h |   1 -
 3 files changed, 27 insertions(+), 135 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500615</link><pubDate>Mon, 09 Dec 2024 20:53:56 +0500</pubDate><title>read_one_message() now converts legacy message format to unwrapped lines. Let the screen.c renderer handle soft line wrap.</title><guid isPermaLink="false">2099500615@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  ccc0a990c54508d6e094ec6457b1ccf90ab8fa32 (commit)
      from  3453113e509db29b5a42fb61a861b68ecba91b29 (commit)


- Log -----------------------------------------------------------------
commit ccc0a990c54508d6e094ec6457b1ccf90ab8fa32
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 20:53:54 2024 -0500

read_one_message() now converts legacy message format to unwrapped lines.  Let the screen.c renderer handle soft line wrap.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 67 +++++++++++++++------------------------------------
 1 file changed, 19 insertions(+), 48 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500611</link><pubDate>Mon, 09 Dec 2024 20:30:30 +0500</pubDate><title>war on fmout()</title><guid isPermaLink="false">2099500611@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  3453113e509db29b5a42fb61a861b68ecba91b29 (commit)
      from  a405fdfc4614dc28ed2d6fe3087eab3f91f5d018 (commit)


- Log -----------------------------------------------------------------
commit 3453113e509db29b5a42fb61a861b68ecba91b29
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 20:30:18 2024 -0500

war on fmout()

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500604</link><pubDate>Mon, 09 Dec 2024 19:20:01 +0500</pubDate><title>fmout() subst mode is long gone, remove the param</title><guid isPermaLink="false">2099500604@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  a405fdfc4614dc28ed2d6fe3087eab3f91f5d018 (commit)
      from  5140871a40c75aaa33ed0a3514351abd766b9007 (commit)


- Log -----------------------------------------------------------------
commit a405fdfc4614dc28ed2d6fe3087eab3f91f5d018
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 19:19:59 2024 -0500

fmout() subst mode is long gone, remove the param

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    | 2 +-
 textclient/commands.c   | 3 +--
 textclient/messages.c   | 6 +++---
 textclient/textclient.h | 2 +-
 4 files changed, 6 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500603</link><pubDate>Mon, 09 Dec 2024 19:12:42 +0500</pubDate><title>Phasing out fmout()</title><guid isPermaLink="false">2099500603@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  5140871a40c75aaa33ed0a3514351abd766b9007 (commit)
       via  27025f5e6c4e1f7406aa49224b7254ef866aade1 (commit)
       via  aede97e50f1129407279ce1a8874dc5613849446 (commit)
      from  eb54625772088f9bfcd836e220de9b8f10f4c914 (commit)


- Log -----------------------------------------------------------------
commit 5140871a40c75aaa33ed0a3514351abd766b9007
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 19:12:40 2024 -0500

Phasing out fmout()

commit 27025f5e6c4e1f7406aa49224b7254ef866aade1
Merge: eb5462577 aede97e50
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 18:46:43 2024 -0500

Merge branch 'master' into console_rework

commit aede97e50f1129407279ce1a8874dc5613849446
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 18:46:34 2024 -0500

html_to_ascii() accept screenwidth=0 to suppress soft line breaks in conversion

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/html_to_ascii.c |   8 +-
 textclient/citadel.c           |   2 +-
 textclient/commands.c          | 787 ++++++++++++++++++++---------------------
 textclient/messages.c          |  12 +-
 textclient/rooms.c             |   2 +-
 textclient/textclient.h        |   2 +-
 6 files changed, 389 insertions(+), 424 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500596</link><pubDate>Mon, 09 Dec 2024 18:46:36 +0500</pubDate><title>html_to_ascii() accept screenwidth=0 to suppress soft line breaks in conversion</title><guid isPermaLink="false">2099500596@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  aede97e50f1129407279ce1a8874dc5613849446 (commit)
      from  6acdca6d8aa5c89e01066e4cdbb0f7e8f295f5f6 (commit)


- Log -----------------------------------------------------------------
commit aede97e50f1129407279ce1a8874dc5613849446
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 18:46:34 2024 -0500

html_to_ascii() accept screenwidth=0 to suppress soft line breaks in conversion

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/html_to_ascii.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500595</link><pubDate>Mon, 09 Dec 2024 18:40:52 +0500</pubDate><title>&lt;Q&gt;uote and &lt;P&gt;rint use the new scr_redir api</title><guid isPermaLink="false">2099500595@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  eb54625772088f9bfcd836e220de9b8f10f4c914 (commit)
      from  977bbc133019a1f094fd5a7ebf2f7ac0796f56e9 (commit)


- Log -----------------------------------------------------------------
commit eb54625772088f9bfcd836e220de9b8f10f4c914
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 18:40:48 2024 -0500

<Q>uote and <P>rint use the new scr_redir api

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    |  16 +--
 textclient/citadel.rc   |   2 +-
 textclient/messages.c   | 253 +++++++++++++++---------------------------------
 textclient/textclient.h |   2 +-
 4 files changed, 89 insertions(+), 184 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500590</link><pubDate>Mon, 09 Dec 2024 17:59:20 +0500</pubDate><title>Added scr_ functions to redirect output to a memory buffer</title><guid isPermaLink="false">2099500590@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  977bbc133019a1f094fd5a7ebf2f7ac0796f56e9 (commit)
      from  c7e36a0155fab4d583371552e2b4e1c297068bf0 (commit)


- Log -----------------------------------------------------------------
commit 977bbc133019a1f094fd5a7ebf2f7ac0796f56e9
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 17:59:18 2024 -0500

Added scr_ functions to redirect output to a memory buffer

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile     |   2 +-
 textclient/screen.c     | 105 +++++++++++++++++++++++++++++++++++++++---------
 textclient/textclient.h |   2 +
 3 files changed, 90 insertions(+), 19 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500586</link><pubDate>Mon, 09 Dec 2024 17:16:29 +0500</pubDate><title>Removed unused parameter to scr_getc()</title><guid isPermaLink="false">2099500586@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  c7e36a0155fab4d583371552e2b4e1c297068bf0 (commit)
      from  567ad9024f479d23f067cf006c8636e2898084ac (commit)


- Log -----------------------------------------------------------------
commit c7e36a0155fab4d583371552e2b4e1c297068bf0
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 17:16:27 2024 -0500

Removed unused parameter to scr_getc()

-----------------------------------------------------------------------

Summary of changes:
 textclient/client_chat.c |  2 +-
 textclient/commands.c    | 10 ++++------
 textclient/screen.c      |  2 +-
 textclient/textclient.h  |  4 +---
 4 files changed, 7 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500563</link><pubDate>Mon, 09 Dec 2024 14:52:15 +0500</pubDate><title>scr_printf() dynamic buffer and don&#39;t mangle it</title><guid isPermaLink="false">2099500563@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  567ad9024f479d23f067cf006c8636e2898084ac (commit)
      from  587b4944a5716d2469d8f6c0dc306255f48364f5 (commit)


- Log -----------------------------------------------------------------
commit 567ad9024f479d23f067cf006c8636e2898084ac
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 14:52:10 2024 -0500

scr_printf() dynamic buffer and don't mangle it

-----------------------------------------------------------------------

Summary of changes:
 textclient/screen.c | 57 ++++++++++++++++++++++++++---------------------------
 1 file changed, 28 insertions(+), 29 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500548</link><pubDate>Mon, 09 Dec 2024 14:05:40 +0500</pubDate><title>character loop output instead of printf</title><guid isPermaLink="false">2099500548@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  587b4944a5716d2469d8f6c0dc306255f48364f5 (commit)
      from  28c9ce73afacd91fc08081197a44c51d268de9cf (commit)


- Log -----------------------------------------------------------------
commit 587b4944a5716d2469d8f6c0dc306255f48364f5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 14:05:38 2024 -0500

character loop output instead of printf

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    |  2 +-
 textclient/screen.c     | 16 ++++++++++------
 textclient/textclient.h | 14 +++++++-------
 3 files changed, 18 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500505</link><pubDate>Mon, 09 Dec 2024 11:27:59 +0500</pubDate><title>fmout() use global screenwidth instead of as a parameter</title><guid isPermaLink="false">2099500505@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  28c9ce73afacd91fc08081197a44c51d268de9cf (commit)
      from  a99b76253acf923a3575e61eefdc0e2c54e325db (commit)


- Log -----------------------------------------------------------------
commit 28c9ce73afacd91fc08081197a44c51d268de9cf
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 9 11:27:56 2024 -0500

fmout() use global screenwidth instead of as a parameter

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    |  2 +-
 textclient/commands.c   | 22 ++++++++++++----------
 textclient/messages.c   |  6 +++---
 textclient/rooms.c      |  2 +-
 textclient/textclient.h |  2 +-
 5 files changed, 18 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500406</link><pubDate>Sun, 08 Dec 2024 22:18:19 +0500</pubDate><title>moved things</title><guid isPermaLink="false">2099500406@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  a99b76253acf923a3575e61eefdc0e2c54e325db (commit)
      from  f2de8e1d26a1a79dd9c31a4b9a8d43a992b10797 (commit)


- Log -----------------------------------------------------------------
commit a99b76253acf923a3575e61eefdc0e2c54e325db
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 8 22:18:17 2024 -0500

moved things

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500405</link><pubDate>Sun, 08 Dec 2024 22:09:06 +0500</pubDate><title>screen.c: moved other screen handling functions into this file</title><guid isPermaLink="false">2099500405@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  f2de8e1d26a1a79dd9c31a4b9a8d43a992b10797 (commit)
      from  d3469dc1e69e49e4129b5e0c199b1290ef537e67 (commit)


- Log -----------------------------------------------------------------
commit f2de8e1d26a1a79dd9c31a4b9a8d43a992b10797
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 8 22:09:04 2024 -0500

screen.c: moved other screen handling functions into this file

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c       | 40 ------------------------------
 textclient/messages.c       | 15 ++++++------
 textclient/rooms.c          |  3 +--
 textclient/screen.c         | 60 +++++++++++++++++++++++++++++++++++++++++----
 textclient/textclient.h     |  2 ++
 textclient/user_functions.c | 10 ++------
 6 files changed, 68 insertions(+), 62 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500383</link><pubDate>Sun, 08 Dec 2024 21:13:36 +0500</pubDate><title>Initial go at the console rework</title><guid isPermaLink="false">2099500383@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  d3469dc1e69e49e4129b5e0c199b1290ef537e67 (commit)
      from  6acdca6d8aa5c89e01066e4cdbb0f7e8f295f5f6 (commit)


- Log -----------------------------------------------------------------
commit d3469dc1e69e49e4129b5e0c199b1290ef537e67
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 8 21:13:34 2024 -0500

Initial go at the console rework

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile         |   2 +-
 textclient/client_chat.c    |   2 +-
 textclient/commands.c       |  14 +-
 textclient/messages.c       |   8 +-
 textclient/screen.c         | 238 ++++++++++++++++++++--------------
 textclient/textclient.h     |   7 +-
 textclient/user_functions.c |   3 +-
 textclient/wcwidth.c        | 309 ++++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 469 insertions(+), 114 deletions(-)
 create mode 100644 textclient/wcwidth.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500235</link><pubDate>Sun, 08 Dec 2024 00:14:48 +0500</pubDate><title>Re: Lock mutexes were never initialized. Implemented proper initialization and added error checking to initialization, lock and unlock.</title><guid isPermaLink="false">2099500235@Uncensored</guid><description><![CDATA[  
 Forgive me for doubting ... there must have been some sort of edge case that
your improvements have fixed, and that's a good thing, but we definitely had
*some* amount of locking.  I know I've fixed deadlocks in the past, and I've
sat there watching traces with multiple sessions going (it's one of the reasons
I wrote the load tester last year) and seeing different sessions lock and
unlock things in turn. 
  
 Whatever it was before, I'm sure it's improved now, because what you're describing
looks like "the right way" to do it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500216</link><pubDate>Sat, 07 Dec 2024 22:06:14 +0500</pubDate><title>Re: Core dumping on shutdown due to Full Text Indexing</title><guid isPermaLink="false">2099500216@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Sun Dec 08 2024 03:03:08 UTC</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Core dumping on shutdown due to Full Text Indexing</span></div>
<div class="message_content">
<blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I'm assuming you're testing it under load.</div>
</div>
</blockquote>
<p>Yes.  Heavy asynchronous SMTP mail sends.</p>
<br /><br /></div>
</blockquote>
<p>Should have mentioned that all the mail had been sent and processed by the server by the time the coredump occurred.  The indexing runs for a very long time after my test program completes.  Never timed it, but I have seen about 15-30min indexing.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500215</link><pubDate>Sat, 07 Dec 2024 22:03:08 +0500</pubDate><title>Re: Core dumping on shutdown due to Full Text Indexing</title><guid isPermaLink="false">2099500215@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I'm assuming you're testing it under load. </div>
</div>
</blockquote>
<p>Yes.  Heavy asynchronous SMTP mail sends.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500214</link><pubDate>Sat, 07 Dec 2024 22:01:10 +0500</pubDate><title>Re: Lock mutexes were never initialized. Implemented proper initialization and added error checking to initialization, lock and unlock.</title><guid isPermaLink="false">2099500214@Uncensored</guid><description><![CDATA[<html><body>

<p>Luck I guess.  In threads.c, InitializeSemaphores() was never called by anyone which initialized the mutexes.  The mutexes were never set to <span style="font-family: monospace; font-size: medium;">PTHREAD_MUTEX_INITIALIZER, so static initialization would not initialize them either.  Not sure how they did not get errors on lock/unlock.</span></p>
<p>I went ahead and used pthread_once() to initalize them before they are used.  I thought I only needed to call the init when go_threading() started, but in debug, I found that something else was using locks before threading, so I just called the init check before each mutex use.</p>
<p>I had some coredumps in database and memory during testing by opening hundreds of threads to send mail to the server and was going through a lot of lock and database code.  That's were I found the mutexes were not getting initialized and the send message not locking the room before writing to the database.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500163</link><pubDate>Sat, 07 Dec 2024 18:42:39 +0500</pubDate><title>back() is now scr_back() and used everywhere it can be</title><guid isPermaLink="false">2099500163@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6acdca6d8aa5c89e01066e4cdbb0f7e8f295f5f6 (commit)
      from  4e5462bf8dd216ae7f8e77038620eb4231694b3c (commit)


- Log -----------------------------------------------------------------
commit 6acdca6d8aa5c89e01066e4cdbb0f7e8f295f5f6
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 7 18:41:06 2024 -0500

back() is now scr_back() and used everywhere it can be

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c   | 14 ++++----------
 textclient/messages.c   | 16 ++++------------
 textclient/screen.c     |  8 ++++++++
 textclient/textclient.h |  4 ++--
 textclient/utilfunc.c   | 11 -----------
 5 files changed, 18 insertions(+), 35 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500162</link><pubDate>Sat, 07 Dec 2024 18:41:08 +0500</pubDate><title>back() is now scr_back() and used everywhere it can be</title><guid isPermaLink="false">2099500162@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been updated
       via  6acdca6d8aa5c89e01066e4cdbb0f7e8f295f5f6 (commit)
      from  4e5462bf8dd216ae7f8e77038620eb4231694b3c (commit)


- Log -----------------------------------------------------------------
commit 6acdca6d8aa5c89e01066e4cdbb0f7e8f295f5f6
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 7 18:41:06 2024 -0500

back() is now scr_back() and used everywhere it can be

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c   | 14 ++++----------
 textclient/messages.c   | 16 ++++------------
 textclient/screen.c     |  8 ++++++++
 textclient/textclient.h |  4 ++--
 textclient/utilfunc.c   | 11 -----------
 5 files changed, 18 insertions(+), 35 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500154</link><pubDate>Sat, 07 Dec 2024 18:26:18 +0500</pubDate><title>view_calendar.js: handle non-inclusive DTEND properly</title><guid isPermaLink="false">2099500154@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, console_rework has been created
        at  4e5462bf8dd216ae7f8e77038620eb4231694b3c (commit)

- Log -----------------------------------------------------------------
commit 4e5462bf8dd216ae7f8e77038620eb4231694b3c
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 7 16:59:47 2024 -0500

view_calendar.js: handle non-inclusive DTEND properly

See https://www.rfc-editor.org/rfc/rfc5545#section-3.6.1 to understand the "non inclusive end of the event".
This basically means that if DTSTART/DTEND are both the same day, it is an event that is "on that day" but does
not span the entire day (like a birthday or anniversary for example).  A true "all day event" has a DTEND set to
the day *after* it ends.  WebCit displays events of both types the same way but must calculate the proper columns.

commit b6a10306e6380d9bc85dffb56fa66951c00fb786
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sat Dec 7 16:24:00 2024 -0500

msgbase.c: Sending message without locking caused deadlock coredump.

CtdlSubmitMsg() processing did not lock room when writing message using send_message()
resulting in deadlock coredump.  Now save_this_message() does.
-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500135</link><pubDate>Sat, 07 Dec 2024 17:06:40 +0500</pubDate><title>Re: Lock mutexes were never initialized. Implemented proper initialization and added error checking to initialization, lock and unlock.</title><guid isPermaLink="false">2099500135@Uncensored</guid><description><![CDATA[ >Lock mutexes were never initialized.  Implemented proper initialization
and added error checking to initialization, lock and un >lock.  
  
 Tell me more about that please.  Have we just been really lucky all this
time and not getting obvious corruption? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500134</link><pubDate>Sat, 07 Dec 2024 17:05:19 +0500</pubDate><title>Re: Core dumping on shutdown due to Full Text Indexing</title><guid isPermaLink="false">2099500134@Uncensored</guid><description><![CDATA[ >When shutdown closes the database, I get a coredump because  
 >do_fulltext_indexing() is still running and issues a fetch and dies.   
  
 Interesting.  I haven't seen that.  Normally it should detect that the server_shutting_down
global has been set, and do the right thing. 
  
 I'm assuming you're testing it under load. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500131</link><pubDate>Sat, 07 Dec 2024 17:00:43 +0500</pubDate><title>view_calendar.js: handle non-inclusive DTEND properly</title><guid isPermaLink="false">2099500131@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4e5462bf8dd216ae7f8e77038620eb4231694b3c (commit)
      from  b6a10306e6380d9bc85dffb56fa66951c00fb786 (commit)


- Log -----------------------------------------------------------------
commit 4e5462bf8dd216ae7f8e77038620eb4231694b3c
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 7 16:59:47 2024 -0500

view_calendar.js: handle non-inclusive DTEND properly

See https://www.rfc-editor.org/rfc/rfc5545#section-3.6.1 to understand the "non inclusive end of the event".
This basically means that if DTSTART/DTEND are both the same day, it is an event that is "on that day" but does
not span the entire day (like a birthday or anniversary for example).  A true "all day event" has a DTEND set to
the day *after* it ends.  WebCit displays events of both types the same way but must calculate the proper columns.

-----------------------------------------------------------------------

Summary of changes:
 textclient/screen.c                  |  2 --
 webcit-ng/static/js/view_calendar.js | 12 +++++++++++-
 2 files changed, 11 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500126</link><pubDate>Sat, 07 Dec 2024 16:24:53 +0500</pubDate><title>msgbase.c: Sending message without locking caused deadlock coredump.</title><guid isPermaLink="false">2099500126@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b6a10306e6380d9bc85dffb56fa66951c00fb786 (commit)
      from  e2b7c922c906c099f17aeb6f70213d9a12a9fd0f (commit)


- Log -----------------------------------------------------------------
commit b6a10306e6380d9bc85dffb56fa66951c00fb786
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sat Dec 7 16:24:00 2024 -0500

msgbase.c: Sending message without locking caused deadlock coredump.

CtdlSubmitMsg() processing did not lock room when writing message using send_message()
resulting in deadlock coredump.  Now save_this_message() does.

CtdlSubmitMsg()->send_message()->CtdlSaveThisMessage()->bdb_store()

Changed name of CtdlSaveThisMessage() to save_this_message() since local.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/msgbase.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099500072</link><pubDate>Sat, 07 Dec 2024 02:59:56 +0500</pubDate><title>Lock mutexes were never initialized. Implemented proper initialization and added error checking to initialization, lock and unlock.</title><guid isPermaLink="false">2099500072@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e2b7c922c906c099f17aeb6f70213d9a12a9fd0f (commit)
      from  d7ab5536073c67631154effa07539a16b1827265 (commit)


- Log -----------------------------------------------------------------
commit e2b7c922c906c099f17aeb6f70213d9a12a9fd0f
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sat Dec 7 02:58:14 2024 -0500

Lock mutexes were never initialized.  Implemented proper initialization and added error checking to initialization, lock and unlock.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h |  1 +
 citadel/server/sysdep.c       | 12 +++----
 citadel/server/threads.c      | 77 ++++++++++++++++++++++++++++++++++++++-----
 citadel/server/threads.h      |  6 ----
 4 files changed, 75 insertions(+), 21 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499896</link><pubDate>Thu, 05 Dec 2024 23:31:34 +0500</pubDate><title>view_calendar.js: top-align the date labels, remove debugs</title><guid isPermaLink="false">2099499896@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d7ab5536073c67631154effa07539a16b1827265 (commit)
      from  c1768a338fc3f6db47e01b3f66cba9e0a90d8fad (commit)


- Log -----------------------------------------------------------------
commit d7ab5536073c67631154effa07539a16b1827265
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 5 23:31:32 2024 -0500

view_calendar.js: top-align the date labels, remove debugs

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      |  1 +
 webcit-ng/static/js/view_calendar.js | 14 ++------------
 2 files changed, 3 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499887</link><pubDate>Thu, 05 Dec 2024 20:54:51 +0500</pubDate><title>view_calendar.js: make the top labels line up with the columns (HACK)</title><guid isPermaLink="false">2099499887@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c1768a338fc3f6db47e01b3f66cba9e0a90d8fad (commit)
      from  a1789c7ec594740d46ca2aad89d2838dc4ee58fc (commit)


- Log -----------------------------------------------------------------
commit c1768a338fc3f6db47e01b3f66cba9e0a90d8fad
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 5 20:54:48 2024 -0500

view_calendar.js: make the top labels line up with the columns (HACK)

The HACK was to insert a div on each side of the labels, with six &ensp; characters on
the left and two on the right.  This somehow makes it render pixel perfect with the columns
below them even though the flow rules are different.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499732</link><pubDate>Wed, 04 Dec 2024 23:27:28 +0500</pubDate><title>view_calendar.js: display all day events up top near the labels</title><guid isPermaLink="false">2099499732@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a1789c7ec594740d46ca2aad89d2838dc4ee58fc (commit)
      from  5e6694307c3e07a338efc2f21ff2f43733b79648 (commit)


- Log -----------------------------------------------------------------
commit a1789c7ec594740d46ca2aad89d2838dc4ee58fc
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 4 23:27:26 2024 -0500

view_calendar.js: display all day events up top near the labels

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 11 ++++++---
 webcit-ng/static/js/view_calendar.js | 48 +++++++++++++++++++++++++-----------
 2 files changed, 41 insertions(+), 18 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499726</link><pubDate>Wed, 04 Dec 2024 22:51:42 +0500</pubDate><title>webcit.css: calendar headings/content use flexbox properly instead of static sizing</title><guid isPermaLink="false">2099499726@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5e6694307c3e07a338efc2f21ff2f43733b79648 (commit)
      from  2484efdf51222b1302d8b8a59e1217a117b433ce (commit)


- Log -----------------------------------------------------------------
commit 5e6694307c3e07a338efc2f21ff2f43733b79648
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 4 22:51:40 2024 -0500

webcit.css: calendar headings/content use flexbox properly instead of static sizing

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499602</link><pubDate>Tue, 03 Dec 2024 23:24:37 +0500</pubDate><title>Identify point-in-time and all-day events, they need to be rendered differently</title><guid isPermaLink="false">2099499602@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2484efdf51222b1302d8b8a59e1217a117b433ce (commit)
      from  40e11712947b70b6ca57699c3553bf71dbe5dabe (commit)


- Log -----------------------------------------------------------------
commit 2484efdf51222b1302d8b8a59e1217a117b433ce
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 3 23:24:32 2024 -0500

Identify point-in-time and all-day events, they need to be rendered differently

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js |  5 ++---
 webcit-ng/static/js/view_calendar.js | 17 ++++++++++++++---
 2 files changed, 16 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499374</link><pubDate>Mon, 02 Dec 2024 01:35:28 +0500</pubDate><title>Core dumping on shutdown due to Full Text Indexing</title><guid isPermaLink="false">2099499374@Uncensored</guid><description><![CDATA[<html><body>

<p>I ran into this on my production server a few times and I was finally able to reproduce it on a test system.  I can try to trace the issue down, but I wanted to see if anyone had seen this also.</p>
<p>When shutdown closes the database, I get a coredump because do_fulltext_indexing() is still running and issues a fetch and dies.</p>
<p>I assume the solution is to stop the indexing in progress when shutting down or have the bdb code return errors when shutdown it active.  Without looking at a lot of code in shutdown and fulltext, I am not sure what the best approach is.  Anyone have any tips or should I just dig into it when I have time?  I turned off indexing, so I do not have the error anymore. It may be an easy code fix for someone else, since I cannot seem to even put returns into functions :-)</p>
<p>The way I recreated it was to send the server a bunch of mail and then shutdown.  The indexing runs for a very long time after the email has been delivered and if you shutdown before it completes, you get the coredump.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499369</link><pubDate>Mon, 02 Dec 2024 00:27:33 +0500</pubDate><title>Re: CtdlVisitCreateEmpty() now actually returns the object that was created. How did this ever work?</title><guid isPermaLink="false">2099499369@Uncensored</guid><description><![CDATA[<html><body>

<p>I guess the programming gods felt sorry for my crappy programming.  I have no clue how it worked.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499281</link><pubDate>Sat, 30 Nov 2024 23:25:19 +0500</pubDate><title>textclient: disable SIGWINCH during terminal capability detect.</title><guid isPermaLink="false">2099499281@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  40e11712947b70b6ca57699c3553bf71dbe5dabe (commit)
      from  240ee36f0fb46ae6bea2089a32f3430db1061690 (commit)


- Log -----------------------------------------------------------------
commit 40e11712947b70b6ca57699c3553bf71dbe5dabe
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 30 23:25:12 2024 -0500

textclient: disable SIGWINCH during terminal capability detect.

Discovered that telnetd will often choose to alert the client of the terminal window
size via a SIGWINCH during the sleep between terminal enquiry and reading the terminal
answerback.  This was causing the sleep() or nanosleep() system call to be interupted,
resulting in either the answerback appearing at the username prompt, or a zombie
telnetd process to be left behind.

Disabling SIGWINCH during the nanosleep() call fixes the problem.  We will perform an
ioctl to get the terminal window size afterwards anyway.  If the user subsequently
resizes the terminal, SIGWINCH will be properly caught and the client will react.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c  |  3 ---
 textclient/commands.c | 11 +++++++++--
 textclient/screen.c   |  1 +
 3 files changed, 10 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499141</link><pubDate>Fri, 29 Nov 2024 00:30:48 +0500</pubDate><title>calendar_edit.js: start/end time editing now loads and saves correctly.</title><guid isPermaLink="false">2099499141@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  240ee36f0fb46ae6bea2089a32f3430db1061690 (commit)
      from  5acedc6351284a42808dfe980d0a7dca3b4563a1 (commit)


- Log -----------------------------------------------------------------
commit 240ee36f0fb46ae6bea2089a32f3430db1061690
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 29 00:30:46 2024 -0500

calendar_edit.js: start/end time editing now loads and saves correctly.

Time zones are the bane of the calendar software developer's existence.  libical does a
pretty good job of automating away the component and property format manipulation, but we
still have a lot of work to do.  Whenever the browser detects that the user changed the
start or end time of an event, we load up the DTSTART/DTEND properties, copy in new values
from the web form, and then store them back into the component.  Vile, sleazy hacks are
required to preserve these properties in their original time zones.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499009</link><pubDate>Wed, 27 Nov 2024 23:52:15 +0500</pubDate><title>Re: CtdlVisitCreateEmpty() now actually returns the object that was created. How did this ever work?</title><guid isPermaLink="false">2099499009@Uncensored</guid><description><![CDATA[<html><body>

<p>This was a weird one.  Not that the bug itself was weird, it was obvious once found.  What I'm wondering is how it ever could have possibly worked in the first place.  CtdlVisitCreateEmpty() was allocating memory, initializing it with some default values, and then ... exiting the function without returning the new object.</p>
<p>It's been working fine on most systems all this time, including mine.  How?  Some sort of side effect that left the correct pointer in the correct location on some systems?  I don't get it.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499007</link><pubDate>Wed, 27 Nov 2024 23:45:24 +0500</pubDate><title>Message #2099499007</title><guid isPermaLink="false">2099499007@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1007 has been created
        at  b50b74c1dd808f3fabe2c1dbe00c23858796281c (tag)
   tagging  5acedc6351284a42808dfe980d0a7dca3b4563a1 (commit)
  replaces  v1006
 tagged by  Art Cancro
        on  Wed Nov 27 23:45:23 2024 -0500

- Log -----------------------------------------------------------------
Version 1007 release

Art Cancro (14):
      Clarify rc_mail_command failure message.
      Include the correct algorithm to beat the Kobayashi Maru
      calendar_edit.js: toggle between date and date/time
      calendar_edit.js: more of it
      fixed rc_ansi_color bug
      Set up the screen AFTER connecting to the server.
      citadel.c: modernized old and crappy code
      citadel.c: using the magic of loops, eliminated a bunch of gotos
      citadel.c: removed ALL remaining gotos!
      client: more cleanup!
      setup: restart citserver using systemctl instead of server cmd
      raspberry pi troubleshoot
      CtdlVisitCreateEmpty() now actually returns the object that was created.  How did this ever work?
      Release version 1007 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499006</link><pubDate>Wed, 27 Nov 2024 23:45:23 +0500</pubDate><title>Release version 1007 generated by do-release.sh</title><guid isPermaLink="false">2099499006@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5acedc6351284a42808dfe980d0a7dca3b4563a1 (commit)
      from  8301bec575d612972191dcccf66f40737086d66f (commit)


- Log -----------------------------------------------------------------
commit 5acedc6351284a42808dfe980d0a7dca3b4563a1
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 27 23:45:23 2024 -0500

Release version 1007 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499005</link><pubDate>Wed, 27 Nov 2024 23:41:28 +0500</pubDate><title>CtdlVisitCreateEmpty() now actually returns the object that was created. How did this ever work?</title><guid isPermaLink="false">2099499005@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8301bec575d612972191dcccf66f40737086d66f (commit)
      from  0fd6fa875724526e559c8e7296a1a0002b47b382 (commit)


- Log -----------------------------------------------------------------
commit 8301bec575d612972191dcccf66f40737086d66f
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 27 23:41:26 2024 -0500

CtdlVisitCreateEmpty() now actually returns the object that was created.  How did this ever work?

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/visit.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099499002</link><pubDate>Wed, 27 Nov 2024 23:35:48 +0500</pubDate><title>raspberry pi troubleshoot</title><guid isPermaLink="false">2099499002@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0fd6fa875724526e559c8e7296a1a0002b47b382 (commit)
      from  f780b6c545a2a078420509c410238132d4d88084 (commit)


- Log -----------------------------------------------------------------
commit 0fd6fa875724526e559c8e7296a1a0002b47b382
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 27 23:35:45 2024 -0500

raspberry pi troubleshoot

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/visit.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498983</link><pubDate>Wed, 27 Nov 2024 22:08:09 +0500</pubDate><title>setup: restart citserver using systemctl instead of server cmd</title><guid isPermaLink="false">2099498983@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f780b6c545a2a078420509c410238132d4d88084 (commit)
      from  377d4cdb8bb35f319bbdf71b3d4d99d3e2f5203b (commit)


- Log -----------------------------------------------------------------
commit f780b6c545a2a078420509c410238132d4d88084
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 27 22:08:08 2024 -0500

setup: restart citserver using systemctl instead of server cmd

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/setup.c | 46 ++++------------------------------------------
 1 file changed, 4 insertions(+), 42 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498601</link><pubDate>Mon, 25 Nov 2024 10:33:45 +0500</pubDate><title>client: more cleanup!</title><guid isPermaLink="false">2099498601@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  377d4cdb8bb35f319bbdf71b3d4d99d3e2f5203b (commit)
      from  b8245e01a6409b0521db8b13242b6df12afaa2fd (commit)


- Log -----------------------------------------------------------------
commit 377d4cdb8bb35f319bbdf71b3d4d99d3e2f5203b
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 25 10:33:42 2024 -0500

client: more cleanup!

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    |  6 ----
 textclient/commands.c   |  3 --
 textclient/messages.c   | 80 +++++++++----------------------------------------
 textclient/rooms.c      |  3 --
 textclient/sysutil.c    | 46 ++++++++++++++++++++++++++++
 textclient/textclient.h |  8 +++++
 textclient/utilfunc.c   |  3 --
 7 files changed, 68 insertions(+), 81 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498527</link><pubDate>Sun, 24 Nov 2024 12:05:43 +0500</pubDate><title>hacking citserver mime</title><guid isPermaLink="false">2099498527@Uncensored</guid><description><![CDATA[I am hacking my citadel sandbox - probably in most innapropriate and abusive ways...

Sending this here, because it may be of interest

# mime auto detection for file sharing (citadel directory)

In order not to rely on user supplied info about file mimetypes - implementing mime autodetection on the citserver side.

### removing all filedir code from citserver

Text file 'filedir' holds info for each uploaded file: mime, user comment. I am removing the filedir manipulation code completely from serv_file.c [cmd_ucls() and cmd_movf()] and serv_rooms.c [cmd_rdir()] in order to prepare for mime autodetection.

This creates some problems:

* not honouring mime type given from end user anymore (UOPN mime type given by end-user is completely discarded from now on)
* not honouring any file comment (UOPN comment coming from end-user), discarded completely

### implementing mime autodetection

In serv_rooms.c
prior cmd_rdir() added the getmime() helper:

```
/*helper to autodetect mime type of a file*/
#include <magic.h>
void getmime(const char *filename, char *mimebuf, const int sizeof_mimebuf)
{
	const char *magic_full;
	magic_t magic_cookie;
	const char default_mime_type[] = "application/octet-stream";
	int i;

	/*MAGIC_MIME requests mimetype info*/
	magic_cookie = magic_open(MAGIC_MIME);

	if(magic_cookie == NULL)
	{	//magic cookie failed
		snprintf(mimebuf, sizeof_mimebuf, "%s", default_mime_type);
		return;
	}

	/*loading default magic database NOTE: performance hit*/
	if(magic_load(magic_cookie, NULL) != 0)
	{	//cannot load
		snprintf(mimebuf, sizeof_mimebuf, "%s", default_mime_type);
		magic_close(magic_cookie);
		return;
	}
    
	magic_full = magic_file(magic_cookie, filename);
	snprintf(mimebuf, sizeof_mimebuf, "%s", magic_full);

	/*just a homebrew strcspn(), cutting off everything
after ';' char */
	for(i=0; mimebuf[i] != '\0'; i++) if(mimebuf[i] == ';') break;
	mimebuf[i] = '\0';

	/*libmagic(3) : magic_close() deallocates any resources used.*/
	magic_close(magic_cookie);
} /*getmime()*/
```

In serv_rooms.c into cmd_rdir() using this helper to autodetect each file prior displaying it to the user.

Results:

* end-user sees correct mime type during the directory listing (RDIR only)

Problems:

* performance hit! Each time RDIR is invoked getmime() is called per each file into the directory (there should be smarter ways of doing this :)
* introducing new dependency for citserver: -lmagic (libmagic.so) . This means additional maintenance, increased attack surface, etc. etc.

Notes:

* libmagic is thread safe as long as there are multiple libmagic instances, one for each thread, see:

=> https://stackoverflow.com/questions/10654371/is-lib-magic-thread-safe

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498500</link><pubDate>Sat, 23 Nov 2024 23:23:02 +0500</pubDate><title>citadel.c: removed ALL remaining gotos!</title><guid isPermaLink="false">2099498500@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b8245e01a6409b0521db8b13242b6df12afaa2fd (commit)
      from  35085b1227eca1e6223ed4790298674e302c8a31 (commit)


- Log -----------------------------------------------------------------
commit b8245e01a6409b0521db8b13242b6df12afaa2fd
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 23 23:22:59 2024 -0500

citadel.c: removed ALL remaining gotos!

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c | 179 +++++++++++++++++++++++++--------------------------
 1 file changed, 89 insertions(+), 90 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498437</link><pubDate>Sat, 23 Nov 2024 18:38:00 +0500</pubDate><title>citadel.c: using the magic of loops, eliminated a bunch of gotos</title><guid isPermaLink="false">2099498437@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  35085b1227eca1e6223ed4790298674e302c8a31 (commit)
      from  d2555ae55699899d2ed9deb6e85db5bb97334c27 (commit)


- Log -----------------------------------------------------------------
commit 35085b1227eca1e6223ed4790298674e302c8a31
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 23 18:37:58 2024 -0500

citadel.c: using the magic of loops, eliminated a bunch of gotos

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    | 268 +++++++++++++++++++++++++-----------------------
 textclient/rooms.c      |  24 ++---
 textclient/textclient.h |   6 +-
 3 files changed, 152 insertions(+), 146 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498432</link><pubDate>Sat, 23 Nov 2024 17:56:19 +0500</pubDate><title>citadel.c: modernized old and crappy code</title><guid isPermaLink="false">2099498432@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d2555ae55699899d2ed9deb6e85db5bb97334c27 (commit)
      from  25e2c49843a998bcec757350194dfc2012ebdaba (commit)


- Log -----------------------------------------------------------------
commit d2555ae55699899d2ed9deb6e85db5bb97334c27
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 23 17:56:17 2024 -0500

citadel.c: modernized old and crappy code

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c                 | 111 +++++++++++-----------
 textclient/citadel.rc                |   1 -
 textclient/citadel_ipc.c             | 178 +++++++++++++++++++----------------
 textclient/commands.c                |   6 --
 textclient/textclient.h              |   3 -
 webcit-ng/static/js/calendar_edit.js |  12 ++-
 6 files changed, 156 insertions(+), 155 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498282</link><pubDate>Fri, 22 Nov 2024 17:15:06 +0500</pubDate><title>Set up the screen AFTER connecting to the server.</title><guid isPermaLink="false">2099498282@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  25e2c49843a998bcec757350194dfc2012ebdaba (commit)
      from  9934f85d6e65e8293bfa2b7ff176c774fbcd1b5b (commit)


- Log -----------------------------------------------------------------
commit 25e2c49843a998bcec757350194dfc2012ebdaba
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 22 17:15:04 2024 -0500

Set up the screen AFTER connecting to the server.

This seems to correct the problem with telnetd throwing away the delay
between sending the terminal enquiry and waiting for the answerback.  I
don't know why.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498175</link><pubDate>Thu, 21 Nov 2024 22:10:53 +0500</pubDate><title>fixed rc_ansi_color bug</title><guid isPermaLink="false">2099498175@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9934f85d6e65e8293bfa2b7ff176c774fbcd1b5b (commit)
      from  a7a23a92e03f7bbd89f3ff178d4153865bf729a6 (commit)


- Log -----------------------------------------------------------------
commit 9934f85d6e65e8293bfa2b7ff176c774fbcd1b5b
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Nov 21 22:10:51 2024 -0500

fixed rc_ansi_color bug

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    | 5 -----
 textclient/commands.c   | 4 ++--
 textclient/textclient.h | 1 -
 3 files changed, 2 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498127</link><pubDate>Thu, 21 Nov 2024 14:31:27 +0500</pubDate><title>Re: Crypto/SSL Coredump</title><guid isPermaLink="false">2099498127@Uncensored</guid><description><![CDATA[It shouldn't, but a stack trace would tell all. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099498108</link><pubDate>Thu, 21 Nov 2024 10:47:23 +0500</pubDate><title>Crypto/SSL Coredump</title><guid isPermaLink="false">2099498108@Uncensored</guid><description><![CDATA[<html><body>

<p>I had a coredump on my production system that I cannot reproduce.  I am not that familiar with SSL, but it looks like we may need a little more error handling in the Crypto code, even if it isn't the root cause of the coredump.  I lost the core file but it said that it was trying to free an unallocated address.  Probably needs someone with more SSL experience than me.</p>
<p>The dump was in serv_crypto.c endtls().  It died in endtls().  I did some reading on SSL_shutdown() and there are a lot of conditions that it can error on.  We are not looking at the return code and just calling SSL_free().  Could a bad connection cause issues with SSL_shutdown() and result in corrupting something?</p>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099497742</link><pubDate>Mon, 18 Nov 2024 23:17:09 +0500</pubDate><title>calendar_edit.js: more of it</title><guid isPermaLink="false">2099497742@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a7a23a92e03f7bbd89f3ff178d4153865bf729a6 (commit)
      from  03dcc4e8e09ce5028697b17116e6a55f2c6bb83e (commit)


- Log -----------------------------------------------------------------
commit a7a23a92e03f7bbd89f3ff178d4153865bf729a6
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 18 23:17:07 2024 -0500

calendar_edit.js: more of it

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 42 +++++++++++++++++++++++++-----------
 webcit-ng/static/js/view_calendar.js |  4 ++++
 2 files changed, 33 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099497585</link><pubDate>Sun, 17 Nov 2024 22:51:43 +0500</pubDate><title>calendar_edit.js: toggle between date and date/time</title><guid isPermaLink="false">2099497585@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  03dcc4e8e09ce5028697b17116e6a55f2c6bb83e (commit)
      from  af26e89f789179704cae3ae78fe76cbdc451a4fa (commit)


- Log -----------------------------------------------------------------
commit 03dcc4e8e09ce5028697b17116e6a55f2c6bb83e
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 17 22:51:39 2024 -0500

calendar_edit.js: toggle between date and date/time

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099497422</link><pubDate>Sat, 16 Nov 2024 14:18:28 +0500</pubDate><title>Include the correct algorithm to beat the Kobayashi Maru</title><guid isPermaLink="false">2099497422@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  af26e89f789179704cae3ae78fe76cbdc451a4fa (commit)
      from  f3f351018505624d8a91e4331485760dc03dc97b (commit)


- Log -----------------------------------------------------------------
commit af26e89f789179704cae3ae78fe76cbdc451a4fa
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 16 14:18:26 2024 -0500

Include the correct algorithm to beat the Kobayashi Maru

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/server_main.c  |  3 +--
 citadel/server/sysdep.c       | 16 ++++++----------
 textclient/client_passwords.c | 12 +++++++-----
 textclient/rooms.c            | 32 ++++++++++++--------------------
 textclient/tuiconfig.c        |  6 ++----
 5 files changed, 28 insertions(+), 41 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099497208</link><pubDate>Thu, 14 Nov 2024 16:51:16 +0500</pubDate><title>Clarify rc_mail_command failure message.</title><guid isPermaLink="false">2099497208@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f3f351018505624d8a91e4331485760dc03dc97b (commit)
      from  24474e3ef5f600451408db926b304dfd3a279bd5 (commit)


- Log -----------------------------------------------------------------
commit f3f351018505624d8a91e4331485760dc03dc97b
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Nov 14 16:51:08 2024 -0500

Clarify rc_mail_command failure message.

It isn't a "check mail" command, it's an "alert about new mail" command.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c | 29 +++++++++++------------------
 1 file changed, 11 insertions(+), 18 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496954</link><pubDate>Wed, 13 Nov 2024 11:20:24 +0500</pubDate><title>Message #2099496954</title><guid isPermaLink="false">2099496954@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1006 has been created
        at  aa9c4c54427375cbc030bb723087c21d7ab76b8c (tag)
   tagging  24474e3ef5f600451408db926b304dfd3a279bd5 (commit)
  replaces  v1005
 tagged by  Art Cancro
        on  Wed Nov 13 11:20:23 2024 -0500

- Log -----------------------------------------------------------------
Version 1006 release

Art Cancro (2):
      file_transfer.c: added
      Release version 1006 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496953</link><pubDate>Wed, 13 Nov 2024 11:20:24 +0500</pubDate><title>Release version 1006 generated by do-release.sh</title><guid isPermaLink="false">2099496953@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  24474e3ef5f600451408db926b304dfd3a279bd5 (commit)
      from  021ed33f5a78c64624cba663a4f473eadbcb53c6 (commit)


- Log -----------------------------------------------------------------
commit 24474e3ef5f600451408db926b304dfd3a279bd5
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 13 11:20:23 2024 -0500

Release version 1006 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496952</link><pubDate>Wed, 13 Nov 2024 11:20:16 +0500</pubDate><title>file_transfer.c: added</title><guid isPermaLink="false">2099496952@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  021ed33f5a78c64624cba663a4f473eadbcb53c6 (commit)
      from  66243ac9c34c9a4a99e7dff8df302becf1d9abb3 (commit)


- Log -----------------------------------------------------------------
commit 021ed33f5a78c64624cba663a4f473eadbcb53c6
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 13 11:20:11 2024 -0500

file_transfer.c: added

-----------------------------------------------------------------------

Summary of changes:
 textclient/file_transfer.c | 216 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 216 insertions(+)
 create mode 100644 textclient/file_transfer.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496949</link><pubDate>Wed, 13 Nov 2024 11:12:18 +0500</pubDate><title>Message #2099496949</title><guid isPermaLink="false">2099496949@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1005 has been created
        at  a6c4015b8a51230e743aad4d4fa80845f4a1aa85 (tag)
   tagging  66243ac9c34c9a4a99e7dff8df302becf1d9abb3 (commit)
  replaces  v1004
 tagged by  Art Cancro
        on  Wed Nov 13 11:12:17 2024 -0500

- Log -----------------------------------------------------------------
Version 1005 release

Art Cancro (19):
      dbnothing: fix banner
      When closing the databases, call our own bdb_checkpoint()
      Wait two seconds instead of one for terminal detect
      idle style cleanup
      citadel.c: move command loop into a separate function
      Documented the ipc_for_signal_handlers kludge now that I understand it.
      textclient: began organizing functions in files more purposefully.
      routines2.c is now gone.  All functions moved to more appropriate locations.
      rooms.c: extern declarations moved to textclient.h
      textclient: moved all extern defs to textclient.h
      ipc_c_tcp.c: renamed to tcpclient.c
      routines.c is finally gone!
      screen.c: style cleanup.
      stty_ctdl() modernized
      rblcheck: by removing timing diag we can remove gotos
      Connecting host in wholist is now only visible to admins.
      WebCit Classic: mail compose subject now allows up to 256 characters
      inboxrules: load message headers if not present before doing reject
      Release version 1005 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496948</link><pubDate>Wed, 13 Nov 2024 11:12:18 +0500</pubDate><title>Release version 1005 generated by do-release.sh</title><guid isPermaLink="false">2099496948@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  66243ac9c34c9a4a99e7dff8df302becf1d9abb3 (commit)
      from  a2dc9c66382e65082492c255a0bf27d187e383bb (commit)


- Log -----------------------------------------------------------------
commit 66243ac9c34c9a4a99e7dff8df302becf1d9abb3
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 13 11:12:17 2024 -0500

Release version 1005 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496889</link><pubDate>Tue, 12 Nov 2024 22:47:06 +0500</pubDate><title>inboxrules: load message headers if not present before doing reject</title><guid isPermaLink="false">2099496889@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a2dc9c66382e65082492c255a0bf27d187e383bb (commit)
      from  743985cb2ec99279100b6b6c1871a23fd51b42fc (commit)


- Log -----------------------------------------------------------------
commit a2dc9c66382e65082492c255a0bf27d187e383bb
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 12 22:47:02 2024 -0500

inboxrules: load message headers if not present before doing reject

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h                      |   2 +-
 .../server/modules/inboxrules/serv_inboxrules.c    | 105 ++++++++++++---------
 2 files changed, 59 insertions(+), 48 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496859</link><pubDate>Tue, 12 Nov 2024 21:27:32 +0500</pubDate><title>WebCit Classic: mail compose subject now allows up to 256 characters</title><guid isPermaLink="false">2099496859@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  743985cb2ec99279100b6b6c1871a23fd51b42fc (commit)
      from  8e298ab71eea67611216b36edab27cb6165e0f27 (commit)


- Log -----------------------------------------------------------------
commit 743985cb2ec99279100b6b6c1871a23fd51b42fc
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 12 21:27:30 2024 -0500

WebCit Classic: mail compose subject now allows up to 256 characters

-----------------------------------------------------------------------

Summary of changes:
 webcit/static/t/edit/message.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496703</link><pubDate>Mon, 11 Nov 2024 19:12:27 +0500</pubDate><title>Connecting host in wholist is now only visible to admins.</title><guid isPermaLink="false">2099496703@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8e298ab71eea67611216b36edab27cb6165e0f27 (commit)
      from  10c5d4e49aab6e243cb9449d5ca83e6ddef0d469 (commit)


- Log -----------------------------------------------------------------
commit 8e298ab71eea67611216b36edab27cb6165e0f27
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 11 19:12:24 2024 -0500

Connecting host in wholist is now only visible to admins.

Culture change by popular demand.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/rwho/serv_rwho.c |  19 ++---
 textclient/user_functions.c             |  35 ---------
 webcit/who.c                            | 129 +++++++++++++++-----------------
 3 files changed, 68 insertions(+), 115 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496683</link><pubDate>Mon, 11 Nov 2024 14:56:44 +0500</pubDate><title>rblcheck: by removing timing diag we can remove gotos</title><guid isPermaLink="false">2099496683@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  10c5d4e49aab6e243cb9449d5ca83e6ddef0d469 (commit)
      from  4695105e77f7e1c505113da5000ae23eac468824 (commit)


- Log -----------------------------------------------------------------
commit 10c5d4e49aab6e243cb9449d5ca83e6ddef0d469
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 11 14:56:42 2024 -0500

rblcheck: by removing timing diag we can remove gotos

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/locate_host.c | 39 +++++++++++++--------------------------
 1 file changed, 13 insertions(+), 26 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496486</link><pubDate>Sat, 09 Nov 2024 18:58:20 +0500</pubDate><title>stty_ctdl() modernized</title><guid isPermaLink="false">2099496486@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4695105e77f7e1c505113da5000ae23eac468824 (commit)
      from  41c07a422e8f5bf31fe8b7c4785c0a9ba3d99d85 (commit)


- Log -----------------------------------------------------------------
commit 4695105e77f7e1c505113da5000ae23eac468824
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 9 18:58:19 2024 -0500

stty_ctdl() modernized

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c   | 19 +++++++++++--------
 textclient/messages.c   | 11 +++++------
 textclient/sysutil.c    |  4 ++--
 textclient/textclient.h | 13 ++++++++-----
 textclient/tuiconfig.c  |  2 +-
 5 files changed, 27 insertions(+), 22 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496483</link><pubDate>Sat, 09 Nov 2024 18:42:22 +0500</pubDate><title>screen.c: style cleanup.</title><guid isPermaLink="false">2099496483@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  41c07a422e8f5bf31fe8b7c4785c0a9ba3d99d85 (commit)
      from  e0e3f0311b8dcfb855e5d71d871873db0de242fc (commit)


- Log -----------------------------------------------------------------
commit 41c07a422e8f5bf31fe8b7c4785c0a9ba3d99d85
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 9 18:42:20 2024 -0500

screen.c: style cleanup.

More comments here about how my coding style in the late 1980s was absolute crap
and is still reflected in the text client.  Style cleanup is easy; getting rid of
the metric crapton of global variables is a bit harder.

-----------------------------------------------------------------------

Summary of changes:
 textclient/screen.c | 89 ++++++++++++++++++++---------------------------------
 1 file changed, 33 insertions(+), 56 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496480</link><pubDate>Sat, 09 Nov 2024 18:31:12 +0500</pubDate><title>routines.c is finally gone!</title><guid isPermaLink="false">2099496480@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e0e3f0311b8dcfb855e5d71d871873db0de242fc (commit)
      from  54f2e9488c0803e67e31a56b5dcd2585d840caa3 (commit)


- Log -----------------------------------------------------------------
commit e0e3f0311b8dcfb855e5d71d871873db0de242fc
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 9 18:31:09 2024 -0500

routines.c is finally gone!

The actual utility functions have been moved to a new file utilfunc.c
User editing related functions have been moved to user_functions.c

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile         |   2 +-
 textclient/routines.c       | 525 --------------------------------------------
 textclient/user_functions.c | 337 ++++++++++++++++++++++++++++
 textclient/utilfunc.c       | 186 ++++++++++++++++
 4 files changed, 524 insertions(+), 526 deletions(-)
 delete mode 100644 textclient/routines.c
 create mode 100644 textclient/utilfunc.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496475</link><pubDate>Sat, 09 Nov 2024 18:22:14 +0500</pubDate><title>ipc_c_tcp.c: renamed to tcpclient.c</title><guid isPermaLink="false">2099496475@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  54f2e9488c0803e67e31a56b5dcd2585d840caa3 (commit)
      from  43e06539f59244df217e9f8427deb3539b906013 (commit)


- Log -----------------------------------------------------------------
commit 54f2e9488c0803e67e31a56b5dcd2585d840caa3
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 9 18:22:11 2024 -0500

ipc_c_tcp.c: renamed to tcpclient.c

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile                     | 2 +-
 textclient/{ipc_c_tcp.c => tcpclient.c} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename textclient/{ipc_c_tcp.c => tcpclient.c} (100%)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496472</link><pubDate>Sat, 09 Nov 2024 18:13:38 +0500</pubDate><title>textclient: moved all extern defs to textclient.h</title><guid isPermaLink="false">2099496472@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  43e06539f59244df217e9f8427deb3539b906013 (commit)
      from  ec1984ed5c464208aec47fc2d1c1266ab084a101 (commit)


- Log -----------------------------------------------------------------
commit 43e06539f59244df217e9f8427deb3539b906013
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 9 18:13:36 2024 -0500

textclient: moved all extern defs to textclient.h

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c     |  8 +-----
 textclient/client_chat.c |  1 -
 textclient/commands.c    |  2 --
 textclient/messages.c    | 23 +---------------
 textclient/rooms.c       | 20 --------------
 textclient/routines.c    |  6 -----
 textclient/screen.c      |  6 +----
 textclient/textclient.h  | 70 ++++++++++++++++++++++++++++++++++--------------
 textclient/tuiconfig.c   | 10 -------
 9 files changed, 53 insertions(+), 93 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496335</link><pubDate>Fri, 08 Nov 2024 11:35:34 +0500</pubDate><title>rooms.c: extern declarations moved to textclient.h</title><guid isPermaLink="false">2099496335@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ec1984ed5c464208aec47fc2d1c1266ab084a101 (commit)
      from  65fa417814d1fdf1affc738266d2c14cb0fb55da (commit)


- Log -----------------------------------------------------------------
commit ec1984ed5c464208aec47fc2d1c1266ab084a101
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 8 11:35:30 2024 -0500

rooms.c: extern declarations moved to textclient.h

-----------------------------------------------------------------------

Summary of changes:
 textclient/rooms.c      | 6 ------
 textclient/textclient.h | 1 +
 2 files changed, 1 insertion(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496334</link><pubDate>Fri, 08 Nov 2024 11:33:26 +0500</pubDate><title>routines2.c is now gone. All functions moved to more appropriate locations.</title><guid isPermaLink="false">2099496334@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  65fa417814d1fdf1affc738266d2c14cb0fb55da (commit)
      from  8350683a02621d8eb4eb00e204f1221d104e67ac (commit)


- Log -----------------------------------------------------------------
commit 65fa417814d1fdf1affc738266d2c14cb0fb55da
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 8 11:33:23 2024 -0500

routines2.c is now gone.  All functions moved to more appropriate locations.

Honestly, that was a really stupid name for a source code file.

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile         |   2 +-
 textclient/routines2.c      | 177 --------------------------------------------
 textclient/user_functions.c | 165 ++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 162 insertions(+), 182 deletions(-)
 delete mode 100644 textclient/routines2.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496331</link><pubDate>Fri, 08 Nov 2024 11:27:52 +0500</pubDate><title>textclient: began organizing functions in files more purposefully.</title><guid isPermaLink="false">2099496331@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8350683a02621d8eb4eb00e204f1221d104e67ac (commit)
      from  c674b534b6085f193e6fc2ad90a3823ba332e24a (commit)


- Log -----------------------------------------------------------------
commit 8350683a02621d8eb4eb00e204f1221d104e67ac
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 8 11:20:26 2024 -0500

textclient: began organizing functions in files more purposefully.

Yeah.  It's time to erase some of this 35+ year old technical debt.

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile         |   2 +-
 textclient/citadel.c        |  32 +++-
 textclient/commands.c       |  11 ++
 textclient/messages.c       |   1 -
 textclient/rooms.c          |   1 -
 textclient/routines2.c      | 363 +-------------------------------------------
 textclient/sysutil.c        |  19 +++
 textclient/textclient.h     |   5 +-
 textclient/tuiconfig.c      |   1 -
 textclient/user_functions.c |  99 ++++++++++++
 10 files changed, 163 insertions(+), 371 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496214</link><pubDate>Thu, 07 Nov 2024 13:51:15 +0500</pubDate><title>Documented the ipc_for_signal_handlers kludge now that I understand it.</title><guid isPermaLink="false">2099496214@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c674b534b6085f193e6fc2ad90a3823ba332e24a (commit)
      from  57cb2b90783e416c1ab7d912292e198943727511 (commit)


- Log -----------------------------------------------------------------
commit c674b534b6085f193e6fc2ad90a3823ba332e24a
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Nov 7 13:51:09 2024 -0500

Documented the ipc_for_signal_handlers kludge now that I understand it.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    | 13 ++++++++-----
 textclient/commands.c   |  1 -
 textclient/messages.c   |  1 -
 textclient/textclient.h |  3 +++
 4 files changed, 11 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099496211</link><pubDate>Thu, 07 Nov 2024 13:39:10 +0500</pubDate><title>citadel.c: move command loop into a separate function</title><guid isPermaLink="false">2099496211@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  57cb2b90783e416c1ab7d912292e198943727511 (commit)
      from  2461b3c21365a8c9a98c89126df306358c1643b5 (commit)


- Log -----------------------------------------------------------------
commit 57cb2b90783e416c1ab7d912292e198943727511
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Nov 7 13:39:07 2024 -0500

citadel.c: move command loop into a separate function

-----------------------------------------------------------------------

Summary of changes:
 citadel/docs/delivery-list.txt                |  10 -
 citadel/server/modules/smtp/dkim.c            |   5 +-
 citadel/server/modules/smtp/dkim_bindings.c   |   2 -
 citadel/server/modules/smtp/serv_smtpclient.c |  13 +-
 textclient/citadel.c                          | 750 +++++++++++++-------------
 5 files changed, 387 insertions(+), 393 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099495847</link><pubDate>Mon, 04 Nov 2024 09:57:49 +0500</pubDate><title>idle style cleanup</title><guid isPermaLink="false">2099495847@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2461b3c21365a8c9a98c89126df306358c1643b5 (commit)
      from  ad7747d3e27cee2271696c69a9946525d1992c1f (commit)


- Log -----------------------------------------------------------------
commit 2461b3c21365a8c9a98c89126df306358c1643b5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 4 09:57:46 2024 -0500

idle style cleanup

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099495545</link><pubDate>Fri, 01 Nov 2024 21:51:21 +0500</pubDate><title>Uncensored 64-bit migration ... it is done!</title><guid isPermaLink="false">2099495545@Uncensored</guid><description><![CDATA[  
 ctdldump and ctdlload got it done.  Uncensored is now finally running on
64-bit Citadel, in a Docker container within an LXC container.  Weird, I know,
but the Docker container is "--network=host" and the LXC contianer is acting
as a lightweight virtual machine with its own IP address, where I can also
run instances of the text client when people telnet or SSH in to the system.
 It's also running spamassassin and infanticide in the same container. 
  
 The database for Uncensored is OLD and fairly large so it's basically the
acid test for migration utilities, and this is the first time we've made it
through.  It also helps that I finally ditched the 12 year old server with
super-slow disks and probably a bottleneck in the controller.  The current
machine uses an aray of SATA SSDs and is much faster.  About 7 minutes to
export and about 22 minutes to import. 
  
 I'm currently working
through a bunch of little issues, but they all revolve around adjusting to
the container deployment.  Things like getting telnet and ssh to the text
client working, setting the correct webcit landing page, stuff like that.
 Citadel Server itself seems to be rock solid. 
  
 The visits table appears to have come across with 100% fidelity.  Seen and
unseen messages, last-read pointers in the old clients, room access controls,
room view settings, everything looks 5x5 from what I can tell. 
  
 This was way overdue.  I am happy. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099495529</link><pubDate>Fri, 01 Nov 2024 20:24:54 +0500</pubDate><title>Wait two seconds instead of one for terminal detect</title><guid isPermaLink="false">2099495529@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ad7747d3e27cee2271696c69a9946525d1992c1f (commit)
      from  85d98607a71863c635a0446a720ddbdf16a5bb68 (commit)


- Log -----------------------------------------------------------------
commit ad7747d3e27cee2271696c69a9946525d1992c1f
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 1 20:24:52 2024 -0400

Wait two seconds instead of one for terminal detect

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099495526</link><pubDate>Fri, 01 Nov 2024 20:08:15 +0500</pubDate><title>When closing the databases, call our own bdb_checkpoint()</title><guid isPermaLink="false">2099495526@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  85d98607a71863c635a0446a720ddbdf16a5bb68 (commit)
      from  b8132054c85bd3b3c17befc3d6a4f81d8c621475 (commit)


- Log -----------------------------------------------------------------
commit 85d98607a71863c635a0446a720ddbdf16a5bb68
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 1 20:08:13 2024 -0400

When closing the databases, call our own bdb_checkpoint()

Just another exercise in DRY

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/backends/berkeley_db/berkeley_db.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099495464</link><pubDate>Fri, 01 Nov 2024 13:47:48 +0500</pubDate><title>Re: Question about valid login user names</title><guid isPermaLink="false">2099495464@Uncensored</guid><description><![CDATA[ >Before that, and working out a better blocking algorithm, Citadel crash
 
 >and the database was corupted and I was having to reload from backups. 
 
  
 There's so much garbage traffic out there, and it's an issue for everyone
on all software, so I think as an industry we'll figure it out eventually.
 It's frustrating though. 
  
 Over the last couple of months we've made a couple of changes that make things
more resilient in the face of repeated knocking on the door by misbehaving
connections.  We'll keep doing that. 
  
 I am happy to hear that your database is holding up better now.  Are you
not getting the crashes at all, or are you still getting crashes but it recovers
cleanly?  I'm still incredibly amazed at what a difference those changes made.
 It took the entire summer of 2023 to clean up but it was worth it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099495460</link><pubDate>Fri, 01 Nov 2024 13:36:03 +0500</pubDate><title>Re: New results from Uncensored import -- concerns about visit records</title><guid isPermaLink="false">2099495460@Uncensored</guid><description><![CDATA[ >I don't think we could do much with the room gen number even before the
 
 >new Visit.  The room gen is between the room number and the user id in
 
 >the database index, so we are stuck unless we convert the entire  
 >database.    
  
 Right.  The time for me to have realized that the room gen was superfluous
was in 1998. 
  
 It isn't hurting anything for it to be there.  It just isn't necessary anymore.
 Perhaps someday we'll find some other use for it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099495219</link><pubDate>Wed, 30 Oct 2024 17:46:06 +0500</pubDate><title>Re: Question about valid login user names</title><guid isPermaLink="false">2099495219@Uncensored</guid><description><![CDATA[<html><body>

<p>The email makes sense.  I saw that code, but wondered if alias needed to be supported.</p>
<p>The attacks are a pain, but I have a pretty good custom solution in place.  The Citadel blocking and firewall blocking just did not work for me.  I use a virtual machine and the attacks eventually mess up the network interface and the attackers rotate through thousands of IP addresses which my firewall just could not handle.  I now reset the network interface periodically and drop socket connections as soon as Citadel opens the socket and sees that the IP is supposed to be blocked.  The biggest improvement you made was updating the database.  Before that, and working out a better blocking algorithm, Citadel crash and the database was corupted and I was having to reload from backups.  Ugh.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099495217</link><pubDate>Wed, 30 Oct 2024 17:33:26 +0500</pubDate><title>Re: New results from Uncensored import -- concerns about visit records</title><guid isPermaLink="false">2099495217@Uncensored</guid><description><![CDATA[<html><body>

<p>Glad you figured it out.  The builds are tricky.</p>
<p>I don't think we could do much with the room gen number even before the new Visit.  The room gen is between the room number and the user id in the database index, so we are stuck unless we convert the entire database.  In my first go round with Visit when you found it took so long to convert the database, I had moved the user id to the beginning of the index, so we could load just based on user and speed up purging a user's Visit records.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494936</link><pubDate>Tue, 29 Oct 2024 11:25:39 +0500</pubDate><title>dbnothing: fix banner</title><guid isPermaLink="false">2099494936@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b8132054c85bd3b3c17befc3d6a4f81d8c621475 (commit)
      from  d2ae227e2036ea8ff37c46429ca7a54d001346c7 (commit)


- Log -----------------------------------------------------------------
commit b8132054c85bd3b3c17befc3d6a4f81d8c621475
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 29 11:25:25 2024 -0400

dbnothing: fix banner

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/dbnothing.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494882</link><pubDate>Mon, 28 Oct 2024 22:20:48 +0500</pubDate><title>Re: New results from Uncensored import -- concerns about visit records</title><guid isPermaLink="false">2099494882@Uncensored</guid><description><![CDATA[  
 Facepalm confirmed.  The import ran fine when I upgraded the container image
to version 1004. 
  
 Oh, and 1004 has been released so the new visit structure is officially "in
the wild" now.  Quod sursum volo videre. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494851</link><pubDate>Mon, 28 Oct 2024 17:45:21 +0500</pubDate><title>Message #2099494851</title><guid isPermaLink="false">2099494851@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1004 has been created
        at  d74668001473c76d20cf910e23e34ae259901db1 (tag)
   tagging  d2ae227e2036ea8ff37c46429ca7a54d001346c7 (commit)
  replaces  v1003
 tagged by  Art Cancro
        on  Mon Oct 28 17:45:20 2024 -0400

- Log -----------------------------------------------------------------
Version 1004 release

Art Cancro (39):
      visit.c: updated to the style guide
      imap_roomname() now returns a "struct irret"
      citadel.c: gotofloorstep() no longer uses a goto command
      more of that ugly client code
      Remove calls to pthread_setstacksize() everywhere.
      remove temp file during build
      Better handling of socket timeouts during TLS
      "YES!  I AM INVINCIBLE!!"  --Boris Grishenko
      Location and Description fields are now live.
      Renamed top_level_component to vcalendar_being_edited.
      Temporary button to dump vCalendar to console
      Change labels based on is_date
      CtdlDoIHavePermissionToReadMessagesInThisRoom()
      CtdlDoIHavePermissionToPostInThisRoom() local CC
      Removed unused global 'panic_fd'
      more removal of unused globals
      is_room_aide() - removed CC macro
      render_event_editor() re-render option
      CtdlIPC * ipc   -->   CtdlIPC *ipc
      textclient: build without .d files
      calendar_week_view.txt: added.
      calendar_week_view.txt: small change
      text client: generic command now uses the API
      tui: move a few functions to sysutil.c
      tui: began converting do_edit() to api
      Discovered an awful bug and squashed it
      client_chat.c: began converting to client lib
      client_chat.c: converted all remaining CtdlIPC_chat_send() and CtdlIPC_chat_recv() calls to CtdlIPCGenericCommand()
      textclient: greatly simplified the keepalive loop.
      Moved read of greeting banner into protocol library.
      Rewrote userlist() and moved it to a separate file
      moved who_is_online and companions to user_functions.c
      citadel.c: change all comments to C99 style
      Idling away time in the airport
      Suppress newline+tab from being added to calendar event description when editing
      Skeleton code for conversion to/from all day events
      CtdlEncodeBase64() clear output buffer if input is empty
      ctdldump: do not dump user records if username is empty or user number is less than 1
      Release version 1004 generated by do-release.sh

Harlow Solutions (5):
      Clean up compiler warnings.  Small code and buffer changes.  Depricated readdir_r only warnings.
      Fix possible memory overrun for bad partial in BODY[]<partial>
      Hardcode Visit legacy record sizes so will not change if defines change
      Fix possible memory overrun when processing recp lists
      Webcit reports all messages read when room has no messages read.

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494850</link><pubDate>Mon, 28 Oct 2024 17:45:21 +0500</pubDate><title>Release version 1004 generated by do-release.sh</title><guid isPermaLink="false">2099494850@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d2ae227e2036ea8ff37c46429ca7a54d001346c7 (commit)
      from  4b025cc1a35c6521a8cdd4f0252024656647eb2b (commit)


- Log -----------------------------------------------------------------
commit d2ae227e2036ea8ff37c46429ca7a54d001346c7
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 28 17:45:20 2024 -0400

Release version 1004 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494849</link><pubDate>Mon, 28 Oct 2024 17:44:47 +0500</pubDate><title>ctdldump: do not dump user records if username is empty or user number is less than 1</title><guid isPermaLink="false">2099494849@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4b025cc1a35c6521a8cdd4f0252024656647eb2b (commit)
      from  ea2c1cc88647de2f6217e9154e239fe54f8e3377 (commit)


- Log -----------------------------------------------------------------
commit 4b025cc1a35c6521a8cdd4f0252024656647eb2b
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 28 17:44:45 2024 -0400

ctdldump: do not dump user records if username is empty or user number is less than 1

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/ctdldump.c | 9 +++++++++
 1 file changed, 9 insertions(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494843</link><pubDate>Mon, 28 Oct 2024 16:53:05 +0500</pubDate><title>CtdlEncodeBase64() clear output buffer if input is empty</title><guid isPermaLink="false">2099494843@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ea2c1cc88647de2f6217e9154e239fe54f8e3377 (commit)
       via  83e1e42151ddfc15533ea1653a8148067ec7b1f8 (commit)
      from  927348cfe9005a6f344a414656a7e2fe5920ee7a (commit)


- Log -----------------------------------------------------------------
commit ea2c1cc88647de2f6217e9154e239fe54f8e3377
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 28 16:53:01 2024 -0400

CtdlEncodeBase64() clear output buffer if input is empty

commit 83e1e42151ddfc15533ea1653a8148067ec7b1f8
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 28 13:56:25 2024 -0400

Skeleton code for conversion to/from all day events

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/ctdldump.c             |  2 +-
 citadel/utils/ctdlload.c             | 35 ++++++++++++++++++++++++-----------
 libcitadel/lib/base64.c              |  4 ++++
 webcit-ng/static/js/calendar_edit.js | 18 +++++++++++++++++-
 4 files changed, 46 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494805</link><pubDate>Mon, 28 Oct 2024 13:53:37 +0500</pubDate><title>Re: New results from Uncensored import -- concerns about visit records</title><guid isPermaLink="false">2099494805@Uncensored</guid><description><![CDATA[  
 *facepalm* 
  
 Yeah, that was it.  I apologize for the false alarm. 
  
 The most recently *published* build of Citadel is 1002.  The database change
appears in version 1003, but that was a development-only release because I
wanted to see it all running on Uncensored before doing a general availability
release.  The container is built from 1002, not from 1003, and I need to perhaps
put something into the dump format to stop people (including me) from doing
that. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494804</link><pubDate>Mon, 28 Oct 2024 13:47:51 +0500</pubDate><title>Re: New results from Uncensored import -- concerns about visit records</title><guid isPermaLink="false">2099494804@Uncensored</guid><description><![CDATA[  
 Ok, one more data point; it might not be a problem with the code. 
  
 My test import was on a staging machine which was running Citadel in a Docker
container.  This is where it didn't work correctly. 
  
 Today I imported the same dump onto my dev machine and it worked fine.  Everything
was where it ought to be.  
  
 So I need to figure out why the container failed where the source code build
worked.  It might be something really stupid, like we haven't actually released
a new version of Citadel Server since the change.  I'll check. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494787</link><pubDate>Mon, 28 Oct 2024 13:13:02 +0500</pubDate><title>Re: New results from Uncensored import -- concerns about visit records</title><guid isPermaLink="false">2099494787@Uncensored</guid><description><![CDATA[A further scan on that record -- I checked to see if we have matching records.
 This is a mailbox by the way, the "Archive" folder for my account.  Here's
the room record: 
  
 room|0000000001.Archive||-1|2099356758|1340313804|16390||0|0|1729456652|0|0|253737|0|0|0|0|

  
 And here's the visit record for that room (for my account) 
  
 visit|253737|1340313804|1|2099356758|4|1|2099356744:2099493821|||2099493821||

  
 I'll do some tracing too, to see if it's actually picking up the record at
all.  I will be loading the dump of the production system into my development
system to make sure it does the same behavior. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494781</link><pubDate>Mon, 28 Oct 2024 12:50:12 +0500</pubDate><title>Re: Question about valid login user names</title><guid isPermaLink="false">2099494781@Uncensored</guid><description><![CDATA[ >noticed that Citadel allows users to log in with their user name or an 

 >alias for the user.  Should aliases be allowed for logging in?  
  
 This is done so that a user can log in to IMAP or whatever with their email
address.  I do realize that it creates a slightly larger attack surface but
it is a feature that was requested by the user community. 
  
 Damn brute force lowlifes ... put any service online and they're going to
attack pretty much nonstop. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494779</link><pubDate>Mon, 28 Oct 2024 12:47:37 +0500</pubDate><title>Re: New results from Uncensored import -- concerns about visit records</title><guid isPermaLink="false">2099494779@Uncensored</guid><description><![CDATA[ >Can you give me a sample Visit dump record?  Should look something like
 
 >this: visit|1|1728342664|2|0|4|0|*:0|||||   
  
 Sure, I'm already headed down that road, here's a sample record from Uncensored:

  
 visit|253737|1340313804|1|2099356758|4|1|2099356744:2099493821|||2099493821||

  
 It looks correct, but your idea about the generation number being wrong is
an interesting one and I'll check that too. 
  
 The funny thing is, after all this time I've just realized that it took me
about 25 years to realize that the generation number shouldn't exist anymore.
 From 1981-1999 or so, a room's "number" was implicit by its row number in
the flat file.  The generation number existed so that if a room was deleted
and a new one was created in the same position in the file, it wouldn't be
treated as the same room.  When we converted from flat files to a database,
we stopped reusing room numbers.  Go figure.  I wish I'd realized this before
we reworked the visits file.  :( 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494610</link><pubDate>Sat, 26 Oct 2024 22:18:34 +0500</pubDate><title>Question about valid login user names</title><guid isPermaLink="false">2099494610@Uncensored</guid><description><![CDATA[<html><body>

<p>My server has been under constant attack by brute force user/password login attempts.  I have my own blocking in place, but in the attacks, I noticed that Citadel allows users to log in with their user name or an alias for the user.  Should aliases be allowed for logging in?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494607</link><pubDate>Sat, 26 Oct 2024 22:12:48 +0500</pubDate><title>Re: New results from Uncensored import -- concerns about visit records</title><guid isPermaLink="false">2099494607@Uncensored</guid><description><![CDATA[<html><body>

<p>Can you give me a sample Visit dump record?  Should look something like this: visit|1|1728342664|2|0|4|0|*:0|||||</p>
<p>The only thing I can think of that might be an issue in the dump/load would be the third field (room gen).  If the gen number is big enough, it might be the root cause.  If you search the dump file, you should find a room with the matching number, so if it does not exist, the visit value is the issue.</p>
<p>If that does not show what is wrong, I will create a 32-bit VM and try to debug it.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Fri Oct 25 2024 23:42:23 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: New results from Uncensored import -- concerns about visit records</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />As I might have mentioned before, Uncensored is still running on 32-bit Linux and I've been procrastinating for a long time over getting it converted to 64-bit, partially because until this year it was running on really crappy hardware and the dump/load would take forever. This week I finally did a test run, exporting from a snapshot of the production system and importing on the target 64-bit container. Here are some results: <br /><br />* The dump took about 8 minutes during a period of normal load and consists of 776153 rows consuming 15 GB. <br />* Loading that dump onto a new environment took about 23 minutes and loaded all but 4 rows. All of the bad rows were user records, and they're probably junk anyway. <br /><br />* And now the issue: it appears that the visit records did not import properly at all. When I logged in, all messages were new in all rooms. I also noticed that mailboxes were appearing with the forum view instead of the mailbox view, also indicating a visi
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099494535</link><pubDate>Fri, 25 Oct 2024 23:42:23 +0500</pubDate><title>New results from Uncensored import -- concerns about visit records</title><guid isPermaLink="false">2099494535@Uncensored</guid><description><![CDATA[  
 As I might have mentioned before, Uncensored is still running on 32-bit Linux
and I've been procrastinating for a long time over getting it converted to
64-bit, partially because until this year it was running on really crappy
hardware and the dump/load would take forever.  This week I finally did a
test run, exporting from a snapshot of the production system and importing
on the target 64-bit container.  Here are some results: 
  
 * The dump took about 8 minutes during a period of normal load and consists
of 776153 rows consuming 15 GB. 
 * Loading that dump onto a new environment took about 23 minutes and loaded
all but 4 rows.  All of the bad rows were user records, and they're probably
junk anyway. 
  
 * And now the issue: it appears that the visit records did not import properly
at all.  When I logged in, all messages were new in all rooms.  I also noticed
that mailboxes were appearing
with the forum view instead of the mailbox view, also indicating a visit problem.

  
 * The dumped visit records appear to be in the correct format, at least at
first glance.  I'll check on this some more over the next couple of days.

  
 More info to follow if I can find it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493766</link><pubDate>Sat, 19 Oct 2024 18:21:19 +0500</pubDate><title>Suppress newline+tab from being added to calendar event description when editing</title><guid isPermaLink="false">2099493766@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  927348cfe9005a6f344a414656a7e2fe5920ee7a (commit)
      from  7c1b4a003a31f35fad9a8faba34d7e97ea371c78 (commit)


- Log -----------------------------------------------------------------
commit 927348cfe9005a6f344a414656a7e2fe5920ee7a
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 19 18:21:17 2024 -0400

Suppress newline+tab from being added to calendar event description when editing

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493654</link><pubDate>Fri, 18 Oct 2024 14:23:42 +0500</pubDate><title>Idling away time in the airport</title><guid isPermaLink="false">2099493654@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7c1b4a003a31f35fad9a8faba34d7e97ea371c78 (commit)
      from  f91545fbfbdea5dd6614b0fa20310af6a3bbaa7f (commit)


- Log -----------------------------------------------------------------
commit 7c1b4a003a31f35fad9a8faba34d7e97ea371c78
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 18 14:23:39 2024 -0400

Idling away time in the airport

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c  | 40 ++++++++++++++-------------------
 textclient/tuiconfig.c | 60 +++++++++++++++++++++++++++-----------------------
 2 files changed, 49 insertions(+), 51 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493650</link><pubDate>Fri, 18 Oct 2024 13:55:52 +0500</pubDate><title>citadel.c: change all comments to C99 style</title><guid isPermaLink="false">2099493650@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f91545fbfbdea5dd6614b0fa20310af6a3bbaa7f (commit)
      from  07ab4830ef2088ce5e82c35069fc6eb4a4a95bbf (commit)


- Log -----------------------------------------------------------------
commit f91545fbfbdea5dd6614b0fa20310af6a3bbaa7f
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 18 13:55:49 2024 -0400

citadel.c: change all comments to C99 style

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c | 167 ++++++++++++++++++++++++---------------------------
 1 file changed, 79 insertions(+), 88 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493639</link><pubDate>Fri, 18 Oct 2024 13:41:51 +0500</pubDate><title>moved who_is_online and companions to user_functions.c</title><guid isPermaLink="false">2099493639@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  07ab4830ef2088ce5e82c35069fc6eb4a4a95bbf (commit)
      from  2221939c3a511e2d77a65bf80bbffbf428a33720 (commit)


- Log -----------------------------------------------------------------
commit 07ab4830ef2088ce5e82c35069fc6eb4a4a95bbf
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 18 13:41:49 2024 -0400

moved who_is_online and companions to user_functions.c

citadel.c was once the entire Citadel program and it's still too big

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c        | 232 -------------------------------------------
 textclient/textclient.h     |   1 +
 textclient/user_functions.c | 234 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 235 insertions(+), 232 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493638</link><pubDate>Fri, 18 Oct 2024 13:36:56 +0500</pubDate><title>Rewrote userlist() and moved it to a separate file</title><guid isPermaLink="false">2099493638@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2221939c3a511e2d77a65bf80bbffbf428a33720 (commit)
      from  a208c106622083f27c6e8f1fc5219d88cf49164d (commit)


- Log -----------------------------------------------------------------
commit 2221939c3a511e2d77a65bf80bbffbf428a33720
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 18 13:36:54 2024 -0400

Rewrote userlist() and moved it to a separate file

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile         |  2 +-
 textclient/citadel.c        | 36 ------------------------------------
 textclient/textclient.h     |  1 +
 textclient/user_functions.c | 38 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 40 insertions(+), 37 deletions(-)
 create mode 100644 textclient/user_functions.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493627</link><pubDate>Fri, 18 Oct 2024 13:08:47 +0500</pubDate><title>Moved read of greeting banner into protocol library.</title><guid isPermaLink="false">2099493627@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a208c106622083f27c6e8f1fc5219d88cf49164d (commit)
      from  7e430967fec5fdd2467b21f0a508d289203761d3 (commit)


- Log -----------------------------------------------------------------
commit a208c106622083f27c6e8f1fc5219d88cf49164d
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 18 13:08:44 2024 -0400

Moved read of greeting banner into protocol library.

This is the last of the things that used CtdlIPC_chat_send() and CtdlIPC_chat_recv(),
and those functions have now been removed!  This completes the work required to permit
the client to use other transports in the future simply by swapping out the transport
library.  Future transports may include UDP, I2P SAM, HTTP, packet radio, who knows!

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c     |  6 ------
 textclient/citadel_ipc.c | 25 +++++++++++++------------
 textclient/textclient.h  |  6 ------
 3 files changed, 13 insertions(+), 24 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493571</link><pubDate>Fri, 18 Oct 2024 00:31:59 +0500</pubDate><title>textclient: greatly simplified the keepalive loop.</title><guid isPermaLink="false">2099493571@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7e430967fec5fdd2467b21f0a508d289203761d3 (commit)
      from  a14906cac9ac7386e5b3ce1e82e169222a5269c8 (commit)


- Log -----------------------------------------------------------------
commit 7e430967fec5fdd2467b21f0a508d289203761d3
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 18 00:31:56 2024 -0400

textclient: greatly simplified the keepalive loop.

I promised myself no more side quests but here I am again. :(

As it turns out, the conversion of the chat protocol (which was YEARS ago) was
the last step in making all client operations completely atomic.  I looked through
the client code and found no remaining places where keepalives were either disabled
or set to half (no response) mode.  So I ripped all of the complexity out and it
now just does the standard NOOP and response every 30 seconds no matter what.  All
operations are atomic.

This removes the last remaining uses of the chat_send and chat_recv functions except
for the one that reads the initial server greeting, and that can probably get moved
into the client library.

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c | 59 +++++++++++++++++----------------------------------
 1 file changed, 19 insertions(+), 40 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493567</link><pubDate>Fri, 18 Oct 2024 00:09:43 +0500</pubDate><title>client_chat.c: converted all remaining CtdlIPC_chat_send() and CtdlIPC_chat_recv() calls to CtdlIPCGenericCommand()</title><guid isPermaLink="false">2099493567@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a14906cac9ac7386e5b3ce1e82e169222a5269c8 (commit)
      from  12bd9ff958093bd32aa1aa9578cc070ba9f6fdb0 (commit)


- Log -----------------------------------------------------------------
commit a14906cac9ac7386e5b3ce1e82e169222a5269c8
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 18 00:09:40 2024 -0400

client_chat.c: converted all remaining CtdlIPC_chat_send() and CtdlIPC_chat_recv() calls to CtdlIPCGenericCommand()

-----------------------------------------------------------------------

Summary of changes:
 textclient/client_chat.c | 82 ++++++++++++++++++++----------------------------
 1 file changed, 34 insertions(+), 48 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493439</link><pubDate>Wed, 16 Oct 2024 23:30:45 +0500</pubDate><title>client_chat.c: began converting to client lib</title><guid isPermaLink="false">2099493439@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  12bd9ff958093bd32aa1aa9578cc070ba9f6fdb0 (commit)
      from  9774791927554127ae2958fa0029790008029c61 (commit)


- Log -----------------------------------------------------------------
commit 12bd9ff958093bd32aa1aa9578cc070ba9f6fdb0
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 16 23:30:42 2024 -0400

client_chat.c: began converting to client lib

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c     |  8 +++-----
 textclient/citadel_ipc.c | 18 ++++++++++++------
 textclient/client_chat.c | 14 +++++++-------
 3 files changed, 22 insertions(+), 18 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493249</link><pubDate>Mon, 14 Oct 2024 23:39:40 +0500</pubDate><title>Discovered an awful bug and squashed it</title><guid isPermaLink="false">2099493249@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9774791927554127ae2958fa0029790008029c61 (commit)
      from  881ee556a2a99fba76158bd6b8ccdae7efe3384a (commit)


- Log -----------------------------------------------------------------
commit 9774791927554127ae2958fa0029790008029c61
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 14 23:39:37 2024 -0400

Discovered an awful bug and squashed it

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.rc    |  2 +-
 textclient/citadel_ipc.c | 88 ++++++++++++++++++--------------------------
 textclient/sysutil.c     | 96 +++++++++++++++++++++++-------------------------
 textclient/textclient.h  |  2 +-
 4 files changed, 84 insertions(+), 104 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493232</link><pubDate>Mon, 14 Oct 2024 20:11:35 +0500</pubDate><title>tui: began converting do_edit() to api</title><guid isPermaLink="false">2099493232@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  881ee556a2a99fba76158bd6b8ccdae7efe3384a (commit)
      from  2381366343c4cb225e5aabf9a338e21d02d84147 (commit)


- Log -----------------------------------------------------------------
commit 881ee556a2a99fba76158bd6b8ccdae7efe3384a
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 14 20:11:33 2024 -0400

tui: began converting do_edit() to api

-----------------------------------------------------------------------

Summary of changes:
 textclient/sysutil.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493227</link><pubDate>Mon, 14 Oct 2024 19:53:33 +0500</pubDate><title>tui: move a few functions to sysutil.c</title><guid isPermaLink="false">2099493227@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2381366343c4cb225e5aabf9a338e21d02d84147 (commit)
      from  89d6c9426071e9b7b9b985ef6d10b0468ca0500a (commit)


- Log -----------------------------------------------------------------
commit 2381366343c4cb225e5aabf9a338e21d02d84147
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 14 19:53:31 2024 -0400

tui: move a few functions to sysutil.c

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile     |   2 +-
 textclient/messages.c   |   1 -
 textclient/rooms.c      |  91 ------------------------------------
 textclient/routines.c   |  19 --------
 textclient/sysutil.c    | 119 ++++++++++++++++++++++++++++++++++++++++++++++++
 textclient/textclient.h |   1 +
 6 files changed, 121 insertions(+), 112 deletions(-)
 create mode 100644 textclient/sysutil.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493214</link><pubDate>Mon, 14 Oct 2024 17:51:58 +0500</pubDate><title>text client: generic command now uses the API</title><guid isPermaLink="false">2099493214@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  89d6c9426071e9b7b9b985ef6d10b0468ca0500a (commit)
      from  2a1420759d4fa2a10a454c3def85fb58f6ef70f9 (commit)


- Log -----------------------------------------------------------------
commit 89d6c9426071e9b7b9b985ef6d10b0468ca0500a
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 14 17:51:55 2024 -0400

text client: generic command now uses the API

I implemented a couple of things using CtdlIPC_chat_send() and
CtdlIPC_chat_recv() instead of properly extending the internal API.

Now I am fixing that mistake, because I have some ideas about making the
text client use several different transports.  We own port 504/udp so we
could do a connectionless mode.  Native I2P is also a possibility, and even
just using HTTP through a modified WebCit could work.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c |  3 +--
 textclient/routines.c    | 30 ++++++++++++------------------
 2 files changed, 13 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493207</link><pubDate>Mon, 14 Oct 2024 17:23:18 +0500</pubDate><title>calendar_week_view.txt: small change</title><guid isPermaLink="false">2099493207@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2a1420759d4fa2a10a454c3def85fb58f6ef70f9 (commit)
      from  bb644d41ec65836b42f6458d41ba406c42e0e392 (commit)


- Log -----------------------------------------------------------------
commit 2a1420759d4fa2a10a454c3def85fb58f6ef70f9
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 14 17:23:11 2024 -0400

calendar_week_view.txt: small change

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/docs/calendar_week_view.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099493032</link><pubDate>Sat, 12 Oct 2024 15:19:54 +0500</pubDate><title>Webcit reports all messages read when room has no messages read.</title><guid isPermaLink="false">2099493032@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  bb644d41ec65836b42f6458d41ba406c42e0e392 (commit)
      from  fc9cc0aa1e6c24525731323c33161eb92ba6a05b (commit)


- Log -----------------------------------------------------------------
commit bb644d41ec65836b42f6458d41ba406c42e0e392
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sat Oct 12 15:18:35 2024 -0400

Webcit reports all messages read when room has no messages read.
Fixed by setting message set to *:0 when Visit message set is empty.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/hash.c | 28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492748</link><pubDate>Thu, 10 Oct 2024 15:48:23 +0500</pubDate><title>calendar_week_view.txt: added.</title><guid isPermaLink="false">2099492748@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fc9cc0aa1e6c24525731323c33161eb92ba6a05b (commit)
      from  97e45462377a0cfc2e090bf6df8fab54be3b0bf0 (commit)


- Log -----------------------------------------------------------------
commit fc9cc0aa1e6c24525731323c33161eb92ba6a05b
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 10 15:48:21 2024 -0400

calendar_week_view.txt: added.

This is a box-drawing diagram of the paper sketch I've had on my desk
for too long and want to discard.  It's a description of the hierarchy
of divs in the calendar week view.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/{ => docs}/api.txt          |  0
 webcit-ng/docs/calendar_week_view.txt | 39 +++++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+)
 rename webcit-ng/{ => docs}/api.txt (100%)
 create mode 100644 webcit-ng/docs/calendar_week_view.txt

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492707</link><pubDate>Thu, 10 Oct 2024 10:03:56 +0500</pubDate><title>textclient: build without .d files</title><guid isPermaLink="false">2099492707@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  97e45462377a0cfc2e090bf6df8fab54be3b0bf0 (commit)
      from  acf94cee64c6dc2c853a1ebfd89df5b2d429a817 (commit)


- Log -----------------------------------------------------------------
commit 97e45462377a0cfc2e090bf6df8fab54be3b0bf0
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 10 10:03:54 2024 -0400

textclient: build without .d files

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile | 4 ----
 1 file changed, 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492703</link><pubDate>Thu, 10 Oct 2024 09:58:53 +0500</pubDate><title>CtdlIPC branches config description HEAD hooks info objects packed-refs refs ipc --&gt; CtdlIPC *ipc</title><guid isPermaLink="false">2099492703@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  acf94cee64c6dc2c853a1ebfd89df5b2d429a817 (commit)
      from  1b9f0ec387872800bf25d1ed02e8a68235415a78 (commit)


- Log -----------------------------------------------------------------
commit acf94cee64c6dc2c853a1ebfd89df5b2d429a817
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 10 09:58:37 2024 -0400

CtdlIPC * ipc   -->   CtdlIPC *ipc

-----------------------------------------------------------------------

Summary of changes:
 textclient/client_passwords.c |  2 +-
 textclient/commands.c         |  4 ++--
 textclient/ipc_c_tcp.c        |  2 +-
 textclient/rooms.c            | 52 +++++++++++++++++++++----------------------
 textclient/routines2.c        | 22 +++++++++---------
 textclient/tuiconfig.c        | 12 +++++-----
 6 files changed, 47 insertions(+), 47 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492343</link><pubDate>Mon, 07 Oct 2024 22:57:37 +0500</pubDate><title>render_event_editor() re-render option</title><guid isPermaLink="false">2099492343@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1b9f0ec387872800bf25d1ed02e8a68235415a78 (commit)
      from  8233cb96abb2e42e84fb00f70896dd0a2a3c2471 (commit)


- Log -----------------------------------------------------------------
commit 1b9f0ec387872800bf25d1ed02e8a68235415a78
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 7 22:57:35 2024 -0400

render_event_editor() re-render option

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492325</link><pubDate>Mon, 07 Oct 2024 22:21:40 +0500</pubDate><title>is_room_aide() - removed CC macro</title><guid isPermaLink="false">2099492325@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8233cb96abb2e42e84fb00f70896dd0a2a3c2471 (commit)
      from  b26c9cd57454ad975dc0edb05dbf5e6387314ada (commit)


- Log -----------------------------------------------------------------
commit 8233cb96abb2e42e84fb00f70896dd0a2a3c2471
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 7 22:21:38 2024 -0400

is_room_aide() - removed CC macro

(I need to stop doing this)

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/makeuserkey.c                  | 1 +
 citadel/server/modules/ctdlproto/serv_user.c  | 2 +-
 citadel/server/modules/expire/expire_policy.c | 2 +-
 citadel/server/modules/imap/imap_fetch.c      | 4 ++--
 citadel/server/modules/imap/imap_metadata.c   | 2 +-
 citadel/server/msgbase.c                      | 6 +++---
 citadel/server/room_ops.c                     | 2 +-
 citadel/server/user_ops.c                     | 8 ++++----
 citadel/server/user_ops.h                     | 2 +-
 9 files changed, 15 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492320</link><pubDate>Mon, 07 Oct 2024 22:15:04 +0500</pubDate><title>more removal of unused globals</title><guid isPermaLink="false">2099492320@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b26c9cd57454ad975dc0edb05dbf5e6387314ada (commit)
      from  946cce69f8852274d8d1227cbd85f57857bbe11f (commit)


- Log -----------------------------------------------------------------
commit b26c9cd57454ad975dc0edb05dbf5e6387314ada
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 7 22:15:02 2024 -0400

more removal of unused globals

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citserver.c |  1 -
 citadel/server/room_ops.c  | 12 ++++--------
 citadel/server/sysdep.c    |  1 -
 3 files changed, 4 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492319</link><pubDate>Mon, 07 Oct 2024 22:10:25 +0500</pubDate><title>Removed unused global &#39;panic_fd&#39;</title><guid isPermaLink="false">2099492319@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  946cce69f8852274d8d1227cbd85f57857bbe11f (commit)
      from  5bc90f79384c8dabce51f3be364ebcdde7658fb1 (commit)


- Log -----------------------------------------------------------------
commit 946cce69f8852274d8d1227cbd85f57857bbe11f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 7 22:10:23 2024 -0400

Removed unused global 'panic_fd'

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citserver.c | 1 -
 citadel/server/citserver.h | 1 -
 2 files changed, 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492289</link><pubDate>Mon, 07 Oct 2024 17:25:33 +0500</pubDate><title>CtdlDoIHavePermissionToPostInThisRoom() local CC</title><guid isPermaLink="false">2099492289@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5bc90f79384c8dabce51f3be364ebcdde7658fb1 (commit)
      from  09d4326da154e40b0b90f5f392115df09a9aa2d9 (commit)


- Log -----------------------------------------------------------------
commit 5bc90f79384c8dabce51f3be364ebcdde7658fb1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 7 17:25:12 2024 -0400

CtdlDoIHavePermissionToPostInThisRoom() local CC

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/internet_addressing.c             |  1 +
 citadel/server/modules/ctdlproto/serv_messages.c |  1 +
 citadel/server/modules/expire/expire_policy.c    |  1 +
 citadel/server/modules/imap/imap_misc.c          |  2 +-
 citadel/server/modules/wiki/serv_wiki.c          |  2 +-
 citadel/server/room_ops.c                        | 12 ++++++------
 citadel/server/room_ops.h                        |  2 +-
 7 files changed, 12 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492282</link><pubDate>Mon, 07 Oct 2024 16:41:03 +0500</pubDate><title>Re: Berkley backend logic</title><guid isPermaLink="false">2099492282@Uncensored</guid><description><![CDATA[ >I did it by adding a macro call at the beginning of each function that 

 >used TSD which adds a local variable and then changed the TSD macro to 

 >have all the calls use it, so minimal code change.  I can flip back and
 
 >forth with the original code by just changing the macro definitions so 

 >it was easy to try some different implementations.   
  
 That's similar to what we had in the past.  Sample function: 
  
 void do_something(int blah, char *foo) { 
  
     struct CitContext *CCC = CC; 
      
     do_something_with(CCC); 
     CCC->blah = baz; 
     etc. 
 } 
  
 The idea was that it would grab the session context from the thread specific
data once, at the top of the function, and then it would have it cached (CachedCitContext)
in its local stack for the remainder of the function's execution.  It worked,
but as I said, once it became pervasive it started to get really ugly
as a design pattern. 
  
 However, if you need to reference that pointer more than once or twice --
for example, if you're referencing it inside a loop -- it might make sense
to keep a local copy of the pointer. 
  
 To answer your question, though: no, we generally do not change threads in
the middle of a function.  The only exception, of course, is the obvious one:
at the beginning of a server command when we first bind a worker thread to
a session.  Once it's bound, it remains bound until the server command has
completed and the thread is released back into the pool. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492273</link><pubDate>Mon, 07 Oct 2024 16:15:59 +0500</pubDate><title>Re: Berkley backend logic</title><guid isPermaLink="false">2099492273@Uncensored</guid><description><![CDATA[<html><body>

<p class="MsoNormal">I only got into the backend code because I wanted to see the timing of the IMAP and SMTP code without the database accesses.  I am impressed by the current code, because the thread routines are really very good.  I go back to the days of when even function calls were not great for performance and when I saw the number of times that the function was called and it was in the top timing, I took a look at it.  I tried to change the code to check the thread id and only get the thread data when it changed, but that took longer than the existing code.  The only improvement I could make was to only get the data once a function which assumes the thread does not change during the processing of the function.</p>
<p class="MsoNormal">I did it by adding a macro call at the beginning of each function that used TSD which adds a local variable and then changed the TSD macro to have all the calls use it, so minimal code change.  I can flip back and forth with the original code by just changing the macro definitions so it was easy to try some different implementations.</p>
<p class="MsoNormal">For changing code to support things, I tend to use macros like Citadel has for CC and TSD.  CC crosses threads enough that if it is a little less efficient to keep it thread safe, it makes up for it in not making cross thread mistakes in all the supporting code which is more important.  I also like to use macros for implementing code outside of the repository, like my profiler, memory checker and IP blocker to stop DOS and brute force password attempts. It helps when I merge with the repository to minimize the complexity of the merge so I can upgrade without reimplementing.  Macros can be very powerful in testing and not affect production code.</p>
<p class="MsoNormal">If anyone is looking at memory in the future, it may be good to go back and free up the memory at shutdown for testing, but compile it out on production.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492245</link><pubDate>Mon, 07 Oct 2024 13:21:52 +0500</pubDate><title>Re: Berkley backend logic</title><guid isPermaLink="false">2099492245@Uncensored</guid><description><![CDATA[That last commit might more clearly explain what I was talking about in my
overly long explanation.  I chose a function CtdlDoIHavePermissionToReadMessagesInThisRoom()
that made calls to the "CC" macro (which requests a thread-local global variable)
and changed it to accept a "struct CitContext *" as a function argument. 
Then I went and found every place where that function is called, and simply
put "CC" as the context pointer that is passed up the stack. 
  
 By itself, this has very little impact on performance.  But, if I were to
then take *those* functions and make them accept a context pointer as one
of their function arguments, you can see how we would make that change penetrate
further and further down the stack until we get all the way down to where
the session and thread are originally bound to each other when a server command
is issued (that'd be in server/sysdep.c around line 848). 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492243</link><pubDate>Mon, 07 Oct 2024 13:11:52 +0500</pubDate><title>CtdlDoIHavePermissionToReadMessagesInThisRoom()</title><guid isPermaLink="false">2099492243@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  09d4326da154e40b0b90f5f392115df09a9aa2d9 (commit)
      from  4390617ac5056cd3305d505d5587288795ae947b (commit)


- Log -----------------------------------------------------------------
commit 09d4326da154e40b0b90f5f392115df09a9aa2d9
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 7 13:10:39 2024 -0400

CtdlDoIHavePermissionToReadMessagesInThisRoom()

This function now accepts a "struct CitContext *" as an argument.  This
is an example of how to reduce our reliance on thread-local global
variables, one function at a time.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/expire/serv_expire.c | 1 +
 citadel/server/modules/wiki/serv_wiki.c     | 4 ++--
 citadel/server/msgbase.c                    | 2 +-
 citadel/server/room_ops.c                   | 6 +++---
 citadel/server/room_ops.h                   | 2 +-
 5 files changed, 8 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492203</link><pubDate>Mon, 07 Oct 2024 11:05:03 +0500</pubDate><title>Re: Berkley backend logic</title><guid isPermaLink="false">2099492203@Uncensored</guid><description><![CDATA[Ooh, you've turned over quite a stone there :) 
  
 You'll find hundreds of places in Citadel Server where we make references
to thread specific data, particularly the macro "CC" which returns a reference
to the session context associated with the currently executing thread. 
  
 One of our developers, some number of years ago, tried to squeeze a bit more
performance out of the server by changing lots of functions to load that address
into a function-local variable at the top of many different functions.  I
felt it made the code harder to read and follow, and ended up removing a lot
of those references. 
  
 One of the biggest sins I committed in the 1980s and 1990s was the overuse
of global variables.  Thread-specific variables are sort of an extension of
the same thing.  Thread-specific and session-specific data need to exist,
but they way I referred to them everywhere is kind of ugly.

  
 For an example of the worst of the worst, look at the text client.  In the
oldest parts of it, you'd think that I learned to write in C by reading a
book on BASIC.  Global variables everywhere, too few functions, flow control
like spaghetti. 
  
 For an example of the best of the best, look at WebCit-NG.  Global variables
are kept to an absolute minimum; session-specific data are carefully passed
up the stack through every function, usually with a variable called "h" for
the HTTP session, and a variable called "c" for the Citadel Server context.

  
 You will find Citadel Server to be somewhere in between.  Its flow control
is reasonable but there are still too many non-local variable references,
from the perspective of a modern developer.  The practical upshot of all this
is that YES, if we can pass a reference to thread-specific or session-specific
data up the stack instead of constantly
asking libc to find it for us, that is a reasonable performance improvement.
  But of course it's critical to make sure we get it right, and look carefully
for edge cases so we don't accidentally pass a reference to the wrong thread
or session. 
  
 Oh, and do yourself a favor, try not to look at WebCit-Classic at all.  It
will hurt your brain.   :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492153</link><pubDate>Sun, 06 Oct 2024 19:33:31 +0500</pubDate><title>Berkley backend logic</title><guid isPermaLink="false">2099492153@Uncensored</guid><description><![CDATA[<html><body>

<p>Good to know about performance and memory.</p>
<p>While I was checking performance of the IMAP and SMTP, I noticed that the backend database code calls bdb_get_tsd() for every TSD reference and gets the thread specific structure each time.  Does the Berkley database ever switch threads when calling the Berkley API?  I played with it and did not see it switch threads in any of my testing.  If we assume that it does not switch threads, and only call bdb_get_tsd() once a function call, I showed about an 8% improvement in performance in receiving test emails.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492147</link><pubDate>Sun, 06 Oct 2024 19:08:58 +0500</pubDate><title>Change labels based on is_date</title><guid isPermaLink="false">2099492147@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4390617ac5056cd3305d505d5587288795ae947b (commit)
      from  103ba52605969d025f6e7b7462f5e668e449c8c0 (commit)


- Log -----------------------------------------------------------------
commit 4390617ac5056cd3305d505d5587288795ae947b
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Oct 6 19:08:56 2024 -0400

Change labels based on is_date

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492143</link><pubDate>Sun, 06 Oct 2024 19:02:01 +0500</pubDate><title>Temporary button to dump vCalendar to console</title><guid isPermaLink="false">2099492143@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  103ba52605969d025f6e7b7462f5e668e449c8c0 (commit)
      from  7691fb0d4ccbe17b5a3db34f3760b28eeff3aba6 (commit)


- Log -----------------------------------------------------------------
commit 103ba52605969d025f6e7b7462f5e668e449c8c0
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Oct 6 19:00:56 2024 -0400

Temporary button to dump vCalendar to console

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 39 +++++++++++++++++++++++-------------
 1 file changed, 25 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099492020</link><pubDate>Sat, 05 Oct 2024 10:46:56 +0500</pubDate><title>Re: Hardcode Visit legacy record sizes so will not change if defines change</title><guid isPermaLink="false">2099492020@Uncensored</guid><description><![CDATA[<html><body>

<p>Hmm, I don't remember what I might have been saying about performance.  About 15 years ago I had the chance to sit with real users at a place where Citadel was getting adopted in a big way, and the biggest complaint they had regarding IMAP was that any operation requiring the manipulation of a sequence set was taking way too long.  There was a lot of unpacking things onto the whiteboard and figuring out the Big O Notation of those operations.  What's in there now is the result of figuring out which parts of the code took the most time and running them as few times as possible.</p>
<p>Memory management and leak avoidance is largely credited to a developer who spent a good deal of time running everything inside of Valgrind.  At the time, he was able to get Citadel Server to exit with just about zero outstanding mallocs.  At the time we did free everything during exit, but the side effect was that the server took too long to shut down and often the operating system (or the user) would kill it before we were done.  So now we still do occasional memory profiling, but when it's time to exit we close the databases immediately and then just let the OS do the rest.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491965</link><pubDate>Fri, 04 Oct 2024 23:16:06 +0500</pubDate><title>Renamed top_level_component to vcalendar_being_edited.</title><guid isPermaLink="false">2099491965@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7691fb0d4ccbe17b5a3db34f3760b28eeff3aba6 (commit)
      from  62554567060d30bf34d601de95ba8e9599d464cd (commit)


- Log -----------------------------------------------------------------
commit 7691fb0d4ccbe17b5a3db34f3760b28eeff3aba6
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 4 23:16:04 2024 -0400

Renamed top_level_component to vcalendar_being_edited.

This was done to avoid any possible conflict with variables in other
webcit modules.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 39 +++++++++++++++++++++++-------------
 1 file changed, 25 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491961</link><pubDate>Fri, 04 Oct 2024 22:29:36 +0500</pubDate><title>Location and Description fields are now live.</title><guid isPermaLink="false">2099491961@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  62554567060d30bf34d601de95ba8e9599d464cd (commit)
      from  d42de00cfcbca7913b74d682faa3785ab5253f4f (commit)


- Log -----------------------------------------------------------------
commit 62554567060d30bf34d601de95ba8e9599d464cd
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 4 22:29:34 2024 -0400

Location and Description fields are now live.

In other words their values are committed to the calendar object when their
values are modified, and therefore written back to the server when the event
is saved.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491926</link><pubDate>Fri, 04 Oct 2024 19:47:56 +0500</pubDate><title>&quot;YES! I AM INVINCIBLE!!&quot; --Boris Grishenko</title><guid isPermaLink="false">2099491926@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d42de00cfcbca7913b74d682faa3785ab5253f4f (commit)
      from  7ab726cb988dc5c08dd2defc1ad9a2dca19a3ee1 (commit)


- Log -----------------------------------------------------------------
commit d42de00cfcbca7913b74d682faa3785ab5253f4f
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 4 19:45:11 2024 -0400

"YES!  I AM INVINCIBLE!!"  --Boris Grishenko

Actually no, but that's how I feel right now after taking a long time
to get this just the way I wanted it.  When the user edits the
"Summary" field of a calendar event on the screen, it immediately saves
the modified field right back to the icalendar component in memory.  Now
when the user selects "Save" it is ready to be sent back to the server
in its current form.

This is only the first field of many, but the design pattern is now
established.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491921</link><pubDate>Fri, 04 Oct 2024 18:51:27 +0500</pubDate><title>Better handling of socket timeouts during TLS</title><guid isPermaLink="false">2099491921@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7ab726cb988dc5c08dd2defc1ad9a2dca19a3ee1 (commit)
      from  e8e992b9b93cfd953234cf1f9b6c3982aacd46c7 (commit)


- Log -----------------------------------------------------------------
commit 7ab726cb988dc5c08dd2defc1ad9a2dca19a3ee1
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 4 18:50:50 2024 -0400

Better handling of socket timeouts during TLS

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/tls.c       | 40 ++++++++++++++++++++++----------------
 webcit-ng/server/webcit.h    |  5 +++--
 webcit-ng/server/webserver.c | 46 +++++++++++++++++++++++---------------------
 3 files changed, 50 insertions(+), 41 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491908</link><pubDate>Fri, 04 Oct 2024 16:53:44 +0500</pubDate><title>Re: Hardcode Visit legacy record sizes so will not change if defines change</title><guid isPermaLink="false">2099491908@Uncensored</guid><description><![CDATA[<html><body>

<p>It wasn't dumb :-)  I just thought Out of the Box/Struct.  It just wasn't scalable, so I had to come up with something to add all the new ones.</p>
<p>On the email address ideas, I looked at changing the email address buffering to their own defines, but it really was messy.  Probably just better to see if we want to change the limitation and reimplement it then.  If it ain't broke, don't mess with it.</p>
<p>You had mentioned something about performance a while back.  What specifically were you trying to improve?  I have my own home grown profiling and memory checking modules that I have implemented on Citadel in my personal branch.</p>
<p>I found the GNU profiler useless because it is sample based and does not include I/O.  Mine requires adding a macro to the beginning of each function and a macro for each return, for the functions I want to report on, but it gives me accurate info with a little overhead in testing and compiles out for production.  If you have an area you are interested in, I can take a look.</p>
<p>My memory checker does not require an source changes, just including a header and module in the library.  It macros the malloc(), etc into my library and then I can do anything I want.  Currently I track all the allocations and frees and report whatever it left over at shutdown.  It only is good in testing since it does add a good amount of overhead checking.  I have not found any leaks, overruns or underruns in the code yet :-) </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491832</link><pubDate>Fri, 04 Oct 2024 10:22:01 +0500</pubDate><title>Re: Hardcode Visit legacy record sizes so will not change if defines change</title><guid isPermaLink="false">2099491832@Uncensored</guid><description><![CDATA[ >Hardcode Visit legacy record sizes so will not change if defines change
 
  
 Oh my ... if we ever changed SIZ to something other than 4096 there would
probably be so many side effects it would collapse the entire space-time continuum.
  :) 
  
 But yes, putting not one but two of those in a database record was a pretty
dumb move on my part.  If you look closely you'll even find the part where
I tried to make up for it by zeroing out the unused parts of the buffers and
then compressing the records before writing them. 
  
 Your solution was better :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491726</link><pubDate>Thu, 03 Oct 2024 16:07:55 +0500</pubDate><title>Fix possible memory overrun when processing recp lists</title><guid isPermaLink="false">2099491726@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e8e992b9b93cfd953234cf1f9b6c3982aacd46c7 (commit)
      from  816a9c80f5df25ffdb8f2fe297ada14e1f1c77dd (commit)


- Log -----------------------------------------------------------------
commit e8e992b9b93cfd953234cf1f9b6c3982aacd46c7
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Thu Oct 3 16:07:31 2024 -0400

Fix possible memory overrun when processing recp lists

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/internet_addressing.c | 24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491677</link><pubDate>Thu, 03 Oct 2024 12:08:36 +0500</pubDate><title>Hardcode Visit legacy record sizes so will not change if defines change</title><guid isPermaLink="false">2099491677@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  816a9c80f5df25ffdb8f2fe297ada14e1f1c77dd (commit)
      from  780d0ca5bff8a903111aea7ff409ed24f167cf40 (commit)


- Log -----------------------------------------------------------------
commit 816a9c80f5df25ffdb8f2fe297ada14e1f1c77dd
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Thu Oct 3 12:07:42 2024 -0400

Hardcode Visit legacy record sizes so will not change if defines change

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/visit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491311</link><pubDate>Mon, 30 Sep 2024 22:02:57 +0500</pubDate><title>Re: Some recommendations and questions</title><guid isPermaLink="false">2099491311@Uncensored</guid><description><![CDATA[Well, I've just upgraded Uncensored to the code in git master as of right
now, so we're now running in guinea pig mode.  If it's going to do anything
wonky, I'd rather see it go wonky here than somewhere downstream.  Uncensored
is configured to save all of its core dumps so if anything happens I'll let
you know! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491249</link><pubDate>Mon, 30 Sep 2024 11:07:56 +0500</pubDate><title>remove temp file during build</title><guid isPermaLink="false">2099491249@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  780d0ca5bff8a903111aea7ff409ed24f167cf40 (commit)
      from  4ff88d565153aa8162b6e3113d5e43a6ccccf124 (commit)


- Log -----------------------------------------------------------------
commit 780d0ca5bff8a903111aea7ff409ed24f167cf40
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 30 11:07:47 2024 -0400

remove temp file during build

-----------------------------------------------------------------------

Summary of changes:
 citadel/configure                       |  1 +
 citadel/server/modules/smtp/serv_smtp.c | 41 +++++++++++++++++----------------
 2 files changed, 22 insertions(+), 20 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491103</link><pubDate>Sat, 28 Sep 2024 18:10:31 +0500</pubDate><title>Re: Some recommendations and questions</title><guid isPermaLink="false">2099491103@Uncensored</guid><description><![CDATA[<html><body>

<p>Was not able to reproduce the coredump, but the only thing that it could have been was a bad memory copy.  The BODY partial parsing and computation did not error check the syntax or if the start of the partial was past the end of the string the math was bad for unsigned variables.  Bad syntax would probably do some very unpredictable things and if the start was past the end, the unsigned logic would make the length huge.  Fixed both.</p>
<p>I am going to work on some tests to try to automate my testing so I can test some of the bigger changes.  I will also check out some of the clients you mentioned.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491085</link><pubDate>Sat, 28 Sep 2024 16:09:09 +0500</pubDate><title>Fix possible memory overrun for bad partial in BODY[]&lt;partial&gt;</title><guid isPermaLink="false">2099491085@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4ff88d565153aa8162b6e3113d5e43a6ccccf124 (commit)
      from  04b8e69f986bde882f8bfc2371da52fbcc06803e (commit)


- Log -----------------------------------------------------------------
commit 4ff88d565153aa8162b6e3113d5e43a6ccccf124
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sat Sep 28 16:08:52 2024 -0400

Fix possible memory overrun for bad partial in BODY[]<partial>

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/imap/imap_fetch.c | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099491043</link><pubDate>Sat, 28 Sep 2024 10:48:24 +0500</pubDate><title>Re: Some recommendations and questions</title><guid isPermaLink="false">2099491043@Uncensored</guid><description><![CDATA[<html><body>

<p>Back when the IMAP server was in initial development it was tested with a lot of different clients ------- Pine, Mutt, Outlook, Eudora, Evolution, all of the "oh, I remember that!" ones you don't think about anymore.  Nowadays I just test with Thunderbird and whatever is on my phone.  Eventually the IMAP scene reached a maturity level where no one is really making significant changes to the baseline protocol behavior anymore, so the days of waking up to a new batch of weird protocol mismatches to work around are thankfully behind us.</p>
<p>That having been said, if you found an issue then by all means let's get it fixed.  If you get stuck post a stack trace and we'll work it out.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099490524</link><pubDate>Tue, 24 Sep 2024 23:07:14 +0500</pubDate><title>Re: Some recommendations and questions</title><guid isPermaLink="false">2099490524@Uncensored</guid><description><![CDATA[<html><body>

<p>Interesting history.  I kind of wondered because most people do not follow the old standard when writing C and use some of the C++ features.  I like the old.</p>
<p>I think I will go ahead and set a define for the max email address size, and update the code to use that as the limit, but not actually increase the current limits.  Later we can increase it and test with different mail clients.  I know that when I tested against Outlook with a ridiculously sized email address, it had problems displaying it, but did not harm anything.  What clients do you test against?</p>
<p>I will do this after I fix a bug in the IMAP code.  I update my server to the latest and everything looked great and within a day it core dumped.  Turns out it had nothing to do with any of the recent changes.  It was very old code processing the BODY statement partial specification.  I was not able to reproduce it, but looking at the code, if someone passed some bad start/length, it does some bad math with unsigned integers which is probably what caused it to try to copy a bunch of characters from an empty string and dumped.</p>
<p>I am looking forward to the new WebCit.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099490332</link><pubDate>Mon, 23 Sep 2024 12:19:24 +0500</pubDate><title>Remove calls to pthread_setstacksize() everywhere.</title><guid isPermaLink="false">2099490332@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  04b8e69f986bde882f8bfc2371da52fbcc06803e (commit)
      from  aef90052a4f781489936dbf19e587b20bfe4fac8 (commit)


- Log -----------------------------------------------------------------
commit 04b8e69f986bde882f8bfc2371da52fbcc06803e
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 23 09:14:32 2024 -0700

Remove calls to pthread_setstacksize() everywhere.

All operating systems on which we currently build have a larger default
thread stack size now.  We aren't actually "increasing" it anymore.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/sysconfig.h   | 5 +----
 citadel/server/threads.c     | 3 +--
 citadel/utils/loadtest.c     | 3 +--
 webcit-ng/server/webserver.c | 3 +--
 webcit/sysdep.c              | 9 ---------
 5 files changed, 4 insertions(+), 19 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099490277</link><pubDate>Sun, 22 Sep 2024 23:40:50 +0500</pubDate><title>more of that ugly client code</title><guid isPermaLink="false">2099490277@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  aef90052a4f781489936dbf19e587b20bfe4fac8 (commit)
      from  c96c5b527cad9e8953204b1c6e68490572607cc9 (commit)


- Log -----------------------------------------------------------------
commit aef90052a4f781489936dbf19e587b20bfe4fac8
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Sep 22 20:40:48 2024 -0700

more of that ugly client code

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099490276</link><pubDate>Sun, 22 Sep 2024 23:33:23 +0500</pubDate><title>citadel.c: gotofloorstep() no longer uses a goto command</title><guid isPermaLink="false">2099490276@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c96c5b527cad9e8953204b1c6e68490572607cc9 (commit)
      from  bff644010204f7927af681124d1b0c29cd891a7a (commit)


- Log -----------------------------------------------------------------
commit c96c5b527cad9e8953204b1c6e68490572607cc9
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Sep 22 20:33:21 2024 -0700

citadel.c: gotofloorstep() no longer uses a goto command

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c | 70 +++++++++++++++++++++++++++-------------------------
 1 file changed, 37 insertions(+), 33 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099490262</link><pubDate>Sun, 22 Sep 2024 23:07:27 +0500</pubDate><title>Clean up compiler warnings. Small code and buffer changes. Depricated readdir_r only warnings.</title><guid isPermaLink="false">2099490262@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  bff644010204f7927af681124d1b0c29cd891a7a (commit)
      from  4b9f992de027b871a5c5ca219de841b8ff8487d6 (commit)


- Log -----------------------------------------------------------------
commit bff644010204f7927af681124d1b0c29cd891a7a
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Sun Sep 22 23:06:12 2024 -0400

Clean up compiler warnings.  Small code and buffer changes.  Depricated readdir_r only warnings.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/tools.c           | 2 +-
 libcitadel/lib/xdgmime/xdgmime.c | 3 ++-
 webcit/availability.c            | 4 ++--
 webcit/calendar_tools.c          | 3 +++
 webcit/context_loop.c            | 3 ++-
 webcit/event.c                   | 4 ++--
 webcit/messages.c                | 6 +++---
 webcit/sieve.c                   | 4 ++--
 webcit/sockets.c                 | 3 ++-
 webcit/sysdep.c                  | 4 ++--
 webcit/vcard_edit.c              | 9 ++-------
 webcit/webcit.c                  | 6 +++---
 12 files changed, 26 insertions(+), 25 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099490255</link><pubDate>Sun, 22 Sep 2024 22:58:32 +0500</pubDate><title>Re: Some recommendations and questions</title><guid isPermaLink="false">2099490255@Uncensored</guid><description><![CDATA[Most of what you're suggesting there would simply relate to how the server
passes data around itself internally and wouldn't even affect the data formats
on disk.  So we can definitely look at those things. 
  
 Remember that Citadel is nearly 43 years old, and this implementation of
it is about 37 years old, so you'll still find vestiges of things that had
to fit on a computer that was MUCH smaller than what we have now.  I'm kind
of euphoric about returning structs from functions now that I know it works,
but I wouldn't put something "gigantic" there.  For example, my rewrite of
imap_roomname()'s calling and return syntax was done on a whim (and ended
up being all I did this weekend) when I peeked at it and saw that I had done
some really ugly things by stuffing two values into the upper and lower halves
of an int.  So in the future I'll be returning structs for SMALL things, basically
as a C variant of the ability other languages have to return multiple values
from a function.  For example, in Python: 
  
 def foo(): 
    str = "bar" 
    x = 123 
    return str, x 
  
 baz, y = foo() 
  
 The stack size in Linux is 8 megabytes!  And you can make it even bigger
if you want.  The fact that it's virtual space means you don't actually consume
that space unless your program needs it.  A far more comfortable environment
than the 256 byte stacks that I had on my 8-bit machines. 
  
 So yes, we can try doing things that we couldn't do in the past.  If it impacts
interoperability, you just have to commit to testing with a bunch of different
clients to make sure nothing broke.  Aside from that, the sky's the limit.
 And as I keep pointing out, I have no business muddling about in Citadel
Server when I've got the rest of WebCit-NG to finish. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099490231</link><pubDate>Sun, 22 Sep 2024 21:07:00 +0500</pubDate><title>Some recommendations and questions</title><guid isPermaLink="false">2099490231@Uncensored</guid><description><![CDATA[<html><body>

<p>I wanted to bounce a couple of things off of you to see if there are any down sides my implementing any of these.</p>
<p>Systemd Changes</p>
<p>===========</p>
<p>Recommend changing citadel service configuration "After" to use "network-online.target" instead of "network.target".  "network.target" does not wait for the network to actually be operational and I have run into race conditions on startup.</p>
<p>Recommend changing webcit service configuration "After" to use "citadel.service" instead of "citadel.target".</p>
<p> </p>
<p>Limits on Email Addresses</p>
<p>================</p>
<p>The code is not consistent on what size the email addresses can be in message.  Early on, I ran into Citadel core dumping on iCloud addresses.  It doe not seem to create such long ones now, but a year or two ago, they would create addresses even longer than 256 characters (the standard recommendation).  The standard also says that allowing longer ones is up to the server, but may be a goo idea.</p>
<p>I had changed the code to accept very long addresses, and check more, but not to truncate/reject addresses or recipient lists.  There was a comment in the code when truncating the recipient list to about 1000 characters that it was so that the library function would not choke on it.  When I increased the buffer sizes, and allowed very long addresses, I did not seem to have any issues.  Is there an issue with the libraries anymore?  I found that Outlook does have some display issues with very long addresses, but my thought is if the user has long addresses in email, it is up to the client to handle them, not the server.</p>
<p>Recommendations:</p>
<p>---------------------</p>
<p>Create a new define specifically for the max length of an email address and recipient list.  Even if we decide to limit an address to 256 and recipient list to 1K, the code should use a define to check and limit.</p>
<p>Either remove the limits or make the defined limits very large.  The buffers dealing with the addresses and list are mostly just local variables, so only stack memory is used so no real memory overhead like malloc(), so just setting a large limit and ensuring all the code validates it should be enough. </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099490224</link><pubDate>Sun, 22 Sep 2024 20:38:44 +0500</pubDate><title>Re: Fix Visit IMAP not to return error on empty flags specification</title><guid isPermaLink="false">2099490224@Uncensored</guid><description><![CDATA[<html><body>

<p>Your changes are fine.  I had the hardest time originally when I was trying to develop the flagging stuff with all the changes going on.  The changes required a lot of updates to make performance optimal and constantly integrating the changes was very time consuming as to not break the code.  Git merge is doing a good job now of integrating the changes.</p>
<p>As for returning structures, I too was programming back in the late 70's, but did not really start heavily into C until the mid-80's, so a lot of the limitations were changed.  I still like C because it is efficient and flexible.  It is very powerful for good programmers and makes bad programmers worse :-)  I rarely return structures because it requires copying all the data on return, but in this case, it was cleaner than all the pointer parameters and easier to expand later.  I normally just have the caller pass a pointer to a structure, but the structure was so small, I had fun.  I had noticed that a lot of the calls just wanted to switch rooms and did not use the metrics, so I just went and changed all the calls.</p>
<p>When you want to support IMAP4rev2, let me know.  It is going to require some work to integrate and test.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099490134</link><pubDate>Sat, 21 Sep 2024 23:04:10 +0500</pubDate><title>imap_roomname() now returns a &quot;struct irret&quot;</title><guid isPermaLink="false">2099490134@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4b9f992de027b871a5c5ca219de841b8ff8487d6 (commit)
      from  e15430304994b4db09a845b3f37187c1b69eb264 (commit)


- Log -----------------------------------------------------------------
commit 4b9f992de027b871a5c5ca219de841b8ff8487d6
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 21 23:02:33 2024 -0400

imap_roomname() now returns a "struct irret"

This is me seeing an internal utility function that returned a bunch
of things in a complicated way and thinking, "Now that I know C can
return a struct, I can make this cleaner!"  A day later I'm done, and
no one will ever know.  Unless it has new bugs.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/imap/imap_tools.c | 159 +++++++++++++++----------------
 citadel/server/modules/imap/imap_tools.h |  10 +-
 citadel/server/modules/imap/serv_imap.c  | 132 ++++++++++---------------
 citadel/server/modules/imap/serv_imap.h  |   4 -
 citadel/server/modules/pop3/serv_pop3.c  |  48 ++++------
 5 files changed, 155 insertions(+), 198 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489869</link><pubDate>Thu, 19 Sep 2024 23:02:50 +0500</pubDate><title>Message #2099489869</title><guid isPermaLink="false">2099489869@Uncensored</guid><description><![CDATA[  
 Ok, there is a test copy of Uncensored that has been upgraded to the "development
only release" 1003 
  
 It is at test.citadel.org 
  
 Please log in and check it out!  We can consider this a User Acceptance Testing
build. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489868</link><pubDate>Thu, 19 Sep 2024 22:49:42 +0500</pubDate><title>Message #2099489868</title><guid isPermaLink="false">2099489868@Uncensored</guid><description><![CDATA[  
 Ignore the "1003 release" verbiage; we aren't actually doing a 1003 release.
 This is just so I can bump the version number and do some test tarballs to
run against a test copy of my production database. 
  
 Also ... my apologies for the coding style cleanup; I probably forgot to
even mention that we have a style guide. 
 [ https://www.citadel.org/coding_style.html ] 
  
 But really it's just me being compulsive about it 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489859</link><pubDate>Thu, 19 Sep 2024 22:47:21 +0500</pubDate><title>visit.c: updated to the style guide</title><guid isPermaLink="false">2099489859@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e15430304994b4db09a845b3f37187c1b69eb264 (commit)
      from  bf65465f2ef082b98b635d28b8b5897c10893836 (commit)


- Log -----------------------------------------------------------------
commit e15430304994b4db09a845b3f37187c1b69eb264
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 19 22:46:51 2024 -0400

visit.c: updated to the style guide

Sorry, I can't help myself :(

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/visit.c | 140 ++++++++++++++++++++++---------------------------
 1 file changed, 62 insertions(+), 78 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489858</link><pubDate>Thu, 19 Sep 2024 22:40:01 +0500</pubDate><title>Message #2099489858</title><guid isPermaLink="false">2099489858@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1003 has been created
        at  41aa3732d2a4278c789c7077e46516c22532e912 (tag)
   tagging  bf65465f2ef082b98b635d28b8b5897c10893836 (commit)
  replaces  v1002
 tagged by  Art Cancro
        on  Thu Sep 19 22:40:00 2024 -0400

- Log -----------------------------------------------------------------
Version 1003 release

Art Cancro (13):
      Fleshed out the terminal detect a bit more
      citmail.c still exists?  Oh well, someone somewhere might be using it.
      Continue removing parentheses from return statements unless the returned value is an expression
      slight change to terminal detect
      Restored the "new messages" count in GOTO command.
      Made some code in the text client more readable.
      Scolding my 1987 self for writing such ugly code.
      "Save" button in calendar editor now does DAV PUT.
      Suppress automatic conversion of events to QP
      Oops, I looked at IMAP, now style cleanup
      textclient: <E>nter message begins a new thread.
      changed some variable names
      Release version 1003 generated by do-release.sh

Harlow Solutions (2):
      Re-implemented all Visit support functions to add support for more flags and optimize database record size
      Fix Visit IMAP not to return error on empty flags specification

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489857</link><pubDate>Thu, 19 Sep 2024 22:40:00 +0500</pubDate><title>Release version 1003 generated by do-release.sh</title><guid isPermaLink="false">2099489857@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  bf65465f2ef082b98b635d28b8b5897c10893836 (commit)
      from  9989caf7d96a41466d285f6999e9ca07f74535c9 (commit)


- Log -----------------------------------------------------------------
commit bf65465f2ef082b98b635d28b8b5897c10893836
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 19 22:40:00 2024 -0400

Release version 1003 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489856</link><pubDate>Thu, 19 Sep 2024 22:39:53 +0500</pubDate><title>changed some variable names</title><guid isPermaLink="false">2099489856@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9989caf7d96a41466d285f6999e9ca07f74535c9 (commit)
      from  7f6fc31a82a995e7a8ee0b5d6816e4d111c440ec (commit)


- Log -----------------------------------------------------------------
commit 9989caf7d96a41466d285f6999e9ca07f74535c9
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 19 22:39:50 2024 -0400

changed some variable names

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/imap/serv_imap.h |  8 ++------
 citadel/server/modules/wiki/serv_wiki.c |  6 +++---
 citadel/server/msgbase.c                | 11 ++++++-----
 3 files changed, 11 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489677</link><pubDate>Wed, 18 Sep 2024 19:59:40 +0500</pubDate><title>textclient: &lt;E&gt;nter message begins a new thread.</title><guid isPermaLink="false">2099489677@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7f6fc31a82a995e7a8ee0b5d6816e4d111c440ec (commit)
      from  d3a5b30b6cc433f788e86f127e0ca7e4677785d8 (commit)


- Log -----------------------------------------------------------------
commit 7f6fc31a82a995e7a8ee0b5d6816e4d111c440ec
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 18 19:58:09 2024 -0400

textclient: <E>nter message begins a new thread.

It already began a new thread, but now it tells the user that they are
beginning a new thread and prompts for a subject.  <R>eply does not; it
simply copies the subject from the parent message.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c | 23 ++++++++++-------------
 textclient/client_chat.c |  4 ++--
 textclient/messages.c    | 39 +++++++++++++++++----------------------
 textclient/textclient.h  |  7 +++----
 4 files changed, 32 insertions(+), 41 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489644</link><pubDate>Wed, 18 Sep 2024 12:36:43 +0500</pubDate><title>Re: Fix Visit IMAP not to return error on empty flags specification</title><guid isPermaLink="false">2099489644@Uncensored</guid><description><![CDATA[ >Fix Visit IMAP not to return error on empty flags specification  
  
  Oops, I didn't realize you were still in there tuning it up.  I hope my
style cleanup patches aren't interfering with your development. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489633</link><pubDate>Wed, 18 Sep 2024 11:46:35 +0500</pubDate><title>Oops, I looked at IMAP, now style cleanup</title><guid isPermaLink="false">2099489633@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d3a5b30b6cc433f788e86f127e0ca7e4677785d8 (commit)
      from  01a03e4b143a3e479cb328c8992c9a42bf783687 (commit)


- Log -----------------------------------------------------------------
commit d3a5b30b6cc433f788e86f127e0ca7e4677785d8
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 18 11:46:17 2024 -0400

Oops, I looked at IMAP, now style cleanup

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/imap/imap_tools.c | 349 +++++++++++--------------------
 citadel/server/modules/imap/serv_imap.c  | 270 +++++++++---------------
 2 files changed, 213 insertions(+), 406 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489503</link><pubDate>Tue, 17 Sep 2024 16:21:51 +0500</pubDate><title>Fix Visit IMAP not to return error on empty flags specification</title><guid isPermaLink="false">2099489503@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  01a03e4b143a3e479cb328c8992c9a42bf783687 (commit)
      from  253709b8d3587e9fd4e890f36be1023354db9eac (commit)


- Log -----------------------------------------------------------------
commit 01a03e4b143a3e479cb328c8992c9a42bf783687
Author: Harlow Solutions <citadel@harlowsolutions.com>
Date:   Tue Sep 17 16:21:15 2024 -0400

Fix Visit IMAP not to return error on empty flags specification

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/imap/imap_misc.c | 36 ++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489496</link><pubDate>Tue, 17 Sep 2024 15:14:57 +0500</pubDate><title>Suppress automatic conversion of events to QP</title><guid isPermaLink="false">2099489496@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  253709b8d3587e9fd4e890f36be1023354db9eac (commit)
      from  2c98a54c78e6bc465ffe12ffdd38e9b320ab881d (commit)


- Log -----------------------------------------------------------------
commit 253709b8d3587e9fd4e890f36be1023354db9eac
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 17 15:14:55 2024 -0400

Suppress automatic conversion of events to QP

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 1 +
 1 file changed, 1 insertion(+)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489467</link><pubDate>Tue, 17 Sep 2024 13:11:56 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099489467@Uncensored</guid><description><![CDATA[  
 Ooooh, I just noticed this in your commit: 
  
    Changed CtdlUserGoto() to return structure of info instead of passing
pointers.  Now we only compute 
      the info if caller needs it.  Saves having to scan all the messages
each time we call it. 
  
 That is great; thanks for doing it.  I don't know if you caught the discussion
in the programming room, but I actually didn't know until less than a year
ago that you could return a struct by value from a function.  When I started
C programming in the early 1980's you couldn't return anything larger than
would fit in a CPU register.  It wasn't until the first version of ANSI C
in 1989 that they included assignment between, return of, and passing of struct
types.  And somehow I missed it all that time! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489464</link><pubDate>Tue, 17 Sep 2024 12:57:55 +0500</pubDate><title>&quot;Save&quot; button in calendar editor now does DAV PUT.</title><guid isPermaLink="false">2099489464@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2c98a54c78e6bc465ffe12ffdd38e9b320ab881d (commit)
      from  7a44e1d36c370a7e0ae455e7b4a47ab3e61e923e (commit)


- Log -----------------------------------------------------------------
commit 2c98a54c78e6bc465ffe12ffdd38e9b320ab881d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 17 12:54:19 2024 -0400

"Save" button in calendar editor now does DAV PUT.

This is probably the final form of the "Save" operation, since it takes
the top-level iCalendar component stored in the browser's memory and
writes it back to the server calendar, and then returns the user back
to the calendar view, just like "Cancel" does without saving.

The remaining work on the editor now needs to focus on *modifying* that
component in memory whenever the user makes a change to the fields on
the screen.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 50 +++++++++++++++++++++++++++++-------
 1 file changed, 41 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489329</link><pubDate>Mon, 16 Sep 2024 14:51:31 +0500</pubDate><title>Scolding my 1987 self for writing such ugly code.</title><guid isPermaLink="false">2099489329@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7a44e1d36c370a7e0ae455e7b4a47ab3e61e923e (commit)
      from  6ad4c1c57e00c260e181757a62c710b9785736c1 (commit)


- Log -----------------------------------------------------------------
commit 7a44e1d36c370a7e0ae455e7b4a47ab3e61e923e
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 16 14:51:29 2024 -0400

Scolding my 1987 self for writing such ugly code.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c     | 111 ++++++++++++++++++++++-------------------------
 textclient/citadel_ipc.c |   5 ++-
 2 files changed, 56 insertions(+), 60 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489144</link><pubDate>Sat, 14 Sep 2024 23:17:45 +0500</pubDate><title>Made some code in the text client more readable.</title><guid isPermaLink="false">2099489144@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6ad4c1c57e00c260e181757a62c710b9785736c1 (commit)
      from  d748fc6d0f593b989008d036bce77175b2f35613 (commit)


- Log -----------------------------------------------------------------
commit 6ad4c1c57e00c260e181757a62c710b9785736c1
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 14 23:17:18 2024 -0400

Made some code in the text client more readable.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/ctdlproto/serv_messages.c |   2 +-
 textclient/citadel.c                             | 223 +++++++++++------------
 textclient/citadel.rc                            |   8 +-
 textclient/citadel_ipc.c                         |  12 +-
 textclient/messages.c                            |  50 ++---
 textclient/routines.c                            |  52 +++---
 textclient/routines2.c                           | 119 ++++++------
 7 files changed, 234 insertions(+), 232 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099489050</link><pubDate>Fri, 13 Sep 2024 22:32:48 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099489050@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks for catching that.  You were right that I was thinking IMAP new messages when I was updating the goto code.  I forgot the original code was based on Seen.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488820</link><pubDate>Thu, 12 Sep 2024 18:21:19 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488820@Uncensored</guid><description><![CDATA[  
 Ok, the fix was easy.  If I am guessing correctly, you derived the meaning
of "new messages" in the output of the GOTO command to mean the same thing
as the IMAP "Recent" flag.  In reality it means "Not Seen".  The above patch
appears to restore the correct behavior and it appears to be working now.
 I'll keep looking through. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488819</link><pubDate>Thu, 12 Sep 2024 18:19:10 +0500</pubDate><title>Restored the &quot;new messages&quot; count in GOTO command.</title><guid isPermaLink="false">2099488819@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d748fc6d0f593b989008d036bce77175b2f35613 (commit)
      from  841b8f0ef127e99a4b1391a51c30b600faf4552b (commit)


- Log -----------------------------------------------------------------
commit d748fc6d0f593b989008d036bce77175b2f35613
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 12 18:18:55 2024 -0400

Restored the "new messages" count in GOTO command.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/room_ops.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488814</link><pubDate>Thu, 12 Sep 2024 18:11:39 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488814@Uncensored</guid><description><![CDATA[  
 Confirmed that what is being delivered incorrectly is the second parameter
output by the result of a GOTO server command (see https://www.citadel.org/protocol.html
for details).  When this command completes successfully, the first parameter
output is the name of the room, the second is the number of unread messages,
and the third is the total number of messages.  That second parameter is always
appearing as "0" regardless of how many new messages are actually present.

  
 This is handled in CtdlUserGoto() in server/room_ops.c which begins on line
629.  Setting `display_result` to nonzero makes it generate output (because
it's being called as a client protocol command).  I see that at line 691 you
are calling `CtdlVisitGetLoHiFromMsgSet(vbuf, v_seen)` which seems correct,
but something's going wrong. 
  
 I'll look at it too but if you can figure out what's happening here then
go ahead and correct it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488805</link><pubDate>Thu, 12 Sep 2024 18:00:01 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488805@Uncensored</guid><description><![CDATA[  
 UPDATE: upon further inspection, I am seeing something.  What is actually
broken is the reporting of HOW MANY new messages are in a room.  So when I
make a trip through the rooms with a test user, it actually takes me to the
rooms with new messages, and it says "0 new of xxx messages", but when I "read
new messages" it actually does deliver the new messages correctly. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488796</link><pubDate>Thu, 12 Sep 2024 17:53:25 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488796@Uncensored</guid><description><![CDATA[Ok, here are my first results. 
  
 * Before upgrading, I ran loadtest to put a bunch of new messages in some
test rooms, then logged in as a test user and made a mental note of how many
new messages there were in various rooms. 
  
 * All code built cleanly, no errors or warnings. 
  
 * Ran ctdldump so that I can test that later.  It created a dump in what
I have to assume is the new format. 
  
 * Started up Citadel Server.  It is running cleanly. 
  
 * Logged in as the test user.  There are no new messages in any rooms.  It
appears that the old visit records have not been properly converted.   I even
ran loadtest again to drop some additional messages in, and even those are
not appearing as new messages to the test user. 
  
  
 I'm stopping here in case you have further testing instructions.  I do have
a tar backup of the database taken before the upgrade and can restore it to
try the upgrade again. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488782</link><pubDate>Thu, 12 Sep 2024 15:40:15 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488782@Uncensored</guid><description><![CDATA[<html><body>

<p>It worked.  Excellent.  The code is committed.  If you find any issues, let me know.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488735</link><pubDate>Thu, 12 Sep 2024 12:02:11 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488735@Uncensored</guid><description><![CDATA[Dammit.  A lot of files in there were not owned by the "git" group.  I believe
I have fixed that, so try again. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488730</link><pubDate>Thu, 12 Sep 2024 11:32:13 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488730@Uncensored</guid><description><![CDATA[<html><body>

<p>That worked a lot better :-)  I should have though of that.  I was so www based, I was trying everything relative to that.  ssh is actual filesystem path.   Duh.</p>
<p>Now the the next hiccup.  Tried to push and get errors that I cannot write to ./objects</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488723</link><pubDate>Thu, 12 Sep 2024 10:44:24 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488723@Uncensored</guid><description><![CDATA[Oh wait ... I'm an idiot.  The upstream path is different for committers because
we have to use ssh. 
  
 ssh://harlowsolutions@code.citadel.org:/var/www/git/citadel.git 
  
 You can use a git command to change it or you can just edit .git/config 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488670</link><pubDate>Wed, 11 Sep 2024 23:35:57 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488670@Uncensored</guid><description><![CDATA[<html><body>

<p>When pushing, I keep getting 403 errors from the URL https://code.citadel.org/citadel.git  I have tried adding the user and password to the URL but get the same thing.</p>
<p>I also tried to switch to ssh, but I cannot seem to get the repository path right in the URL and it always returns an error. :citadel.git or :/citadel.git or :citadel/citadel.git or anything else I have tried always returns "does not appear to be a git repository".</p>
<p> </p>
<div> </div>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488565</link><pubDate>Wed, 11 Sep 2024 10:31:14 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488565@Uncensored</guid><description><![CDATA[  
 If you're not on a branch, all you have to do is "git commit -a" followed
by "git push" 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488480</link><pubDate>Tue, 10 Sep 2024 20:51:49 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488480@Uncensored</guid><description><![CDATA[<html><body>

<p>I am ready to push my commit to the repository.  Problem is I cannot figure out the right origin to use or I am just messing up the command (I really do not use git much :-P )  What arguments do I use for git push to push my cloned master to the repository?</p>
<blockquote>
<div class="message_header"><span>Mon Sep 09 2024 14:01:59 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Back after a long time. Want to add the support for IMAP flags</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok, your login should be ready to go. I am out of town this week (in fact, I'm writing this from an airport) so there is little chance of me writing conflicting changes. Actually I might get bored and start coding ... but I'll stick to webcit-ng :) </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488275</link><pubDate>Mon, 09 Sep 2024 14:01:59 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488275@Uncensored</guid><description><![CDATA[Ok, your login should be ready to go.  I am out of town this week (in fact,
I'm writing this from an airport) so there is little chance of me writing
conflicting changes.  Actually I might get bored and start coding ... but
I'll stick to webcit-ng  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488240</link><pubDate>Mon, 09 Sep 2024 11:32:34 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488240@Uncensored</guid><description><![CDATA[<html><body>

<p>The only thing I need to do is remove the support for the old version in ctdlload.  I still have to check the field count (v1001 has fixed 9 fields which newer versions will never have) so it will just return failure rather than converting a couple of the fields.</p>
<p>I actually did my implementation against v1001 so I had a stable version to test against.  I pulled master a few days ago and ported the code there and that is what I am testing.  I updated master last night so my code has all of your cleanup.  I will send you my login info so I can check the code in.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Sep 08 2024 18:40:01 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Back after a long time. Want to add the support for IMAP flags</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>I implemented everything on the v1001 tag.  I have pulled the latest in </blockquote>
<br />
<blockquote>git and am creating a local branch with my updates.  Should I commit <br />the code to master after I finish testing? </blockquote>
<br />I have this annoying habit of going through code and doing syntax and style cleanup when I am attending boring meetings at work but can't commit to focusing on real development. The result is that if you have a patch it might not apply cleanly because it might be against code where I changed "return(1);" to "return 1;" or something silly like that. <br /><br />I'll stop doing that now that I know you have stuff coming in. Please sync up with git master and then if everything is working then yes, it would be easiest if you could just commit to the main line. Please PM me with your desired username and password because we're not using GitLab-CE anymore -- it was just consuming too many resources so I switched back to regular `git` with the `cgit` web front end. So when we create your account it'll just be an ordinary account on the server with permission to write to the repository. <br /><br />It sounds like we're in agreement on what it has to do: <br />* The server must be able to read records in old o
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488187</link><pubDate>Sun, 08 Sep 2024 18:40:01 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488187@Uncensored</guid><description><![CDATA[ >I implemented everything on the v1001 tag.  I have pulled the latest in
 
 >git and am creating a local branch with my updates.  Should I commit  
 >the code to master after I finish testing?   
  
 I have this annoying habit of going through code and doing syntax and style
cleanup when I am attending boring meetings at work but can't commit to focusing
on real development.  The result is that if you have a patch it might not
apply cleanly because it might be against code where I changed "return(1);"
to "return 1;" or something silly like that. 
  
 I'll stop doing that now that I know you have stuff coming in.  Please sync
up with git master and then if everything is working then yes, it would be
easiest if you could just commit to the main line.  Please PM me with your
desired username and password because we're not using GitLab-CE anymore --
it was just consuming too many resources
so I switched back to regular `git` with the `cgit` web front end.  So when
we create your account it'll just be an ordinary account on the server with
permission to write to the repository. 
  
 It sounds like we're in agreement on what it has to do: 
 * The server must be able to read records in old or new format 
 * The server will always write in the new format 
 * ctdldump must be able to read in old or new format, but always dumps in
new format 
 * ctdlload understands the new format only 
  
 I like what you're doing.  The purpose of the 'visit' record is to identify
the relationship between a user and a room, and with these extensions it will
more clearly identify the relationship between a user and messages within
the room.  As the Citadel System evolves, the concept of a "room" will begin
to fade for users on the web UI, but it will still be the primary internal
representation.  So the more flexibility we have, the more useful it will
be. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488121</link><pubDate>Sat, 07 Sep 2024 23:15:40 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488121@Uncensored</guid><description><![CDATA[<html><body>

<p>When I reimplemented, I did 1 and 2.  I also changed ctdldump and ctdlload and they seem to work well.  ctdldump writes the new format for all records.  I was not sure about supporting old versions, so I did.  I made ctdlload support the old and new formats. The new format always has more fields than the previous format (fixed) because of the added flags, so it was easy to support.</p>
<p>I did a few things to improve View performance overall and as the records are saved in the new format, we should see some reduction in the database size.</p>
<p>I implemented everything on the v1001 tag.  I have pulled the latest in git and am creating a local branch with my updates.  Should I commit the code to master after I finish testing?</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488118</link><pubDate>Sat, 07 Sep 2024 22:23:15 +0500</pubDate><title>Continue removing parentheses from return statements unless the returned value is an expression</title><guid isPermaLink="false">2099488118@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e70fb1f6c6950817c6cc98b4a868446fac2f4757 (commit)
      from  74df9d7e69ebc4de03ba3cd27d34814b174d6460 (commit)


- Log -----------------------------------------------------------------
commit e70fb1f6c6950817c6cc98b4a868446fac2f4757
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 7 22:23:11 2024 -0400

Continue removing parentheses from return statements unless the returned value is an expression

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/clientsocket.c        |  4 ++--
 citadel/server/config.c              |  2 +-
 citadel/server/control.c             |  6 +++---
 citadel/server/domain.c              | 10 +++++-----
 citadel/server/euidindex.c           |  6 +++---
 citadel/server/internet_addressing.c | 38 +++++++++++++++++++-----------------
 citadel/server/ldap.c                | 23 ++++++++++------------
 citadel/server/msgbase.c             | 36 +++++++++++++++++++---------------
 citadel/server/room_ops.c            | 18 ++++++++---------
 citadel/server/sysdep.c              |  6 +++---
 citadel/server/user_ops.c            | 32 ++++++++++++++++++------------
 citadel/server/usetable.c            |  4 ++--
 12 files changed, 98 insertions(+), 87 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488115</link><pubDate>Sat, 07 Sep 2024 22:15:20 +0500</pubDate><title>citmail.c still exists? Oh well, someone somewhere might be using it.</title><guid isPermaLink="false">2099488115@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  74df9d7e69ebc4de03ba3cd27d34814b174d6460 (commit)
      from  d1d3d23dea664596c31cb28d3892660fada4ea1a (commit)


- Log -----------------------------------------------------------------
commit 74df9d7e69ebc4de03ba3cd27d34814b174d6460
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 7 22:15:18 2024 -0400

citmail.c still exists?  Oh well, someone somewhere might be using it.

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/citmail.c | 31 ++++++++++++++-----------------
 1 file changed, 14 insertions(+), 17 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488109</link><pubDate>Sat, 07 Sep 2024 19:18:14 +0500</pubDate><title>Fleshed out the terminal detect a bit more</title><guid isPermaLink="false">2099488109@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d1d3d23dea664596c31cb28d3892660fada4ea1a (commit)
      from  fec0fbc7d4598e23333539dfc4c5156614847c03 (commit)


- Log -----------------------------------------------------------------
commit d1d3d23dea664596c31cb28d3892660fada4ea1a
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 7 16:18:12 2024 -0700

Fleshed out the terminal detect a bit more

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c  |  2 +-
 textclient/commands.c | 18 +++++++++++-------
 2 files changed, 12 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488100</link><pubDate>Sat, 07 Sep 2024 18:42:46 +0500</pubDate><title>Message #2099488100</title><guid isPermaLink="false">2099488100@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1002 has been created
        at  0e8c6ab5b09bbcc06c03d213efe1fd054943821e (tag)
   tagging  fec0fbc7d4598e23333539dfc4c5156614847c03 (commit)
  replaces  v1001
 tagged by  Art Cancro
        on  Sat Sep 7 18:42:45 2024 -0400

- Log -----------------------------------------------------------------
Version 1002 release

Art Cancro (95):
      The -d flag isn't there anymore, don't offer it
      Big Mike is VERY ugly
      Started working out the DOM XML PARSER
      Finished the code to extract XML CalDAV elements.
      Returning data from CalDAV to the caller.
      SetYear() is deprecated, replace with SetFullYear()
      Integrated Philipp Kewisch's javascript libical
      First go at parsing the ical data and printing it.
      Temporarily spew the parsed calendar data directly to the screen, erasing the pretty calendar, to make a point of the fact that we aren't yet handling timezones or recurrences yet.
      Implement  as shorthand for document.getElementById()
      view_calendar.js: reduce overuse of let vs var
      Initial success at timezone conversion.
      saving my work before trying something
      As usual, it works perfectly once I understand its model.
      Prettying up the code that worked
      Reduced experimental code to clean production code.
      Minor tweaks to sample events
      Finally add correct HREF to REPORT multigets.
      Separate creation and population of day columns into separate functions
      smtps,pop3s,imaps,nntps now disabled by default.
      Calibrate nuclear toaster oven
      begin work on recur
      Recur expansion looks decent now
      Saving my work to move to a different computer
      Add time-range to caldav query
      Send CalDAV query for the correct date range.
      trying to work around flimsy javascript scope problems
      Encrypted password exchanges are stupid.  Just encrypt the whole session, dummy.
      Obnoxious commit log comment.  I hope it offends you.
      Solved the duration problem.  ICAL.Time.clone() is what we needed.
      CalDAV: handle qp and b64 encoded calendar objects
      Amazing change of indentation of comments!
      Fixed the display range logic.
      DRY the function to render one event
      Finished the logic to figure out which column to render an event in.
      Rendering in the correct column and with the correct data.
      This is it!  All events being rendered properly.
      Made the use of template literals for ctdl-dal-day consistent.
      mini_2047_decode() now handles both qp and b64.
      random comment and style cleanup no big deal
      libcitadel: replace main() with int main() where needed
      citadel server: replace main() with int main() where needed
      webcit classic: replace main() with int main() where needed
      Applied more UFarx configure patches
      Fire a JS event when user clicks a calendar item
      Skeleton calendar event edit
      Return to the calendar view after edit
      Open edit screen, add link to return to calendar screen
      Moved caldav client to its own js module
      Bring data into calendar editor
      Make the entire edit_calendar_event function async
      Several small changes to calendar editor.
      Found another main() to convert to int main()
      loadtest: capitalize and punctuate dummy lipsum
      citadel_ipc.c: cleaned up for future improvements.
      messages.c: lined up comments in the same column.
      Removed a goto!
      Grid layout for forms - testing with calendar edit
      Login modal now uses formgrid
      More tuning of THE FIELDSET EXPERIENCE
      More fiddling around with fieldset
      Reworked font sizes for responsive rendering.
      idle style cleanup
      Bring in the date/time picker
      Add some more elements to calendar edit.
      Handle events that start before today and end after today.
      Populate day column: cleaner logic
      Set ctdl-formgrid-fieldset to min-width:50em
      Several changes:
      Display dtstart/dtend in editor in local time zone
      More formgrid tuning.  We will use this a lot.
      something
      random acts of cleanup
      I miss my Z-19 but we are not 80 columns anymore.
      Tale as old as time, song as old as rhyme, doing style cleanup when I should be working.
      Remember the bad old days, when only the MS-DOS kids got to use the cool line drawing characters?  Well those days are over!  Now that we have unicode everywhere, we're going to use them, and use them good.  Also, Richard Stallman is a jerk,
but not for the reason the social justice warriors think.  Actually, they have a lot in common with each other.  They're both far-left busybodies who just need to mind their own business.
      Mindless tweaking of comments.
      Commit your code with this one weird trick!
      Style buttons
      Experimenting with some layouts for attendees
      Typed things on keyboard effecting changes in code
      Making the license declarations identical everywhere.
      Removing parentheses on return statements.
      More removal of parentheses from return statements
      Indicate when a message is null
      Change all Font Awesome 'fa' to 'fas'
      Number of days to display is now a select box
      date vs datetime for all day events
      hidden fields
      Confirmed that Bill Gates really DID say "640K ought to be enough for anyone".  He cannot deny it.  He does, but he is a liar.
      calendar.md: added
      calendar.md: added
      commands.c: remove unused function was_a_key_pressed()
      Reworked detect_terminal_capabilities()
      Release version 1002 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488099</link><pubDate>Sat, 07 Sep 2024 18:42:45 +0500</pubDate><title>Release version 1002 generated by do-release.sh</title><guid isPermaLink="false">2099488099@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fec0fbc7d4598e23333539dfc4c5156614847c03 (commit)
      from  9f848b29b70db683170379ab0f27cf77f0c43d9e (commit)


- Log -----------------------------------------------------------------
commit fec0fbc7d4598e23333539dfc4c5156614847c03
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 7 18:42:45 2024 -0400

Release version 1002 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488098</link><pubDate>Sat, 07 Sep 2024 18:41:47 +0500</pubDate><title>Reworked detect_terminal_capabilities()</title><guid isPermaLink="false">2099488098@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9f848b29b70db683170379ab0f27cf77f0c43d9e (commit)
      from  83d5f36f2a40af0c69d33bfdffd3b376e537aa83 (commit)


- Log -----------------------------------------------------------------
commit 9f848b29b70db683170379ab0f27cf77f0c43d9e
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 7 18:41:43 2024 -0400

Reworked detect_terminal_capabilities()

...which was formerly look_for_ansi().  Generalized the interface and also
changed it from select() to poll().  I believe I've eliminated the possibility
of it getting stuck in an active loop, which seems to be happening a lot lately
on my system.  Undoubtedly some lowlife from across the pond is spamming port
23 and making that happen.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c     |  85 +++++++++++++++++++-----------------
 textclient/citadel.rc    |   8 ++--
 textclient/citadel_ipc.c |   4 +-
 textclient/commands.c    | 111 +++++++++++++++++++----------------------------
 textclient/routines.c    |   4 --
 textclient/screen.c      |   4 +-
 textclient/textclient.h  |   4 +-
 7 files changed, 99 insertions(+), 121 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488091</link><pubDate>Sat, 07 Sep 2024 16:35:42 +0500</pubDate><title>commands.c: remove unused function was_a_key_pressed()</title><guid isPermaLink="false">2099488091@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  83d5f36f2a40af0c69d33bfdffd3b376e537aa83 (commit)
      from  4fcb30bb0eda5e64b2688c67f251b8a52c48487e (commit)


- Log -----------------------------------------------------------------
commit 83d5f36f2a40af0c69d33bfdffd3b376e537aa83
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 7 16:35:40 2024 -0400

commands.c: remove unused function was_a_key_pressed()

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c | 28 ----------------------------
 1 file changed, 28 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488082</link><pubDate>Sat, 07 Sep 2024 16:04:11 +0500</pubDate><title>Re: Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488082@Uncensored</guid><description><![CDATA[  
 Welcome back!  People come and go so I figured you'd lost interest.  Very
happy to see that you're still here. 
  
 Now would be a decent time to work in your changes, since we are not in the
middle of a release cycle.  Nearly all of my effort is going into WebCit-NG,
and I'm immersed in the calendar app right now (since it's got soooooo many
moving parts it's taking a long time) so a change to the IMAP service and
the Visit record format would not create any conflicts. 
  
 Off the top of my head, the conditions for smoothly integrating such a change
would be: 
  
 1. Identify the record format upon reading the record, converting from the
old format to the new format automatically 
 2. Always write in the new format 
  
 and it sounds like you've already taken care of those, but also: 
  
 3. Survive an import/export of the database 
  
  
 That last one could be tricky.  What we have
working for us is the fact that we require a database to be imported on the
same version of Citadel from which it was exported -- we do not support, nor
do we plan to support, upgrading and migrating at the same time.  I'm thinking
the easiest thing to do would be to simply make the "new" Visit format the
dump format, make `ctdlload` expect the new format, and make `ctdldump` smart
enough to convert from the old format when necessary. 
  
 By the way ... Uncensored is still running on a 32-bit virtual machine because
the old `ctdlmigrate` utility failed miserably here, and I've never gotten
around to trying it again since the development of `ctdldump/ctdlload` ...
so we've got an opportunity to test  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099488020</link><pubDate>Fri, 06 Sep 2024 23:53:34 +0500</pubDate><title>Back after a long time.  Want to add the support for IMAP flags</title><guid isPermaLink="false">2099488020@Uncensored</guid><description><![CDATA[<html><body>

<p>I was swallowed up by life for a long time.  I am back now and want to help develop in Citadel.</p>
<p>Last time, I created a version to support the addition of the Flagged, Draft, Recent and Deleted flags and also reworked the Visit support to allow any size message sets while reducing the record size dramatically.  Problem was when you tested it, converting all the Visit records during upgrade took forever.  I have rewritten it to convert the records on the fly to the new version and have designed the structure to be expanded and changed much more easily.</p>
<p>I removed the support for Recent.  Did a lot of research on it before and it was not implemented properly and nobody really uses it.  It is not a flag at the message level, but at the room level.  Has to be maintained in it's own database record.  Since IMAP4rev2 has deprecated the flag, and it is a lot of work to maintain, it is not worth the effort.  IMAP4rev2 says you can output RECENT to stay compatible to IMAP4rrev1, just assume zero recent, so that is what I implemented.</p>
<p>I can create a patch and submit for review/testing if that is the best way to do this.  I don't have large databases to test against or test suites to cover everything.</p>
<p>Let me know how you want me to submit it.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099487994</link><pubDate>Fri, 06 Sep 2024 15:08:25 +0500</pubDate><title>calendar.md: added</title><guid isPermaLink="false">2099487994@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4fcb30bb0eda5e64b2688c67f251b8a52c48487e (commit)
       via  90c448db2e533a4fa8c97c1fddc050829c8d0f9a (commit)
      from  552e49345f45b191cdeaf8e4d142107cc38915da (commit)


- Log -----------------------------------------------------------------
commit 4fcb30bb0eda5e64b2688c67f251b8a52c48487e
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 6 15:08:15 2024 -0400

calendar.md: added

commit 90c448db2e533a4fa8c97c1fddc050829c8d0f9a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 6 15:08:10 2024 -0400

calendar.md: added

-----------------------------------------------------------------------

Summary of changes:
 citadel/docs/calendar.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)
 create mode 100644 citadel/docs/calendar.md

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099487983</link><pubDate>Fri, 06 Sep 2024 13:22:58 +0500</pubDate><title>Confirmed that Bill Gates really DID say &quot;640K ought to be enough for anyone&quot;. He cannot deny it. He does, but he is a liar.</title><guid isPermaLink="false">2099487983@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  552e49345f45b191cdeaf8e4d142107cc38915da (commit)
      from  354390de4e4e09a633e1967275c2ccc4a761317b (commit)


- Log -----------------------------------------------------------------
commit 552e49345f45b191cdeaf8e4d142107cc38915da
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 6 13:22:55 2024 -0400

Confirmed that Bill Gates really DID say "640K ought to be enough for anyone".  He cannot deny it.  He does, but he is a liar.

-----------------------------------------------------------------------

Summary of changes:
 webcit/calendar.c          | 45 +++++++++++++++++----------------------------
 webcit/calendar_view.c     |  5 +----
 webcit/context_loop.c      |  8 +-------
 webcit/cookie_conversion.c |  9 +--------
 webcit/dav_delete.c        |  8 +-------
 webcit/dav_get.c           | 10 +---------
 webcit/dav_main.c          | 10 +---------
 webcit/dav_options.c       | 10 +---------
 webcit/dav_propfind.c      |  8 +-------
 webcit/dav_put.c           | 10 +---------
 webcit/dav_report.c        | 10 +---------
 webcit/downloads.c         |  9 +--------
 webcit/event.c             | 10 +---------
 webcit/feed_generator.c    | 12 ++----------
 webcit/fmt_date.c          |  9 +--------
 webcit/gettext.c           |  9 +--------
 webcit/graphics.c          | 10 +---------
 17 files changed, 34 insertions(+), 158 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099487597</link><pubDate>Tue, 03 Sep 2024 16:54:59 +0500</pubDate><title>hidden fields</title><guid isPermaLink="false">2099487597@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  354390de4e4e09a633e1967275c2ccc4a761317b (commit)
      from  0439ddf5324c525167830321e3480f6a82c45343 (commit)


- Log -----------------------------------------------------------------
commit 354390de4e4e09a633e1967275c2ccc4a761317b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 3 16:54:51 2024 -0400

hidden fields

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099487144</link><pubDate>Fri, 30 Aug 2024 15:20:39 +0500</pubDate><title>date vs datetime for all day events</title><guid isPermaLink="false">2099487144@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0439ddf5324c525167830321e3480f6a82c45343 (commit)
      from  90c200926b94937f309c369da7ced0ceb144e139 (commit)


- Log -----------------------------------------------------------------
commit 0439ddf5324c525167830321e3480f6a82c45343
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 30 15:20:37 2024 -0400

date vs datetime for all day events

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099486992</link><pubDate>Thu, 29 Aug 2024 17:54:11 +0500</pubDate><title>Number of days to display is now a select box</title><guid isPermaLink="false">2099486992@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  90c200926b94937f309c369da7ced0ceb144e139 (commit)
      from  4f08df609d4d36c90c2a6d00cb25952ff50ff973 (commit)


- Log -----------------------------------------------------------------
commit 90c200926b94937f309c369da7ced0ceb144e139
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 29 17:53:44 2024 -0400

Number of days to display is now a select box

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c           |  4 ++--
 webcit-ng/static/index.html          |  2 +-
 webcit-ng/static/js/view_calendar.js | 20 ++++++++++++++------
 webcit-ng/static/js/view_forum.js    |  9 ++++++---
 4 files changed, 23 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099486788</link><pubDate>Wed, 28 Aug 2024 12:18:54 +0500</pubDate><title>Change all Font Awesome &#39;fa&#39; to &#39;fas&#39;</title><guid isPermaLink="false">2099486788@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4f08df609d4d36c90c2a6d00cb25952ff50ff973 (commit)
      from  0957e165d950106a29db88b7552ed281ace91a81 (commit)


- Log -----------------------------------------------------------------
commit 4f08df609d4d36c90c2a6d00cb25952ff50ff973
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 28 12:18:50 2024 -0400

Change all Font Awesome 'fa' to 'fas'

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html          | 14 ++++++-------
 webcit-ng/static/js/calendar_edit.js | 12 ++++++------
 webcit-ng/static/js/login.js         |  2 +-
 webcit-ng/static/js/main.js          |  8 ++++----
 webcit-ng/static/js/upload.js        |  2 +-
 webcit-ng/static/js/user_profile.js  |  2 +-
 webcit-ng/static/js/view_forum.js    | 38 ++++++++++++++++++------------------
 webcit-ng/static/js/view_mail.js     | 22 ++++++++++-----------
 8 files changed, 50 insertions(+), 50 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099486781</link><pubDate>Wed, 28 Aug 2024 12:09:15 +0500</pubDate><title>Indicate when a message is null</title><guid isPermaLink="false">2099486781@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0957e165d950106a29db88b7552ed281ace91a81 (commit)
      from  e833bb3c3baf263cd16a1ff4e1af341492348690 (commit)


- Log -----------------------------------------------------------------
commit 0957e165d950106a29db88b7552ed281ace91a81
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 28 12:09:11 2024 -0400

Indicate when a message is null

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 24 ++----------------------
 webcit-ng/static/index.html          |  4 ++--
 webcit-ng/static/js/calendar_edit.js | 32 +++++++++++++++++++++++++++-----
 webcit-ng/static/js/view_forum.js    |  9 +++++++--
 4 files changed, 38 insertions(+), 31 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099486056</link><pubDate>Thu, 22 Aug 2024 15:20:47 +0500</pubDate><title>More removal of parentheses from return statements</title><guid isPermaLink="false">2099486056@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e833bb3c3baf263cd16a1ff4e1af341492348690 (commit)
      from  868f4e9d11aa943d069083ecd5498e875b063200 (commit)


- Log -----------------------------------------------------------------
commit e833bb3c3baf263cd16a1ff4e1af341492348690
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 22 15:20:20 2024 -0400

More removal of parentheses from return statements

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/clientsocket.c                      | 12 ++---
 citadel/server/config.c                            |  4 +-
 citadel/server/control.c                           |  6 +--
 citadel/server/domain.c                            |  8 +--
 citadel/server/euidindex.c                         | 20 +++----
 citadel/server/internet_addressing.c               | 52 +++++++++---------
 citadel/server/ldap.c                              | 30 +++++------
 citadel/server/locate_host.c                       | 18 +++----
 citadel/server/modules/blog/serv_blog.c            |  4 +-
 .../server/modules/calendar/ical_ctdl_is_overlap.c | 16 +++---
 citadel/server/modules/calendar/serv_calendar.c    | 20 +++----
 citadel/server/modules/clamav/serv_virus.c         |  6 +--
 citadel/server/modules/crypto/serv_crypto.c        |  6 +--
 citadel/server/modules/fulltext/ft_wordbreaker.c   | 12 ++---
 citadel/server/modules/fulltext/serv_fulltext.c    |  8 +--
 citadel/server/modules/imap/imap_misc.c            |  8 +--
 citadel/server/modules/imap/imap_search.c          |  2 +-
 citadel/server/modules/imap/imap_tools.c           | 22 ++++----
 citadel/server/modules/imap/serv_imap.c            |  6 +--
 .../server/modules/inboxrules/serv_inboxrules.c    | 20 +++----
 citadel/server/modules/inetcfg/serv_inetcfg.c      |  8 +--
 citadel/server/modules/nntp/serv_nntp.c            |  6 +--
 citadel/server/modules/notes/serv_notes.c          |  8 +--
 citadel/server/modules/pop3/serv_pop3.c            |  2 +-
 citadel/server/modules/smtp/dkim.c                 |  6 +--
 citadel/server/modules/smtp/serv_smtpclient.c      |  2 +-
 citadel/server/modules/spam/serv_spam.c            |  6 +--
 citadel/server/modules/vcard/serv_vcard.c          | 34 ++++++------
 citadel/server/modules/wiki/serv_wiki.c            | 18 +++----
 citadel/server/modules/xmpp/serv_xmpp.c            |  2 +-
 citadel/server/modules/xmpp/xmpp_presence.c        |  6 +--
 citadel/server/modules/xmpp/xmpp_sasl_service.c    |  4 +-
 citadel/server/msgbase.c                           | 12 ++---
 citadel/server/room_ops.c                          | 44 +++++++--------
 citadel/server/serv_extensions.c                   |  6 +--
 citadel/server/sysdep.c                            | 38 ++++++-------
 citadel/server/user_ops.c                          | 62 +++++++++++-----------
 citadel/tests/dkimtester/dkimtester.c              |  2 +-
 citadel/utils/auth.c                               |  8 +--
 citadel/utils/chkpw.c                              |  6 +--
 citadel/utils/chkpwd.c                             |  4 +-
 citadel/utils/citmail.c                            |  2 +-
 citadel/utils/ctdlload.c                           | 42 +++++++--------
 citadel/utils/loadtest.c                           |  8 +--
 citadel/utils/sendcommand.c                        |  6 +--
 citadel/utils/setup.c                              |  4 +-
 46 files changed, 313 insertions(+), 313 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099486007</link><pubDate>Thu, 22 Aug 2024 12:01:30 +0500</pubDate><title>Removing parentheses on return statements.</title><guid isPermaLink="false">2099486007@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  868f4e9d11aa943d069083ecd5498e875b063200 (commit)
      from  085f360d4392866dbf8d3fecca53685dc1423f34 (commit)


- Log -----------------------------------------------------------------
commit 868f4e9d11aa943d069083ecd5498e875b063200
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 22 12:00:59 2024 -0400

Removing parentheses on return statements.

C hasn't required these in quite some time now.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c                    | 20 ++++++------
 textclient/citadel_ipc.c                | 12 ++++----
 textclient/client_chat.c                | 22 ++++++--------
 textclient/client_passwords.c           |  2 --
 textclient/commands.c                   | 38 +++++++++++------------
 textclient/messages.c                   | 54 ++++++++++++++++-----------------
 webcit-ng/server/caldav_reports.c       | 12 ++++----
 webcit-ng/server/ctdlclient.c           | 26 ++++++++--------
 webcit-ng/server/http.c                 |  6 ++--
 webcit-ng/server/ical_ctdl_is_overlap.c | 16 +++++-----
 webcit-ng/server/main.c                 |  2 +-
 webcit-ng/server/messages.c             |  2 +-
 webcit-ng/server/room_functions.c       |  8 ++---
 webcit-ng/server/tcp_sockets.c          | 20 ++++++------
 webcit-ng/server/tls.c                  |  6 ++--
 webcit-ng/server/webserver.c            |  4 +--
 16 files changed, 122 insertions(+), 128 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485802</link><pubDate>Wed, 21 Aug 2024 13:12:55 +0500</pubDate><title>Making the license declarations identical everywhere.</title><guid isPermaLink="false">2099485802@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  085f360d4392866dbf8d3fecca53685dc1423f34 (commit)
      from  7cc927c6bf10a1e6a3ec2072eef350f3575be13d (commit)


- Log -----------------------------------------------------------------
commit 085f360d4392866dbf8d3fecca53685dc1423f34
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 21 13:12:48 2024 -0400

Making the license declarations identical everywhere.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/admin_functions.c      |  6 +--
 webcit-ng/server/caldav_reports.c       |  2 +-
 webcit-ng/server/ctdl_commands.c        |  3 +-
 webcit-ng/server/ctdlclient.c           |  4 +-
 webcit-ng/server/ctdlfunctions.c        |  4 +-
 webcit-ng/server/floor_functions.c      |  4 +-
 webcit-ng/server/forum_view.c           |  3 +-
 webcit-ng/server/html2html.c            |  3 +-
 webcit-ng/server/http.c                 |  4 +-
 webcit-ng/server/ical_ctdl_is_overlap.c | 76 ++++++++++++++++++++++++++++++++-
 webcit-ng/server/main.c                 |  6 +--
 webcit-ng/server/messages.c             |  4 +-
 webcit-ng/server/request.c              |  3 +-
 webcit-ng/server/room_functions.c       |  4 +-
 webcit-ng/server/static.c               |  4 +-
 webcit-ng/server/tcp_sockets.c          |  4 +-
 webcit-ng/server/text2html.c            |  4 +-
 webcit-ng/server/tls.c                  |  2 +-
 webcit-ng/server/upload.c               |  4 +-
 webcit-ng/server/user_functions.c       |  4 +-
 webcit-ng/server/util.c                 |  2 +-
 webcit-ng/server/webcit.h               |  5 +--
 webcit-ng/server/webserver.c            | 10 ++---
 webcit-ng/static/js/util.js             | 38 -----------------
 webcit-ng/static/js/view_mail.js        |  4 +-
 webcit-ng/static/js/views.js            |  3 +-
 26 files changed, 105 insertions(+), 105 deletions(-)
 mode change 120000 => 100644 webcit-ng/server/ical_ctdl_is_overlap.c

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485788</link><pubDate>Wed, 21 Aug 2024 11:28:42 +0500</pubDate><title>Typed things on keyboard effecting changes in code</title><guid isPermaLink="false">2099485788@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7cc927c6bf10a1e6a3ec2072eef350f3575be13d (commit)
      from  c0e559fe8a49dab24bec3c1ec9a4a9a0b23e5161 (commit)


- Log -----------------------------------------------------------------
commit 7cc927c6bf10a1e6a3ec2072eef350f3575be13d
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 21 11:28:39 2024 -0400

Typed things on keyboard effecting changes in code

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html             |  2 +-
 webcit-ng/static/js/calendar_edit.js    | 13 ++++++-------
 webcit-ng/static/js/mail_folder_list.js |  5 +----
 webcit-ng/static/js/main.js             |  4 +---
 webcit-ng/static/js/roomlist.js         |  4 +---
 webcit-ng/static/js/upload.js           |  3 +--
 webcit-ng/static/js/user_profile.js     |  4 +---
 webcit-ng/static/js/util.js             |  4 +---
 webcit-ng/static/js/view_calendar.js    |  3 +--
 webcit-ng/static/js/view_contacts.js    |  7 ++-----
 webcit-ng/static/js/view_forum.js       |  5 +----
 webcit-ng/static/js/view_mail.js        |  5 +----
 webcit-ng/static/js/views.js            |  5 ++---
 13 files changed, 20 insertions(+), 44 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485718</link><pubDate>Tue, 20 Aug 2024 22:16:29 +0500</pubDate><title>Experimenting with some layouts for attendees</title><guid isPermaLink="false">2099485718@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c0e559fe8a49dab24bec3c1ec9a4a9a0b23e5161 (commit)
      from  219308f94878777c437bd67535c690876784fe1d (commit)


- Log -----------------------------------------------------------------
commit c0e559fe8a49dab24bec3c1ec9a4a9a0b23e5161
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 20 22:16:27 2024 -0400

Experimenting with some layouts for attendees

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 4 ++--
 webcit-ng/static/js/calendar_edit.js | 8 +++++++-
 webcit-ng/static/js/view_forum.js    | 6 +++---
 webcit-ng/static/js/view_mail.js     | 8 ++++----
 4 files changed, 16 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485715</link><pubDate>Tue, 20 Aug 2024 21:51:52 +0500</pubDate><title>Style buttons</title><guid isPermaLink="false">2099485715@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  219308f94878777c437bd67535c690876784fe1d (commit)
      from  052c64fea2e6fe92bc49c12c08fdc5d0b34955d4 (commit)


- Log -----------------------------------------------------------------
commit 219308f94878777c437bd67535c690876784fe1d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 20 21:51:50 2024 -0400

Style buttons

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 35 ++++++++++++++++++++++++++++-------
 webcit-ng/static/js/calendar_edit.js |  6 ++++++
 2 files changed, 34 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485702</link><pubDate>Tue, 20 Aug 2024 17:41:54 +0500</pubDate><title>Commit your code with this one weird trick!</title><guid isPermaLink="false">2099485702@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  052c64fea2e6fe92bc49c12c08fdc5d0b34955d4 (commit)
      from  9e79dc31bab566a5221de000d118f5fffc4e795d (commit)


- Log -----------------------------------------------------------------
commit 052c64fea2e6fe92bc49c12c08fdc5d0b34955d4
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 20 17:41:52 2024 -0400

Commit your code with this one weird trick!

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile                                  |  3 +--
 citadel/configure                                 |  3 +--
 citadel/server/backends/berkeley_db/berkeley_db.c |  5 +---
 citadel/server/citadel_defs.h                     | 28 ++++++++++-------------
 citadel/server/citadel_dirs.h                     |  5 +---
 citadel/server/citadel_ldap.h                     | 10 +-------
 citadel/server/citserver.h                        |  4 +---
 citadel/server/clientsocket.h                     |  5 +---
 citadel/server/config.h                           |  4 +---
 citadel/server/control.h                          |  4 +---
 citadel/server/database.h                         |  6 ++---
 citadel/server/domain.h                           |  4 +---
 citadel/server/modules_init.h                     |  5 +---
 citadel/server/server.h                           |  5 +---
 citadel/server/user_ops.h                         | 10 +-------
 citadel/utils/ctdldump.c                          |  4 +++-
 citadel/utils/ctdlload.c                          |  7 ++----
 citadel/utils/guesstimezone.sh                    | 15 +-----------
 18 files changed, 33 insertions(+), 94 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485592</link><pubDate>Tue, 20 Aug 2024 09:25:09 +0500</pubDate><title>Mindless tweaking of comments.</title><guid isPermaLink="false">2099485592@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9e79dc31bab566a5221de000d118f5fffc4e795d (commit)
      from  6c5e8be0c53bc63a9be73b5e7bf3ae1057b694a8 (commit)


- Log -----------------------------------------------------------------
commit 9e79dc31bab566a5221de000d118f5fffc4e795d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 20 09:25:07 2024 -0400

Mindless tweaking of comments.

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/chkpw.c    | 3 +--
 citadel/utils/citmail.c  | 3 +--
 citadel/utils/ctdldump.c | 5 +----
 citadel/utils/ctdlload.c | 5 +----
 4 files changed, 4 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485473</link><pubDate>Mon, 19 Aug 2024 18:03:41 +0500</pubDate><title>Remember the bad old days, when only the MS-DOS kids got to use the cool line drawing characters? Well those days are over! Now that we have unicode everywhere, we&#39;re going to use them, and use them good. Also, Richard Stallman is a jerk, but not for the reason the social justice warriors think. Actually, they have a lot in common with each other. They&#39;re both far-left busybodies who just need to mind their own business.</title><guid isPermaLink="false">2099485473@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6c5e8be0c53bc63a9be73b5e7bf3ae1057b694a8 (commit)
      from  d12be824226fe5f955697277006360f00c05c77f (commit)


- Log -----------------------------------------------------------------
commit 6c5e8be0c53bc63a9be73b5e7bf3ae1057b694a8
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 19 18:03:37 2024 -0400

Remember the bad old days, when only the MS-DOS kids got to use the cool line drawing characters?  Well those days are over!  Now that we have unicode everywhere, we're going to use them, and use them good.  Also, Richard Stallman is a jerk, but not
for the reason the social justice warriors think.  Actually, they have a lot in common with each other.  They're both far-left busybodies who just need to mind their own business.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_dirs.c |  5 +----
 citadel/server/citserver.c    |  5 +----
 citadel/server/clientsocket.c |  3 +--
 citadel/server/config.c       |  5 +----
 citadel/server/context.c      |  3 +--
 citadel/server/control.c      | 11 +++--------
 citadel/server/ldap.c         |  3 +--
 citadel/server/server_main.c  |  2 +-
 citadel/server/usetable.c     | 10 ++--------
 citadel/utils/auth.c          |  7 ++-----
 citadel/utils/dbnothing.c     |  9 ++++-----
 citadel/utils/loadtest.c      | 14 ++++++--------
 citadel/utils/sendcommand.c   |  7 ++-----
 citadel/utils/setup.c         |  7 ++-----
 14 files changed, 28 insertions(+), 63 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485455</link><pubDate>Mon, 19 Aug 2024 16:44:15 +0500</pubDate><title>Tale as old as time, song as old as rhyme, doing style cleanup when I should be working.</title><guid isPermaLink="false">2099485455@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d12be824226fe5f955697277006360f00c05c77f (commit)
      from  1a90d61736452b9c0a40220c26e1e5943511e3f1 (commit)


- Log -----------------------------------------------------------------
commit d12be824226fe5f955697277006360f00c05c77f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 19 16:44:12 2024 -0400

Tale as old as time, song as old as rhyme, doing style cleanup when I should be working.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/makeuserkey.c     |   5 +-
 citadel/server/netconfig.c       |   7 +--
 citadel/server/room_ops.c        | 103 ++++++++++++++++++++-------------------
 citadel/server/serv_extensions.c |  60 +++++++++++------------
 citadel/server/server_main.c     |  65 ++++++++++++------------
 citadel/server/support.c         |  28 ++---------
 citadel/server/support.h         |   3 +-
 citadel/server/sysconfig.h       |  13 ++---
 citadel/server/sysdep.c          |  78 +++++++++++++++--------------
 citadel/server/threads.c         |  21 +-------
 citadel/server/user_ops.c        |  16 ++----
 11 files changed, 174 insertions(+), 225 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485445</link><pubDate>Mon, 19 Aug 2024 14:56:27 +0500</pubDate><title>I miss my Z-19 but we are not 80 columns anymore.</title><guid isPermaLink="false">2099485445@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  1a90d61736452b9c0a40220c26e1e5943511e3f1 (commit)
      from  2cc20ce3e408c0fb7350909d09a39e55140552ec (commit)


- Log -----------------------------------------------------------------
commit 1a90d61736452b9c0a40220c26e1e5943511e3f1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 19 14:56:24 2024 -0400

I miss my Z-19 but we are not 80 columns anymore.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/default_timezone.c    |  9 ++--
 citadel/server/domain.c              | 29 ++++-------
 citadel/server/euidindex.c           | 22 +++-----
 citadel/server/genstamp.c            | 15 +++---
 citadel/server/housekeeping.c        |  9 ++--
 citadel/server/internet_addressing.c | 31 +++++-------
 citadel/server/journaling.c          | 28 +++++------
 citadel/server/locate_host.c         | 31 ++++--------
 citadel/server/modules_init.c        |  7 +--
 citadel/server/msgbase.c             | 98 +++++++++++++++++-------------------
 webcit/autocompletion.c              | 20 ++------
 11 files changed, 119 insertions(+), 180 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485433</link><pubDate>Mon, 19 Aug 2024 11:03:57 +0500</pubDate><title>random acts of cleanup</title><guid isPermaLink="false">2099485433@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2cc20ce3e408c0fb7350909d09a39e55140552ec (commit)
      from  af5acc19898461b745c8114bb606c2441db09d69 (commit)


- Log -----------------------------------------------------------------
commit 2cc20ce3e408c0fb7350909d09a39e55140552ec
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 19 11:03:54 2024 -0400

random acts of cleanup

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/COPYING         |   4 -
 libcitadel/lib/base64.c    |  13 ++-
 libcitadel/lib/json.c      |   8 +-
 webcit/blogview_renderer.c | 203 +++++++++++++++++----------------------------
 4 files changed, 83 insertions(+), 145 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485390</link><pubDate>Sun, 18 Aug 2024 23:18:17 +0500</pubDate><title>something</title><guid isPermaLink="false">2099485390@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  af5acc19898461b745c8114bb606c2441db09d69 (commit)
      from  6511348125a19244546ebb58e7337e8b9a96511e (commit)


- Log -----------------------------------------------------------------
commit af5acc19898461b745c8114bb606c2441db09d69
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 18 23:18:16 2024 -0400

something

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485127</link><pubDate>Fri, 16 Aug 2024 16:13:35 +0500</pubDate><title>More formgrid tuning. We will use this a lot.</title><guid isPermaLink="false">2099485127@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6511348125a19244546ebb58e7337e8b9a96511e (commit)
      from  ef21fab6df2aeaa1aef1c587dfc8d5d86b7a2a58 (commit)


- Log -----------------------------------------------------------------
commit 6511348125a19244546ebb58e7337e8b9a96511e
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 16 16:10:13 2024 -0400

More formgrid tuning.  We will use this a lot.

* Legend is always centered, with a bit of space on left and right.
* Font is consistent.
* Font is declared the same for both fields and their labels.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 22 ++++++++++++++++------
 webcit-ng/static/js/calendar_edit.js | 24 ++++--------------------
 webcit-ng/static/js/login.js         |  4 ++--
 3 files changed, 22 insertions(+), 28 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485094</link><pubDate>Fri, 16 Aug 2024 13:57:18 +0500</pubDate><title>Display dtstart/dtend in editor in local time zone</title><guid isPermaLink="false">2099485094@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ef21fab6df2aeaa1aef1c587dfc8d5d86b7a2a58 (commit)
      from  fb73994baf174fcd33bb9cc9f2f711ab4f890b32 (commit)


- Log -----------------------------------------------------------------
commit ef21fab6df2aeaa1aef1c587dfc8d5d86b7a2a58
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 16 13:56:08 2024 -0400

Display dtstart/dtend in editor in local time zone

HACK: take advantage of the fact that Sweden uses a local date/time
format that is exactly like ISO8601, but in the local time zone.  This
gives us yyyy-mm-ddThh:mm in local time.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485067</link><pubDate>Fri, 16 Aug 2024 12:06:48 +0500</pubDate><title>Several changes:</title><guid isPermaLink="false">2099485067@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fb73994baf174fcd33bb9cc9f2f711ab4f890b32 (commit)
      from  6e3d8ed2d480b4ec92c0f3941593ee51b4904661 (commit)


- Log -----------------------------------------------------------------
commit fb73994baf174fcd33bb9cc9f2f711ab4f890b32
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 16 12:06:45 2024 -0400

Several changes:

1. Switch cookie from 'Expires=' to 'Max-Age='
This eliminates the need to calculate the expiration date.

2. ical.es5.cjs has been renamed to ical.js
We get the correct content-type now.

3. Began working on getting the dtstart and dtend loaded into the event editor.
Still need to handle time zone conversion correctly.

These are three completely unrelated changes in the same commit.  I don't care.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/request.c                    |  4 +---
 webcit-ng/static/index.html                   |  2 +-
 webcit-ng/static/js/calendar_edit.js          | 17 ++++++++++++-----
 webcit-ng/static/js/{ical.es5.cjs => ical.js} |  0
 4 files changed, 14 insertions(+), 9 deletions(-)
 rename webcit-ng/static/js/{ical.es5.cjs => ical.js} (100%)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099485059</link><pubDate>Fri, 16 Aug 2024 11:02:19 +0500</pubDate><title>Set ctdl-formgrid-fieldset to min-width:50em</title><guid isPermaLink="false">2099485059@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6e3d8ed2d480b4ec92c0f3941593ee51b4904661 (commit)
      from  26fe8804fdf16bd41a29e5608c6eaaea87ab3293 (commit)


- Log -----------------------------------------------------------------
commit 6e3d8ed2d480b4ec92c0f3941593ee51b4904661
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 16 11:00:45 2024 -0400

Set ctdl-formgrid-fieldset to min-width:50em

This makes it look pretty on a wide screen but can still expand if it
needs to.  Also set max-width:99% to keep it from overflowing the div.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 3 ++-
 webcit-ng/static/js/calendar_edit.js | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484901</link><pubDate>Thu, 15 Aug 2024 09:26:38 +0500</pubDate><title>Populate day column: cleaner logic</title><guid isPermaLink="false">2099484901@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  26fe8804fdf16bd41a29e5608c6eaaea87ab3293 (commit)
      from  30d44f69c14d0d719ce39352884e78a3d4f40211 (commit)


- Log -----------------------------------------------------------------
commit 26fe8804fdf16bd41a29e5608c6eaaea87ab3293
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 15 09:26:36 2024 -0400

Populate day column: cleaner logic

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484845</link><pubDate>Wed, 14 Aug 2024 17:40:11 +0500</pubDate><title>Handle events that start before today and end after today.</title><guid isPermaLink="false">2099484845@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  30d44f69c14d0d719ce39352884e78a3d4f40211 (commit)
      from  2700e6885417f459ed11c82f759db7eb6e78d73a (commit)


- Log -----------------------------------------------------------------
commit 30d44f69c14d0d719ce39352884e78a3d4f40211
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 14 17:40:08 2024 -0400

Handle events that start before today and end after today.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484843</link><pubDate>Wed, 14 Aug 2024 17:31:57 +0500</pubDate><title>Add some more elements to calendar edit.</title><guid isPermaLink="false">2099484843@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2700e6885417f459ed11c82f759db7eb6e78d73a (commit)
      from  28b1ec3f37bda576f5b27233bf9ffb2c24c0c7d2 (commit)


- Log -----------------------------------------------------------------
commit 2700e6885417f459ed11c82f759db7eb6e78d73a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 14 17:31:55 2024 -0400

Add some more elements to calendar edit.

There is Date, and there is Starting/Ending date/time, but these need to be
shown or hidden depending on whether we are editing an All Day Event.

Started adding some more fields as well.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      |  6 +++++-
 webcit-ng/static/js/calendar_edit.js | 41 +++++++++++++++++++++---------------
 2 files changed, 29 insertions(+), 18 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484824</link><pubDate>Wed, 14 Aug 2024 15:15:43 +0500</pubDate><title>Bring in the date/time picker</title><guid isPermaLink="false">2099484824@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  28b1ec3f37bda576f5b27233bf9ffb2c24c0c7d2 (commit)
      from  2140dba0bdc35ff4d5ff6bb88324cd8a37952ba8 (commit)


- Log -----------------------------------------------------------------
commit 28b1ec3f37bda576f5b27233bf9ffb2c24c0c7d2
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 14 15:15:40 2024 -0400

Bring in the date/time picker

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c                 | 58 +++++++++++++-----------------------
 webcit-ng/static/css/webcit.css      |  4 +++
 webcit-ng/static/js/calendar_edit.js |  6 ++++
 3 files changed, 31 insertions(+), 37 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484765</link><pubDate>Wed, 14 Aug 2024 11:47:20 +0500</pubDate><title>idle style cleanup</title><guid isPermaLink="false">2099484765@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2140dba0bdc35ff4d5ff6bb88324cd8a37952ba8 (commit)
      from  79ba1795001a5bb516894ed14eb31f55a226ec0b (commit)


- Log -----------------------------------------------------------------
commit 2140dba0bdc35ff4d5ff6bb88324cd8a37952ba8
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 14 11:46:38 2024 -0400

idle style cleanup

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile      |  14 +-
 textclient/citadel_ipc.c |  26 +--
 textclient/textclient.h  | 421 +++++++++++++++++++++++------------------------
 3 files changed, 216 insertions(+), 245 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484706</link><pubDate>Tue, 13 Aug 2024 23:16:09 +0500</pubDate><title>Reworked font sizes for responsive rendering.</title><guid isPermaLink="false">2099484706@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  79ba1795001a5bb516894ed14eb31f55a226ec0b (commit)
      from  38d4873396e035ff675e63846a62d6ea8d0be8c3 (commit)


- Log -----------------------------------------------------------------
commit 79ba1795001a5bb516894ed14eb31f55a226ec0b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 13 23:15:52 2024 -0400

Reworked font sizes for responsive rendering.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 20 +++++++++++---------
 webcit-ng/static/index.html     |  7 +++++--
 2 files changed, 16 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484664</link><pubDate>Tue, 13 Aug 2024 18:12:11 +0500</pubDate><title>More fiddling around with fieldset</title><guid isPermaLink="false">2099484664@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  38d4873396e035ff675e63846a62d6ea8d0be8c3 (commit)
      from  7fd6712696a83a9b1b667c5eb677d037a392e9a1 (commit)


- Log -----------------------------------------------------------------
commit 38d4873396e035ff675e63846a62d6ea8d0be8c3
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 13 18:12:09 2024 -0400

More fiddling around with fieldset

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      |  6 ++++++
 webcit-ng/static/js/calendar_edit.js | 10 +++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484533</link><pubDate>Tue, 13 Aug 2024 10:36:41 +0500</pubDate><title>More tuning of THE FIELDSET EXPERIENCE</title><guid isPermaLink="false">2099484533@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7fd6712696a83a9b1b667c5eb677d037a392e9a1 (commit)
      from  8714ac41055f531866f585fcacb4fc4175e0b915 (commit)


- Log -----------------------------------------------------------------
commit 7fd6712696a83a9b1b667c5eb677d037a392e9a1
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 13 10:36:25 2024 -0400

More tuning of THE FIELDSET EXPERIENCE

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 17 +++++------------
 webcit-ng/static/js/login.js         |  2 +-
 2 files changed, 6 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484439</link><pubDate>Mon, 12 Aug 2024 18:14:12 +0500</pubDate><title>Login modal now uses formgrid</title><guid isPermaLink="false">2099484439@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  8714ac41055f531866f585fcacb4fc4175e0b915 (commit)
      from  7691cfbe015e22c9d7de280b8f78c113767c9f54 (commit)


- Log -----------------------------------------------------------------
commit 8714ac41055f531866f585fcacb4fc4175e0b915
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 12 18:14:04 2024 -0400

Login modal now uses formgrid

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 10 +++++-----
 webcit-ng/static/js/login.js    | 34 ++++++++++++++++------------------
 2 files changed, 21 insertions(+), 23 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484432</link><pubDate>Mon, 12 Aug 2024 17:41:35 +0500</pubDate><title>Grid layout for forms - testing with calendar edit</title><guid isPermaLink="false">2099484432@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7691cfbe015e22c9d7de280b8f78c113767c9f54 (commit)
      from  80f37c8d16311b07e2a9c62a48914414334990f3 (commit)


- Log -----------------------------------------------------------------
commit 7691cfbe015e22c9d7de280b8f78c113767c9f54
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 12 17:41:07 2024 -0400

Grid layout for forms - testing with calendar edit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/tls.c               |   8 +--
 webcit-ng/static/css/webcit.css      | 107 ++++++++++++++++++++++++++++++++++-
 webcit-ng/static/js/calendar_edit.js |  51 ++++++++++++++++-
 3 files changed, 157 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484431</link><pubDate>Mon, 12 Aug 2024 17:37:38 +0500</pubDate><title>Removed a goto!</title><guid isPermaLink="false">2099484431@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  80f37c8d16311b07e2a9c62a48914414334990f3 (commit)
      from  71ed0d4a7c4face2fe03388396e54c8e60816943 (commit)


- Log -----------------------------------------------------------------
commit 80f37c8d16311b07e2a9c62a48914414334990f3
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 12 17:37:29 2024 -0400

Removed a goto!

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/html2html.c | 381 ++++++++++++++++++++++---------------------
 1 file changed, 191 insertions(+), 190 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484174</link><pubDate>Fri, 09 Aug 2024 21:14:07 +0500</pubDate><title>messages.c: lined up comments in the same column.</title><guid isPermaLink="false">2099484174@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  71ed0d4a7c4face2fe03388396e54c8e60816943 (commit)
      from  ec5159ce9804161f23fc8d414dff284caf683439 (commit)


- Log -----------------------------------------------------------------
commit 71ed0d4a7c4face2fe03388396e54c8e60816943
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 9 21:13:42 2024 -0400

messages.c: lined up comments in the same column.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 67 +++++++++++++++++++++++++--------------------------
 1 file changed, 33 insertions(+), 34 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099484153</link><pubDate>Fri, 09 Aug 2024 18:22:02 +0500</pubDate><title>citadel_ipc.c: cleaned up for future improvements.</title><guid isPermaLink="false">2099484153@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ec5159ce9804161f23fc8d414dff284caf683439 (commit)
      from  f8198b4d77f5898a5d0b7eeab2286fef340a3450 (commit)


- Log -----------------------------------------------------------------
commit ec5159ce9804161f23fc8d414dff284caf683439
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 9 18:21:59 2024 -0400

citadel_ipc.c: cleaned up for future improvements.

* Style cleanup (C99 comments, new style indentation, etc.)
* Removed support for commands no longer in the server
* Documented the various protocol modes more clearly

I'm also trying to verify that EVERY server transaction goes through CtdlIPCGenericCommand().
If it does, this makes it easier to add more transports in the future.  We could potentially
emcapsulate Citadel protocol commands inside UDP datagrams (roaming is all the rage these days)
or HTTP transactions.

citadel_ipc.c was written in the early 2000's by Michael Hampton (IO ERROR) and is
finally starting to demonstrate what a good idea it was.  Rest in peace, Mike.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c             | 805 +++++++++++++++++------------------
 webcit-ng/static/js/calendar_edit.js |  10 +-
 2 files changed, 397 insertions(+), 418 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099483788</link><pubDate>Tue, 06 Aug 2024 22:10:20 +0500</pubDate><title>loadtest: capitalize and punctuate dummy lipsum</title><guid isPermaLink="false">2099483788@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f8198b4d77f5898a5d0b7eeab2286fef340a3450 (commit)
      from  d1004550215af8dd9435123c0d097ee5313663e6 (commit)


- Log -----------------------------------------------------------------
commit f8198b4d77f5898a5d0b7eeab2286fef340a3450
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 6 22:09:18 2024 -0400

loadtest: capitalize and punctuate dummy lipsum

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/loadtest.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099483639</link><pubDate>Mon, 05 Aug 2024 23:37:09 +0500</pubDate><title>Found another main() to convert to int main()</title><guid isPermaLink="false">2099483639@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d1004550215af8dd9435123c0d097ee5313663e6 (commit)
      from  68a9de66d3e83ac1797a8d2e410a1093b955829d (commit)


- Log -----------------------------------------------------------------
commit d1004550215af8dd9435123c0d097ee5313663e6
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 5 23:37:07 2024 -0400

Found another main() to convert to int main()

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/parsedate.c | 273 +++++++++++++++++++++++----------------------
 citadel/server/parsedate.y |  11 +-
 2 files changed, 142 insertions(+), 142 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099483636</link><pubDate>Mon, 05 Aug 2024 23:25:06 +0500</pubDate><title>Several small changes to calendar editor.</title><guid isPermaLink="false">2099483636@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  68a9de66d3e83ac1797a8d2e410a1093b955829d (commit)
      from  70e38fe8e6e809c942a127f69bc7e4882ca41b2c (commit)


- Log -----------------------------------------------------------------
commit 68a9de66d3e83ac1797a8d2e410a1093b955829d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 5 23:23:05 2024 -0400

Several small changes to calendar editor.

"Save" and "Cancel" buttons appear next to each other

Editor window is centered

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 36 +++++++++++++++++++++++++-----------
 1 file changed, 25 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099483630</link><pubDate>Mon, 05 Aug 2024 22:58:57 +0500</pubDate><title>Make the entire edit_calendar_event function async</title><guid isPermaLink="false">2099483630@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  70e38fe8e6e809c942a127f69bc7e4882ca41b2c (commit)
      from  dfa0e9422e7c1a199a64c21f0f7ef867dccab9f4 (commit)


- Log -----------------------------------------------------------------
commit 70e38fe8e6e809c942a127f69bc7e4882ca41b2c
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 5 22:58:44 2024 -0400

Make the entire edit_calendar_event function async

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.md                  | 11 ++++++-----
 webcit-ng/static/js/calendar_edit.js | 21 +++++++++------------
 2 files changed, 15 insertions(+), 17 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099483161</link><pubDate>Fri, 02 Aug 2024 16:29:22 +0500</pubDate><title>Bring data into calendar editor</title><guid isPermaLink="false">2099483161@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  dfa0e9422e7c1a199a64c21f0f7ef867dccab9f4 (commit)
      from  6b6ed7e5fe29311543463be0ec481220c70d44e6 (commit)


- Log -----------------------------------------------------------------
commit dfa0e9422e7c1a199a64c21f0f7ef867dccab9f4
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 2 16:29:19 2024 -0400

Bring data into calendar editor

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 42 +++++++++++++++++++++++++++++++++---
 webcit-ng/static/js/view_calendar.js | 17 ++++++++-------
 2 files changed, 48 insertions(+), 11 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099483138</link><pubDate>Fri, 02 Aug 2024 13:46:06 +0500</pubDate><title>Moved caldav client to its own js module</title><guid isPermaLink="false">2099483138@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6b6ed7e5fe29311543463be0ec481220c70d44e6 (commit)
      from  ac63f5fa3fc12fbe6c3daf8164ac810e2a64ff1d (commit)


- Log -----------------------------------------------------------------
commit 6b6ed7e5fe29311543463be0ec481220c70d44e6
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 2 13:46:03 2024 -0400

Moved caldav client to its own js module

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      |  6 ++--
 webcit-ng/static/index.html          |  1 +
 webcit-ng/static/js/caldav_client.js | 68 ++++++++++++++++++++++++++++++++++++
 webcit-ng/static/js/view_calendar.js | 63 +--------------------------------
 4 files changed, 73 insertions(+), 65 deletions(-)
 create mode 100644 webcit-ng/static/js/caldav_client.js

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482971</link><pubDate>Thu, 01 Aug 2024 10:43:16 +0500</pubDate><title>Open edit screen, add link to return to calendar screen</title><guid isPermaLink="false">2099482971@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ac63f5fa3fc12fbe6c3daf8164ac810e2a64ff1d (commit)
      from  e6dd90dc37805823161cd5f9c9ceaf536346e3fb (commit)


- Log -----------------------------------------------------------------
commit ac63f5fa3fc12fbe6c3daf8164ac810e2a64ff1d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 1 10:43:14 2024 -0400

Open edit screen, add link to return to calendar screen

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482855</link><pubDate>Wed, 31 Jul 2024 15:59:50 +0500</pubDate><title>Return to the calendar view after edit</title><guid isPermaLink="false">2099482855@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  e6dd90dc37805823161cd5f9c9ceaf536346e3fb (commit)
      from  f0b6d30f4ed9eeac1f621aa3b9db7045fa305f4a (commit)


- Log -----------------------------------------------------------------
commit e6dd90dc37805823161cd5f9c9ceaf536346e3fb
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 31 15:59:48 2024 -0400

Return to the calendar view after edit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/calendar_edit.js | 6 +++++-
 webcit-ng/static/js/view_calendar.js | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482852</link><pubDate>Wed, 31 Jul 2024 15:48:24 +0500</pubDate><title>Skeleton calendar event edit</title><guid isPermaLink="false">2099482852@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f0b6d30f4ed9eeac1f621aa3b9db7045fa305f4a (commit)
      from  10170fd93da4424c78b0b7b0c10ca431c1421a11 (commit)


- Log -----------------------------------------------------------------
commit f0b6d30f4ed9eeac1f621aa3b9db7045fa305f4a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 31 15:48:22 2024 -0400

Skeleton calendar event edit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html          |  1 +
 webcit-ng/static/js/calendar_edit.js | 11 +++++++++++
 webcit-ng/static/js/view_calendar.js |  5 ++---
 3 files changed, 14 insertions(+), 3 deletions(-)
 create mode 100644 webcit-ng/static/js/calendar_edit.js

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482803</link><pubDate>Wed, 31 Jul 2024 11:57:25 +0500</pubDate><title>Fire a JS event when user clicks a calendar item</title><guid isPermaLink="false">2099482803@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  10170fd93da4424c78b0b7b0c10ca431c1421a11 (commit)
      from  01a0b56379616a481632c61bb5704d88844d56d3 (commit)


- Log -----------------------------------------------------------------
commit 10170fd93da4424c78b0b7b0c10ca431c1421a11
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 31 11:57:23 2024 -0400

Fire a JS event when user clicks a calendar item

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      |  1 +
 webcit-ng/static/js/view_calendar.js | 21 ++++++++++++++-------
 2 files changed, 15 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482592</link><pubDate>Tue, 30 Jul 2024 01:01:45 +0500</pubDate><title>Message #2099482592</title><guid isPermaLink="false">2099482592@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Mon Jul 29 2024 22:23:51 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">please watch the progress in this room and test the build from git if you are willing. <br /><br />What C compiler are you using?</div>
</div>
</blockquote>
<p> sure and none of my patches are compiler specific. but if you're interested in a specific one, i have access to pretty much all compilers except for hp-ux's acc.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482562</link><pubDate>Mon, 29 Jul 2024 22:30:14 +0500</pubDate><title>Applied more UFarx configure patches</title><guid isPermaLink="false">2099482562@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  01a0b56379616a481632c61bb5704d88844d56d3 (commit)
       via  e8f7782a1961d3f45aaa5a62a3e962096df82fda (commit)
       via  3f134ff1b1c45ee0e66f29d90fface497c61de6e (commit)
       via  dc28d3d4ce8945c86cc7ca45d29da1ebf6a3df57 (commit)
      from  2aa4276e8cdb9fc27f916fef4632a2c669ff985d (commit)


- Log -----------------------------------------------------------------
commit 01a0b56379616a481632c61bb5704d88844d56d3
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 29 22:20:12 2024 -0400

Applied more UFarx configure patches

commit e8f7782a1961d3f45aaa5a62a3e962096df82fda
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 29 22:08:02 2024 -0400

webcit classic: replace main() with int main() where needed

commit 3f134ff1b1c45ee0e66f29d90fface497c61de6e
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 29 22:03:39 2024 -0400

citadel server: replace main() with int main() where needed

commit dc28d3d4ce8945c86cc7ca45d29da1ebf6a3df57
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 29 22:01:19 2024 -0400

libcitadel: replace main() with int main() where needed

-----------------------------------------------------------------------

Summary of changes:
 citadel/configure                 |     6 +-
 citadel/utils/chkpwd.c            |     9 +-
 libcitadel/configure.ac           |     4 +-
 libcitadel/configure~             | 21691 ------------------------------------
 libcitadel/conftools/config.guess |     7 +-
 webcit/config.guess               |     2 +-
 webcit/configure.ac               |     4 +-
 webcit/missing                    |     4 +-
 8 files changed, 15 insertions(+), 21712 deletions(-)
 delete mode 100755 libcitadel/configure~

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482561</link><pubDate>Mon, 29 Jul 2024 22:23:51 +0500</pubDate><title>Message #2099482561</title><guid isPermaLink="false">2099482561@Uncensored</guid><description><![CDATA[UFarx: thank you for bumping those issues.  I'm about to apply some of your
patches, please watch the progress in this room and test the build from git
if you are willing. 
  
 What C compiler are you using? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482555</link><pubDate>Mon, 29 Jul 2024 21:55:33 +0500</pubDate><title>random comment and style cleanup no big deal</title><guid isPermaLink="false">2099482555@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2aa4276e8cdb9fc27f916fef4632a2c669ff985d (commit)
      from  43b0cf2917f9ea265f0db6742e497a273629841e (commit)


- Log -----------------------------------------------------------------
commit 2aa4276e8cdb9fc27f916fef4632a2c669ff985d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 29 21:55:31 2024 -0400

random comment and style cleanup no big deal

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/tools.c            |  5 ++-
 textclient/routines.c             | 92 +++++++++++++++++----------------------
 webcit-ng/server/caldav_reports.c |  3 +-
 3 files changed, 43 insertions(+), 57 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482369</link><pubDate>Mon, 29 Jul 2024 00:55:30 +0500</pubDate><title>Message #2099482369</title><guid isPermaLink="false">2099482369@Uncensored</guid><description><![CDATA[<html><body>

<p>and the last one:<br /><br />webcit's configure script does not use -liconv when checking for libcitadel. so if libcitadel was built with libiconv the check fails.<br />i didn't patch that properly but just hardcoded -liconv. it would probably make sense to have 2 checks of which one tries with -liconv.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482368</link><pubDate>Mon, 29 Jul 2024 00:49:59 +0500</pubDate><title>Message #2099482368</title><guid isPermaLink="false">2099482368@Uncensored</guid><description><![CDATA[<html><body>

<p>the textclient's build system still has the same problems as i reported last year: http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353108#2099353108<br /><br />here is a patch for that.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482367</link><pubDate>Mon, 29 Jul 2024 00:47:14 +0500</pubDate><title>Message #2099482367</title><guid isPermaLink="false">2099482367@Uncensored</guid><description><![CDATA[<html><body>

<p>here is the patch to what i reported there: http://uncensored.citadel.org/readfwd?go=Citadel%20Support?start_reading_at=2099481915#2099481915</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482327</link><pubDate>Sun, 28 Jul 2024 15:55:24 +0500</pubDate><title>mini_2047_decode() now handles both qp and b64.</title><guid isPermaLink="false">2099482327@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  43b0cf2917f9ea265f0db6742e497a273629841e (commit)
      from  4885ebbf846e0651e48fff0ff10efb947b23b255 (commit)


- Log -----------------------------------------------------------------
commit 43b0cf2917f9ea265f0db6742e497a273629841e
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 28 15:55:04 2024 -0400

mini_2047_decode() now handles both qp and b64.

This makes Base64-encoded Subject lines appear properly in the text client.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c                | 83 +++++++++++++++++++++++-------------
 webcit-ng/server/caldav_reports.c    | 11 ++++-
 webcit-ng/static/css/webcit.css      |  3 +-
 webcit-ng/static/js/view_calendar.js | 27 +++++-------
 4 files changed, 75 insertions(+), 49 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482089</link><pubDate>Fri, 26 Jul 2024 11:04:48 +0500</pubDate><title>Made the use of template literals for ctdl-dal-day consistent.</title><guid isPermaLink="false">2099482089@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4885ebbf846e0651e48fff0ff10efb947b23b255 (commit)
      from  a33b72e7c0427de55ee3167eb6b7f7bcc985c4a0 (commit)


- Log -----------------------------------------------------------------
commit 4885ebbf846e0651e48fff0ff10efb947b23b255
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 26 11:04:46 2024 -0400

Made the use of template literals for ctdl-dal-day consistent.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099482082</link><pubDate>Fri, 26 Jul 2024 09:17:55 +0500</pubDate><title>This is it! All events being rendered properly.</title><guid isPermaLink="false">2099482082@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a33b72e7c0427de55ee3167eb6b7f7bcc985c4a0 (commit)
      from  24e943ae90d89f978622ecf63c8a3152443b808f (commit)


- Log -----------------------------------------------------------------
commit a33b72e7c0427de55ee3167eb6b7f7bcc985c4a0
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 26 09:17:53 2024 -0400

This is it!  All events being rendered properly.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481999</link><pubDate>Thu, 25 Jul 2024 17:55:37 +0500</pubDate><title>Rendering in the correct column and with the correct data.</title><guid isPermaLink="false">2099481999@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  24e943ae90d89f978622ecf63c8a3152443b808f (commit)
      from  47405c61a40d3a01205837048767e6ddd8de805d (commit)


- Log -----------------------------------------------------------------
commit 24e943ae90d89f978622ecf63c8a3152443b808f
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 25 17:55:35 2024 -0400

Rendering in the correct column and with the correct data.

Just need to set the start and end time correctly.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481997</link><pubDate>Thu, 25 Jul 2024 17:44:51 +0500</pubDate><title>Finished the logic to figure out which column to render an event in.</title><guid isPermaLink="false">2099481997@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  47405c61a40d3a01205837048767e6ddd8de805d (commit)
      from  b12ca123cf1930db6d243ef1d214e3e79a55a5b6 (commit)


- Log -----------------------------------------------------------------
commit 47405c61a40d3a01205837048767e6ddd8de805d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 25 17:44:48 2024 -0400

Finished the logic to figure out which column to render an event in.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 55 +++++++++++++++++++++++++-----------
 1 file changed, 38 insertions(+), 17 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481964</link><pubDate>Thu, 25 Jul 2024 13:01:35 +0500</pubDate><title>DRY the function to render one event</title><guid isPermaLink="false">2099481964@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b12ca123cf1930db6d243ef1d214e3e79a55a5b6 (commit)
      from  43ca733cee28d4c7444647a83459246e46915c6a (commit)


- Log -----------------------------------------------------------------
commit b12ca123cf1930db6d243ef1d214e3e79a55a5b6
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 25 13:01:33 2024 -0400

DRY the function to render one event

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481957</link><pubDate>Thu, 25 Jul 2024 12:00:36 +0500</pubDate><title>Fixed the display range logic.</title><guid isPermaLink="false">2099481957@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  43ca733cee28d4c7444647a83459246e46915c6a (commit)
      from  a97ef927c148da9132e9c9ffa743e554bf64a1ae (commit)


- Log -----------------------------------------------------------------
commit 43ca733cee28d4c7444647a83459246e46915c6a
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 25 12:00:34 2024 -0400

Fixed the display range logic.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 39 ++++++++++++++++++++----------------
 1 file changed, 22 insertions(+), 17 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481945</link><pubDate>Thu, 25 Jul 2024 09:59:24 +0500</pubDate><title>Amazing change of indentation of comments!</title><guid isPermaLink="false">2099481945@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a97ef927c148da9132e9c9ffa743e554bf64a1ae (commit)
      from  f0906e34bce0f196b1227a89b84e28a34ac1d3c5 (commit)


- Log -----------------------------------------------------------------
commit a97ef927c148da9132e9c9ffa743e554bf64a1ae
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 25 09:59:20 2024 -0400

Amazing change of indentation of comments!

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/upload.js | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481895</link><pubDate>Wed, 24 Jul 2024 23:57:17 +0500</pubDate><title>CalDAV: handle qp and b64 encoded calendar objects</title><guid isPermaLink="false">2099481895@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  f0906e34bce0f196b1227a89b84e28a34ac1d3c5 (commit)
      from  0aba3a1db60f66cad2180432c1843bf7d158be29 (commit)


- Log -----------------------------------------------------------------
commit f0906e34bce0f196b1227a89b84e28a34ac1d3c5
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 24 23:57:15 2024 -0400

CalDAV: handle qp and b64 encoded calendar objects

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/caldav_reports.c    | 18 ++++++++++++++++++
 webcit-ng/static/js/view_calendar.js |  3 ++-
 2 files changed, 20 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481880</link><pubDate>Wed, 24 Jul 2024 22:44:39 +0500</pubDate><title>Solved the duration problem. ICAL.Time.clone() is what we needed.</title><guid isPermaLink="false">2099481880@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0aba3a1db60f66cad2180432c1843bf7d158be29 (commit)
      from  5f358833c05476c739f921adf73091fcda70c8ce (commit)


- Log -----------------------------------------------------------------
commit 0aba3a1db60f66cad2180432c1843bf7d158be29
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 24 22:44:37 2024 -0400

Solved the duration problem.  ICAL.Time.clone() is what we needed.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481711</link><pubDate>Tue, 23 Jul 2024 14:57:06 +0500</pubDate><title>Obnoxious commit log comment. I hope it offends you.</title><guid isPermaLink="false">2099481711@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5f358833c05476c739f921adf73091fcda70c8ce (commit)
      from  0e0782cea82e355a8eeec32e860e7f58ec7c1f4f (commit)


- Log -----------------------------------------------------------------
commit 5f358833c05476c739f921adf73091fcda70c8ce
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 23 14:57:03 2024 -0400

Obnoxious commit log comment.  I hope it offends you.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/tools.c | 81 ++++++++++++++++++--------------------------------
 1 file changed, 29 insertions(+), 52 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481708</link><pubDate>Tue, 23 Jul 2024 14:47:37 +0500</pubDate><title>Encrypted password exchanges are stupid. Just encrypt the whole session, dummy.</title><guid isPermaLink="false">2099481708@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  0e0782cea82e355a8eeec32e860e7f58ec7c1f4f (commit)
      from  3899f929e21d920d9ea6e68a1d1d46fccca6743e (commit)


- Log -----------------------------------------------------------------
commit 0e0782cea82e355a8eeec32e860e7f58ec7c1f4f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 23 14:47:34 2024 -0400

Encrypted password exchanges are stupid.  Just encrypt the whole session, dummy.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481477</link><pubDate>Sun, 21 Jul 2024 22:48:11 +0500</pubDate><title>trying to work around flimsy javascript scope problems</title><guid isPermaLink="false">2099481477@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3899f929e21d920d9ea6e68a1d1d46fccca6743e (commit)
      from  7fbced11c476ffde992513a03ebc69b0c1eb6824 (commit)


- Log -----------------------------------------------------------------
commit 3899f929e21d920d9ea6e68a1d1d46fccca6743e
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 21 22:48:08 2024 -0400

trying to work around flimsy javascript scope problems

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 38 ++++++++++++++++++++++--------------
 1 file changed, 23 insertions(+), 15 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481447</link><pubDate>Sun, 21 Jul 2024 16:58:59 +0500</pubDate><title>Send CalDAV query for the correct date range.</title><guid isPermaLink="false">2099481447@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7fbced11c476ffde992513a03ebc69b0c1eb6824 (commit)
      from  dbebd073ec82dff02a8d5412c3575634d0481c7a (commit)


- Log -----------------------------------------------------------------
commit 7fbced11c476ffde992513a03ebc69b0c1eb6824
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 21 16:57:10 2024 -0400

Send CalDAV query for the correct date range.

That about wraps it up for getting the right events.  Recurrence even
seems to be correct now.  We are finally ready to slot the events onto
the screen.

I also repaired a garage door opener but this is not reflected in the
code.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/caldav_reports.c    |  1 -
 webcit-ng/static/js/view_calendar.js | 13 ++++++-------
 2 files changed, 6 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481426</link><pubDate>Sun, 21 Jul 2024 14:53:44 +0500</pubDate><title>Add time-range to caldav query</title><guid isPermaLink="false">2099481426@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  dbebd073ec82dff02a8d5412c3575634d0481c7a (commit)
      from  7420062cbf3402f797bb446343c21a23ac1edce0 (commit)


- Log -----------------------------------------------------------------
commit dbebd073ec82dff02a8d5412c3575634d0481c7a
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 21 14:53:42 2024 -0400

Add time-range to caldav query

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/caldav_reports.c    |  1 +
 webcit-ng/static/js/view_calendar.js | 14 +++++++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481366</link><pubDate>Sun, 21 Jul 2024 11:35:48 +0500</pubDate><title>Saving my work to move to a different computer</title><guid isPermaLink="false">2099481366@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7420062cbf3402f797bb446343c21a23ac1edce0 (commit)
      from  17c7bce7fd6a8cbc3471bb7a0eb06307a7f5abda (commit)


- Log -----------------------------------------------------------------
commit 7420062cbf3402f797bb446343c21a23ac1edce0
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 21 08:35:46 2024 -0700

Saving my work to move to a different computer

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481359</link><pubDate>Sun, 21 Jul 2024 10:30:47 +0500</pubDate><title>Recur expansion looks decent now</title><guid isPermaLink="false">2099481359@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  17c7bce7fd6a8cbc3471bb7a0eb06307a7f5abda (commit)
      from  6a869bbe7ab691d9fd63d1db8d431f0c72add8d5 (commit)


- Log -----------------------------------------------------------------
commit 17c7bce7fd6a8cbc3471bb7a0eb06307a7f5abda
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 21 07:30:36 2024 -0700

Recur expansion looks decent now

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 61 +++++++++++++++++++++---------------
 1 file changed, 36 insertions(+), 25 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481252</link><pubDate>Sat, 20 Jul 2024 18:20:13 +0500</pubDate><title>begin work on recur</title><guid isPermaLink="false">2099481252@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  6a869bbe7ab691d9fd63d1db8d431f0c72add8d5 (commit)
      from  63c6096c7e1ba961070b192c4e4c0b7ed6d22808 (commit)


- Log -----------------------------------------------------------------
commit 6a869bbe7ab691d9fd63d1db8d431f0c72add8d5
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 20 15:18:13 2024 -0700

begin work on recur

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481237</link><pubDate>Sat, 20 Jul 2024 17:11:15 +0500</pubDate><title>Calibrate nuclear toaster oven</title><guid isPermaLink="false">2099481237@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  63c6096c7e1ba961070b192c4e4c0b7ed6d22808 (commit)
      from  5490a2f37f69ea724918c73ef25b0d3cb96e8584 (commit)


- Log -----------------------------------------------------------------
commit 63c6096c7e1ba961070b192c4e4c0b7ed6d22808
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 20 14:10:50 2024 -0700

Calibrate nuclear toaster oven

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/crypto/serv_crypto.c | 26 ++++++++++++--------------
 webcit-ng/static/js/view_calendar.js        |  3 ++-
 2 files changed, 14 insertions(+), 15 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099481208</link><pubDate>Sat, 20 Jul 2024 13:17:03 +0500</pubDate><title>smtps,pop3s,imaps,nntps now disabled by default.</title><guid isPermaLink="false">2099481208@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5490a2f37f69ea724918c73ef25b0d3cb96e8584 (commit)
      from  a74cf03b5b554e6186e40790d39fe54669109378 (commit)


- Log -----------------------------------------------------------------
commit 5490a2f37f69ea724918c73ef25b0d3cb96e8584
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 20 13:08:18 2024 -0400

smtps,pop3s,imaps,nntps now disabled by default.

Generally most clients are using the STARTTLS commands on the
regular ports anyway, and the usual menagerie of douchebags across
the pond are jamming up the "s" ports.  So we're disabling them in
the default install by setting the default port numbers to "-1".
Any site administrator who needs these ports can re-enable them.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/config.c                       | 18 +++++++++---------
 citadel/server/modules/upgrade/serv_upgrade.c |  2 +-
 2 files changed, 10 insertions(+), 10 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099480747</link><pubDate>Wed, 17 Jul 2024 14:30:36 +0500</pubDate><title>Separate creation and population of day columns into separate functions</title><guid isPermaLink="false">2099480747@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a74cf03b5b554e6186e40790d39fe54669109378 (commit)
      from  d838d4d7b981357a5278dc1573038f7817cadf1d (commit)


- Log -----------------------------------------------------------------
commit a74cf03b5b554e6186e40790d39fe54669109378
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 17 11:29:47 2024 -0700

Separate creation and population of day columns into separate functions

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 118 ++++++++++++++++++-----------------
 1 file changed, 62 insertions(+), 56 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099480585</link><pubDate>Tue, 16 Jul 2024 22:32:46 +0500</pubDate><title>Finally add correct HREF to REPORT multigets.</title><guid isPermaLink="false">2099480585@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d838d4d7b981357a5278dc1573038f7817cadf1d (commit)
      from  d24e2049956c3044de4e463496ea250ebf919eae (commit)


- Log -----------------------------------------------------------------
commit d838d4d7b981357a5278dc1573038f7817cadf1d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 16 19:32:43 2024 -0700

Finally add correct HREF to REPORT multigets.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/caldav_reports.c | 49 +++++++++++++++++++++++++--------------
 webcit-ng/server/webcit.h         |  8 +------
 2 files changed, 32 insertions(+), 25 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099480473</link><pubDate>Tue, 16 Jul 2024 10:20:54 +0500</pubDate><title>Minor tweaks to sample events</title><guid isPermaLink="false">2099480473@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d24e2049956c3044de4e463496ea250ebf919eae (commit)
      from  5a64512e994fab517357c9872588316e87bd7a03 (commit)


- Log -----------------------------------------------------------------
commit d24e2049956c3044de4e463496ea250ebf919eae
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 16 07:20:48 2024 -0700

Minor tweaks to sample events

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099480413</link><pubDate>Mon, 15 Jul 2024 22:28:27 +0500</pubDate><title>Reduced experimental code to clean production code.</title><guid isPermaLink="false">2099480413@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  5a64512e994fab517357c9872588316e87bd7a03 (commit)
      from  6d28cfdf8ad34cfdb8ea96719bc1ab92d11b3779 (commit)


- Log -----------------------------------------------------------------
commit 5a64512e994fab517357c9872588316e87bd7a03
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 15 19:28:24 2024 -0700

Reduced experimental code to clean production code.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 39 ++++++++++++++++--------------------
 webcit-ng/static/js/views.js         |  4 ++++
 2 files changed, 21 insertions(+), 22 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099480369</link><pubDate>Mon, 15 Jul 2024 16:00:19 +0500</pubDate><title>As usual, it works perfectly once I understand its model.</title><guid isPermaLink="false">2099480369@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a162827d4d96ffd3cc5f0958d1e7573ef15acfa5 (commit)
      from  d66f49f4be106e9985891a9b8fc0a4cd8aed3e52 (commit)


- Log -----------------------------------------------------------------
commit a162827d4d96ffd3cc5f0958d1e7573ef15acfa5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 15 13:00:16 2024 -0700

As usual, it works perfectly once I understand its model.

You have to register any supplied vtimezone components with the timezone service
and then it will automatically convert any supplied timestamps once it knows
about them.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 30 ++++++++++++------------------
 1 file changed, 12 insertions(+), 18 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099480366</link><pubDate>Mon, 15 Jul 2024 15:50:02 +0500</pubDate><title>saving my work before trying something</title><guid isPermaLink="false">2099480366@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d66f49f4be106e9985891a9b8fc0a4cd8aed3e52 (commit)
      from  7b0c0739f9fd0eb0005b0723b6305954d4d8c61e (commit)


- Log -----------------------------------------------------------------
commit d66f49f4be106e9985891a9b8fc0a4cd8aed3e52
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 15 12:49:59 2024 -0700

saving my work before trying something

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099480351</link><pubDate>Mon, 15 Jul 2024 13:42:50 +0500</pubDate><title>Initial success at timezone conversion.</title><guid isPermaLink="false">2099480351@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  7b0c0739f9fd0eb0005b0723b6305954d4d8c61e (commit)
      from  4ef630be3f781a45d0c50e5b67e5bb5ca65b0cae (commit)


- Log -----------------------------------------------------------------
commit 7b0c0739f9fd0eb0005b0723b6305954d4d8c61e
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 15 10:42:45 2024 -0700

Initial success at timezone conversion.

Found some examples and fiddled with them until I got it to
display the DTSTART as a JSdate in the browser's local time
zone.  But it is assuming that the supplied VTIMEZONE is the
one used for all dates, which is probably correct 99.9% of
the time but is not a safe assumption.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.md                  |  2 +
 webcit-ng/static/js/view_calendar.js | 76 +++++++++++++++++++++++-------------
 2 files changed, 50 insertions(+), 28 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099480212</link><pubDate>Sun, 14 Jul 2024 17:33:22 +0500</pubDate><title>view_calendar.js: reduce overuse of let vs var</title><guid isPermaLink="false">2099480212@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4ef630be3f781a45d0c50e5b67e5bb5ca65b0cae (commit)
      from  2a2945c6dbcde693ee3892ae711085cb80c79485 (commit)


- Log -----------------------------------------------------------------
commit 4ef630be3f781a45d0c50e5b67e5bb5ca65b0cae
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 14 14:33:19 2024 -0700

view_calendar.js: reduce overuse of let vs var

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 105 +++++++++++++++++++----------------
 1 file changed, 57 insertions(+), 48 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099479583</link><pubDate>Tue, 09 Jul 2024 18:40:07 +0500</pubDate><title>Implement as shorthand for document.getElementById()</title><guid isPermaLink="false">2099479583@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2a2945c6dbcde693ee3892ae711085cb80c79485 (commit)
      from  ea40421161fcb45787f9e7d6a122a4ef12545c10 (commit)


- Log -----------------------------------------------------------------
commit 2a2945c6dbcde693ee3892ae711085cb80c79485
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 9 15:40:04 2024 -0700

Implement  as shorthand for document.getElementById()

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/defs.js             |  2 ++
 webcit-ng/static/js/login.js            | 10 +++---
 webcit-ng/static/js/mail_folder_list.js | 10 +++---
 webcit-ng/static/js/main.js             | 24 +++++++-------
 webcit-ng/static/js/roomlist.js         | 10 +++---
 webcit-ng/static/js/upload.js           | 32 +++++++++---------
 webcit-ng/static/js/user_profile.js     |  2 +-
 webcit-ng/static/js/view_calendar.js    | 32 +++++++++---------
 webcit-ng/static/js/view_contacts.js    |  2 +-
 webcit-ng/static/js/view_forum.js       | 58 ++++++++++++++++-----------------
 webcit-ng/static/js/view_mail.js        | 58 ++++++++++++++++-----------------
 webcit-ng/static/js/views.js            | 29 ++++++++---------
 12 files changed, 134 insertions(+), 135 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099478699</link><pubDate>Tue, 02 Jul 2024 23:31:56 +0500</pubDate><title>Temporarily spew the parsed calendar data directly to the screen, erasing the pretty calendar, to make a point of the fact that we aren&#39;t yet handling timezones or recurrences yet.</title><guid isPermaLink="false">2099478699@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ea40421161fcb45787f9e7d6a122a4ef12545c10 (commit)
      from  33b725f8d4ccf411233d7b99dbc698fe724f8d53 (commit)


- Log -----------------------------------------------------------------
commit ea40421161fcb45787f9e7d6a122a4ef12545c10
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 2 20:31:54 2024 -0700

Temporarily spew the parsed calendar data directly to the screen, erasing the pretty calendar, to make a point of the fact that we aren't yet handling timezones or recurrences yet.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 48 +++++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 22 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099478503</link><pubDate>Mon, 01 Jul 2024 23:33:04 +0500</pubDate><title>First go at parsing the ical data and printing it.</title><guid isPermaLink="false">2099478503@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  33b725f8d4ccf411233d7b99dbc698fe724f8d53 (commit)
      from  3b10f8f460bf45163d48b72e2fe2a0ee56da3cc1 (commit)


- Log -----------------------------------------------------------------
commit 33b725f8d4ccf411233d7b99dbc698fe724f8d53
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 1 20:31:51 2024 -0700

First go at parsing the ical data and printing it.

Library seems to work and the timezone handling appears to be doing
the correct thing.  Now we have to sort the data into the right boxes
and also handle recurring events.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099478500</link><pubDate>Mon, 01 Jul 2024 23:10:05 +0500</pubDate><title>Integrated Philipp Kewisch&#39;s javascript libical</title><guid isPermaLink="false">2099478500@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  3b10f8f460bf45163d48b72e2fe2a0ee56da3cc1 (commit)
      from  b7cb88f234a681dcbaf2b596c91da23ed43ec4b4 (commit)


- Log -----------------------------------------------------------------
commit 3b10f8f460bf45163d48b72e2fe2a0ee56da3cc1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 1 20:09:51 2024 -0700

Integrated Philipp Kewisch's javascript libical

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html          |    1 +
 webcit-ng/static/js/ical.es5.cjs     | 9361 ++++++++++++++++++++++++++++++++++
 webcit-ng/static/js/view_calendar.js |    2 +-
 3 files changed, 9363 insertions(+), 1 deletion(-)
 create mode 100644 webcit-ng/static/js/ical.es5.cjs

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099478402</link><pubDate>Mon, 01 Jul 2024 16:00:24 +0500</pubDate><title>SetYear() is deprecated, replace with SetFullYear()</title><guid isPermaLink="false">2099478402@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b7cb88f234a681dcbaf2b596c91da23ed43ec4b4 (commit)
      from  c900ef8a76696a231bea4871f7cb4edf50b8a324 (commit)


- Log -----------------------------------------------------------------
commit b7cb88f234a681dcbaf2b596c91da23ed43ec4b4
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 1 13:00:22 2024 -0700

SetYear() is deprecated, replace with SetFullYear()

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099478389</link><pubDate>Mon, 01 Jul 2024 14:34:46 +0500</pubDate><title>Returning data from CalDAV to the caller.</title><guid isPermaLink="false">2099478389@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c900ef8a76696a231bea4871f7cb4edf50b8a324 (commit)
      from  4d8c2d864765e1eb13be80cd0a884091a3498551 (commit)


- Log -----------------------------------------------------------------
commit c900ef8a76696a231bea4871f7cb4edf50b8a324
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 1 11:34:44 2024 -0700

Returning data from CalDAV to the caller.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 76 ++++++++++++++++++------------------
 1 file changed, 37 insertions(+), 39 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099478258</link><pubDate>Sun, 30 Jun 2024 17:45:36 +0500</pubDate><title>Finished the code to extract XML CalDAV elements.</title><guid isPermaLink="false">2099478258@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4d8c2d864765e1eb13be80cd0a884091a3498551 (commit)
      from  644e1f6bbed031a37c60971e658cb5dc2414a160 (commit)


- Log -----------------------------------------------------------------
commit 4d8c2d864765e1eb13be80cd0a884091a3498551
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 30 14:45:32 2024 -0700

Finished the code to extract XML CalDAV elements.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099478253</link><pubDate>Sun, 30 Jun 2024 17:00:26 +0500</pubDate><title>Started working out the DOM XML PARSER</title><guid isPermaLink="false">2099478253@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  644e1f6bbed031a37c60971e658cb5dc2414a160 (commit)
      from  2cccb41c8d9f87059a83d035a4203141117d7385 (commit)


- Log -----------------------------------------------------------------
commit 644e1f6bbed031a37c60971e658cb5dc2414a160
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 30 14:00:24 2024 -0700

Started working out the DOM XML PARSER

And let me tell you, XML parsing in JavaScript is even uglier
than Big Mike.  Ok, that's an exaggeration.  Nothing is uglier than
Big Mike.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099478242</link><pubDate>Sun, 30 Jun 2024 15:48:19 +0500</pubDate><title>Big Mike is VERY ugly</title><guid isPermaLink="false">2099478242@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2cccb41c8d9f87059a83d035a4203141117d7385 (commit)
      from  abf9f43e0a92fd8f77d60b5937277c7e996249fb (commit)


- Log -----------------------------------------------------------------
commit 2cccb41c8d9f87059a83d035a4203141117d7385
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 30 12:48:17 2024 -0700

Big Mike is VERY ugly

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 8 +++++---
 webcit-ng/static/js/views.js         | 8 ++++----
 2 files changed, 9 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099478216</link><pubDate>Sun, 30 Jun 2024 11:54:49 +0500</pubDate><title>The -d flag isn&#39;t there anymore, don&#39;t offer it</title><guid isPermaLink="false">2099478216@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  abf9f43e0a92fd8f77d60b5937277c7e996249fb (commit)
      from  ec692096a08856c468d8b719b074f7f43f9c855c (commit)


- Log -----------------------------------------------------------------
commit abf9f43e0a92fd8f77d60b5937277c7e996249fb
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 30 08:54:47 2024 -0700

The -d flag isn't there anymore, don't offer it

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/server_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099477903</link><pubDate>Fri, 28 Jun 2024 21:39:15 +0500</pubDate><title>Message #2099477903</title><guid isPermaLink="false">2099477903@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The annotated tag, v1001 has been created
        at  4fd9d1445052ad3976fbacaad69cab3c247e9e35 (tag)
   tagging  ec692096a08856c468d8b719b074f7f43f9c855c (commit)
  replaces  v1000
 tagged by  Art Cancro
        on  Fri Jun 28 21:39:14 2024 -0400

- Log -----------------------------------------------------------------
Version 1001 release

Art Cancro (46):
      fix dlen
      put list-unsubscribe address in angle brackets
      dumploadtest.sh now requires YES_DELETE_MY_DATABASE to be set.
      ctdlload: don't count "end|" as a bad row
      I thought Richard Stallman was a douchebag before it was cool.
      Remove preprocessor tests for OpenSSL.  It's a requirement.
      Remove "Sharing" tab from WebCit-classic
      Calendar y/m/d navigation
      minor tuning to previous commit
      html_to_ascii() "ansi" parameter is now "flags" parameter.
      html_to_ascii.c : prepare to modernize!
      html_to_ascii: read the entire message in at once
      html_to_ascii: display alt text
      Don't run this, it has a bug
      html_to_ascii.c: major overhaul to buffer use.
      work on sixel support
      Still working on sixel
      random messing with text client
      Really just a commit test.
      Really just a commit test.
      Really just a commit test.
      Really just a commit test.
      Reduced hi_from_stu.wav by -20db
      Initial commit for calendar week view flexbox.
      Getting navigation in place for week view.
      Finally got the calendar navigation logic correct.
      Temp nav now includes view select.
      Now there are labels at the top.  Ho-ho-ho.
      Cleaned up ANSI Detect code.
      Fix ansi auto-detect
      Began work on dividing days into 24 hours
      NAILED IT!  Position calendar events within day.
      JavaScript template literals are awesome for this type of development and everyone should use them all the time.
      Calendar items are now properly positioned in day.
      Set event style modifications inline.
      Added horizontal rules for each hour.
      This commit adds the adorable little half hour lines.
      make the calendar section scrollable
      Simpler way to make it scrollable
      Push a little whitespace into the top left box
      Add the ability to zoom to a given range of hours.
      Removed accidental double declarations in CSS.
      Determine days to be loaded from server.
      fetching a command from the server, but not doing much yet
      webcit-classic: rework confusing LDAP settings.
      Release version 1001 generated by do-release.sh

-----------------------------------------------------------------------

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099477902</link><pubDate>Fri, 28 Jun 2024 21:39:14 +0500</pubDate><title>Release version 1001 generated by do-release.sh</title><guid isPermaLink="false">2099477902@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ec692096a08856c468d8b719b074f7f43f9c855c (commit)
      from  66b1e652c2360939e0472ae396fe5e213bf9a731 (commit)


- Log -----------------------------------------------------------------
commit ec692096a08856c468d8b719b074f7f43f9c855c
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jun 28 21:39:14 2024 -0400

Release version 1001 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel_defs.h | 2 +-
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 textclient/textclient.h       | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099477901</link><pubDate>Fri, 28 Jun 2024 21:39:06 +0500</pubDate><title>webcit-classic: rework confusing LDAP settings.</title><guid isPermaLink="false">2099477901@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  66b1e652c2360939e0472ae396fe5e213bf9a731 (commit)
      from  b73376f2ed601a27da51c72e988c1d103a5b7a79 (commit)


- Log -----------------------------------------------------------------
commit 66b1e652c2360939e0472ae396fe5e213bf9a731
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jun 28 21:35:57 2024 -0400

webcit-classic: rework confusing LDAP settings.

Somehow we ended up with WebCit-classic warning all site operators that
their Citadel software was built without LDAP support.  This is
impossible because LDAP support is now a mandatory part of the build.
Removed the warning message entirely along with the (broken) detection
logic.

Also moved the option for selecting authentication mode (self
contained, system, standard LDAP, or M$ LDAP) from the "Access" tab to
the "LDAP" tab, because it seems to make more sense there now.

-----------------------------------------------------------------------

Summary of changes:
 webcit/serv_func.c                                 | 13 ++-----------
 webcit/static/t/aide/siteconfig/tab_access.html    |  8 --------
 webcit/static/t/aide/siteconfig/tab_directory.html | 11 +++++++++--
 webcit/webcit.h                                    |  1 -
 4 files changed, 11 insertions(+), 22 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099477669</link><pubDate>Thu, 27 Jun 2024 23:11:23 +0500</pubDate><title>fetching a command from the server, but not doing much yet</title><guid isPermaLink="false">2099477669@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  b73376f2ed601a27da51c72e988c1d103a5b7a79 (commit)
      from  00c7a9a5bcd942f81d85f60eec22b290a449481b (commit)


- Log -----------------------------------------------------------------
commit b73376f2ed601a27da51c72e988c1d103a5b7a79
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 27 23:11:20 2024 -0400

fetching a command from the server, but not doing much yet

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099477536</link><pubDate>Thu, 27 Jun 2024 11:56:47 +0500</pubDate><title>Determine days to be loaded from server.</title><guid isPermaLink="false">2099477536@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  00c7a9a5bcd942f81d85f60eec22b290a449481b (commit)
      from  a32e517521994cfb4059f842ac8eeb9d23e92725 (commit)


- Log -----------------------------------------------------------------
commit 00c7a9a5bcd942f81d85f60eec22b290a449481b
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 27 11:56:35 2024 -0400

Determine days to be loaded from server.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099476229</link><pubDate>Tue, 18 Jun 2024 15:10:26 +0500</pubDate><title>Removed accidental double declarations in CSS.</title><guid isPermaLink="false">2099476229@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  a32e517521994cfb4059f842ac8eeb9d23e92725 (commit)
      from  de6e50c10401fe79ae6437eb39ff6f4eafe99d32 (commit)


- Log -----------------------------------------------------------------
commit a32e517521994cfb4059f842ac8eeb9d23e92725
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 18 12:06:45 2024 -0700

Removed accidental double declarations in CSS.

I know what you're thinking, punk.  Did he declare "width" two times,
or only once?  Now to tell you the truth, in all this excitement, I've
kinda lost track myself.  But being as this is HTML5, the most powerful
DOM level in the world, and only the last declaration is the one that
is accepted, you've got to ask yourself one question: "Do I feel
lucky?"  Well, do ya ... punk?

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      |  8 +-------
 webcit-ng/static/js/view_calendar.js | 10 +++++-----
 2 files changed, 6 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099476196</link><pubDate>Tue, 18 Jun 2024 11:28:05 +0500</pubDate><title>Add the ability to zoom to a given range of hours.</title><guid isPermaLink="false">2099476196@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  de6e50c10401fe79ae6437eb39ff6f4eafe99d32 (commit)
      from  05d21454442efe70db9d3f39137c67c269d9a503 (commit)


- Log -----------------------------------------------------------------
commit de6e50c10401fe79ae6437eb39ff6f4eafe99d32
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 18 08:25:38 2024 -0700

Add the ability to zoom to a given range of hours.

The entire day is rendered.  The start hour is moved to the top of the
screen by scrolling, and the end hour is moved to the bottom of the
screen by zooming.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      |  4 ++--
 webcit-ng/static/js/view_calendar.js | 22 +++++++++++++++-------
 2 files changed, 17 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099476119</link><pubDate>Mon, 17 Jun 2024 17:56:06 +0500</pubDate><title>Push a little whitespace into the top left box</title><guid isPermaLink="false">2099476119@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  05d21454442efe70db9d3f39137c67c269d9a503 (commit)
      from  ea089e196a9e5b08a0c33f822db3cfb2f7a01da2 (commit)


- Log -----------------------------------------------------------------
commit 05d21454442efe70db9d3f39137c67c269d9a503
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 17 17:56:04 2024 -0400

Push a little whitespace into the top left box

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 14 +++++++++++++-
 webcit-ng/static/js/view_calendar.js |  3 ++-
 2 files changed, 15 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099476114</link><pubDate>Mon, 17 Jun 2024 17:47:32 +0500</pubDate><title>Simpler way to make it scrollable</title><guid isPermaLink="false">2099476114@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ea089e196a9e5b08a0c33f822db3cfb2f7a01da2 (commit)
      from  dba9011b47d30a0e2a7d49811510964cc097a752 (commit)


- Log -----------------------------------------------------------------
commit ea089e196a9e5b08a0c33f822db3cfb2f7a01da2
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 17 17:47:30 2024 -0400

Simpler way to make it scrollable

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 6 ------
 webcit-ng/static/js/view_calendar.js | 2 --
 2 files changed, 8 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099476113</link><pubDate>Mon, 17 Jun 2024 17:46:07 +0500</pubDate><title>make the calendar section scrollable</title><guid isPermaLink="false">2099476113@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  dba9011b47d30a0e2a7d49811510964cc097a752 (commit)
      from  42d2d7141c8964defe37e7b43767984d690e619a (commit)


- Log -----------------------------------------------------------------
commit dba9011b47d30a0e2a7d49811510964cc097a752
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 17 17:46:05 2024 -0400

make the calendar section scrollable

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 11 ++++++++++-
 webcit-ng/static/js/view_calendar.js |  2 ++
 2 files changed, 12 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099475950</link><pubDate>Sat, 15 Jun 2024 22:46:39 +0500</pubDate><title>This commit adds the adorable little half hour lines.</title><guid isPermaLink="false">2099475950@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  42d2d7141c8964defe37e7b43767984d690e619a (commit)
      from  2dc3d25389d33cdb11d8e2e215e96e5449540df9 (commit)


- Log -----------------------------------------------------------------
commit 42d2d7141c8964defe37e7b43767984d690e619a
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 15 22:46:37 2024 -0400

This commit adds the adorable little half hour lines.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 14 +++++++++++++-
 webcit-ng/static/js/view_calendar.js | 12 ++++++++----
 2 files changed, 21 insertions(+), 5 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099475682</link><pubDate>Fri, 14 Jun 2024 00:10:50 +0500</pubDate><title>Added horizontal rules for each hour.</title><guid isPermaLink="false">2099475682@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  2dc3d25389d33cdb11d8e2e215e96e5449540df9 (commit)
      from  39f45a3eda708b111da9786494df66ca1fd247b4 (commit)


- Log -----------------------------------------------------------------
commit 2dc3d25389d33cdb11d8e2e215e96e5449540df9
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jun 14 00:10:47 2024 -0400

Added horizontal rules for each hour.

Also got the hour rules on the left to line up nicely.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 15 +++++++++++++--
 webcit-ng/static/js/view_calendar.js | 27 +++++++++++++++++----------
 2 files changed, 30 insertions(+), 12 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099475677</link><pubDate>Thu, 13 Jun 2024 23:42:12 +0500</pubDate><title>Set event style modifications inline.</title><guid isPermaLink="false">2099475677@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  39f45a3eda708b111da9786494df66ca1fd247b4 (commit)
      from  c3d2adffccea27c6ecc5937583a27012a623e9c9 (commit)


- Log -----------------------------------------------------------------
commit 39f45a3eda708b111da9786494df66ca1fd247b4
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 13 23:41:03 2024 -0400

Set event style modifications inline.

We were using javascript to set them after-the-fact but this is
faster and better.  Remember, nothing good EVER happens on Facebook
and you should delete your account if you have one.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 41 +++++++++++++++++++++++-------------
 1 file changed, 26 insertions(+), 15 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099475641</link><pubDate>Thu, 13 Jun 2024 18:07:16 +0500</pubDate><title>Calendar items are now properly positioned in day.</title><guid isPermaLink="false">2099475641@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  c3d2adffccea27c6ecc5937583a27012a623e9c9 (commit)
      from  4dd92507dce9c7618b2a1af524dbe552a803fc54 (commit)


- Log -----------------------------------------------------------------
commit c3d2adffccea27c6ecc5937583a27012a623e9c9
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 13 18:05:30 2024 -0400

Calendar items are now properly positioned in day.

Start and end hour now line up properly, overlapping events do not
reposition to a different time, and browser resizing does the right
thing.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 12 +++++++-----
 webcit-ng/static/js/view_calendar.js |  5 +++--
 2 files changed, 10 insertions(+), 7 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099475583</link><pubDate>Thu, 13 Jun 2024 11:54:17 +0500</pubDate><title>JavaScript template literals are awesome for this type of development and everyone should use them all the time.</title><guid isPermaLink="false">2099475583@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  4dd92507dce9c7618b2a1af524dbe552a803fc54 (commit)
      from  31041f90657e2606b0f19ea2c5ea6d431436d9e8 (commit)


- Log -----------------------------------------------------------------
commit 4dd92507dce9c7618b2a1af524dbe552a803fc54
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 13 11:54:15 2024 -0400

JavaScript template literals are awesome for this type of development and everyone should use them all the time.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      |  2 ++
 webcit-ng/static/js/view_calendar.js | 65 +++++++++++++++++++-----------------
 2 files changed, 36 insertions(+), 31 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099475256</link><pubDate>Tue, 11 Jun 2024 00:25:59 +0500</pubDate><title>NAILED IT! Position calendar events within day.</title><guid isPermaLink="false">2099475256@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  31041f90657e2606b0f19ea2c5ea6d431436d9e8 (commit)
      from  483d5e72b38e528e0139c8563d5914f7ba9d1b1d (commit)


- Log -----------------------------------------------------------------
commit 31041f90657e2606b0f19ea2c5ea6d431436d9e8
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 11 00:25:28 2024 -0400

NAILED IT!  Position calendar events within day.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css         | 11 +++++++
 webcit-ng/static/js/mail_folder_list.js |  2 +-
 webcit-ng/static/js/view_calendar.js    | 55 ++++++++++++++++++++++++++++++++-
 3 files changed, 66 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099475237</link><pubDate>Mon, 10 Jun 2024 17:49:39 +0500</pubDate><title>Began work on dividing days into 24 hours</title><guid isPermaLink="false">2099475237@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  483d5e72b38e528e0139c8563d5914f7ba9d1b1d (commit)
      from  d2fcb939c7eece5c2b73f023c0f508a32c2e11f5 (commit)


- Log -----------------------------------------------------------------
commit 483d5e72b38e528e0139c8563d5914f7ba9d1b1d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 10 17:49:23 2024 -0400

Began work on dividing days into 24 hours

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 16 +++++++++++++---
 webcit-ng/static/js/view_calendar.js |  2 +-
 2 files changed, 14 insertions(+), 4 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474542</link><pubDate>Tue, 04 Jun 2024 20:09:55 +0500</pubDate><title>Fix ansi auto-detect</title><guid isPermaLink="false">2099474542@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  d2fcb939c7eece5c2b73f023c0f508a32c2e11f5 (commit)
      from  df872824245f0f297fd205e78d78d61518d652b0 (commit)


- Log -----------------------------------------------------------------
commit d2fcb939c7eece5c2b73f023c0f508a32c2e11f5
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 4 20:09:53 2024 -0400

Fix ansi auto-detect

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474538</link><pubDate>Tue, 04 Jun 2024 19:51:51 +0500</pubDate><title>Cleaned up ANSI Detect code.</title><guid isPermaLink="false">2099474538@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  df872824245f0f297fd205e78d78d61518d652b0 (commit)
      from  44e888c6dc22d6c67d9e4ad917841885d7e7d3e6 (commit)


- Log -----------------------------------------------------------------
commit df872824245f0f297fd205e78d78d61518d652b0
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 4 19:51:44 2024 -0400

Cleaned up ANSI Detect code.

I was actually planning to go in and write this, only to find out
that it was already written exactly as I had planned, a long time
ago, by Michael Hampton (IO ERROR).  Rest in peace, buddy.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.rc |  2 +-
 textclient/commands.c | 77 +++++++++++++++++++++++++++------------------------
 2 files changed, 42 insertions(+), 37 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474443</link><pubDate>Mon, 03 Jun 2024 23:12:40 +0500</pubDate><title>Now there are labels at the top. Ho-ho-ho.</title><guid isPermaLink="false">2099474443@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  44e888c6dc22d6c67d9e4ad917841885d7e7d3e6 (commit)
      from  73faae5eac4469b33c1b61af791c736f2356bf5a (commit)


- Log -----------------------------------------------------------------
commit 44e888c6dc22d6c67d9e4ad917841885d7e7d3e6
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 3 23:12:36 2024 -0400

Now there are labels at the top.  Ho-ho-ho.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 34 +++++++++++++++++++++++++++++++++-
 webcit-ng/static/js/view_calendar.js | 33 +++++++++++++++++++++++++--------
 2 files changed, 58 insertions(+), 9 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474417</link><pubDate>Mon, 03 Jun 2024 17:33:28 +0500</pubDate><title>Temp nav now includes view select.</title><guid isPermaLink="false">2099474417@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  73faae5eac4469b33c1b61af791c736f2356bf5a (commit)
      from  bfe085749fb0e4322123f5f66c71acfdcec9cf30 (commit)


- Log -----------------------------------------------------------------
commit 73faae5eac4469b33c1b61af791c736f2356bf5a
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 3 17:33:25 2024 -0400

Temp nav now includes view select.

The temporary navigation buttons can now select a day view,
three day view, five day (work week) view, or seven day (week)
view.  Month view is not included because that will be a different
renderer.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 46 +++++++++++++++++++++++-------------
 1 file changed, 30 insertions(+), 16 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474410</link><pubDate>Mon, 03 Jun 2024 17:07:23 +0500</pubDate><title>Finally got the calendar navigation logic correct.</title><guid isPermaLink="false">2099474410@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  bfe085749fb0e4322123f5f66c71acfdcec9cf30 (commit)
      from  fa7cb8f73882562f0dd9e3a4c74d3b4cf985a961 (commit)


- Log -----------------------------------------------------------------
commit bfe085749fb0e4322123f5f66c71acfdcec9cf30
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 3 17:04:47 2024 -0400

Finally got the calendar navigation logic correct.

Something about the javascript date object makes instances of it
persist even when it goes out of scope and is reinitialized in the
next call.  I had to try a bunch of different methods before I found
one that went out of scope correctly.

But now it's working properly.  All of the temporary nav buttons
←Y | ←M | ←W | ←D | today | D→ | W→ | M→ | Y→
are doing what they are expected to do.

Next steps will be to pretty up the view and then populate it with
calendar data.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474305</link><pubDate>Sun, 02 Jun 2024 23:53:11 +0500</pubDate><title>Getting navigation in place for week view.</title><guid isPermaLink="false">2099474305@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  fa7cb8f73882562f0dd9e3a4c74d3b4cf985a961 (commit)
      from  9beb118acbd5258e85c98c206392e6eba44f8413 (commit)


- Log -----------------------------------------------------------------
commit fa7cb8f73882562f0dd9e3a4c74d3b4cf985a961
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 2 23:53:08 2024 -0400

Getting navigation in place for week view.

Week View is actually also Day View, because it's using a flexbox and
can display a arbitrary number of day columns.  So we will use 1 column
for day view, 5 columns for work week view, and 7 columns for week view.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_calendar.js | 64 ++++++++++++++++++++++--------------
 1 file changed, 39 insertions(+), 25 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474290</link><pubDate>Sun, 02 Jun 2024 21:09:47 +0500</pubDate><title>Initial commit for calendar week view flexbox.</title><guid isPermaLink="false">2099474290@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  9beb118acbd5258e85c98c206392e6eba44f8413 (commit)
      from  579f9980603aa5c1f6f5aad01551ace781538dbb (commit)


- Log -----------------------------------------------------------------
commit 9beb118acbd5258e85c98c206392e6eba44f8413
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 3 01:09:42 2024 +0000

Initial commit for calendar week view flexbox.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css      | 25 ++++++++++++++++++++
 webcit-ng/static/index.html          |  1 +
 webcit-ng/static/js/view_calendar.js | 45 +++++++++++++++++++++++++-----------
 webcit-ng/static/js/views.js         |  2 +-
 4 files changed, 58 insertions(+), 15 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474286</link><pubDate>Sun, 02 Jun 2024 20:55:42 +0500</pubDate><title>Reduced hi_from_stu.wav by -20db</title><guid isPermaLink="false">2099474286@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  579f9980603aa5c1f6f5aad01551ace781538dbb (commit)
      from  da5701d8ec39900e3f91039529d4a98287215d32 (commit)


- Log -----------------------------------------------------------------
commit 579f9980603aa5c1f6f5aad01551ace781538dbb
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 2 20:55:38 2024 -0400

Reduced hi_from_stu.wav by -20db

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/sounds/hi_from_stu.wav | Bin 77226 -> 67532 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474246</link><pubDate>Sun, 02 Jun 2024 15:55:16 +0500</pubDate><title>Re: Really just a commit test.</title><guid isPermaLink="false">2099474246@Uncensored</guid><description><![CDATA[<html><body>

<p>But, we are here and do read.</p>
<blockquote>
<div class="message_header"><span>Sun Jun 02 2024 15:47:41 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Really just a commit test.</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok there we go. I know only a few people read this room </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474243</link><pubDate>Sun, 02 Jun 2024 15:47:41 +0500</pubDate><title>Re: Really just a commit test.</title><guid isPermaLink="false">2099474243@Uncensored</guid><description><![CDATA[Ok there we go.  I know only a few people read this room but I like the idea
that someone is reading my commit messages because I pour my heart and soul
into them. 
  
 The way I just spent a week doing a major overhaul to the html_to_ascii converter
will probably be missed by almost everyone, because in the end I put the original
goal on kinda-sorta-hold.  It was to display sixel graphics in the terminal.
 And it works, too ... but only when certain conditions are met that I don't
feel like working around right now. 
  
 For those of you following along on the mailing list ... welcome back to
the family.  Please make sure to click on the "Not Spam" button if the bastards
at google put these messages into your spam folder. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099474239</link><pubDate>Sun, 02 Jun 2024 15:42:35 +0500</pubDate><title>Really just a commit test.</title><guid isPermaLink="false">2099474239@Uncensored</guid><description><![CDATA[
    The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  da5701d8ec39900e3f91039529d4a98287215d32 (commit)
      from  91d6aaf02742a88d273009f932bf2829864a1262 (commit)


- Log -----------------------------------------------------------------
commit da5701d8ec39900e3f91039529d4a98287215d32
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 2 19:42:33 2024 +0000

Really just a commit test.

I'm going to try to put commit messages back into the
Citadel Development room now that the communists at Google
have stopped throwing them into the spam bucket.

But I didn't like the format that the RSS feed was using
so I'm trying out my own commit hook.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099471566</link><pubDate>Thu, 16 May 2024 13:15:00 +0500</pubDate><title>DKIM and mailing lists</title><guid isPermaLink="false">2099471566@Uncensored</guid><description><![CDATA[<html><body>

<p>I added my goostapo mail account as a mailing list recipient for this room.</p>
<p>If I get the message, it ought to have the "One Click Unsubscribe" button available, because we generate those headers now, and they are DKIM-signed.</p>
<p>In general, Uncensored seems to be out of the "reject completely" filter and now simply in the "spam" inbox.  This is definitely because we started DKIM-signing messages today.</p>
<p>May those responsible at Goolag experience immense suffering as punishment for holding the world's mail hostage.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099469073</link><pubDate>Sat, 04 May 2024 19:26:31 +0500</pubDate><title>StrBufReplaceToken() set the null terminator correctly</title><guid isPermaLink="false">2099469073@Uncensored</guid><description><![CDATA[<html><head></head><body>StrBufReplaceToken() set the null terminator correctly<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=8ba44734a2550abbb8064727f720e34d511e422b">https://code.citadel.org?p=citadel.git;a=commitdiff;h=8ba44734a2550abbb8064727f720e34d511e422b</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099466169</link><pubDate>Fri, 26 Apr 2024 00:03:41 +0500</pubDate><title>DKIM-signed mail is coming to Citadel</title><guid isPermaLink="false">2099466169@Uncensored</guid><description><![CDATA[  
 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 leaving this nice bit
of code behind.  I'm in the process of updating it to C99 syntax.  After that
I have to change out the deprecated OpenSSL calls.  But even in its current
state it emits nice clean DKIM signatures and is easy to call. 
  
 And a big huge EAT SHIT AND DIE to the people at Google who are rejecting
our mail again, making this necessary. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099466159</link><pubDate>Fri, 19 Apr 2024 11:06:05 +0500</pubDate><title>Mailing list header changes (fuck you Google)</title><guid isPermaLink="false">2099466159@Uncensored</guid><description><![CDATA[<html><head></head><body>Mailing list header changes (fuck you Google)<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=99efe55958ebc96ab99b052dc67864ea1db64a62">https://code.citadel.org?p=citadel.git;a=commitdiff;h=99efe55958ebc96ab99b052dc67864ea1db64a62</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099465025</link><pubDate>Thu, 18 Apr 2024 22:45:52 +0500</pubDate><title>Changed how Message-ID RFC2822 field is generated</title><guid isPermaLink="false">2099465025@Uncensored</guid><description><![CDATA[<html><head></head><body>Changed how Message-ID RFC2822 field is generated<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=605133afb3d87139c657794d647c3a49df8b6a47">https://code.citadel.org?p=citadel.git;a=commitdiff;h=605133afb3d87139c657794d647c3a49df8b6a47</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099464630</link><pubDate>Tue, 16 Apr 2024 23:44:07 +0500</pubDate><title>some work on calendar</title><guid isPermaLink="false">2099464630@Uncensored</guid><description><![CDATA[<html><head></head><body>some work on calendar<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=e8e6d8ec8decd3c161a1a78273b1538fe8bdb88b">https://code.citadel.org?p=citadel.git;a=commitdiff;h=e8e6d8ec8decd3c161a1a78273b1538fe8bdb88b</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099464621</link><pubDate>Tue, 16 Apr 2024 19:25:41 +0500</pubDate><title>Calendar view: initial call of REPORT method.</title><guid isPermaLink="false">2099464621@Uncensored</guid><description><![CDATA[<html><head></head><body>Calendar view: initial call of REPORT method.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=fd9570c14521f696cccaaf8b8e7e0fa75cfddc2a">https://code.citadel.org?p=citadel.git;a=commitdiff;h=fd9570c14521f696cccaaf8b8e7e0fa75cfddc2a</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099464524</link><pubDate>Tue, 16 Apr 2024 15:20:35 +0500</pubDate><title>more noodling on backend detection</title><guid isPermaLink="false">2099464524@Uncensored</guid><description><![CDATA[<html><head></head><body>more noodling on backend detection<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=74104e1f70c837bfeec6e957ce7f84a4f969a0ed">https://code.citadel.org?p=citadel.git;a=commitdiff;h=74104e1f70c837bfeec6e957ce7f84a4f969a0ed</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099464423</link><pubDate>Tue, 16 Apr 2024 11:20:56 +0500</pubDate><title>Test for existing BDB files (not used yet)</title><guid isPermaLink="false">2099464423@Uncensored</guid><description><![CDATA[<html><head></head><body>Test for existing BDB files (not used yet)<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=892419cf4747c1c0abea8d1e9bed8ca692aed8eb">https://code.citadel.org?p=citadel.git;a=commitdiff;h=892419cf4747c1c0abea8d1e9bed8ca692aed8eb</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099448568</link><pubDate>Tue, 02 Apr 2024 18:39:30 +0500</pubDate><title>Began adding support for &lt;prop&gt; stanzas.</title><guid isPermaLink="false">2099448568@Uncensored</guid><description><![CDATA[<html><head></head><body>Began adding support for <prop> stanzas.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=fba52410c164f3bf45b35c1f34ad2d640ff5350e">https://code.citadel.org?p=citadel.git;a=commitdiff;h=fba52410c164f3bf45b35c1f34ad2d640ff5350e</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099448567</link><pubDate>Fri, 12 Apr 2024 12:15:57 +0500</pubDate><title>Fixed parsing of message-id angle brackets</title><guid isPermaLink="false">2099448567@Uncensored</guid><description><![CDATA[<html><head></head><body>Fixed parsing of message-id angle brackets<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=2e8a881302b3abfd12512e76fd122d0ef915feb1">https://code.citadel.org?p=citadel.git;a=commitdiff;h=2e8a881302b3abfd12512e76fd122d0ef915feb1</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099448566</link><pubDate>Fri, 12 Apr 2024 12:19:44 +0500</pubDate><title>Release version 999 generated by do-release.sh</title><guid isPermaLink="false">2099448566@Uncensored</guid><description><![CDATA[<html><head></head><body>Release version 999 generated by do-release.sh<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=541605cdd0604341440beaef64676bc9f8052b58">https://code.citadel.org?p=citadel.git;a=commitdiff;h=541605cdd0604341440beaef64676bc9f8052b58</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378897</link><pubDate>Thu, 28 Mar 2024 20:04:52 +0500</pubDate><title>Everyone who designed CalDAV deserves torture and ultra-violent death.</title><guid isPermaLink="false">2099378897@Uncensored</guid><description><![CDATA[<html><head></head><body>Everyone who designed CalDAV deserves torture and ultra-violent death.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=c5b99d2f192b2e157e1591c18042f9fdd37996f2">https://code.citadel.org?p=citadel.git;a=commitdiff;h=c5b99d2f192b2e157e1591c18042f9fdd37996f2</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378830</link><pubDate>Wed, 27 Mar 2024 16:24:04 +0500</pubDate><title>moved whitespace around</title><guid isPermaLink="false">2099378830@Uncensored</guid><description><![CDATA[<html><head></head><body>moved whitespace around<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=7df04bd286205d65e4a6f872dfddc0b8a519db32">https://code.citadel.org?p=citadel.git;a=commitdiff;h=7df04bd286205d65e4a6f872dfddc0b8a519db32</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378823</link><pubDate>Wed, 27 Mar 2024 16:09:55 +0500</pubDate><title>internet_addressing.c: minor cleanups</title><guid isPermaLink="false">2099378823@Uncensored</guid><description><![CDATA[<html><head></head><body>internet_addressing.c: minor cleanups<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=7cfac6940174927086a09b6e3b243b97e4be7128">https://code.citadel.org?p=citadel.git;a=commitdiff;h=7cfac6940174927086a09b6e3b243b97e4be7128</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378822</link><pubDate>Wed, 27 Mar 2024 16:14:41 +0500</pubDate><title>serv_notes.c: cleanup</title><guid isPermaLink="false">2099378822@Uncensored</guid><description><![CDATA[<html><head></head><body>serv_notes.c: cleanup<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=94267831ba06be96909f10cb64541a80ee93fc90">https://code.citadel.org?p=citadel.git;a=commitdiff;h=94267831ba06be96909f10cb64541a80ee93fc90</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378817</link><pubDate>Wed, 27 Mar 2024 15:43:06 +0500</pubDate><title>REPORT namespace output uses declaration defined on top</title><guid isPermaLink="false">2099378817@Uncensored</guid><description><![CDATA[<html><head></head><body>REPORT namespace output uses declaration defined on top<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=cf535e06bb503583c301683ea885220df1b276d5">https://code.citadel.org?p=citadel.git;a=commitdiff;h=cf535e06bb503583c301683ea885220df1b276d5</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378816</link><pubDate>Wed, 27 Mar 2024 15:56:30 +0500</pubDate><title>validate_recipients() - completed removal of unused param</title><guid isPermaLink="false">2099378816@Uncensored</guid><description><![CDATA[<html><head></head><body>validate_recipients() - completed removal of unused param<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=1d8bbd8d311dc3f70985d9087df4b499db9c4327">https://code.citadel.org?p=citadel.git;a=commitdiff;h=1d8bbd8d311dc3f70985d9087df4b499db9c4327</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378789</link><pubDate>Wed, 27 Mar 2024 11:47:55 +0500</pubDate><title>validate_recipients() remove extra copy of recipients</title><guid isPermaLink="false">2099378789@Uncensored</guid><description><![CDATA[<html><head></head><body>validate_recipients() remove extra copy of recipients<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=724bf4e35d6067c6646430953d685931b5f16b0c">https://code.citadel.org?p=citadel.git;a=commitdiff;h=724bf4e35d6067c6646430953d685931b5f16b0c</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378738</link><pubDate>Mon, 25 Mar 2024 16:04:23 +0500</pubDate><title>Handle start and end times together</title><guid isPermaLink="false">2099378738@Uncensored</guid><description><![CDATA[<html><head></head><body>Handle start and end times together<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=683446d905326f7d23de2c902880bc9fa8ef7d74">https://code.citadel.org?p=citadel.git;a=commitdiff;h=683446d905326f7d23de2c902880bc9fa8ef7d74</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378645</link><pubDate>Mon, 25 Mar 2024 15:27:27 +0500</pubDate><title>make it pretty</title><guid isPermaLink="false">2099378645@Uncensored</guid><description><![CDATA[<html><head></head><body>make it pretty<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=dc7628bd87467c18ac7c4a7e241d536a1d0ffb22">https://code.citadel.org?p=citadel.git;a=commitdiff;h=dc7628bd87467c18ac7c4a7e241d536a1d0ffb22</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378634</link><pubDate>Mon, 25 Mar 2024 13:58:29 +0500</pubDate><title>Completed time range search of recurring events.</title><guid isPermaLink="false">2099378634@Uncensored</guid><description><![CDATA[<html><head></head><body>Completed time range search of recurring events.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=3369975ea949c33c3eeb4a4668d5af402cb8781a">https://code.citadel.org?p=citadel.git;a=commitdiff;h=3369975ea949c33c3eeb4a4668d5af402cb8781a</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378484</link><pubDate>Fri, 22 Mar 2024 16:19:15 +0500</pubDate><title>xmpp_sasl_service.c: style cleanup</title><guid isPermaLink="false">2099378484@Uncensored</guid><description><![CDATA[<html><head></head><body>xmpp_sasl_service.c: style cleanup<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=0b83ae50f5442c82dc8fb11ad3322d90383e34d5">https://code.citadel.org?p=citadel.git;a=commitdiff;h=0b83ae50f5442c82dc8fb11ad3322d90383e34d5</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378466</link><pubDate>Fri, 22 Mar 2024 13:12:38 +0500</pubDate><title>Made this code more brief</title><guid isPermaLink="false">2099378466@Uncensored</guid><description><![CDATA[<html><head></head><body>Made this code more brief<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=473c0f696929fd377c125443fd92b1df65ddbc61">https://code.citadel.org?p=citadel.git;a=commitdiff;h=473c0f696929fd377c125443fd92b1df65ddbc61</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378455</link><pubDate>Fri, 22 Mar 2024 11:28:34 +0500</pubDate><title>Took ical_dezonify.c back out of WebCit-NG</title><guid isPermaLink="false">2099378455@Uncensored</guid><description><![CDATA[<html><head></head><body>Took ical_dezonify.c back out of WebCit-NG<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=b0ea3f3bd48ceacbd2cd254c84b4173dea2b6bfc">https://code.citadel.org?p=citadel.git;a=commitdiff;h=b0ea3f3bd48ceacbd2cd254c84b4173dea2b6bfc</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378408</link><pubDate>Thu, 21 Mar 2024 17:49:36 +0500</pubDate><title>Defined 19010101T010101Z-99991231T235959Z consts.</title><guid isPermaLink="false">2099378408@Uncensored</guid><description><![CDATA[<html><head></head><body>Defined 19010101T010101Z-99991231T235959Z consts.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=41966209672df12d0de6bcf5ec38628170f6c82a">https://code.citadel.org?p=citadel.git;a=commitdiff;h=41966209672df12d0de6bcf5ec38628170f6c82a</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378386</link><pubDate>Thu, 21 Mar 2024 14:50:21 +0500</pubDate><title>ical_ctdl_is_overlap.c: cleaned it up</title><guid isPermaLink="false">2099378386@Uncensored</guid><description><![CDATA[<html><head></head><body>ical_ctdl_is_overlap.c: cleaned it up<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=cf62d75a721b553e35bcbcc040dde194d69b87be">https://code.citadel.org?p=citadel.git;a=commitdiff;h=cf62d75a721b553e35bcbcc040dde194d69b87be</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378384</link><pubDate>Thu, 21 Mar 2024 14:56:45 +0500</pubDate><title>Re: Do not convert compared times to UTC.</title><guid isPermaLink="false">2099378384@Uncensored</guid><description><![CDATA[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 using "the local
time zone" when not told to use UTC, I created an event that included a completely
fictional time zone, then set the host's local time zone to a different one,
and the compare function still worked. 
  
 Then I found a function to tell me what the time zone ID of a time stamp
is; lo and behold, it showed the name of my fictional time zone!  Somehow
it's getting back to that data, or it's making another copy of it and embedding
it in the timestamp, or something.  Either way it removes a LOT of work from
what I have to do, and it saves me from having to go with the less-than-pretty
method of converting everything to UTC at the last moment. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378381</link><pubDate>Thu, 21 Mar 2024 14:30:29 +0500</pubDate><title>Do not convert compared times to UTC.</title><guid isPermaLink="false">2099378381@Uncensored</guid><description><![CDATA[<html><head></head><body>Do not convert compared times to UTC.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=a0bffa36078be5c70149923399fba348494d8e5c">https://code.citadel.org?p=citadel.git;a=commitdiff;h=a0bffa36078be5c70149923399fba348494d8e5c</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378377</link><pubDate>Thu, 21 Mar 2024 13:57:36 +0500</pubDate><title>Compare after convert works.  Saving.</title><guid isPermaLink="false">2099378377@Uncensored</guid><description><![CDATA[<html><head></head><body>Compare after convert works.  Saving.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=40a364d8cd88d0f2966b89a4ba618987485fddf1">https://code.citadel.org?p=citadel.git;a=commitdiff;h=40a364d8cd88d0f2966b89a4ba618987485fddf1</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378372</link><pubDate>Thu, 21 Mar 2024 13:11:36 +0500</pubDate><title>WARNING NOT Y10K COMPLIANT</title><guid isPermaLink="false">2099378372@Uncensored</guid><description><![CDATA[<html><head></head><body>WARNING NOT Y10K COMPLIANT<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=601d4c8f9e3fc42b74beb2e16d94a7e4a995aa1f">https://code.citadel.org?p=citadel.git;a=commitdiff;h=601d4c8f9e3fc42b74beb2e16d94a7e4a995aa1f</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378356</link><pubDate>Thu, 21 Mar 2024 11:54:37 +0500</pubDate><title>Changed &quot;supplied_xxx&quot; to &quot;xxx_in&quot; when we modify.</title><guid isPermaLink="false">2099378356@Uncensored</guid><description><![CDATA[<html><head></head><body>Changed "supplied_xxx" to "xxx_in" when we modify.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=fc3a564c7bba86a29503b39bdd8512801116e70e">https://code.citadel.org?p=citadel.git;a=commitdiff;h=fc3a564c7bba86a29503b39bdd8512801116e70e</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378277</link><pubDate>Wed, 20 Mar 2024 15:56:01 +0500</pubDate><title>ical_ctdl_is_overlap() is now symlinked 3 places.</title><guid isPermaLink="false">2099378277@Uncensored</guid><description><![CDATA[<html><head></head><body>ical_ctdl_is_overlap() is now symlinked 3 places.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=3292f7f60e2f42173b0b233e019ddc0df72d38fa">https://code.citadel.org?p=citadel.git;a=commitdiff;h=3292f7f60e2f42173b0b233e019ddc0df72d38fa</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378171</link><pubDate>Tue, 19 Mar 2024 19:44:05 +0500</pubDate><title>In webcit-classic, include webserver.h from webcit.h.</title><guid isPermaLink="false">2099378171@Uncensored</guid><description><![CDATA[<html><head></head><body>In webcit-classic, include webserver.h from webcit.h.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=8b3b916db46e22d83ba2740d4c09ef8c967263b2">https://code.citadel.org?p=citadel.git;a=commitdiff;h=8b3b916db46e22d83ba2740d4c09ef8c967263b2</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099378170</link><pubDate>Tue, 19 Mar 2024 19:56:32 +0500</pubDate><title>Bring ical_dezonify() into caldav_reports.c</title><guid isPermaLink="false">2099378170@Uncensored</guid><description><![CDATA[<html><head></head><body>Bring ical_dezonify() into caldav_reports.c<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=a88a550cf8b88924645686b5c2fea78c4e0bcb66">https://code.citadel.org?p=citadel.git;a=commitdiff;h=a88a550cf8b88924645686b5c2fea78c4e0bcb66</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376859</link><pubDate>Thu, 07 Mar 2024 11:29:15 +0500</pubDate><title>misc style cleanup</title><guid isPermaLink="false">2099376859@Uncensored</guid><description><![CDATA[<html><head></head><body>misc style cleanup<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=2bf4ae9ae7e2c80380b4c8369754b2b5fa455e52">https://code.citadel.org?p=citadel.git;a=commitdiff;h=2bf4ae9ae7e2c80380b4c8369754b2b5fa455e52</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376696</link><pubDate>Mon, 04 Mar 2024 17:14:05 +0500</pubDate><title>Only calculate ops/sec if time&gt;0</title><guid isPermaLink="false">2099376696@Uncensored</guid><description><![CDATA[<html><head></head><body>Only calculate ops/sec if time>0<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=d0fa5441a64b2ce2be78b3a72e726fa6b0c416cd">https://code.citadel.org?p=citadel.git;a=commitdiff;h=d0fa5441a64b2ce2be78b3a72e726fa6b0c416cd</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376693</link><pubDate>Mon, 04 Mar 2024 16:13:15 +0500</pubDate><title>Made a note to fix a divide-by-zero problem.</title><guid isPermaLink="false">2099376693@Uncensored</guid><description><![CDATA[<html><head></head><body>Made a note to fix a divide-by-zero problem.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=65a7033e4687ea08debbacd1d83a9d566c6796ab">https://code.citadel.org?p=citadel.git;a=commitdiff;h=65a7033e4687ea08debbacd1d83a9d566c6796ab</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376600</link><pubDate>Sat, 02 Mar 2024 19:02:46 +0500</pubDate><title>cal_zone means &quot;calendar timezone&quot; also &quot;calzone&quot;</title><guid isPermaLink="false">2099376600@Uncensored</guid><description><![CDATA[<html><head></head><body>cal_zone means "calendar timezone" also "calzone"<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=16408b0a369aa1c0645079ab40135306c6c9d551">https://code.citadel.org?p=citadel.git;a=commitdiff;h=16408b0a369aa1c0645079ab40135306c6c9d551</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376599</link><pubDate>Sat, 02 Mar 2024 19:13:17 +0500</pubDate><title>Moved default_zone_name declaration to webcit.h</title><guid isPermaLink="false">2099376599@Uncensored</guid><description><![CDATA[<html><head></head><body>Moved default_zone_name declaration to webcit.h<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=fe30785de2bb95829282525296016d3783e51d8f">https://code.citadel.org?p=citadel.git;a=commitdiff;h=fe30785de2bb95829282525296016d3783e51d8f</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376581</link><pubDate>Sat, 02 Mar 2024 16:36:54 +0500</pubDate><title>Smuggled classified secrets into this repository.</title><guid isPermaLink="false">2099376581@Uncensored</guid><description><![CDATA[<html><head></head><body>Smuggled classified secrets into this repository.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=16c0a868a43e20d7172692cda62d35f5100ac58e">https://code.citadel.org?p=citadel.git;a=commitdiff;h=16c0a868a43e20d7172692cda62d35f5100ac58e</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376316</link><pubDate>Tue, 27 Feb 2024 11:16:56 +0500</pubDate><title>Skeleton code for time-range test (section 9.9)</title><guid isPermaLink="false">2099376316@Uncensored</guid><description><![CDATA[<html><head></head><body>Skeleton code for time-range test (section 9.9)<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=29d91a0edee2565fd59b5b5a20963e73d528a5cf">https://code.citadel.org?p=citadel.git;a=commitdiff;h=29d91a0edee2565fd59b5b5a20963e73d528a5cf</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376283</link><pubDate>Mon, 26 Feb 2024 23:42:46 +0500</pubDate><title>I hope letitia james and arthur engoron get run over by a truck</title><guid isPermaLink="false">2099376283@Uncensored</guid><description><![CDATA[<html><head></head><body>I hope letitia james and arthur engoron get run over by a truck<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=2c1cfe66047a3a6618812688b8c43769602d48a9">https://code.citadel.org?p=citadel.git;a=commitdiff;h=2c1cfe66047a3a6618812688b8c43769602d48a9</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376276</link><pubDate>Mon, 26 Feb 2024 22:41:45 +0500</pubDate><title>added more trace messages</title><guid isPermaLink="false">2099376276@Uncensored</guid><description><![CDATA[<html><head></head><body>added more trace messages<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=02bffe90aa686b47878c060af52fd6da66721d9e">https://code.citadel.org?p=citadel.git;a=commitdiff;h=02bffe90aa686b47878c060af52fd6da66721d9e</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376275</link><pubDate>Mon, 26 Feb 2024 22:50:32 +0500</pubDate><title>Count nesting level only for comp-filters</title><guid isPermaLink="false">2099376275@Uncensored</guid><description><![CDATA[<html><head></head><body>Count nesting level only for comp-filters<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=59cf6823582d86ea826d3ed9625791da13d6f92b">https://code.citadel.org?p=citadel.git;a=commitdiff;h=59cf6823582d86ea826d3ed9625791da13d6f92b</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376245</link><pubDate>Mon, 26 Feb 2024 18:00:19 +0500</pubDate><title>Refining XML rules</title><guid isPermaLink="false">2099376245@Uncensored</guid><description><![CDATA[<html><head></head><body>Refining XML rules<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=9b800a70df384d28b050391002f53061ba824043">https://code.citadel.org?p=citadel.git;a=commitdiff;h=9b800a70df384d28b050391002f53061ba824043</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099376238</link><pubDate>Mon, 26 Feb 2024 17:37:20 +0500</pubDate><title>XML is like violence: if it doesn&#39;t work, you&#39;re not using enough.</title><guid isPermaLink="false">2099376238@Uncensored</guid><description><![CDATA[<html><head></head><body>XML is like violence: if it doesn't work, you're not using enough.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=747c2d11b3641e4dc4cc0033e96bb0266e074446">https://code.citadel.org?p=citadel.git;a=commitdiff;h=747c2d11b3641e4dc4cc0033e96bb0266e074446</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375951</link><pubDate>Thu, 22 Feb 2024 16:28:00 +0500</pubDate><title>Updated the text client command set help</title><guid isPermaLink="false">2099375951@Uncensored</guid><description><![CDATA[<html><head></head><body>Updated the text client command set help<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=ff8b822cefb034b780dc3c8b1f2c679191a168d9">https://code.citadel.org?p=citadel.git;a=commitdiff;h=ff8b822cefb034b780dc3c8b1f2c679191a168d9</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375904</link><pubDate>Wed, 21 Feb 2024 20:56:43 +0500</pubDate><title>Completed the first two filter tests.</title><guid isPermaLink="false">2099375904@Uncensored</guid><description><![CDATA[<html><head></head><body>Completed the first two filter tests.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=9053e2d882352050a3fd443ccfbaf321a0222b93">https://code.citadel.org?p=citadel.git;a=commitdiff;h=9053e2d882352050a3fd443ccfbaf321a0222b93</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375881</link><pubDate>Wed, 21 Feb 2024 14:49:17 +0500</pubDate><title>Made the log easier to read</title><guid isPermaLink="false">2099375881@Uncensored</guid><description><![CDATA[<html><head></head><body>Made the log easier to read<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=c6d2ec50d042dc1eee0944350694ff3510e5a606">https://code.citadel.org?p=citadel.git;a=commitdiff;h=c6d2ec50d042dc1eee0944350694ff3510e5a606</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375871</link><pubDate>Wed, 21 Feb 2024 12:28:11 +0500</pubDate><title>Try new strategy for CalDAV report filter parsing.</title><guid isPermaLink="false">2099375871@Uncensored</guid><description><![CDATA[<html><head></head><body>Try new strategy for CalDAV report filter parsing.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=44f538295c25a95abe146d64cecc321432170722">https://code.citadel.org?p=citadel.git;a=commitdiff;h=44f538295c25a95abe146d64cecc321432170722</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375831</link><pubDate>Wed, 21 Feb 2024 00:08:57 +0500</pubDate><title>I wish much death and suffering to Cyrus Daboo, Lisa M. Dusseault, and Bernard Desrui...</title><guid isPermaLink="false">2099375831@Uncensored</guid><description><![CDATA[<html><head></head><body>I wish much death and suffering to Cyrus Daboo, Lisa M. Dusseault, and Bernard Desrui...<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=2262587ffce0e5e41fa8daa09449c3cc0f7de3d1">https://code.citadel.org?p=citadel.git;a=commitdiff;h=2262587ffce0e5e41fa8daa09449c3cc0f7de3d1</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375828</link><pubDate>Tue, 20 Feb 2024 23:43:13 +0500</pubDate><title>Shorthand for the XML namespace</title><guid isPermaLink="false">2099375828@Uncensored</guid><description><![CDATA[<html><head></head><body>Shorthand for the XML namespace<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=ab43dc8da7d977206827b0f7a5ebcbbbedb2d557">https://code.citadel.org?p=citadel.git;a=commitdiff;h=ab43dc8da7d977206827b0f7a5ebcbbbedb2d557</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375780</link><pubDate>Tue, 20 Feb 2024 10:15:57 +0500</pubDate><title>Skeleton code for filters.</title><guid isPermaLink="false">2099375780@Uncensored</guid><description><![CDATA[<html><head></head><body>Skeleton code for filters.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=6f4c0c2ce695e96011b2a61815e25d16ebbffa85">https://code.citadel.org?p=citadel.git;a=commitdiff;h=6f4c0c2ce695e96011b2a61815e25d16ebbffa85</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375398</link><pubDate>Wed, 14 Feb 2024 13:16:33 +0500</pubDate><title>Completed framework for caldav_apply_one_filter()</title><guid isPermaLink="false">2099375398@Uncensored</guid><description><![CDATA[<html><head></head><body>Completed framework for caldav_apply_one_filter()<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=b71f6ba27ff81252619feaea6c5046e4502403df">https://code.citadel.org?p=citadel.git;a=commitdiff;h=b71f6ba27ff81252619feaea6c5046e4502403df</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375394</link><pubDate>Wed, 14 Feb 2024 12:03:02 +0500</pubDate><title>Filters defined in RFC4791 9.7.1-9.7.5: DRY ingest</title><guid isPermaLink="false">2099375394@Uncensored</guid><description><![CDATA[<html><head></head><body>Filters defined in RFC4791 9.7.1-9.7.5: DRY ingest<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=3a673adcc2ffde7ae38f14677efa288c4173d159">https://code.citadel.org?p=citadel.git;a=commitdiff;h=3a673adcc2ffde7ae38f14677efa288c4173d159</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375296</link><pubDate>Tue, 13 Feb 2024 17:31:28 +0500</pubDate><title>Yet another attempted framework for caldav filters.</title><guid isPermaLink="false">2099375296@Uncensored</guid><description><![CDATA[<html><head></head><body>Yet another attempted framework for caldav filters.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=f6edf9b754dcd04e8eab7fa53dc62b57ad5b14cc">https://code.citadel.org?p=citadel.git;a=commitdiff;h=f6edf9b754dcd04e8eab7fa53dc62b57ad5b14cc</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375190</link><pubDate>Mon, 12 Feb 2024 14:41:12 +0500</pubDate><title>Final changes to XML parser trace logging.</title><guid isPermaLink="false">2099375190@Uncensored</guid><description><![CDATA[<html><head></head><body>Final changes to XML parser trace logging.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=a58a2ebc498fe473e72adc8d544162bb3be16d64">https://code.citadel.org?p=citadel.git;a=commitdiff;h=a58a2ebc498fe473e72adc8d544162bb3be16d64</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375175</link><pubDate>Mon, 12 Feb 2024 11:09:23 +0500</pubDate><title>more logging and chardata stuff</title><guid isPermaLink="false">2099375175@Uncensored</guid><description><![CDATA[<html><head></head><body>more logging and chardata stuff<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=a39d89c87050f78dc04cf39c1d886d64abb7788a">https://code.citadel.org?p=citadel.git;a=commitdiff;h=a39d89c87050f78dc04cf39c1d886d64abb7788a</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375099</link><pubDate>Sun, 11 Feb 2024 00:47:21 +0500</pubDate><title>better logging presentation of chardata</title><guid isPermaLink="false">2099375099@Uncensored</guid><description><![CDATA[<html><head></head><body>better logging presentation of chardata<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=8a7c7e5bd5d65ec34b665579b1577be51fdde285">https://code.citadel.org?p=citadel.git;a=commitdiff;h=8a7c7e5bd5d65ec34b665579b1577be51fdde285</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375057</link><pubDate>Sat, 10 Feb 2024 14:17:33 +0500</pubDate><title>Improved logging of XML parse</title><guid isPermaLink="false">2099375057@Uncensored</guid><description><![CDATA[<html><head></head><body>Improved logging of XML parse<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=2d5504af09fb903b0a9bbd105481ba67c309d34d">https://code.citadel.org?p=citadel.git;a=commitdiff;h=2d5504af09fb903b0a9bbd105481ba67c309d34d</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099375008</link><pubDate>Fri, 09 Feb 2024 16:52:29 +0500</pubDate><title>Solved P=NP</title><guid isPermaLink="false">2099375008@Uncensored</guid><description><![CDATA[<html><head></head><body>Solved P=NP<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=eab56df5d120be5d474378f8536837d0abd43214">https://code.citadel.org?p=citadel.git;a=commitdiff;h=eab56df5d120be5d474378f8536837d0abd43214</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374953</link><pubDate>Thu, 08 Feb 2024 14:39:59 +0500</pubDate><title>Unified multistatus output for all REPORT outputs.</title><guid isPermaLink="false">2099374953@Uncensored</guid><description><![CDATA[<html><head></head><body>Unified multistatus output for all REPORT outputs.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=dd9248637b2d2d26c30ace03a97b2877c49af399">https://code.citadel.org?p=citadel.git;a=commitdiff;h=dd9248637b2d2d26c30ace03a97b2877c49af399</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374865</link><pubDate>Tue, 06 Feb 2024 20:43:19 +0500</pubDate><title>Moved multiget output into its own function.</title><guid isPermaLink="false">2099374865@Uncensored</guid><description><![CDATA[<html><head></head><body>Moved multiget output into its own function.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=20f4dc22b7a4100cb1cda8aaa9e8678bdffa58e3">https://code.citadel.org?p=citadel.git;a=commitdiff;h=20f4dc22b7a4100cb1cda8aaa9e8678bdffa58e3</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374815</link><pubDate>Tue, 06 Feb 2024 11:10:06 +0500</pubDate><title>ctdldump/ctdlload: add version number to banner</title><guid isPermaLink="false">2099374815@Uncensored</guid><description><![CDATA[<html><head></head><body>ctdldump/ctdlload: add version number to banner<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=f6a999b21a38678a1771eb5ba50d2912582acf30">https://code.citadel.org?p=citadel.git;a=commitdiff;h=f6a999b21a38678a1771eb5ba50d2912582acf30</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374792</link><pubDate>Mon, 05 Feb 2024 22:41:52 +0500</pubDate><title>Added context state to output of RWHO command.</title><guid isPermaLink="false">2099374792@Uncensored</guid><description><![CDATA[<html><head></head><body>Added context state to output of RWHO command.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=9a1be8e36d2c3398ebe4b2958beb9d7192d05503">https://code.citadel.org?p=citadel.git;a=commitdiff;h=9a1be8e36d2c3398ebe4b2958beb9d7192d05503</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374789</link><pubDate>Mon, 05 Feb 2024 22:19:05 +0500</pubDate><title>Release version 998 generated by do-release.sh</title><guid isPermaLink="false">2099374789@Uncensored</guid><description><![CDATA[<html><head></head><body>Release version 998 generated by do-release.sh<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=1f7b5e2f17d283971f718eced9fa83534c2a6c5d">https://code.citadel.org?p=citadel.git;a=commitdiff;h=1f7b5e2f17d283971f718eced9fa83534c2a6c5d</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374768</link><pubDate>Tue, 30 Jan 2024 21:59:50 +0500</pubDate><title>Giving up on doing citserver-side REPORT parsing.</title><guid isPermaLink="false">2099374768@Uncensored</guid><description><![CDATA[<html><head></head><body>Giving up on doing citserver-side REPORT parsing.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=c552978c0ea0ab081a32d7c29ba62d4c0e8aad60">https://code.citadel.org?p=citadel.git;a=commitdiff;h=c552978c0ea0ab081a32d7c29ba62d4c0e8aad60</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374767</link><pubDate>Mon, 05 Feb 2024 17:46:34 +0500</pubDate><title>Awesome sauce, read description below for details.</title><guid isPermaLink="false">2099374767@Uncensored</guid><description><![CDATA[<html><head></head><body>Awesome sauce, read description below for details.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=9f197d0b63b09d6cc295051016a5b549a65e8588">https://code.citadel.org?p=citadel.git;a=commitdiff;h=9f197d0b63b09d6cc295051016a5b549a65e8588</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374766</link><pubDate>Mon, 05 Feb 2024 17:53:23 +0500</pubDate><title>add a comment to the previous thing</title><guid isPermaLink="false">2099374766@Uncensored</guid><description><![CDATA[<html><head></head><body>add a comment to the previous thing<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=eba76cc4b6dbd7103ac5f5684871eeec5638c373">https://code.citadel.org?p=citadel.git;a=commitdiff;h=eba76cc4b6dbd7103ac5f5684871eeec5638c373</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374404</link><pubDate>Tue, 30 Jan 2024 21:12:26 +0500</pubDate><title>enabling http debugging because here comes caldav ugh</title><guid isPermaLink="false">2099374404@Uncensored</guid><description><![CDATA[<html><head></head><body>enabling http debugging because here comes caldav ugh<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=88c85ddb9e714faa214de6b103ed5bbf8d0bedea">https://code.citadel.org?p=citadel.git;a=commitdiff;h=88c85ddb9e714faa214de6b103ed5bbf8d0bedea</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374374</link><pubDate>Tue, 30 Jan 2024 14:07:44 +0500</pubDate><title>&quot;To hell with cloud. Run Citadel.&quot; --Taylor Swift</title><guid isPermaLink="false">2099374374@Uncensored</guid><description><![CDATA[<html><head></head><body>"To hell with cloud. Run Citadel." --Taylor Swift<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=b688cac3d673bdc0188107c8ab602ee313a3b792">https://code.citadel.org?p=citadel.git;a=commitdiff;h=b688cac3d673bdc0188107c8ab602ee313a3b792</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374255</link><pubDate>Tue, 30 Jan 2024 10:26:53 +0500</pubDate><title>CtdlCheckExpress() now accepts a session context.</title><guid isPermaLink="false">2099374255@Uncensored</guid><description><![CDATA[<html><head></head><body>CtdlCheckExpress() now accepts a session context.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=b41aa04a613aab95aa822238ed9671063f72a7b8">https://code.citadel.org?p=citadel.git;a=commitdiff;h=b41aa04a613aab95aa822238ed9671063f72a7b8</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374226</link><pubDate>Mon, 29 Jan 2024 21:43:56 +0500</pubDate><title>Re: Release version 997 generated by do-release.sh</title><guid isPermaLink="false">2099374226@Uncensored</guid><description><![CDATA[<html><body>

<p>Well that's a fine howdy-do, I tagged the release without also mentioning <em>why</em> I pushed it at this time.  This version has the config option to advertise STARTTLS on the public SMTP server.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374214</link><pubDate>Mon, 29 Jan 2024 18:57:09 +0500</pubDate><title>Release version 997 generated by do-release.sh</title><guid isPermaLink="false">2099374214@Uncensored</guid><description><![CDATA[<html><head></head><body>Release version 997 generated by do-release.sh<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=05abe4c6adfe1d12af53eba1e57046da8a038a88">https://code.citadel.org?p=citadel.git;a=commitdiff;h=05abe4c6adfe1d12af53eba1e57046da8a038a88</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374198</link><pubDate>Mon, 29 Jan 2024 15:26:37 +0500</pubDate><title>Indent with tabs, as God intended.</title><guid isPermaLink="false">2099374198@Uncensored</guid><description><![CDATA[<html><head></head><body>Indent with tabs, as God intended.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=7508496df78ca5da6d0f8cfb8811cc66620c60bb">https://code.citadel.org?p=citadel.git;a=commitdiff;h=7508496df78ca5da6d0f8cfb8811cc66620c60bb</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374192</link><pubDate>Mon, 29 Jan 2024 14:18:34 +0500</pubDate><title>databaselayout.md: added code blocks</title><guid isPermaLink="false">2099374192@Uncensored</guid><description><![CDATA[<html><head></head><body>databaselayout.md: added code blocks<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=1f89718b912eed9c18c504ffe83fd890ba8c3673">https://code.citadel.org?p=citadel.git;a=commitdiff;h=1f89718b912eed9c18c504ffe83fd890ba8c3673</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374189</link><pubDate>Mon, 29 Jan 2024 13:58:08 +0500</pubDate><title>binaries.txt: converted to markdown</title><guid isPermaLink="false">2099374189@Uncensored</guid><description><![CDATA[<html><head></head><body>binaries.txt: converted to markdown<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=865955ca0cfca75548026f3701662b7a7dad6ace">https://code.citadel.org?p=citadel.git;a=commitdiff;h=865955ca0cfca75548026f3701662b7a7dad6ace</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374179</link><pubDate>Mon, 29 Jan 2024 11:09:52 +0500</pubDate><title>Codified plans for world domination</title><guid isPermaLink="false">2099374179@Uncensored</guid><description><![CDATA[<html><head></head><body>Codified plans for world domination<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=bcffb8b3fb56f66a0fdc50cf57c4154e8bfb1dd0">https://code.citadel.org?p=citadel.git;a=commitdiff;h=bcffb8b3fb56f66a0fdc50cf57c4154e8bfb1dd0</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374157</link><pubDate>Sun, 28 Jan 2024 22:23:03 +0500</pubDate><title>Changed the BIGMSGS semantics.</title><guid isPermaLink="false">2099374157@Uncensored</guid><description><![CDATA[<html><head></head><body>Changed the BIGMSGS semantics.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=64ad1443540350c9570e98df9236c87c434a3cce">https://code.citadel.org?p=citadel.git;a=commitdiff;h=64ad1443540350c9570e98df9236c87c434a3cce</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374069</link><pubDate>Sat, 27 Jan 2024 12:27:57 +0500</pubDate><title>loadtest: default threads now 10</title><guid isPermaLink="false">2099374069@Uncensored</guid><description><![CDATA[<html><head></head><body>loadtest: default threads now 10<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=51c0c7fe81708028e1191bd6149c30707cd4c541">https://code.citadel.org?p=citadel.git;a=commitdiff;h=51c0c7fe81708028e1191bd6149c30707cd4c541</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374048</link><pubDate>Fri, 26 Jan 2024 19:09:34 +0500</pubDate><title>loadtest: added ops/sec meter</title><guid isPermaLink="false">2099374048@Uncensored</guid><description><![CDATA[<html><head></head><body>loadtest: added ops/sec meter<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=2cb169cbafa453a5010a26d568bb452bb2f14818">https://code.citadel.org?p=citadel.git;a=commitdiff;h=2cb169cbafa453a5010a26d568bb452bb2f14818</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374027</link><pubDate>Fri, 26 Jan 2024 16:51:39 +0500</pubDate><title>Assert that eMessageText MUST be serialized last.</title><guid isPermaLink="false">2099374027@Uncensored</guid><description><![CDATA[<html><head></head><body>Assert that eMessageText MUST be serialized last.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=cd6c194901557e9e068643d01d117a7824d36533">https://code.citadel.org?p=citadel.git;a=commitdiff;h=cd6c194901557e9e068643d01d117a7824d36533</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099374015</link><pubDate>Fri, 26 Jan 2024 13:14:02 +0500</pubDate><title>CtdlSerializeMessage() now returns struct smr_ret</title><guid isPermaLink="false">2099374015@Uncensored</guid><description><![CDATA[<html><head></head><body>CtdlSerializeMessage() now returns struct smr_ret<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=5d3c7139faafbfdc5db4b45bdf9ef7105d4593b1">https://code.citadel.org?p=citadel.git;a=commitdiff;h=5d3c7139faafbfdc5db4b45bdf9ef7105d4593b1</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373945</link><pubDate>Thu, 25 Jan 2024 11:37:39 +0500</pubDate><title>Rearranging code to prepare for multiple REPORT types</title><guid isPermaLink="false">2099373945@Uncensored</guid><description><![CDATA[<html><head></head><body>Rearranging code to prepare for multiple REPORT types<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=bcdcc6d9a5f4d5f1a86d1fc725a2ce787f1d92f8">https://code.citadel.org?p=citadel.git;a=commitdiff;h=bcdcc6d9a5f4d5f1a86d1fc725a2ce787f1d92f8</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373909</link><pubDate>Wed, 24 Jan 2024 19:26:14 +0500</pubDate><title>remove leading/trailing whitespace from hrefs</title><guid isPermaLink="false">2099373909@Uncensored</guid><description><![CDATA[<html><head></head><body>remove leading/trailing whitespace from hrefs<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=d2da635affb615a8687d24ad949b102a218c0762">https://code.citadel.org?p=citadel.git;a=commitdiff;h=d2da635affb615a8687d24ad949b102a218c0762</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373890</link><pubDate>Wed, 24 Jan 2024 17:19:23 +0500</pubDate><title>Noodling on calendar query commands.</title><guid isPermaLink="false">2099373890@Uncensored</guid><description><![CDATA[<html><head></head><body>Noodling on calendar query commands.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=3ddecda78a842d669c632d42cc81d987f031d882">https://code.citadel.org?p=citadel.git;a=commitdiff;h=3ddecda78a842d669c632d42cc81d987f031d882</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373883</link><pubDate>Wed, 24 Jan 2024 16:32:07 +0500</pubDate><title>Made our cproto output even more beautiful</title><guid isPermaLink="false">2099373883@Uncensored</guid><description><![CDATA[<html><head></head><body>Made our cproto output even more beautiful<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=538a328f269dc13399dfeeb7a0e80a89657aa213">https://code.citadel.org?p=citadel.git;a=commitdiff;h=538a328f269dc13399dfeeb7a0e80a89657aa213</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373875</link><pubDate>Wed, 24 Jan 2024 15:19:57 +0500</pubDate><title>Began refactoring CALDAV REPORT flow of control.</title><guid isPermaLink="false">2099373875@Uncensored</guid><description><![CDATA[<html><head></head><body>Began refactoring CALDAV REPORT flow of control.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=d837babd310852f5e1360b368fab8d59877939a1">https://code.citadel.org?p=citadel.git;a=commitdiff;h=d837babd310852f5e1360b368fab8d59877939a1</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373828</link><pubDate>Tue, 23 Jan 2024 20:22:33 +0500</pubDate><title>Don&#39;t bother reading this commit.</title><guid isPermaLink="false">2099373828@Uncensored</guid><description><![CDATA[<html><head></head><body>Don't bother reading this commit.<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=491081a15e7f711852a96cfb9396048b53a23a14">https://code.citadel.org?p=citadel.git;a=commitdiff;h=491081a15e7f711852a96cfb9396048b53a23a14</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373792</link><pubDate>Tue, 23 Jan 2024 11:18:41 +0500</pubDate><title>Blockquotes are now rendered to console as dim instead of italic</title><guid isPermaLink="false">2099373792@Uncensored</guid><description><![CDATA[<html><head></head><body>Blockquotes are now rendered to console as dim instead of italic<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=d383bc5305bc266d8ca34e61753bc47f7a2a83d4">https://code.citadel.org?p=citadel.git;a=commitdiff;h=d383bc5305bc266d8ca34e61753bc47f7a2a83d4</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373596</link><pubDate>Sat, 20 Jan 2024 11:01:04 +0500</pubDate><title>New config option: set smtp_advertise_starttls to nonzero to advertise STARTTLS in...</title><guid isPermaLink="false">2099373596@Uncensored</guid><description><![CDATA[<html><head></head><body>New config option: set smtp_advertise_starttls to nonzero to advertise STARTTLS in...<br><br>
<a href="https://code.citadel.org?p=citadel.git;a=commitdiff;h=ba196da6b1ae7bdd2e72558ff35fe17d8597d141">https://code.citadel.org?p=citadel.git;a=commitdiff;h=ba196da6b1ae7bdd2e72558ff35fe17d8597d141</a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373286</link><pubDate>Wed, 03 Jan 2024 18:58:45 +0500</pubDate><title>clarify terms in license</title><guid isPermaLink="false">2099373286@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373285</link><pubDate>Thu, 04 Jan 2024 15:54:40 +0500</pubDate><title>Wondering how we ever got by with narrow terminals</title><guid isPermaLink="false">2099373285@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373284</link><pubDate>Thu, 04 Jan 2024 16:32:31 +0500</pubDate><title>End support for libical &lt;2.0</title><guid isPermaLink="false">2099373284@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373283</link><pubDate>Thu, 04 Jan 2024 22:44:14 +0500</pubDate><title>serv_calendar.c: basically reformatting for modern standards</title><guid isPermaLink="false">2099373283@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373282</link><pubDate>Thu, 04 Jan 2024 22:47:35 +0500</pubDate><title>serv_calendar.c: basically reformatting for modern standards</title><guid isPermaLink="false">2099373282@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373281</link><pubDate>Thu, 04 Jan 2024 22:51:08 +0500</pubDate><title>dammit, learn to spell</title><guid isPermaLink="false">2099373281@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373280</link><pubDate>Fri, 05 Jan 2024 15:33:17 +0500</pubDate><title>serv_calendar.c: more formatting changes</title><guid isPermaLink="false">2099373280@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373279</link><pubDate>Fri, 05 Jan 2024 19:44:46 +0500</pubDate><title>Continuing the war against C89-style comments</title><guid isPermaLink="false">2099373279@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373278</link><pubDate>Fri, 05 Jan 2024 19:52:10 +0500</pubDate><title>That about wraps it up for serv_calendar.c</title><guid isPermaLink="false">2099373278@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373277</link><pubDate>Fri, 05 Jan 2024 20:22:18 +0500</pubDate><title>The little LEDs on the NanoPi blink when there is activity.</title><guid isPermaLink="false">2099373277@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373276</link><pubDate>Fri, 05 Jan 2024 20:49:15 +0500</pubDate><title>Can you tell I&#39;m REALLY avoiding another task right now?</title><guid isPermaLink="false">2099373276@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373275</link><pubDate>Fri, 05 Jan 2024 23:47:56 +0500</pubDate><title>This time I&#39;m waiting for the computer.</title><guid isPermaLink="false">2099373275@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373274</link><pubDate>Fri, 05 Jan 2024 23:51:03 +0500</pubDate><title>Still waiting...</title><guid isPermaLink="false">2099373274@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373273</link><pubDate>Fri, 05 Jan 2024 23:56:50 +0500</pubDate><title>Still waiting  for the computer.  Or rather, for other computers.</title><guid isPermaLink="false">2099373273@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373272</link><pubDate>Sat, 06 Jan 2024 00:01:38 +0500</pubDate><title>The damn thing finished.  Let&#39;s see what it did.</title><guid isPermaLink="false">2099373272@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373271</link><pubDate>Mon, 08 Jan 2024 15:19:58 +0500</pubDate><title>START_CHAT_MODE is renamed to SEND_THEN_RECV</title><guid isPermaLink="false">2099373271@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373270</link><pubDate>Mon, 08 Jan 2024 16:57:28 +0500</pubDate><title>Don&#39;t log each table open/close, just the whole operation</title><guid isPermaLink="false">2099373270@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373269</link><pubDate>Mon, 08 Jan 2024 21:29:16 +0500</pubDate><title>Experimenting with the code layout for calendar report handling.</title><guid isPermaLink="false">2099373269@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373268</link><pubDate>Wed, 10 Jan 2024 22:20:09 +0500</pubDate><title>move calendar prototypes around, add more with cproto</title><guid isPermaLink="false">2099373268@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373267</link><pubDate>Sun, 14 Jan 2024 03:04:16 +0500</pubDate><title>updated description</title><guid isPermaLink="false">2099373267@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373266</link><pubDate>Tue, 16 Jan 2024 09:53:08 +0500</pubDate><title>Message #2099373266</title><guid isPermaLink="false">2099373266@Uncensored</guid><description><![CDATA[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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099373090</link><pubDate>Sat, 13 Jan 2024 22:22:18 +0500</pubDate><title>Message #2099373090</title><guid isPermaLink="false">2099373090@Uncensored</guid><description><![CDATA[  
 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 do some casual browsing of the repository.  Share and Enjoy.

  
 Commits will be handled by SSH, just like they were before our brief experiment
with GitLab.  To be fair, I still like GitLab, but it's much too heavy a toolset
to be used by a site that just has one project on it and no CI/CD. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372878</link><pubDate>Wed, 10 Jan 2024 17:20:09 +0500</pubDate><title>move calendar prototypes around, add more with cproto</title><guid isPermaLink="false">2099372878@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372803</link><pubDate>Tue, 09 Jan 2024 22:59:22 +0500</pubDate><title>Re: START_CHAT_MODE is renamed to SEND_THEN_RECV</title><guid isPermaLink="false">2099372803@Uncensored</guid><description><![CDATA[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 laying out the plans for the "home data center" I thought
I would never need again ... I'm thinking multiple nodes and Kubernetes and
PVE and/or Ceph and all sorts of other complex things when I could probably
do better just running everything on one decent sized node. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372763</link><pubDate>Tue, 09 Jan 2024 12:11:06 +0500</pubDate><title>Re: START_CHAT_MODE is renamed to SEND_THEN_RECV</title><guid isPermaLink="false">2099372763@Uncensored</guid><description><![CDATA[<html><body>

<p>Understood, was just a passing thought since i live in the 'big world' and first thought is always scale..  Many of our apps get 100k + connections all day long. </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372752</link><pubDate>Tue, 09 Jan 2024 11:39:17 +0500</pubDate><title>Re: START_CHAT_MODE is renamed to SEND_THEN_RECV</title><guid isPermaLink="false">2099372752@Uncensored</guid><description><![CDATA[ >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 balancer. 
  
 Today, the hardware is so powerful that this need no longer exists.  We added
a requirement for Citadel Server and WebCit to run on the same host because
it makes TLS easy to deploy.  Both programs can point to the same key and
certificate files instead of having to get the components to trust each other
over the network and then send everything back and forth.  This is appreciated
by innumerable site operators who "just want it to work" -- sites which actually
exist in large numbers. 
  
 Moving the web API would increase performance and possibly decrease complexity.
 However, it would
be a major refactoring of the server code, which would be another year-long
side quest.  That's a bad thing when WebCit-NG is already years behind schedule.

  
 I've just begun work on the calendar.  This is arguably the most logic-intensive
part of the system and I want to keep it as DRY as possible.  This is involving
a lot of contemplation at a time when I really want to just get down to coding.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372704</link><pubDate>Mon, 08 Jan 2024 16:29:16 +0500</pubDate><title>Experimenting with the code layout for calendar report handling.</title><guid isPermaLink="false">2099372704@Uncensored</guid><description><![CDATA[<html><head></head><body>The goal is to provide calendar searches (date range etc) for both WebCit-NG
and for CALDAV REPORT method in a DRY way.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372694</link><pubDate>Mon, 08 Jan 2024 14:19:51 +0500</pubDate><title>Re: START_CHAT_MODE is renamed to SEND_THEN_RECV</title><guid isPermaLink="false">2099372694@Uncensored</guid><description><![CDATA[<html><body>

<p>That is a hard one. But keeping them separate might help with scalability? </p>
<blockquote>
<div class="message_header"><span>Mon Jan 08 2024 12:42:10 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: START_CHAT_MODE is renamed to SEND_THEN_RECV</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />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. <br /><br />*shrug* </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372689</link><pubDate>Mon, 08 Jan 2024 12:42:10 +0500</pubDate><title>Re: START_CHAT_MODE is renamed to SEND_THEN_RECV</title><guid isPermaLink="false">2099372689@Uncensored</guid><description><![CDATA[  
 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* 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372684</link><pubDate>Mon, 08 Jan 2024 11:57:28 +0500</pubDate><title>Don&#39;t log each table open/close, just the whole operation</title><guid isPermaLink="false">2099372684@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372680</link><pubDate>Mon, 08 Jan 2024 10:19:58 +0500</pubDate><title>START_CHAT_MODE is renamed to SEND_THEN_RECV</title><guid isPermaLink="false">2099372680@Uncensored</guid><description><![CDATA[<html><head></head><body>This protocol mode began almost 30 years ago when we handled real time chat by
holding a session open and moving data back and forth until told to stop.  We
don't do that anymore, but there are several places where a command requires
sending long data in both directions.  SEND_THEN_RECV is a better name for this.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372557</link><pubDate>Fri, 05 Jan 2024 19:01:38 +0500</pubDate><title>The damn thing finished.  Let&#39;s see what it did.</title><guid isPermaLink="false">2099372557@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372547</link><pubDate>Fri, 05 Jan 2024 18:47:56 +0500</pubDate><title>This time I&#39;m waiting for the computer.</title><guid isPermaLink="false">2099372547@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372546</link><pubDate>Fri, 05 Jan 2024 18:51:03 +0500</pubDate><title>Still waiting...</title><guid isPermaLink="false">2099372546@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372545</link><pubDate>Fri, 05 Jan 2024 18:56:50 +0500</pubDate><title>Still waiting  for the computer.  Or rather, for other computers.</title><guid isPermaLink="false">2099372545@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372535</link><pubDate>Fri, 05 Jan 2024 15:49:15 +0500</pubDate><title>Can you tell I&#39;m REALLY avoiding another task right now?</title><guid isPermaLink="false">2099372535@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372531</link><pubDate>Fri, 05 Jan 2024 15:22:18 +0500</pubDate><title>The little LEDs on the NanoPi blink when there is activity.</title><guid isPermaLink="false">2099372531@Uncensored</guid><description><![CDATA[<html><head></head><body>It's fun to watch.  It's fun to build on ARM first and try x86 later.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372525</link><pubDate>Fri, 05 Jan 2024 14:44:46 +0500</pubDate><title>Continuing the war against C89-style comments</title><guid isPermaLink="false">2099372525@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372524</link><pubDate>Fri, 05 Jan 2024 14:52:10 +0500</pubDate><title>That about wraps it up for serv_calendar.c</title><guid isPermaLink="false">2099372524@Uncensored</guid><description><![CDATA[<html><head></head><body>Seeing this code has really brought me back to the upstairs room
in my old house where I wrote most of it back in 2002-2003.  I can
see the sunlight coming in the windows, the color of the carpet,
the little alcove where the computer was, the cat sleeping on top
of the big CRT monitor.

Hopefully the stuff I need to add to it now will be straightforward
since it looks like I really took my time and commented it heavily.
It looks pretty clean, especially now that I've reformatted it with
the new screen width an C99 comments.  It does seem a bit WET though.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372509</link><pubDate>Fri, 05 Jan 2024 10:33:17 +0500</pubDate><title>serv_calendar.c: more formatting changes</title><guid isPermaLink="false">2099372509@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372473</link><pubDate>Thu, 04 Jan 2024 17:47:35 +0500</pubDate><title>serv_calendar.c: basically reformatting for modern standards</title><guid isPermaLink="false">2099372473@Uncensored</guid><description><![CDATA[<html><head></head><body>When I wrote this stuff I had a 109 column screen.  Now our standard
is 132 columns.  Also we are seeking and destroying any place where
spaces were used as indentation.  Our code is indented with tabs, the
way God intended.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372472</link><pubDate>Thu, 04 Jan 2024 17:51:08 +0500</pubDate><title>dammit, learn to spell</title><guid isPermaLink="false">2099372472@Uncensored</guid><description><![CDATA[<html><head></head><body>Many years ago, someone inserted an enum called eMesageText into the code
and used it all over the place without correcting the spelling.  This
commit finally fixes it.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372467</link><pubDate>Thu, 04 Jan 2024 17:44:14 +0500</pubDate><title>serv_calendar.c: basically reformatting for modern standards</title><guid isPermaLink="false">2099372467@Uncensored</guid><description><![CDATA[<html><head></head><body>When I wrote this stuff I had a 109 column screen.  Now our standard
is 132 columns.  Also we are seeking and destroying any place where
spaces were used as indentation.  Our code is indented with tabs, the
way God intended.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372446</link><pubDate>Thu, 04 Jan 2024 11:32:31 +0500</pubDate><title>End support for libical &lt;2.0</title><guid isPermaLink="false">2099372446@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372440</link><pubDate>Thu, 04 Jan 2024 10:54:40 +0500</pubDate><title>Wondering how we ever got by with narrow terminals</title><guid isPermaLink="false">2099372440@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372384</link><pubDate>Wed, 03 Jan 2024 13:58:45 +0500</pubDate><title>clarify terms in license</title><guid isPermaLink="false">2099372384@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372377</link><pubDate>Wed, 03 Jan 2024 13:34:06 +0500</pubDate><title>In case you haven&#39;t figured it out yet...</title><guid isPermaLink="false">2099372377@Uncensored</guid><description><![CDATA[<html><head></head><body>This is what I do when I'm avoiding some other task.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372376</link><pubDate>Wed, 03 Jan 2024 13:41:16 +0500</pubDate><title>dumploadtest.sh: added an exit 0 to the top of the script.</title><guid isPermaLink="false">2099372376@Uncensored</guid><description><![CDATA[<html><head></head><body>This is a testing script intended for developers.  The last thing
we need is for some dumbass to run it without knowing what it does,
and then come to us complaining that it deleted their database.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372371</link><pubDate>Wed, 03 Jan 2024 13:12:25 +0500</pubDate><title>style cleanup</title><guid isPermaLink="false">2099372371@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372370</link><pubDate>Wed, 03 Jan 2024 13:15:24 +0500</pubDate><title>Grammar change in the license declaration.</title><guid isPermaLink="false">2099372370@Uncensored</guid><description><![CDATA[<html><head></head><body>Many of the files say "use, duplication, or disclosure ARE subject
to..." but the common phrasing of this statement is apparently "use,
duplication, or disclosure IS subject to..."

We are already taking great delight in the fact that we are using the
GPL without using Stallman's preferred declaration of it.  And of course
we call it open source software.

When Steve Jobs died, Richard Stallman said "I'm not glad he's dead,
but I'm glad he's gone."  I agreed with him.  When Richard Stallman dies,
I will say "I'm not glad he's dead, but I'm glad he's gone."  But
when Bill Gates dies, I will be glad he's dead.  I will celebrate.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372364</link><pubDate>Wed, 03 Jan 2024 12:01:44 +0500</pubDate><title>More C99-style comments.</title><guid isPermaLink="false">2099372364@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372298</link><pubDate>Tue, 02 Jan 2024 16:57:06 +0500</pubDate><title>serv_func.c: simplify IDEN command</title><guid isPermaLink="false">2099372298@Uncensored</guid><description><![CDATA[<html><head></head><body>Remove parameters no longer used<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372297</link><pubDate>Tue, 02 Jan 2024 17:00:38 +0500</pubDate><title>The sooner we can put webcit-classic out to pasture the better.</title><guid isPermaLink="false">2099372297@Uncensored</guid><description><![CDATA[<html><head></head><body>Between its origin as a shitty web application that I built when I had
no idea what the hell I was doing, to all of the ways other people fucked
it up later, this thing needs to die.  As soon as possible.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372293</link><pubDate>Tue, 02 Jan 2024 16:38:07 +0500</pubDate><title>Utilities displaying a color banner now use line drawing characters to form a...</title><guid isPermaLink="false">2099372293@Uncensored</guid><description><![CDATA[<html><head></head><body>Utilities displaying a color banner now use line drawing characters to form a box instead of clearing to the end of the line with the background color.  The latter does not have the desired effect on all terminals.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372280</link><pubDate>Tue, 02 Jan 2024 13:42:38 +0500</pubDate><title>context.c: last_purge is local to dead_session_purge()</title><guid isPermaLink="false">2099372280@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372276</link><pubDate>Tue, 02 Jan 2024 13:21:39 +0500</pubDate><title>Changes to server session timeouts.</title><guid isPermaLink="false">2099372276@Uncensored</guid><description><![CDATA[<html><head></head><body>CLIENT_TIMEOUT was found in the header files but not used anywhere.  Removed.

dont_term was removed because it was not needed anywhere anymore.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372270</link><pubDate>Tue, 02 Jan 2024 13:07:33 +0500</pubDate><title>Remove sock_close and sock_shutdown &#39;portability&#39; defs.</title><guid isPermaLink="false">2099372270@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372269</link><pubDate>Tue, 02 Jan 2024 13:10:18 +0500</pubDate><title>It is the current year.  (c)-2024</title><guid isPermaLink="false">2099372269@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372193</link><pubDate>Sun, 31 Dec 2023 18:12:54 +0500</pubDate><title>serv_session.c: style update</title><guid isPermaLink="false">2099372193@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372192</link><pubDate>Sun, 31 Dec 2023 18:30:07 +0500</pubDate><title>Removed the dev_code, cli_code, and rev_level fields from the server session.</title><guid isPermaLink="false">2099372192@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372062</link><pubDate>Wed, 27 Dec 2023 18:45:03 +0500</pubDate><title>Starting to bring over calendar server code from webcit-classic.</title><guid isPermaLink="false">2099372062@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372044</link><pubDate>Wed, 27 Dec 2023 14:48:52 +0500</pubDate><title>view_calendar.js: finalized a fetch design pattern</title><guid isPermaLink="false">2099372044@Uncensored</guid><description><![CDATA[<html><head></head><body>This uses "fetch" followed by ".then" etc. etc. etc.
and is tuned to be a design pattern for future code<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099372041</link><pubDate>Wed, 27 Dec 2023 13:53:52 +0500</pubDate><title>calendar_view.c (from webcit-classic) : clean up</title><guid isPermaLink="false">2099372041@Uncensored</guid><description><![CDATA[<html><head></head><body>Style and comments cleanup.  Some of this code is going to get
copied over to WebCit-NG so we need to bring it up to our current
coding standards (K&amp;R, 1TBF, with C99-style comments)<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371762</link><pubDate>Fri, 22 Dec 2023 18:58:46 +0500</pubDate><title>Worked out the syntax for requesting a calendar range</title><guid isPermaLink="false">2099371762@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371734</link><pubDate>Fri, 22 Dec 2023 11:54:16 +0500</pubDate><title>moar skeleton</title><guid isPermaLink="false">2099371734@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371731</link><pubDate>Fri, 22 Dec 2023 11:39:42 +0500</pubDate><title>webcit.h: regenerated function prototypes using cproto</title><guid isPermaLink="false">2099371731@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371727</link><pubDate>Fri, 22 Dec 2023 11:24:19 +0500</pubDate><title>calendar_functions.c: added skeleton</title><guid isPermaLink="false">2099371727@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371723</link><pubDate>Fri, 22 Dec 2023 11:10:14 +0500</pubDate><title>room_functions.c: get_msglist() now returns Array</title><guid isPermaLink="false">2099371723@Uncensored</guid><description><![CDATA[<html><head></head><body>Previously it returned a long* which contained a list of longs.
Assembling this required the same allocation logic used in our
array class, so now we're just using the array class.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371719</link><pubDate>Fri, 22 Dec 2023 10:52:57 +0500</pubDate><title>Changed the arrangement of bytes in the universe</title><guid isPermaLink="false">2099371719@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371660</link><pubDate>Thu, 21 Dec 2023 16:27:31 +0500</pubDate><title>Updated copyright date in files where git blame shows 2023 mods</title><guid isPermaLink="false">2099371660@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371536</link><pubDate>Wed, 20 Dec 2023 12:13:03 +0500</pubDate><title>Added stub renderers for Calendar and Contacts rooms</title><guid isPermaLink="false">2099371536@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371530</link><pubDate>Wed, 20 Dec 2023 11:51:12 +0500</pubDate><title>views.js: convert strings to template literals</title><guid isPermaLink="false">2099371530@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371522</link><pubDate>Wed, 20 Dec 2023 10:50:53 +0500</pubDate><title>Found a place where 1TBS was not used, and fixed it.</title><guid isPermaLink="false">2099371522@Uncensored</guid><description><![CDATA[<html><head></head><body>1TBS is important.  People who do not use 1TBS are literally Hitler.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371484</link><pubDate>Tue, 19 Dec 2023 23:12:38 +0500</pubDate><title>I really like template literals.</title><guid isPermaLink="false">2099371484@Uncensored</guid><description><![CDATA[<html><head></head><body>And now that I know how to use them, I will be using more of them.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371483</link><pubDate>Tue, 19 Dec 2023 23:15:10 +0500</pubDate><title>More template literals.</title><guid isPermaLink="false">2099371483@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371479</link><pubDate>Tue, 19 Dec 2023 23:07:00 +0500</pubDate><title>Tuned up the CSS on more banner buttons</title><guid isPermaLink="false">2099371479@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371447</link><pubDate>Tue, 19 Dec 2023 17:09:21 +0500</pubDate><title>Make the font sizes less cartoonish at extreme viewport sizes</title><guid isPermaLink="false">2099371447@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371301</link><pubDate>Mon, 18 Dec 2023 14:26:30 +0500</pubDate><title>When forwarding an email, pre-load its attachments.</title><guid isPermaLink="false">2099371301@Uncensored</guid><description><![CDATA[<html><head></head><body>This completes the effort to server-side-preload the attachments from
the original message.  They appear as attachments in the forwarded copy
of the message in the composer, using the same API.  A lot of effort
went into making the 'attach' and 'forward attachments' functions DRY
with respect to each other.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371264</link><pubDate>Sun, 17 Dec 2023 23:39:00 +0500</pubDate><title>serv_smtpclient.c: style cleanup</title><guid isPermaLink="false">2099371264@Uncensored</guid><description><![CDATA[<html><head></head><body>Mostly just made stuff look nice in 132 columns<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371027</link><pubDate>Thu, 14 Dec 2023 11:30:52 +0500</pubDate><title>upload.c: completed the code to reload attachments.</title><guid isPermaLink="false">2099371027@Uncensored</guid><description><![CDATA[<html><head></head><body>Now we have an API call to load attachments from existing messages
instead of from the browser.  This is the server side API.  Still need
to integrate it into the client.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099371021</link><pubDate>Thu, 14 Dec 2023 10:29:02 +0500</pubDate><title>view_mail.js: don&#39;t list attachments in a quote or forward</title><guid isPermaLink="false">2099371021@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370980</link><pubDate>Wed, 13 Dec 2023 17:52:18 +0500</pubDate><title>upload.c: skeleton code for load_attachments_from_message()</title><guid isPermaLink="false">2099370980@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370976</link><pubDate>Wed, 13 Dec 2023 17:25:43 +0500</pubDate><title>uploads.c: made the syslog less verbose</title><guid isPermaLink="false">2099370976@Uncensored</guid><description><![CDATA[<html><head></head><body>Also documented the JSON return values in api.txt<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370938</link><pubDate>Wed, 13 Dec 2023 07:49:49 +0500</pubDate><title>Re: view_mail.js: more improvements to mail forwarding</title><guid isPermaLink="false">2099370938@Uncensored</guid><description><![CDATA[<html><body>

<p>While most of us like the old interface just fine ( unless we are stuck with a phone, and dont feel like doing imap  ), i know it does turn off some new comers.  Might not hurt to do something like that so they know the future is not vaporware... They might stick around, or at least make plans to come back.</p>
<blockquote>
<div class="message_header"><span>Tue Dec 12 2023 22:50:56 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: view_mail.js: more improvements to mail forwarding</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I can add one of those corny "preview our new user experience" buttons. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370911</link><pubDate>Tue, 12 Dec 2023 22:50:56 +0500</pubDate><title>Re: view_mail.js: more improvements to mail forwarding</title><guid isPermaLink="false">2099370911@Uncensored</guid><description><![CDATA[  
 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 let you hide
it!" 
  
 Select and multiselect are perfect.  Actually they have been since spring,
before I went on the "make the database not suck" side quest.  Drag to folders
is great.  Reply and quote are working beautifully.  Forwarding now looks
good, but it still needs to load the attachments from the message being forwarded.

  
 And of course the forums section was finished many months ago.  I wish I
had a way to get this work out to the user community, but it isn't viable
until it's complete, and there are large pieces of functionality (calendar,
contacts, blog, wiki, chat, settings) to
finish. 
  
 Perhaps after I get my new servers and migrate Uncensored to a container
I can add one of those corny "preview our new user experience" buttons.  That

 will be easier when it's running on Kubernetes because I can define a multi-container
pod, with one container being the standard Citadel image and the other being
a WebCit-NG container, both sharing the same /usr/local/citadel volume so
WebCit-NG can grab the SSL certificate and access the server socket.  That's
why it would have to be a multi-container pod and not two different pods:
for the socket to work, it has to be on the same host. 
  
 Hmmm ... there might also be a pod affinity feature in Kubernetes.  That
would work even better since I could upgrade and restart the WebCit-NG pod
without restarting Citadel Server. 
  
 Ok that's all for tonight.  Thanks for reading (or not reading) my train
of thought post. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370907</link><pubDate>Tue, 12 Dec 2023 22:15:17 +0500</pubDate><title>view_mail.js: more improvements to mail forwarding</title><guid isPermaLink="false">2099370907@Uncensored</guid><description><![CDATA[<html><head></head><body>* "Fwd:" instead of "Re:"
 * The "--- forwarded message ---" po string is carried over from webcit-classic
 * Make the editor aware that a message is being forwarded
 * TODO: load attachments from the message being forwarded<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370900</link><pubDate>Tue, 12 Dec 2023 21:21:19 +0500</pubDate><title>Keep the &quot;Attachments:&quot; button updated.</title><guid isPermaLink="false">2099370900@Uncensored</guid><description><![CDATA[<html><head></head><body>When an attachment is added or removed using the upload window,
also update the count in the button.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370897</link><pubDate>Tue, 12 Dec 2023 21:10:57 +0500</pubDate><title>&quot;Number of attachments&quot; div name is now variable.</title><guid isPermaLink="false">2099370897@Uncensored</guid><description><![CDATA[<html><head></head><body>Actually it's an array of strings, and the upload module will
update every div stored in there with the attachment count.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370588</link><pubDate>Thu, 07 Dec 2023 18:51:32 +0500</pubDate><title>view_mail.js: remove upload from local array when deleted.</title><guid isPermaLink="false">2099370588@Uncensored</guid><description><![CDATA[<html><head></head><body>This makes the Attachments: counter decrement correctly.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370580</link><pubDate>Thu, 07 Dec 2023 15:29:18 +0500</pubDate><title>view_mail.js: removed the is_quoted parameter.</title><guid isPermaLink="false">2099370580@Uncensored</guid><description><![CDATA[<html><head></head><body>is_quoted is now determined by whether quoted_msgnum is nonzero.
In mail, we always pull quote for replies.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370486</link><pubDate>Wed, 06 Dec 2023 16:20:40 +0500</pubDate><title>view_mail.js: fixed handling of references field</title><guid isPermaLink="false">2099370486@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370409</link><pubDate>Tue, 05 Dec 2023 15:51:52 +0500</pubDate><title>Message #2099370409</title><guid isPermaLink="false">2099370409@Uncensored</guid><description><![CDATA[  
 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 Server and max
out the load tester on it. 
  
 Today's test ran for four hours.  I had it "kill -11" the server process
every few minutes on a randomly timed basis.  The load tester ran 240 threads
and was configured to automatically restart whenever it lost the server. 
  
 By the end of the sandbox's lifetime, it had completed close to a million
transactions, with a few hundred "induced" server crashes and NO unintentional
server crashes ... and not one tiny bit of database corruption.  None.  Nada.
 Nunca.  Jamais.  I know I've said this a number of times before, but I am
just so damn satisfied with
how stable the database layer is in server >= 993 after last summer's effort
to make it more robust. 
  
 I'd be interested in hearing any feedback y'all might have on this.  My test
systems have been on AMD64 with both Linux and FreeBSD, and on ARM with Linux.
 Production is 32-bit x86 with Linux, and has also been completely stable.
 Does anyone have experience to report, either confirming or refuting that
we made an improvement? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370140</link><pubDate>Fri, 01 Dec 2023 14:15:35 +0500</pubDate><title>Re: serv_extensions.c: style cleanup from 30,000 feet</title><guid isPermaLink="false">2099370140@Uncensored</guid><description><![CDATA[ >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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370132</link><pubDate>Thu, 30 Nov 2023 09:07:12 +0500</pubDate><title>Converting recipient arrays to recipient strings:</title><guid isPermaLink="false">2099370132@Uncensored</guid><description><![CDATA[<html><head></head><body>Fixed the dedupe so it works before now, and
also made it DRY.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099370044</link><pubDate>Thu, 30 Nov 2023 08:20:09 +0500</pubDate><title>databaselayout.md: updated to remove networking</title><guid isPermaLink="false">2099370044@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369979</link><pubDate>Wed, 29 Nov 2023 11:32:02 +0500</pubDate><title>Fixing the parameters sent to the mail composer.</title><guid isPermaLink="false">2099369979@Uncensored</guid><description><![CDATA[<html><head></head><body>Reply/ReplyAll/Forward need some things that are not strings
and the source arrays seem to still be in scope, so we go with
that.  Need to tune this up some more.  Some things are still
missing, such as the references and reply msgnum.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369933</link><pubDate>Tue, 28 Nov 2023 18:52:36 +0500</pubDate><title>view_mail.js: make the Forward button appear.</title><guid isPermaLink="false">2099369933@Uncensored</guid><description><![CDATA[<html><head></head><body>Needs a lot of work.  Currently it is just a reply with no addressees filled in.
It needs to not quote the message, and carry over the attachments.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369930</link><pubDate>Tue, 28 Nov 2023 18:31:41 +0500</pubDate><title>&quot;make cc/bcc visible&quot; now makes BOTH visible.</title><guid isPermaLink="false">2099369930@Uncensored</guid><description><![CDATA[<html><head></head><body>Somewhere along the line it lost CC and only showed BCC.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369879</link><pubDate>Tue, 28 Nov 2023 09:17:51 +0500</pubDate><title>Re: serv_extensions.c: style cleanup from 30,000 feet</title><guid isPermaLink="false">2099369879@Uncensored</guid><description><![CDATA[<html><body>

<p>lol</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369862</link><pubDate>Tue, 28 Nov 2023 01:13:30 +0500</pubDate><title>Re: serv_extensions.c: style cleanup from 30,000 feet</title><guid isPermaLink="false">2099369862@Uncensored</guid><description><![CDATA[<html><body>

<p>git push from an airplane?  showoff</p>
<blockquote>
<div class="message_header"><span>Mon Nov 27 2023 11:43:38 EST</span> <span>from rss &lt;&gt; </span> <span class="message_subject">Subject: serv_extensions.c: style cleanup from 30,000 feet</span></div>
<div class="message_content">No, I'm not takin a broader view of the code. I'm actually on an airplane.<br /><br /> <br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369836</link><pubDate>Mon, 27 Nov 2023 11:43:38 +0500</pubDate><title>serv_extensions.c: style cleanup from 30,000 feet</title><guid isPermaLink="false">2099369836@Uncensored</guid><description><![CDATA[<html><head></head><body>No, I'm not takin a broader view of the code.  I'm actually on an airplane.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369471</link><pubDate>Tue, 21 Nov 2023 18:22:57 +0500</pubDate><title>mail view: focus the cursor in the correct place when composing</title><guid isPermaLink="false">2099369471@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369470</link><pubDate>Tue, 21 Nov 2023 18:26:46 +0500</pubDate><title>Focus on &quot;To:&quot; for new messages, body for replies.</title><guid isPermaLink="false">2099369470@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369460</link><pubDate>Tue, 21 Nov 2023 17:52:41 +0500</pubDate><title>Only attempt to insert quote when replying to mail.</title><guid isPermaLink="false">2099369460@Uncensored</guid><description><![CDATA[<html><head></head><body>Also do that after rendering the attachments window.
Doing it before doesn't work.
I don't know why.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369459</link><pubDate>Tue, 21 Nov 2023 17:55:03 +0500</pubDate><title>Restored the gap before the &quot;Hi From Stu&quot; sound.</title><guid isPermaLink="false">2099369459@Uncensored</guid><description><![CDATA[<html><head></head><body>Now I see why he put it there in the first place.
Some players (including the one in my browser) cut off
the first bit of sound.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369427</link><pubDate>Tue, 21 Nov 2023 09:41:18 +0500</pubDate><title>Removed temporary diagnostic output</title><guid isPermaLink="false">2099369427@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369386</link><pubDate>Mon, 20 Nov 2023 19:00:13 +0500</pubDate><title>upload.js: when removing an attachment, delete the div</title><guid isPermaLink="false">2099369386@Uncensored</guid><description><![CDATA[<html><head></head><body>This is handled the usual way, when we get a successful response from
the HTTP DELETE method, it triggers the removal of the list element
showing the attachment.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099369308</link><pubDate>Sun, 19 Nov 2023 13:39:12 +0500</pubDate><title>When a mail compose is canceled, flush all uploads.</title><guid isPermaLink="false">2099369308@Uncensored</guid><description><![CDATA[<html><head></head><body>Most of this was already in place.  We now just run through our upload
list and do an async DELETE operation for each one.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368650</link><pubDate>Thu, 09 Nov 2023 13:44:52 +0500</pubDate><title>upload.js: moved the delete-an-attachment skeleton code to its own function</title><guid isPermaLink="false">2099368650@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368396</link><pubDate>Mon, 06 Nov 2023 17:57:44 +0500</pubDate><title>Fixed the MIME boundary after the message text.</title><guid isPermaLink="false">2099368396@Uncensored</guid><description><![CDATA[<html><head></head><body>It had the trailing dashes in it, so it was getting interpreted as the end of the message.
Now that's corrected and the parsers of the world are happy.
Also, we eliminated the double-nesting thing, and everything is hunky dory now.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368388</link><pubDate>Mon, 06 Nov 2023 17:51:13 +0500</pubDate><title>Quoted-printable encode HTML messages on the WebCit Server side.</title><guid isPermaLink="false">2099368388@Uncensored</guid><description><![CDATA[<html><head></head><body>This allows us to do multipart with attachments without nested encoding.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368381</link><pubDate>Mon, 06 Nov 2023 16:56:55 +0500</pubDate><title>webcit-ng: fixed the way HTTP uploads are fed into the MIME Parser.</title><guid isPermaLink="false">2099368381@Uncensored</guid><description><![CDATA[<html><head></head><body>mime_parser() expects HEADERS+CONTENT but our h.request_body only contains CONTENT.
The fix: our transaction struct now has h.request_body_with_synth_headers that
begins with a synthetic Content-Type: header followed by a blank line and then the
request body.  h.request_body is now just a pointer into that buffer, starting at
the position where the actual body begins.

This gives us the ability to supply the body with or without headers, without having
to make two copies of it.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368324</link><pubDate>Mon, 06 Nov 2023 11:48:36 +0500</pubDate><title>Looks like I need to remove some optimization cancer from mime_parser.c, but...</title><guid isPermaLink="false">2099368324@Uncensored</guid><description><![CDATA[<html><head></head><body>Looks like I need to remove some optimization cancer from mime_parser.c, but first, a bit of style cleanup.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368323</link><pubDate>Mon, 06 Nov 2023 11:57:37 +0500</pubDate><title>considering nuclear weapons</title><guid isPermaLink="false">2099368323@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368316</link><pubDate>Mon, 06 Nov 2023 11:30:08 +0500</pubDate><title>Progress on upload</title><guid isPermaLink="false">2099368316@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368142</link><pubDate>Fri, 03 Nov 2023 17:34:07 +0500</pubDate><title>room_functions.c: remove diagnostic hex dump of recipient field</title><guid isPermaLink="false">2099368142@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368074</link><pubDate>Thu, 02 Nov 2023 20:13:46 +0500</pubDate><title>json.c: encode JSON strings the correct way (RFC 7159 section 7).</title><guid isPermaLink="false">2099368074@Uncensored</guid><description><![CDATA[<html><head></head><body>The previous code used the JavaScript encoder from the stringbuf library, which
is *not* the same encoding.  Now it doesn't make the browser's parser barf when
it encounters a control character.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099368067</link><pubDate>Thu, 02 Nov 2023 18:42:28 +0500</pubDate><title>War on old style continues.</title><guid isPermaLink="false">2099368067@Uncensored</guid><description><![CDATA[<html><head></head><body>I really ought to be writing some real code tonight.  But I get into a file and I see
old style and I want to make it clean and shiny and it's easier than the kind of heavy
brain work I should be doing.  When faced with a heavy think, I dawdle for a long time
before I really get started.  I've done this since I was a child.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099367824</link><pubDate>Mon, 30 Oct 2023 10:05:20 +0500</pubDate><title>stringbuf.c: chipped away at style modernization</title><guid isPermaLink="false">2099367824@Uncensored</guid><description><![CDATA[<html><head></head><body>This is a big one with a lot of outdated style in it.
Folded lines which were &gt;80 columns but &lt;132 columns.
Add {} braces to single-line conditional blocks.
Replaced C89 comments with C99 comments.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099367821</link><pubDate>Mon, 30 Oct 2023 09:49:24 +0500</pubDate><title>vcard.c: style cleanup</title><guid isPermaLink="false">2099367821@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099367670</link><pubDate>Fri, 27 Oct 2023 12:39:54 +0500</pubDate><title>Changed some C89 style comments to C99 style.</title><guid isPermaLink="false">2099367670@Uncensored</guid><description><![CDATA[<html><head></head><body>This is what I do when I'm slacking off and should be doing something useful.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099367658</link><pubDate>Fri, 27 Oct 2023 09:57:43 +0500</pubDate><title>removed an unused function</title><guid isPermaLink="false">2099367658@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099367293</link><pubDate>Sat, 21 Oct 2023 08:55:17 +0500</pubDate><title>Saving my place.</title><guid isPermaLink="false">2099367293@Uncensored</guid><description><![CDATA[<html><head></head><body>Note to self: there is something in the mailbox of admin@dev that is
causing the renderer to fail and the javascript console emits unhelpful
messages.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366964</link><pubDate>Mon, 16 Oct 2023 21:22:52 +0500</pubDate><title>loadtest: counters row offset from banner is definable</title><guid isPermaLink="false">2099366964@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366958</link><pubDate>Mon, 16 Oct 2023 20:53:17 +0500</pubDate><title>loadtest: counter position is now derived from thread id, not socket number.</title><guid isPermaLink="false">2099366958@Uncensored</guid><description><![CDATA[<html><head></head><body>This is what I was actually trying to accomplish a couple of commits ago.  I made
a race condition and that's why it was malfunctioning.  This way is better and it
works.  It also once shot a man in Reno just to watch him die.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366954</link><pubDate>Mon, 16 Oct 2023 20:34:59 +0500</pubDate><title>loadtest: paint the screen in a separate pass</title><guid isPermaLink="false">2099366954@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366937</link><pubDate>Mon, 16 Oct 2023 07:59:58 +0500</pubDate><title>loadtest: change display</title><guid isPermaLink="false">2099366937@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366936</link><pubDate>Mon, 16 Oct 2023 13:08:39 +0500</pubDate><title>Revert &quot;loadtest: change display&quot;</title><guid isPermaLink="false">2099366936@Uncensored</guid><description><![CDATA[<html><head></head><body>This reverts commit <a href="/citadel/citadel/-/commit/fdd4f3034903e50395e72acf74636e4cb12c2291" data-reference-type="commit" data-original="fdd4f3034903e50395e72acf74636e4cb12c2291" data-link="false" data-link-reference="false" data-project="4" data-commit="fdd4f3034903e50395e72acf74636e4cb12c2291" data-container="body" data-placement="top" title="loadtest: change display" class="gfm gfm-commit has-tooltip">fdd4f303</a>.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366935</link><pubDate>Mon, 16 Oct 2023 13:14:27 +0500</pubDate><title>tried some random cosmetic stuff and removed it</title><guid isPermaLink="false">2099366935@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366794</link><pubDate>Fri, 13 Oct 2023 07:45:30 +0500</pubDate><title>server/housekeeping.c: fix a small compiler warning</title><guid isPermaLink="false">2099366794@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366789</link><pubDate>Fri, 13 Oct 2023 12:32:40 +0500</pubDate><title>More progress on attaching attachments</title><guid isPermaLink="false">2099366789@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366690</link><pubDate>Wed, 11 Oct 2023 19:55:08 +0500</pubDate><title>messages.c: inching towards saving the attachments</title><guid isPermaLink="false">2099366690@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366681</link><pubDate>Wed, 11 Oct 2023 19:36:29 +0500</pubDate><title>Got multipart/mixed being transmitted</title><guid isPermaLink="false">2099366681@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366680</link><pubDate>Wed, 11 Oct 2023 19:44:05 +0500</pubDate><title>Don&#39;t try to destroy the upload window if it doesn&#39;t exist.</title><guid isPermaLink="false">2099366680@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366673</link><pubDate>Wed, 11 Oct 2023 18:58:46 +0500</pubDate><title>deactivate_uploads() hides the window.</title><guid isPermaLink="false">2099366673@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366615</link><pubDate>Wed, 11 Oct 2023 00:18:07 +0500</pubDate><title>broken: attachments window cannot be a child of the editor body</title><guid isPermaLink="false">2099366615@Uncensored</guid><description><![CDATA[<html><head></head><body>It causes the attachments window to be saved as part of the message text.
Oof.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366611</link><pubDate>Tue, 10 Oct 2023 23:37:48 +0500</pubDate><title>upload: reduce attachment identifiers to 9 characters.</title><guid isPermaLink="false">2099366611@Uncensored</guid><description><![CDATA[<html><head></head><body>Also switched from a unicode X to a fontawesome rounded-X for the
'remove attachment' button.  The unicode one was too big.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366599</link><pubDate>Tue, 10 Oct 2023 19:56:09 +0500</pubDate><title>move struct uploaded_file to webcit.h</title><guid isPermaLink="false">2099366599@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366270</link><pubDate>Fri, 06 Oct 2023 00:31:54 +0500</pubDate><title>loadtest: small file cleanup</title><guid isPermaLink="false">2099366270@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366264</link><pubDate>Fri, 06 Oct 2023 00:20:27 +0500</pubDate><title>upload DELETE method</title><guid isPermaLink="false">2099366264@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366261</link><pubDate>Fri, 06 Oct 2023 00:10:24 +0500</pubDate><title>Various operations in the /ctdl/p/ hierarchy to handle uploading of attachments</title><guid isPermaLink="false">2099366261@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366158</link><pubDate>Wed, 04 Oct 2023 18:34:10 +0500</pubDate><title>=?UTF-8?Q?=E2=9D=8C_marks_the_spot?=</title><guid isPermaLink="false">2099366158@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366143</link><pubDate>Wed, 04 Oct 2023 13:49:34 +0500</pubDate><title>upload.c: hold uploads in temporary file handles</title><guid isPermaLink="false">2099366143@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366142</link><pubDate>Wed, 04 Oct 2023 15:55:26 +0500</pubDate><title>uploads</title><guid isPermaLink="false">2099366142@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366046</link><pubDate>Tue, 03 Oct 2023 15:26:11 +0500</pubDate><title>api.txt: updated</title><guid isPermaLink="false">2099366046@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366045</link><pubDate>Tue, 03 Oct 2023 15:35:01 +0500</pubDate><title>upload: change REST path from /ctdl/a/upload/ to /ctdl/p/</title><guid isPermaLink="false">2099366045@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099366040</link><pubDate>Tue, 03 Oct 2023 14:50:06 +0500</pubDate><title>libcitadel/configure.in: renamed to configure.ac</title><guid isPermaLink="false">2099366040@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365840</link><pubDate>Sat, 30 Sep 2023 01:55:54 +0500</pubDate><title>upload.c: rename &quot;tempfilename&quot; to &quot;ref&quot;</title><guid isPermaLink="false">2099365840@Uncensored</guid><description><![CDATA[<html><head></head><body>This will hopefully discourage people from trying to play stupid tricks
involving guessing the filename and trying to escape the containment.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365836</link><pubDate>Sat, 30 Sep 2023 01:47:08 +0500</pubDate><title>upload.js: moved these functions into own file.</title><guid isPermaLink="false">2099365836@Uncensored</guid><description><![CDATA[<html><head></head><body>Good clean separation of functions.
This should allow us to handle uploads in lots of different places
in the system.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365833</link><pubDate>Sat, 30 Sep 2023 01:27:35 +0500</pubDate><title>array.c: minor changes to comments</title><guid isPermaLink="false">2099365833@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365730</link><pubDate>Thu, 28 Sep 2023 23:19:43 +0500</pubDate><title>Release version 996 generated by do-release.sh</title><guid isPermaLink="false">2099365730@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365722</link><pubDate>Thu, 28 Sep 2023 23:14:24 +0500</pubDate><title>Additional checks to keep zero-length messages from crashing the indexer.</title><guid isPermaLink="false">2099365722@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365588</link><pubDate>Wed, 27 Sep 2023 14:48:29 +0500</pubDate><title>uploads: return uploaded file info to caller</title><guid isPermaLink="false">2099365588@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365571</link><pubDate>Wed, 27 Sep 2023 12:29:16 +0500</pubDate><title>upload.c: more progress on returning values</title><guid isPermaLink="false">2099365571@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365501</link><pubDate>Wed, 27 Sep 2023 01:21:39 +0500</pubDate><title>do not require autoconf 2.71 wtf</title><guid isPermaLink="false">2099365501@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365496</link><pubDate>Wed, 27 Sep 2023 00:59:43 +0500</pubDate><title>serv_fulltext: don&#39;t try to index a null message</title><guid isPermaLink="false">2099365496@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365495</link><pubDate>Wed, 27 Sep 2023 00:59:55 +0500</pubDate><title>Release version 995 generated by do-release.sh</title><guid isPermaLink="false">2099365495@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365490</link><pubDate>Wed, 27 Sep 2023 00:44:05 +0500</pubDate><title>upload.c: write uploaded data to a temp file</title><guid isPermaLink="false">2099365490@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365489</link><pubDate>Wed, 27 Sep 2023 00:49:53 +0500</pubDate><title>textclient: makefile no longer leaves behind test compiles</title><guid isPermaLink="false">2099365489@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365254</link><pubDate>Tue, 26 Sep 2023 01:13:35 +0500</pubDate><title>view_mail.js: throbber and &quot;Processing dropped files...&quot; message appears</title><guid isPermaLink="false">2099365254@Uncensored</guid><description><![CDATA[<html><head></head><body>"Processing dropped files..." is not exactly the right message because
the upload message might have been clicked, but I don't want to throw
away the translations of that message.

Anyway, it's really cool, they appear in the list, and go away when the
uploads are complete.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365249</link><pubDate>Tue, 26 Sep 2023 00:47:52 +0500</pubDate><title>view_mail.js: make the function names more consistent with webcit</title><guid isPermaLink="false">2099365249@Uncensored</guid><description><![CDATA[<html><head></head><body>(They were previously the same names used in the example, natch)
Also we're incrementing num_attachments<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365245</link><pubDate>Tue, 26 Sep 2023 00:35:17 +0500</pubDate><title>Simplify the upload dialog.</title><guid isPermaLink="false">2099365245@Uncensored</guid><description><![CDATA[<html><head></head><body>Reduce the number of divs and make it more generic.  Allow the upload dialog to
be attached to any parent div.  Make the dialog appear automatically when a file
is dragged into the parent div.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365239</link><pubDate>Mon, 25 Sep 2023 23:44:10 +0500</pubDate><title>view_mail.js: move upload dialog from ctdl_big_modal to ctdl-upload</title><guid isPermaLink="false">2099365239@Uncensored</guid><description><![CDATA[<html><head></head><body>Uploads now have their own div in their own separate modal.
This is, of course, because I am trying to loosely couple the uploader so
that it can be attached to other parts of the system when needed.

Also I realized that my div names are ctdl-not ctdl_consistent with each other.
Trying to fix that.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365226</link><pubDate>Mon, 25 Sep 2023 23:13:59 +0500</pubDate><title>upload.c: stub function for accepting uploads</title><guid isPermaLink="false">2099365226@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365157</link><pubDate>Mon, 25 Sep 2023 11:57:34 +0500</pubDate><title>view_mail.js: more progress on upload dialog</title><guid isPermaLink="false">2099365157@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365045</link><pubDate>Sun, 24 Sep 2023 18:00:37 +0500</pubDate><title>view_mail.js: convert ugly syntax to heredocs</title><guid isPermaLink="false">2099365045@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365044</link><pubDate>Sun, 24 Sep 2023 18:07:18 +0500</pubDate><title>Improving my template-literal-fu</title><guid isPermaLink="false">2099365044@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099365027</link><pubDate>Sun, 24 Sep 2023 16:38:48 +0500</pubDate><title>Close attachments window on Cancel</title><guid isPermaLink="false">2099365027@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099364817</link><pubDate>Sat, 23 Sep 2023 17:28:05 +0500</pubDate><title>view_mail.js: show/hide attachments screen, added title bar style and close b...</title><guid isPermaLink="false">2099364817@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099364777</link><pubDate>Sat, 23 Sep 2023 15:30:57 +0500</pubDate><title>loadtest: use a random password</title><guid isPermaLink="false">2099364777@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099364663</link><pubDate>Sat, 23 Sep 2023 01:25:41 +0500</pubDate><title>Message #2099364663</title><guid isPermaLink="false">2099364663@Uncensored</guid><description><![CDATA[<html><body>

<p>FreeBSD's default MTA does appear to support LMTP, but there is no documentation in making it use LMTP as opposed to just writing files to disk.</p>
<blockquote>
<div class="message_header"><span>Sat Sep 23 2023 00:13:27 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok, so it has to stay, then. Does sendmail not support LMTP? </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099364650</link><pubDate>Sat, 23 Sep 2023 00:13:27 +0500</pubDate><title>Message #2099364650</title><guid isPermaLink="false">2099364650@Uncensored</guid><description><![CDATA[Ok, so it has to stay, then.  Does sendmail not support LMTP? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099364353</link><pubDate>Thu, 21 Sep 2023 11:42:32 +0500</pubDate><title>Message #2099364353</title><guid isPermaLink="false">2099364353@Uncensored</guid><description><![CDATA[<html><body>

<p>FreeBSD's periodic scripts invoke sendmail.  The sendmail subsystem then invokes some sort of sendmail-like program, by default it's sendmail.  I configured the sendmail subsystem to invoke citmail.  So ya, it's still needed for FreeBSD installations who want their system maintenance scripts to put stuff in Citadel.</p>
<blockquote>
<div class="message_header"><span>Thu Sep 21 2023 10:05:14 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />*sigh* <br /><br />Another day, another person who won't listen. <br /><br />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 it has been received by some third-party MTA such as Postfix or Sendmail. <br />However, Citadel has for a long time offered an LMTP socket, and I believe all modern MTAs can use LMTP to drop local mail to local users. <br /><br />So what I'm looking for is someone to say "You're correct about that, IG; spawning a process to invoke the MDA is sooooo 20 years ago and nobody does it that way anymore" so that I can discontinue `citmail` entirely. <br /><br />(The number of sites using Citadel Server with a third party MTA is vanishingly small to begin with -- but not zero.) </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099364322</link><pubDate>Thu, 21 Sep 2023 10:05:14 +0500</pubDate><title>Message #2099364322</title><guid isPermaLink="false">2099364322@Uncensored</guid><description><![CDATA[  
 *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 it has been received by some third-party MTA such as Postfix or Sendmail.
 However, Citadel has for a long time offered an LMTP socket, and I believe
all modern MTAs can use LMTP to drop local mail to local users. 
  
 So what I'm looking for is someone to say "You're correct about that, IG;
spawning a process to invoke the MDA is sooooo 20 years ago and nobody does
it that way anymore" so that I can discontinue `citmail` entirely. 
  
 (The number of sites using Citadel Server with a third party MTA is vanishingly
small to begin with -- but not zero.) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099364010</link><pubDate>Tue, 19 Sep 2023 19:31:15 +0500</pubDate><title>Attachment download links target to _blank</title><guid isPermaLink="false">2099364010@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363991</link><pubDate>Tue, 19 Sep 2023 17:26:13 +0500</pubDate><title>Attachments now download with the appropriate filename.</title><guid isPermaLink="false">2099363991@Uncensored</guid><description><![CDATA[<html><head></head><body>This was accomplished by disregarding any REST components to the right of
the part number, allowing the filename to be placed there.  The filename is
sanitized to prevent script injection.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363987</link><pubDate>Tue, 19 Sep 2023 17:02:38 +0500</pubDate><title>view_mail.js: better display of attachment links; attachments are now working</title><guid isPermaLink="false">2099363987@Uncensored</guid><description><![CDATA[<html><head></head><body>Displaying each one as a link definitely makes it stand out from the message text.
Display the size of each attachment --   _(bytes) is already in the webcit-classic translations
Downloads are working, but the wrong file name is derived<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363946</link><pubDate>Tue, 19 Sep 2023 13:11:05 +0500</pubDate><title>Where gettimeofday() is required, include both time.h and sys/time.h</title><guid isPermaLink="false">2099363946@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363941</link><pubDate>Tue, 19 Sep 2023 12:06:49 +0500</pubDate><title>Re: Write server PID to citadel.lock in addition to locking it.</title><guid isPermaLink="false">2099363941@Uncensored</guid><description><![CDATA[  
 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 freaking amazed
at how stable the database has become once we switched to the mmap-backed
environment ... I still can't make it go corrupt no matter how hard I try.)

  
 On a regular machine, or in a jail, `/var/run` is in the right place, and
does the right thing. 
  
 In a container ... `/var/run` will not be in the same persistent volume as
the database.  That means someone could accidentally start up two containers
that have different `/var/run` but the same `/usr/local/citadel/data` with
catastrophic results. 
  
 I'm tossing around a couple of ideas: 
  
 * Writing the pid file to both $ctdldir/citadel.lock
*and* /var/run/citserver.pid 
  
 * Making /var/run/citserver.pid a symbolic link to $ctdldir/citadel.lock

  
 I really don't want to make the containerized version harder to use. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363848</link><pubDate>Mon, 18 Sep 2023 23:22:50 +0500</pubDate><title>Re: Write server PID to citadel.lock in addition to locking it.</title><guid isPermaLink="false">2099363848@Uncensored</guid><description><![CDATA[<html><body>

<p>FreeBSD Jails are the way we run multiple instances of stuffs on the same machine these days.  Oh, I need 6 instances of MariaDB?  I'll just create a few jails and call it a day.</p>
<p>The font is Monofur Nerd Font, as you can see in the attached screenshot.</p>
<blockquote>
<div class="message_header"><span>Mon Sep 18 2023 23:04:32 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Write server PID to citadel.lock in addition to locking it.</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Whoa, what font is that ?!! <br /><br />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 nowadays that is still a thing, with everyone now having virtual machines and jails and containers and all sorts of other ways to isolate multiple workloads on the same machine. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363842</link><pubDate>Mon, 18 Sep 2023 23:04:32 +0500</pubDate><title>Re: Write server PID to citadel.lock in addition to locking it.</title><guid isPermaLink="false">2099363842@Uncensored</guid><description><![CDATA[  
 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 nowadays that is still a thing, with everyone
now having virtual machines and jails and containers and all sorts of other
ways to isolate multiple workloads on the same machine. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363835</link><pubDate>Mon, 18 Sep 2023 22:50:53 +0500</pubDate><title>Re: Write server PID to citadel.lock in addition to locking it.</title><guid isPermaLink="false">2099363835@Uncensored</guid><description><![CDATA[<html><body>

<p>PID files are usually in /var/run and are suffixed with "pid" as seen in the attached screenshot of my /var/run</p>
<blockquote>
<div class="message_header"><span>Mon Sep 18 2023 10:21:10 EDT</span> <span>from rss &lt;&gt; </span> <span class="message_subject">Subject: Write server PID to citadel.lock in addition to locking it.</span></div>
<div class="message_content">This will be useful for systems like FreeBSD that need to know a PID to monitor.<br /><br /> <br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363794</link><pubDate>Mon, 18 Sep 2023 16:13:50 +0500</pubDate><title>Message #2099363794</title><guid isPermaLink="false">2099363794@Uncensored</guid><description><![CDATA[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 profile, and then use that as your password.  You can edit .git/config
and 
set up your creds like this:
 
 https://username:token@code.citadel.org/etc/etc/etc
 
 This gives you the ability to commit without typing in your password every
time,
but without having to store your cleartext password on your dev machine. 
And of
course you can revoke the token at any time.
 
 Share And Enjoy
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363786</link><pubDate>Mon, 18 Sep 2023 16:37:02 +0500</pubDate><title>removed some verbage, but really a git test</title><guid isPermaLink="false">2099363786@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363778</link><pubDate>Mon, 18 Sep 2023 10:32:05 +0500</pubDate><title>Additional memory allocated since startup: %d bytes message now identical to ...</title><guid isPermaLink="false">2099363778@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363770</link><pubDate>Mon, 18 Sep 2023 10:21:10 +0500</pubDate><title>Write server PID to citadel.lock in addition to locking it.</title><guid isPermaLink="false">2099363770@Uncensored</guid><description><![CDATA[<html><head></head><body>This will be useful for systems like FreeBSD that need to know a PID to monitor.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363656</link><pubDate>Sun, 17 Sep 2023 21:19:56 +0500</pubDate><title>Fixed build failure induced by the new version of autoconf.</title><guid isPermaLink="false">2099363656@Uncensored</guid><description><![CDATA[<html><head></head><body>Die in a hail of capitalist machine gun fire, Richard Stallman.
Communism is straight from hell and so are you.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363642</link><pubDate>Sun, 17 Sep 2023 20:29:16 +0500</pubDate><title>I have no words to describe the fuckery I am trying to reverse-enginner here....</title><guid isPermaLink="false">2099363642@Uncensored</guid><description><![CDATA[<html><head></head><body>I have no words to describe the fuckery I am trying to reverse-enginner here.  Ever heard of COMMENTS?<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363286</link><pubDate>Sat, 16 Sep 2023 12:30:12 +0500</pubDate><title>Message #2099363286</title><guid isPermaLink="false">2099363286@Uncensored</guid><description><![CDATA[  
 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.  :( 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363282</link><pubDate>Sat, 16 Sep 2023 13:12:25 +0500</pubDate><title>Sanitize better.  &quot;&amp;&quot; is handled before &quot;&lt;&quot; and &quot;&gt;&quot; so it doesn&#39;t sanitize th...</title><guid isPermaLink="false">2099363282@Uncensored</guid><description><![CDATA[<html><head></head><body>Sanitize better.  "&amp;" is handled before "&lt;" and "&gt;" so it doesn't sanitize the &amp;gt; and &amp;lt; ampersands.

Ampersands are awesome.  They look a lot like treble clefs, don't they?  Actually they hate each other.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363064</link><pubDate>Fri, 15 Sep 2023 23:04:27 +0500</pubDate><title>webcit: sanitize instant messages against XSS type stuff</title><guid isPermaLink="false">2099363064@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099363063</link><pubDate>Fri, 15 Sep 2023 23:05:02 +0500</pubDate><title>Release version 994 generated by do-release.sh</title><guid isPermaLink="false">2099363063@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099362996</link><pubDate>Fri, 15 Sep 2023 19:43:46 +0500</pubDate><title>Obsolete sys/time.h and HAVE_TIME_WITH_SYS_TIME</title><guid isPermaLink="false">2099362996@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099362982</link><pubDate>Fri, 15 Sep 2023 19:19:48 +0500</pubDate><title>cdb_chmod_data() : don&#39;t make so much noise unless there was an error</title><guid isPermaLink="false">2099362982@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099361023</link><pubDate>Sat, 09 Sep 2023 16:19:13 +0500</pubDate><title>Suppress noise during configure</title><guid isPermaLink="false">2099361023@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099361022</link><pubDate>Sat, 09 Sep 2023 15:10:04 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099361022@Uncensored</guid><description><![CDATA[<html><body>

<p>While i am super rusty, if we need a non-prod FBSD install to beat on, i can always prop-up a VM.</p>
<p>I installed it on that 'box of crap' not long ago out of desperation, and enough memories did come back so i was able to get it to install ok, and some add-ons.  Tho i wouldn't be able to use it for its purpose in life due to some missing python stuff :(.  But then it promptly crashed under load. .Just like Linux/windows does . </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099361019</link><pubDate>Sat, 09 Sep 2023 15:07:28 +0500</pubDate><title>Message #2099361019</title><guid isPermaLink="false">2099361019@Uncensored</guid><description><![CDATA[
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 https://easyinstall.citadel.org/db-18.1.40.tar.gz | tar xvzf -
 cd ./db-18.1.40/build_unix
 ../dist/configure --prefix=/usr/local --with-cryptography=no --disable-hash --disable-heap --disable-queue --disable-replication 
--disable-statistics --with-uniquename=_ctdl --enable-static --disable-shared --disable-compat185 --disable-cxx --disable-debug   
--disable-dump185 --disable-java --disable-tcl --disable-test --without-rpm
 make
 make install_lib
 make install_include
 make install_utilities
 
 (you've got Berkeley DB now)
 
 git clone https://code.citadel.org/citadel/citadel.git
 cd citadel/libcitadel
 export CFLAGS="-g
-I/usr/local/include"
 export LDFLAGS="-L/usr/local/lib"
 ./bootstrap
 ./configure
 gmake
 gmake install
 
 (you've got libcitadel now)
  cd ../citadel
 ./configure --ctdldir=/usr/local/citadel  # ignore the error about crypt.h, that was a test
 gmake
 gmake install  # it seems to install even though it says "inappropriate file type or format"
 
 (you've got Citadel Server now)
 
 cd ../textclient
 ./configure
 gmake
 gmake install
 
 (you've got the text mode client now)
 
 cd ../webcit
 ./bootstrap
 ./configure --prefix=/usr/local/webcit
 gmake
 gmake install
 
 (you've got webcit now)
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099361007</link><pubDate>Sat, 09 Sep 2023 14:39:25 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099361007@Uncensored</guid><description><![CDATA[<html><body>

<p>I am not.  What is the secret incantation that makes it build on FreeBSD?</p>
<blockquote>
<div class="message_header"><span>Fri Sep 08 2023 22:41:47 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Removed background and restart from citserver.</span></div>
<div class="message_content">
<p>Kitty -- I hope you're having good results on FreeBSD -- please let me know if it works for you.</p>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360935</link><pubDate>Fri, 08 Sep 2023 22:41:47 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099360935@Uncensored</guid><description><![CDATA[<html><body>

<p>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.</p>
<p>Kitty -- I hope you're having good results on FreeBSD -- please let me know if it works for you.</p>
<p>I've got a test running right now with the load tester running in an auto-restarting loop in one window, and in the other window Citadel Server is running under timeout(1) so it automatically dies from signal 9 after 20-30 seconds.  It's been running for close to an hour now, and no matter how catastrophically I make the server die, the database recovers cleanly on the next startup every time.  My faith in BDB's recoverability has been restored.  I'm just wondering whether we've been using it wrong for the last 20+ years (doubtful, considering LS's substantial talent at this sort of thing) or if some change came along later and silently made it wrong.</p>
<p>Anyway, the purpose of this exercise was originally to prepare for moving away from BDB, and we are in a position to add new backends now ... but then I unexpectedly made the BDB backend more or less bulletproof during a late-night coding and testing binge.  And so, here is the NEW plan.</p>
<p>1. I am not going to begin working on the LMDB backend at this time.  I want to spend my time on WebCit-NG.</p>
<p>2. If anyone wants to work on a backend of any type (LMDB, SQL, whatever) I'll be happy to provide whatever support you need, including modifications to the interface if needed.</p>
<p>3. Naturally, if any stability/durability issues are reported, fixing them will take first priority.</p>
<p>4. I'll do my best to keep everything buildable on FreeBSD.  It'll still require gcc and gmake for the time being, but as of right now it does work.</p>
<p>I'm trying to line up new hardware to run my stuff on.  Hopefully soon.  That'll be when I finally move Uncensored to a 64-bit system.  I'll proably run the container version.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360908</link><pubDate>Fri, 08 Sep 2023 21:51:54 +0500</pubDate><title>validate_recipients(): don&#39;t send mail to user 0</title><guid isPermaLink="false">2099360908@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360877</link><pubDate>Fri, 08 Sep 2023 19:59:00 +0500</pubDate><title>serv_expire: remove two TRACE directives I left in there by accident</title><guid isPermaLink="false">2099360877@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360694</link><pubDate>Thu, 07 Sep 2023 10:58:36 +0500</pubDate><title>TDAP: consolidated transcripts to a single summary</title><guid isPermaLink="false">2099360694@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360621</link><pubDate>Wed, 06 Sep 2023 19:21:01 +0500</pubDate><title>Re: serv_expire: abort() if any malloc() calls fail.</title><guid isPermaLink="false">2099360621@Uncensored</guid><description><![CDATA[  
 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 build lists of valid users and rooms, and we delete
any `visit` record that doesn't point to a valid user *and* a valid room.

  
 I'm still not sure, but I think we built incomplete user and room lists in
memory because of memory allocation.  So now if we fail to allocate we crash
the server completely.  It's bad but losing data is worse. 
  
 On another note, I think this happened on Uncensored because of the Brown
Paper Bug that I fixed in the previous release. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360620</link><pubDate>Wed, 06 Sep 2023 20:07:24 +0500</pubDate><title>serv_expire: abort() if any malloc() calls fail.</title><guid isPermaLink="false">2099360620@Uncensored</guid><description><![CDATA[<html><head></head><body>This is drastic, but the alternative is to purge records that are still good.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360491</link><pubDate>Tue, 05 Sep 2023 23:14:11 +0500</pubDate><title>Re: berkeley_db: cdb_next_item() use DB_REALLOC, not DB_MALLOC</title><guid isPermaLink="false">2099360491@Uncensored</guid><description><![CDATA[  
 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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360490</link><pubDate>Tue, 05 Sep 2023 23:55:15 +0500</pubDate><title>serv_fulltext: better handling of exit by yield vs complete</title><guid isPermaLink="false">2099360490@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360489</link><pubDate>Wed, 06 Sep 2023 00:00:39 +0500</pubDate><title>ctdldump/ctdlload: document the -y flag</title><guid isPermaLink="false">2099360489@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360488</link><pubDate>Wed, 06 Sep 2023 00:04:50 +0500</pubDate><title>berkeley_db: cdb_next_item() use DB_REALLOC, not DB_MALLOC</title><guid isPermaLink="false">2099360488@Uncensored</guid><description><![CDATA[<html><head></head><body>Fixes a 'Brown Paper Bug' that will leak memory ... catastrophically if ctdldump is run on a big db.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360487</link><pubDate>Wed, 06 Sep 2023 00:05:01 +0500</pubDate><title>Release version 993 generated by do-release.sh</title><guid isPermaLink="false">2099360487@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360439</link><pubDate>Tue, 05 Sep 2023 19:09:38 +0500</pubDate><title>textclient: don&#39;t prompt to change internet email addresses when deleting a user</title><guid isPermaLink="false">2099360439@Uncensored</guid><description><![CDATA[<html><head></head><body>The 'edit user' and 'delete user' workflows run through the same function since
the process of deleting a user simply edits them and changes their access level
to 0.  Add a check for cmd==25 (edit user) before asking the user if they want
to change the email addresses.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099360438</link><pubDate>Tue, 05 Sep 2023 19:14:40 +0500</pubDate><title>Richard Stallman is a fucking left-wing communist douchebag.</title><guid isPermaLink="false">2099360438@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356620</link><pubDate>Tue, 05 Sep 2023 00:59:44 +0500</pubDate><title>Omit the warning about session scheduled for termination but not idle.</title><guid isPermaLink="false">2099356620@Uncensored</guid><description><![CDATA[<html><head></head><body>Something about this warning makes it reference a bad pointer and crash
during periods of extremely high load.  I don't know why, but just leaving
it alone seems to fix the problem.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356587</link><pubDate>Mon, 04 Sep 2023 15:40:43 +0500</pubDate><title>Re: IMAP Flags branch?</title><guid isPermaLink="false">2099356587@Uncensored</guid><description><![CDATA[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
detect the different record formats and set things up accordingly.  Naturally,
we can have it always dump and load in the new format to avoid having to put
dependencies across the whole toolchain. 
  
 I believe the backend interface is now in its final form.  I realize I said
that before, but now it's actually working exactly the way we need it so,
so there won't be any more changes unless some new need comes up.  I also
realize that I said the purpose of the rework was to get us ready to move
away from Berkeley DB as quickly as possible, but we ended up making the Berkeley
DB implementation so indestructible that this is now a lower priority. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356465</link><pubDate>Sat, 02 Sep 2023 22:28:41 +0500</pubDate><title>Re: IMAP Flags branch?</title><guid isPermaLink="false">2099356465@Uncensored</guid><description><![CDATA[<html><body>

<p>Sorry.  I have been sidetracked for about a month with work and life.</p>
<p>Going from upgrading the database to supporting multiple versions of the Visit records required some thought and will require rework of a lot of the implementation.  I had optimized a lot assuming the database was at one Visit version, so handling different versions requires changes to the logic and functions calls to keep it optimized.  I also re-thank the implementation of the Recent flag.</p>
<p>I ended up removing the branch since I needed to redo a lot and there were a lot of changes to the repository, so merging was getting out of hand.</p>
<p>I will be having a little more time now, so I will be going back to implement the flags.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356438</link><pubDate>Sat, 02 Sep 2023 18:06:00 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356438@Uncensored</guid><description><![CDATA[ >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 send signals to.   
  
 Cool.  Give the new version a try and let me know how it works for you. 
  
 We don't have the ability to auto-background anymore, but we can still write
a PID file. 
  
 SIGTERM and SIGINT will make the server shut itself down cleanly, and it
does so much faster now. 
  
 SIGKILL and SIGQUIT will make the server exit abruptly, and as previously
noted, it doesn't seem to corrupt the db anymore when you do this. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356433</link><pubDate>Sat, 02 Sep 2023 18:27:59 +0500</pubDate><title>Release version 992 generated by do-release.sh</title><guid isPermaLink="false">2099356433@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356389</link><pubDate>Sat, 02 Sep 2023 02:59:22 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356389@Uncensored</guid><description><![CDATA[<html><body>

<p>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 send signals to.</p>
<blockquote>
<div class="message_header"><span>Fri Sep 01 2023 16:40:26 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Removed background and restart from citserver.</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I have to go examine other BSD rc scripts, but I'm guessing they simply do "&amp;" to put a process in the background, and then they keep track of the pid so they can SIGTERM it later.</div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356388</link><pubDate>Sat, 02 Sep 2023 02:56:42 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356388@Uncensored</guid><description><![CDATA[<html><body>

<p>FreeBSD's in-base (default) compiler is clang.  Moving all of base from gcc to clang was a monumental effort.</p>
<blockquote>
<div class="message_header"><span>Fri Sep 01 2023 23:30:53 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Removed background and restart from citserver.</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />All righty then. The current code in git master is running on FreeBSD. Here's the deal: <br /><br />1. You need ldap client library (`pkg install openldap26-client`) even if you aren't using LDAP <br />2. `gmake` and `gcc` are required. It won't build with whatever FreeBSD is using natively. <br />3. The configure script now detects whether it needs `-lresolv` and/or `-lintl` automatically <br />4. We now omit the `chkpw` and `chkpwd` programs on systems where they won't work. I'd actually like to remove system auth completely but I don't know if anyone is using it. <br /><br />On my FreeBSD system I was able to get the server running and I ran the new `loadtest` utility with a few dozen threads beating the crap out of it. I abruptly killed the server with SIGKILL and SIGQUIT numerous times, during periods of high write activity, and even under the worst conditions it did not corrupt the database. <br /><br />Looking really good here. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356378</link><pubDate>Sat, 02 Sep 2023 00:15:14 +0500</pubDate><title>Remove the warning-this-is-unfinished warnings from ctdldump.c and ctdlload.c</title><guid isPermaLink="false">2099356378@Uncensored</guid><description><![CDATA[<html><head></head><body>Most of these tools are now building successfully on FreeBSD.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356377</link><pubDate>Sat, 02 Sep 2023 00:22:50 +0500</pubDate><title>only build chkpw and chkpwd if we can</title><guid isPermaLink="false">2099356377@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356376</link><pubDate>Fri, 01 Sep 2023 23:30:53 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356376@Uncensored</guid><description><![CDATA[  
 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 configure script now detects whether it needs `-lresolv` and/or `-lintl`
automatically 
 4. We now omit the `chkpw` and `chkpwd` programs on systems where they won't
work.  I'd actually like to remove system auth completely but I don't know
if anyone is using it. 
  
 On my FreeBSD system I was able to get the server running and I ran the new
`loadtest` utility with a few dozen threads beating the crap out of it.  I
abruptly killed the server with SIGKILL and SIGQUIT numerous times, during
periods of high write activity, and even under the worst conditions it did
not corrupt the database. 
  
 Looking really good here. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356368</link><pubDate>Fri, 01 Sep 2023 23:27:08 +0500</pubDate><title>loadtest: run with a warning instead of exiting when not all threads connect.</title><guid isPermaLink="false">2099356368@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356367</link><pubDate>Fri, 01 Sep 2023 23:37:20 +0500</pubDate><title>Include -lresolv only if we have it</title><guid isPermaLink="false">2099356367@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356366</link><pubDate>Fri, 01 Sep 2023 23:42:03 +0500</pubDate><title>Include -lintl where we need it on systems that have it</title><guid isPermaLink="false">2099356366@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356360</link><pubDate>Fri, 01 Sep 2023 20:59:34 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356360@Uncensored</guid><description><![CDATA[FFFFFFFFFFFFUUUUUUUUUUU------- 
  
 Drive 0 on my desktop is fux0red.   
 This was my main workstation and also where I had my FreeBSD vm installed.

  
 Time to rebuild. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356357</link><pubDate>Fri, 01 Sep 2023 20:29:59 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356357@Uncensored</guid><description><![CDATA[aaaaaaaand just like that, my main machine at home bit the dust.  *grumble*

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356327</link><pubDate>Fri, 01 Sep 2023 16:40:26 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356327@Uncensored</guid><description><![CDATA[ >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 way" now. 
  
 I have to go examine other BSD rc scripts, but I'm guessing they simply do
"&" to put a process in the background, and then they keep track of the pid
so they can SIGTERM it later. 
  
 SIGINT and SIGTERM are handled by running the very same shutdown code that
the server's "DOWN" command runs (which is what the text client's "<.A>dmin
<T>erminate-server <N>ow" command executes).  Unmount the databases cleanly,
then exit(0) to GTFO. 
  
 What's new, however, is that the database "environment" is now on mmap+disk
instead of just in-memory.  I don't know how we went for so many years without
knowing that we had that wrong.  This accomplishes two things: 
  
 1. The server no longer goes SIGSEGV when we try to close the environment

 2. The database never, ever shows up as corrupted when we restart it 
  
 In other words, the damn journaling system works correctly now.  The funny
thing is, it used to work fine even in its old form, so I don't know what's
changed in the last few versions of Berkeley DB. 
  
 And here we are, with a BDB implementation that's now rock solid, as a result
of a two month long development effort intended to get us *off* BDB. 
  
 But with that done, I'm gonna focus on FreeBSD for a while. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356304</link><pubDate>Fri, 01 Sep 2023 17:10:02 +0500</pubDate><title>loadtest: pretty display when running with hundreds of threads</title><guid isPermaLink="false">2099356304@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356300</link><pubDate>Fri, 01 Sep 2023 16:55:20 +0500</pubDate><title>fulltext: be smarter about exiting silently if there&#39;s nothing to do.</title><guid isPermaLink="false">2099356300@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356294</link><pubDate>Fri, 01 Sep 2023 16:07:42 +0500</pubDate><title>fulltext: after the indexer runs for 60 seconds (tunable), yield the thread</title><guid isPermaLink="false">2099356294@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356291</link><pubDate>Fri, 01 Sep 2023 15:50:57 +0500</pubDate><title>loadtest: minor changes</title><guid isPermaLink="false">2099356291@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356268</link><pubDate>Fri, 01 Sep 2023 04:00:04 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356268@Uncensored</guid><description><![CDATA[<html><body>

<p>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 BSDs opurrate this way, and since it is a standard way of doing things, SMF (Solaris/OpenSolaris/Illumos) also supports this method of daemon shutdown.</p>
<p>Probably also a good idea to handle SIGQUIT and SIGKILL this way (for the odd platform that says these aren't untrappable).</p>
<p>If FreeBSD's rc system can't get a process to exit cleanly after a short period of time, it will SIGKILL, and that's most likely lead to database corruption on my installation.</p>
<blockquote>
<div class="message_header"><span>Thu Aug 31 2023 23:39:48 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Removed background and restart from citserver.</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>citserver should exit cleanly when it receives a SIGINT, SIGQUIT, or <br />SIGKILL. <br /><br />This may be why using FreeBSD's rc system caused badness on my <br />system. </blockquote>
<br />And it so happens that FreeBSD is the reason I pulled that section of code out. <br /><br />This is an opportunity to remove all of the "clever" stuff and really focus on portable, standard code. <br /><br />I do feel that there's no longer any reason why a server program should have to do the work to put itself into the background. The operating system's supervisor program should be doing that. I'm sure I'll be learning more about how FreeBSD's rc system works. Seems like it's held pretty closely to Unix System III. That's fine, because I've always hated the System V init scripts. <br /><br />I did release what we've got so far as Citadel 991, with some of the FreeBSD changes in place, but I'm going to keep poking at it until it builds cleanly without needing help. <br /><br />Also I have an ACloudGuru account paid for by my employer and that lets me stand up cloud sandboxes for testing things. I'm going to start using that for an occasional build test, I think. The only problem is that the sandboxes 
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356257</link><pubDate>Thu, 31 Aug 2023 23:39:48 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356257@Uncensored</guid><description><![CDATA[ >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 of the "clever" stuff and really focus
on portable, standard code. 
  
 I do feel that there's no longer any reason why a server program should have
to do the work to put itself into the background.  The operating system's
supervisor program should be doing that.  I'm sure I'll be learning more about
how FreeBSD's rc system works.  Seems like it's held pretty closely to Unix
System III.  That's fine, because I've always hated the System V init scripts.

  
 I did release what we've got so far as Citadel 991, with some of the FreeBSD
changes in place, but I'm going to keep poking at it until it builds
cleanly without needing help. 
  
 Also I have an ACloudGuru account paid for by my employer and that lets me
stand up cloud sandboxes for testing things.  I'm going to start using that
for an occasional build test, I think.  The only problem is that the sandboxes
automatically self-destruct after four hours, so it's not useful for much
more than testing.  Right now I've got the latest Easy Install build running
on a Scamazon instance, with a 30-thread load test pounding away at it.  I
figure it's better to abuse their SSDs than mine. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356251</link><pubDate>Fri, 01 Sep 2023 00:10:28 +0500</pubDate><title>Moved the creation of the data directory.</title><guid isPermaLink="false">2099356251@Uncensored</guid><description><![CDATA[<html><head></head><body>It was happening too late in the new code and failing on some new installations.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356250</link><pubDate>Fri, 01 Sep 2023 00:10:36 +0500</pubDate><title>Release version 991 generated by do-release.sh</title><guid isPermaLink="false">2099356250@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356224</link><pubDate>Thu, 31 Aug 2023 13:35:33 +0500</pubDate><title>Release version 989 generated by do-release.sh</title><guid isPermaLink="false">2099356224@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356223</link><pubDate>Thu, 31 Aug 2023 13:35:40 +0500</pubDate><title>Release version 990 generated by do-release.sh</title><guid isPermaLink="false">2099356223@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356215</link><pubDate>Thu, 31 Aug 2023 13:00:12 +0500</pubDate><title>setup: reflect the fact that the operator should restart the server</title><guid isPermaLink="false">2099356215@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356214</link><pubDate>Thu, 31 Aug 2023 13:08:02 +0500</pubDate><title>Revert &quot;setup: reflect the fact that the operator should restart the server&quot;</title><guid isPermaLink="false">2099356214@Uncensored</guid><description><![CDATA[<html><head></head><body>This reverts commit <a href="/citadel/citadel/-/commit/c7589e995080a55e55c587d65c85a5889beb4194" data-reference-type="commit" data-original="c7589e995080a55e55c587d65c85a5889beb4194" data-link="false" data-link-reference="false" data-project="4" data-commit="c7589e995080a55e55c587d65c85a5889beb4194" data-container="body" data-placement="top" title="setup: reflect the fact that the operator should restart the server" class="gfm gfm-commit has-tooltip">c7589e99</a>.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356213</link><pubDate>Thu, 31 Aug 2023 13:13:13 +0500</pubDate><title>On second thought, let&#39;s do it this way.</title><guid isPermaLink="false">2099356213@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356201</link><pubDate>Thu, 31 Aug 2023 15:35:25 +0500</pubDate><title>Re: Removed background and restart from citserver.</title><guid isPermaLink="false">2099356201@Uncensored</guid><description><![CDATA[<html><body>

<p>citserver should exit cleanly when it receives a SIGINT, SIGQUIT, or SIGKILL.</p>
<p>This may be why using FreeBSD's rc system caused badness on my system.</p>
<blockquote>
<div class="message_header"><span>Thu Aug 31 2023 11:10:32 EDT</span> <span>from rss &lt;&gt; </span> <span class="message_subject">Subject: Removed background and restart from citserver.</span></div>
<div class="message_content">These functions should be managed by an external supervisor program.<br /><br /> <br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356200</link><pubDate>Thu, 31 Aug 2023 11:10:32 +0500</pubDate><title>Removed background and restart from citserver.</title><guid isPermaLink="false">2099356200@Uncensored</guid><description><![CDATA[<html><head></head><body>These functions should be managed by an external supervisor program.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356193</link><pubDate>Thu, 31 Aug 2023 15:32:55 +0500</pubDate><title>Renamed Makefile to GNUmakefile to enforce the use of gmake</title><guid isPermaLink="false">2099356193@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356192</link><pubDate>Thu, 31 Aug 2023 10:48:43 +0500</pubDate><title>fix compiler warning</title><guid isPermaLink="false">2099356192@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356173</link><pubDate>Thu, 31 Aug 2023 09:43:47 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099356173@Uncensored</guid><description><![CDATA[<html><body>

<p>yay</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356126</link><pubDate>Thu, 31 Aug 2023 00:39:24 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099356126@Uncensored</guid><description><![CDATA[ >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 July?  That's part of what started this
all ... and made me basically spend the whole summer overhauling the database
layer instead of working on WebCit-NG. 
  
 Well guess what ... it's fixed.  I'm sure it had something to do with the
"dbenv" and whether it was disk backed or memory backed or both, or something
like that.  Now that we're using what I believe is mmap'ed disk to back the
environment (that's the new __db.00x files you'll see in the data directory)
it no longer segfaults when closing the environment. 
  
 And did I mention that since this change, it hasn't corrupted the test database
even once, no matter how badly I abuse it? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356121</link><pubDate>Thu, 31 Aug 2023 01:03:53 +0500</pubDate><title>Rewrite of the indexer is complete!</title><guid isPermaLink="false">2099356121@Uncensored</guid><description><![CDATA[<html><head></head><body>No more search hooks.  Modules can call each other now and that's a lot simpler.
We also eliminated the index cache, because it made things a lot more complex, and
a modern database is going to mmap most of the index as it gets used anyway.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356118</link><pubDate>Thu, 31 Aug 2023 00:28:30 +0500</pubDate><title>Removed all the disused CtdlUnregister functions.</title><guid isPermaLink="false">2099356118@Uncensored</guid><description><![CDATA[<html><head></head><body>We don't call Unregister functions anymore because our objective is now
to close the databases and GTFO when the server needs to shut down.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356115</link><pubDate>Thu, 31 Aug 2023 00:13:11 +0500</pubDate><title>search function is complete</title><guid isPermaLink="false">2099356115@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356077</link><pubDate>Wed, 30 Aug 2023 16:27:39 +0500</pubDate><title>Wrapping indexer transactions inside a critical section seems to make it not ...</title><guid isPermaLink="false">2099356077@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356043</link><pubDate>Wed, 30 Aug 2023 13:03:08 +0500</pubDate><title>Rewrote the indexer</title><guid isPermaLink="false">2099356043@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356006</link><pubDate>Tue, 29 Aug 2023 23:40:31 +0500</pubDate><title>free(msglist)</title><guid isPermaLink="false">2099356006@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356005</link><pubDate>Tue, 29 Aug 2023 23:49:34 +0500</pubDate><title>Removed double-fetch-room in the indexer.</title><guid isPermaLink="false">2099356005@Uncensored</guid><description><![CDATA[<html><head></head><body>I don't want to celebrate prematurely, but we've gotten through 10,000 ops
in every of 10 threads without deadlocking.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099356002</link><pubDate>Tue, 29 Aug 2023 23:30:32 +0500</pubDate><title>Totally ripping apart the indexer.</title><guid isPermaLink="false">2099356002@Uncensored</guid><description><![CDATA[<html><head></head><body>And yet, it doesn't seem to be anything 'deep' that's making it deadlock.
If I get desperate I may have to just give it its own thread or something.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355984</link><pubDate>Tue, 29 Aug 2023 18:12:04 +0500</pubDate><title>serv_fulltext: wordbreaker now returns a libcitadel Array</title><guid isPermaLink="false">2099355984@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355973</link><pubDate>Tue, 29 Aug 2023 16:03:34 +0500</pubDate><title>CtdlForEachMessage() don&#39;t process message 0</title><guid isPermaLink="false">2099355973@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355960</link><pubDate>Tue, 29 Aug 2023 14:12:09 +0500</pubDate><title>threads.c: commented out try_critical_section() , I don&#39;t want this</title><guid isPermaLink="false">2099355960@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355943</link><pubDate>Tue, 29 Aug 2023 12:00:10 +0500</pubDate><title>Re: I&#39;m in ur VM, running FreeBSD</title><guid isPermaLink="false">2099355943@Uncensored</guid><description><![CDATA[  
 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 module
seems to have stopped the deadlock bug.  I'm testing again on one of the development
systems (franklin) and it seems that I don't even have to run TDAP in the
background.  If I run loadtest with about ten threads, it reliably deadlocks
after a few thousand operations; with the indexer disabled it doesn't.  I
left it running last night and it got through millions of operations before
I stopped it this morning. 
  
 All righty then.  I'll be looking into the indexer to see why it's misbehaving.

  
 By the way, all those server crashes on Uncensored last night (from the bug
I created and then fixed)
and the database started up cleanly every time.  The good news is (knock on
wood, or OSB, or whatever's on hand) I think that issue is fixed now. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355940</link><pubDate>Tue, 29 Aug 2023 12:36:36 +0500</pubDate><title>context.c: fixed invalid pointer</title><guid isPermaLink="false">2099355940@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355939</link><pubDate>Tue, 29 Aug 2023 12:44:31 +0500</pubDate><title>Makefile: proper incantation for compiling loadtest</title><guid isPermaLink="false">2099355939@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355938</link><pubDate>Tue, 29 Aug 2023 12:50:22 +0500</pubDate><title>loadtest.c: after creating accounts and rooms, log back in using a non privil...</title><guid isPermaLink="false">2099355938@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355869</link><pubDate>Tue, 29 Aug 2023 02:01:22 +0500</pubDate><title>Re: I&#39;m in ur VM, running FreeBSD</title><guid isPermaLink="false">2099355869@Uncensored</guid><description><![CDATA[  
 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 pulls in an auto-generated RSS
feed. 
  
 A few thousand transactions in, something hangs.  It appears to be threads
fighting for the S_ROOMS mutex, but upon further investigation it actually
looks like one thread is hanging while it's holding the S_ROOMS mutex.  gdb
is suggesting that it's stuck somewhere inside of Berkeley DB while the library
is trying to acquire a mutex of its own. 
  
 I have a watchdog script running on Uncensored that kills the server process
whenever it hangs.  I hate this.  But at least it hasn't wrecked the database.
  
  
 As a last ditch effort before I go and get some
sleep, I have disabled the full text indexer.  My test has, so far, gone on
for far longer than it was previously running.  I've installed this code on
Uncensored and hopefully the server will make it through the night.   
  
 Please know that I am working as hard as I can to stabilize this thing, and
it matters a LOT to me that we get it to where it needs to be.  I want to
get off Berkeley DB as much as y'all do, and ASAP, but we have to leave it
in a working condition before we move on to something else. 
  
 If anyone wants to HELP, I'd appreciate it; let me know and I'll provide
some guidance on setting up your test environment. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355868</link><pubDate>Tue, 29 Aug 2023 02:37:59 +0500</pubDate><title>Temporarily disable the indexer</title><guid isPermaLink="false">2099355868@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355860</link><pubDate>Tue, 29 Aug 2023 00:53:58 +0500</pubDate><title>cdb_tick() called periodically</title><guid isPermaLink="false">2099355860@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355859</link><pubDate>Tue, 29 Aug 2023 00:54:50 +0500</pubDate><title>no diags</title><guid isPermaLink="false">2099355859@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355854</link><pubDate>Mon, 28 Aug 2023 23:38:55 +0500</pubDate><title>When opening a cursor, always read through to the end.</title><guid isPermaLink="false">2099355854@Uncensored</guid><description><![CDATA[<html><head></head><body>This should theoretically eliminate the need to ever call cdb_close_cursor()<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355851</link><pubDate>Mon, 28 Aug 2023 23:24:45 +0500</pubDate><title>cosmetic stuff</title><guid isPermaLink="false">2099355851@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355845</link><pubDate>Mon, 28 Aug 2023 23:02:51 +0500</pubDate><title>loadtest.c: multiple threadds</title><guid isPermaLink="false">2099355845@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355844</link><pubDate>Mon, 28 Aug 2023 23:08:52 +0500</pubDate><title>cleaned that up a bit</title><guid isPermaLink="false">2099355844@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355839</link><pubDate>Mon, 28 Aug 2023 21:28:23 +0500</pubDate><title>Re: I&#39;m in ur VM, running FreeBSD</title><guid isPermaLink="false">2099355839@Uncensored</guid><description><![CDATA[  
 Yecch.  The new code has a deadlock problem.  The DB is rock solid though.
 On it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355837</link><pubDate>Mon, 28 Aug 2023 17:26:35 +0500</pubDate><title>Generate listsub token with a hash instead of crypt</title><guid isPermaLink="false">2099355837@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355834</link><pubDate>Mon, 28 Aug 2023 20:43:38 +0500</pubDate><title>.gitignore: add dbnothing and loadtest</title><guid isPermaLink="false">2099355834@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355805</link><pubDate>Mon, 28 Aug 2023 17:13:47 +0500</pubDate><title>Re: I&#39;m in ur VM, running FreeBSD</title><guid isPermaLink="false">2099355805@Uncensored</guid><description><![CDATA[  
 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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355803</link><pubDate>Mon, 28 Aug 2023 17:10:13 +0500</pubDate><title>Re: I&#39;m in ur VM, running FreeBSD</title><guid isPermaLink="false">2099355803@Uncensored</guid><description><![CDATA[  
 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 famous serial rapist Bill Clinton: "I FEEL YOUR PAIN!" 
  
 My database got scrambled today, and it isn't the first time.  So I restored
my most recent backup, ran database_cleanup.sh for hopefully the last time
(to start with a fresh btree instead of one with potential hidden badness)
and upgraded Uncensored to the latest unreleased code.  I usually run Uncensored
on the release version, but this is a serious jam and it needs serious testing.
 What better test than running the flagship site on it? 
  
 If all goes well, we will do a new release in the next couple of days with
much more robust database code and better FreeBSD compatibility. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355792</link><pubDate>Mon, 28 Aug 2023 12:13:42 +0500</pubDate><title>FreeBSD compatibility (first of several commits)</title><guid isPermaLink="false">2099355792@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355791</link><pubDate>Mon, 28 Aug 2023 12:19:42 +0500</pubDate><title>Removed the &#39;ucred&#39; stuff.  It&#39;s insecure and it doesn&#39;t work on FreeBSD anyway.</title><guid isPermaLink="false">2099355791@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355790</link><pubDate>Mon, 28 Aug 2023 12:26:54 +0500</pubDate><title>Makefile: use ${CC} selected by configure</title><guid isPermaLink="false">2099355790@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355761</link><pubDate>Sun, 27 Aug 2023 22:03:01 +0500</pubDate><title>Removed extra diagnostics</title><guid isPermaLink="false">2099355761@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355756</link><pubDate>Sun, 27 Aug 2023 16:40:34 +0500</pubDate><title>diagnostics</title><guid isPermaLink="false">2099355756@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355719</link><pubDate>Sun, 27 Aug 2023 15:07:43 +0500</pubDate><title>I&#39;m in ur VM, running FreeBSD</title><guid isPermaLink="false">2099355719@Uncensored</guid><description><![CDATA[<html><body>

<p>Latest code isn't building on FreeBSD.  I has no idea how to fix this one.  So, here's a quick guide to set up a FreeBSD VM.</p>
<p>I'm going to assume you already have VM softwares and know how to use it.</p>
<p>Config:</p>
<p>CPU: 1 or 2</p>
<p>Memory: 8GB minimum for ZFS, if you do a UFS2 install you can get away with 2GB.</p>
<p>Disk: 50GB is moar than sufficient, use a SATA drive</p>
<p>Network: Just make sure it has webternet access, depending on how you do things it should also be able to access stuffs on your local network (like your VM host).  vtnet works, so use that as the network device</p>
<p>UEFI firmware: enable this if your VM software supports it</p>
<p>CD-ROM/DVD-ROM drive: use a SATA drive, this is where you'll attach the install image.</p>
<p>First, download the install image.  You'll want the memstick image for your hardware.  For most of you this will be <strong>FreeBSD-13.2-RELEASE-amd64-mini-memstick.img.xz</strong></p>
<p><a title="https://download.freebsd.org/ftp/releases/ISO-IMAGES/13.2/" href="https://download.freebsd.org/ftp/releases/ISO-IMAGES/13.2/">https://download.freebsd.org/ftp/releases/ISO-IMAGES/13.2/</a></p>
<p>Unpack the image and attach it as an optical media drive to your VM and boot.</p>
<p>Install should be self-explanatory.  <strong>This is not linux</strong> so there's no GUI installer.  Use auto-defaults for disk.</p>
<p>When creating your user account, you can do what I do and set the home folder inside <strong>/usr/home</strong>, this is where it's gonna go anyway due to a compatibility symlink.</p>
<p> </p>
<p>Booting into your freshly installed system:</p>
<p>Log in as root.  I'm not even joking.</p>
<p><strong>edit /etc/rc.conf</strong> and make sure the following lines are indeed present:</p>
<blockquote>
<p>sshd_enable="YES"</p>
</blockquote>
<p>If you had to add this, save the file and then: <strong>service sshd start</strong></p>
<p>Now for your first installs: <strong>pkg install doas vim git git-extras gitty gitui</strong></p>
<p><strong>edit /usr/local/etc/doas.conf</strong> and make sure it has the following:</p>
<blockquote>
<p>permit :wheel</p>
<p>permit nopass keepenv &lt;your username&gt; as root</p>
</blockquote>
<p>If you wanna use ZSH, do this: <strong>pkg install zsh zsh-{antigen,autosuggestions,completions,navigation-tools,syntax-highlighting} git-prompt.zsh</strong></p>
<p><strong></strong></p>
<p> </p>
<p>Use the pw command to make ZSH the default shell for you user account (only if you wanna use zsh):</p>
<p><strong>pw usermod -n &lt;your username&gt; -s zsh</strong></p>
<p>Now you can logout, and then like a psychopath log in again, this time using your normal user account.  TEST TO MAKE SURE DOAS WORKS.  Should work with the above config, but just to test: <strong>doas cat /var/log/auth.log</strong></p>
<p>Configure everything else as you would normally, keeping in mind everything will be installed under /usr/local instead of wherever the fuck linux installs stuff.  FreeBSD likes to keep softwares separate from base.</p>
<p>Now install Citadel's deps:</p>
<p><strong>doas pkg install gmake gcc auto{conf,make} binutils, gsed, {lib,intl}tool openssl curl expat lib{ical,iconv,nghttp2,ssh2} icu gettext gettext-runtime openldap24-client readline shared-mime-info pkgconf</strong></p>
<p><strong></strong>Whew, that was a long one.  It's okay if you decided to SSH into the VM to copy-paste that one.  Congrats, you now have a development VM to play with.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355708</link><pubDate>Sun, 27 Aug 2023 14:19:48 +0500</pubDate><title>Re: PLEASE TEST THIS IF YOU CAN!</title><guid isPermaLink="false">2099355708@Uncensored</guid><description><![CDATA[  
 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 problem or just
something that's always been there and I didn't know because I wasn't testing
it this way before. 
  
 LadySerenaKitty and others who are having db problems: once this version
is installed, the remediation procedure will be for you to install it, ctdldump
your database to a flat file, ctdlload it back to a clean db, and then you
should be good. 
  
 And yes, once this is done, we will be 100% API ready to begin alternate
back ends. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355646</link><pubDate>Sun, 27 Aug 2023 00:38:01 +0500</pubDate><title>PLEASE TEST THIS IF YOU CAN!</title><guid isPermaLink="false">2099355646@Uncensored</guid><description><![CDATA[  
 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 the process of reworking the code base so that we
can move away from Berkeley DB, I ended up making Berkeley DB more stable.
 I think the way we were using it may have been "wrong" for a LONG time. 
We'll still develop a more modern backend, but hopefully it won't be quite
as urgent anymore.  I *hate* hearing from sites that had to restore backups
or run the cleanup job. 
  
 Again, if you're running the development tree, please give it a good workout.
 I also included a new utility called "loadtest" that does nothing except
post and delete messages in five random rooms, so that will help you out.
  I haven't gotten it to corrupt my database at all under the new code, even
if I hard kill the server while running multiple instances of the load test.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355641</link><pubDate>Sun, 27 Aug 2023 01:04:57 +0500</pubDate><title>CM_SetField() no longer accepts a length, just uses strdup()</title><guid isPermaLink="false">2099355641@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355640</link><pubDate>Sun, 27 Aug 2023 01:17:42 +0500</pubDate><title>Found a place where CM_SetAsField() was owning db memory.</title><guid isPermaLink="false">2099355640@Uncensored</guid><description><![CDATA[<html><head></head><body>Changed that, of course.  It was causing a double free.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355635</link><pubDate>Sat, 26 Aug 2023 21:29:07 +0500</pubDate><title>loadtest.c: when deleting, always make sure we deleted 1 message.</title><guid isPermaLink="false">2099355635@Uncensored</guid><description><![CDATA[<html><head></head><body>If there are multiple loadtest processes running -- and that's really
the whole idea -- we will often try to delete a message that was already
deleted by another process.  That's not an error condition, but it would
cause posts to outnumber deletes and the rooms would grow endlessly.  So
if we didn't successfully delete something, we go back and try deleting
another one.

Fun fact: the algorithm used to decide which message to delete is the same
algorithm used in the 'fortune' program.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355631</link><pubDate>Sat, 26 Aug 2023 21:09:59 +0500</pubDate><title>loadtest.c: added</title><guid isPermaLink="false">2099355631@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355628</link><pubDate>Sat, 26 Aug 2023 20:19:54 +0500</pubDate><title>berkeley_db.c: improvements to transactional data store</title><guid isPermaLink="false">2099355628@Uncensored</guid><description><![CDATA[<html><head></head><body><a href="https://docs.oracle.com/cd/E17276_01/html/programmer_reference/transapp_env_open.html" rel="nofollow noreferrer noopener" target="_blank">https://docs.oracle.com/cd/E17276_01/html/programmer_reference/transapp_env_open.html</a>

The use of the DB_RECOVER flag to dbenv-&gt;open() appears to do more than just try to
recover the environment upon startup.  It also creates __db.00X files, which are
perhaps holding the environment???   In any case it seems to be more solid this way.
I am also removing the use of any "private" transactions, since they are no longer
needed.  Operations which write to the database check to see if the thread's dedicated
transaction pointer is in effect, maintaining that transaction if it is, and creating
a transaction in the same pointer otherwise.

There is a "double free" bug somewhere in here and I'm still trying to figure out what
conditions cause it to happen.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355621</link><pubDate>Sat, 26 Aug 2023 18:26:19 +0500</pubDate><title>Re: master_cleanup() is now the global shutdown/exit function</title><guid isPermaLink="false">2099355621@Uncensored</guid><description><![CDATA[  
 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 
                                                                        ^^^^^^^^^^

  
 The documentation says that DB_RECOVER means "run recovery before opening"
but for some reason this combination of flags makes it create __db.00X files
in the data directory, which I think are environment files.  I'm not certain
about that.  But it seems to be more stable now.  I've got a test system (it's
on 'franklin' -- thanks Nurb432) running that I can reliably get to corrupt
itself by interrupting it during a The Dreaded Auto Purger run. 
  
 With any luck we'll be able to make this backend more simple and way more
reliable.  Just in time to deprecate it.  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355559</link><pubDate>Fri, 25 Aug 2023 23:17:26 +0500</pubDate><title>Re: master_cleanup() is now the global shutdown/exit function</title><guid isPermaLink="false">2099355559@Uncensored</guid><description><![CDATA[  
 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 I abuse it, even by forkbombing a test client that writes
to the db, and killing the server process in the middle of that. 
  
 I'd appreciate it if some of y'all could help me test that.  Hit it hard.
 Abuse it.  Preferably with lots of concurrent sessions all performing write
operations.  Let me know how it goes. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355544</link><pubDate>Fri, 25 Aug 2023 13:08:53 +0500</pubDate><title>master_cleanup() is now the global shutdown/exit function</title><guid isPermaLink="false">2099355544@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355473</link><pubDate>Thu, 24 Aug 2023 19:47:33 +0500</pubDate><title>db debugging</title><guid isPermaLink="false">2099355473@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355467</link><pubDate>Thu, 24 Aug 2023 18:29:04 +0500</pubDate><title>dbnothing does nothing</title><guid isPermaLink="false">2099355467@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355457</link><pubDate>Thu, 24 Aug 2023 16:06:31 +0500</pubDate><title>dbnothing: temporary utility that just opens and closes the database as a test</title><guid isPermaLink="false">2099355457@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355448</link><pubDate>Thu, 24 Aug 2023 15:37:18 +0500</pubDate><title>ctdldump/ctdlload: fix usage messages</title><guid isPermaLink="false">2099355448@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355443</link><pubDate>Thu, 24 Aug 2023 15:16:20 +0500</pubDate><title>ctdlload: use the backend API instead of BDB calls</title><guid isPermaLink="false">2099355443@Uncensored</guid><description><![CDATA[<html><head></head><body>It works, but it is several orders of magnitude slower.  Why?<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355442</link><pubDate>Thu, 24 Aug 2023 15:23:09 +0500</pubDate><title>ctdldump/ctdlload: -h now works identical to citserver</title><guid isPermaLink="false">2099355442@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355413</link><pubDate>Thu, 24 Aug 2023 10:44:37 +0500</pubDate><title>ctdldump: use the backend API instead of BDB calls</title><guid isPermaLink="false">2099355413@Uncensored</guid><description><![CDATA[<html><head></head><body>This makes ctdldump backend agnostic, or at least as backend
agnostic as citserver itself is at this point.  We will probably
add some calling syntax across the board when we add more
backends, but at least this utility doesn't have to be rewritten
now.  This makes me a happy ig.  ctdlload will be next.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355393</link><pubDate>Thu, 24 Aug 2023 07:08:02 +0500</pubDate><title>Makefile: BACKEND_LDFLAGS &quot;created&quot; by configure</title><guid isPermaLink="false">2099355393@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355389</link><pubDate>Thu, 24 Aug 2023 06:30:40 +0500</pubDate><title>Drop support for upgrading sites older than v811 (8.11)</title><guid isPermaLink="false">2099355389@Uncensored</guid><description><![CDATA[<html><head></head><body>That release was more than 11 years ago.  Sites have had ample time to upgrade.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355384</link><pubDate>Thu, 24 Aug 2023 06:09:38 +0500</pubDate><title>Makefile: move -ldb from hardcoded to a new BACKEND_LDFLAGS</title><guid isPermaLink="false">2099355384@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355380</link><pubDate>Thu, 24 Aug 2023 05:55:33 +0500</pubDate><title>Makefile: restructured so that backends can be compiled into utilities</title><guid isPermaLink="false">2099355380@Uncensored</guid><description><![CDATA[<html><head></head><body>database.c has been moved from server/ into server/backends/common.
Makefile now separates server objects from backend objects.
This is all in preparation for ctdldump and ctdlload to link the backend
code instead of calling BDB directly.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355310</link><pubDate>Wed, 23 Aug 2023 10:37:10 +0500</pubDate><title>Remove CTDLUID definition, point to ctdluid symbol instead.</title><guid isPermaLink="false">2099355310@Uncensored</guid><description><![CDATA[<html><head></head><body>CTDLUID was probably a hard-coded preprocessor definition back in the
ancient times.  Now it is not.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355282</link><pubDate>Wed, 23 Aug 2023 11:52:01 +0500</pubDate><title>Re: cdb_next_item() now returns both key and value</title><guid isPermaLink="false">2099355282@Uncensored</guid><description><![CDATA[  
 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 pair of "struct cdbdata", one for the key and one for the value. 
  
 Yes, my discovery that you've been able to return a struct by value from
a function in C for the last couple of decades has already reflected itself
in Citadel.  :) 
  
 All of this is based on a *new* rule in the backend interface: when you fetch
an item from the database, either with cdb_fetch() or cdb_next_item(), the
caller does NOT become the owner of the memory it points to.  This is how
Berkeley DB operates by default (and I changed it back to this mode over the
past week) and it's the *only* way LMDB can operate. 
  

Why all the fuss?  Well, let me tell you; thanks for asking! 
  
 ctdldump and ctdlload currently call Berkeley DB directly.  This is non-awesome.
 It means that when we add more backends we would have to write new versions
of ctdldump and ctdlload for each one.  Not gonna do it.  ctdldump and ctdlload
will be modified to use the same backend interface that citserver uses.  Then
we'll be able to dump and load in any format on any machine.  But ctdldump
needs to know the keys, not just the values.  And so, cdb_next_item() now
returns both. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355274</link><pubDate>Wed, 23 Aug 2023 06:17:28 +0500</pubDate><title>cdb_next_item() now returns both key and value</title><guid isPermaLink="false">2099355274@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355149</link><pubDate>Mon, 21 Aug 2023 19:54:07 +0500</pubDate><title>Removed call to db_env-&gt;set_cachesize()</title><guid isPermaLink="false">2099355149@Uncensored</guid><description><![CDATA[<html><head></head><body>The third parameter has always been set to 0
so it wasn't ever doing anything before.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355146</link><pubDate>Mon, 21 Aug 2023 19:14:31 +0500</pubDate><title>Calls to cdb_fetch()/cdb_next_item() now check ptr for NULL or non-NULL</title><guid isPermaLink="false">2099355146@Uncensored</guid><description><![CDATA[<html><head></head><body>This is a better practice than checking to see if the data length was 0.
It now allows for extant but zero-length data to be returned.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355116</link><pubDate>Mon, 21 Aug 2023 12:45:38 +0500</pubDate><title>cdb_fetch() and cdb_next_item() now return a struct cdbdata instead of a poin...</title><guid isPermaLink="false">2099355116@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355115</link><pubDate>Mon, 21 Aug 2023 12:49:58 +0500</pubDate><title>cdb_free() is no longer needed; removed from backend API</title><guid isPermaLink="false">2099355115@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355102</link><pubDate>Mon, 21 Aug 2023 11:09:45 +0500</pubDate><title>bdb_decompress_if_necessary() now operates on DBT instead of cdbdata</title><guid isPermaLink="false">2099355102@Uncensored</guid><description><![CDATA[<html><head></head><body>This allows us to maintain the DB_DBT_REALLOC heuristics.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355039</link><pubDate>Sun, 20 Aug 2023 17:23:47 +0500</pubDate><title>Keep track of whether cdb-&gt;ptr must be freed by cdb_free()</title><guid isPermaLink="false">2099355039@Uncensored</guid><description><![CDATA[<html><head></head><body>This would happen, for example, if we decompressed the record.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355038</link><pubDate>Sun, 20 Aug 2023 17:33:14 +0500</pubDate><title>Remove diagnostic section</title><guid isPermaLink="false">2099355038@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355037</link><pubDate>Sun, 20 Aug 2023 21:29:53 +0500</pubDate><title>IMAP Flags branch?</title><guid isPermaLink="false">2099355037@Uncensored</guid><description><![CDATA[  
 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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099355034</link><pubDate>Sun, 20 Aug 2023 20:54:22 +0500</pubDate><title>Message #2099355034</title><guid isPermaLink="false">2099355034@Uncensored</guid><description><![CDATA[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...) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354993</link><pubDate>Sun, 20 Aug 2023 10:55:42 +0500</pubDate><title>Message #2099354993</title><guid isPermaLink="false">2099354993@Uncensored</guid><description><![CDATA[<html><body>

<p>okay, putting html in the editor directly does not work :-P<br />second try:</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Aug 19 2023 23:18:20 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<p>I ended up having to apply your changes manually.</p>
</div>
</blockquote>
<p>ah sorry for that. i totally missed the attachment link above the reply frame. i only checked the editor icons.<br /> replacing the br tags with a real linebreak however should be good enough.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Aug 19 2023 23:18:20 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<p>And thank you for the clarification about CPPFLAGS ... somehow after all these decades I never realized that CPP stood for "C PreProcessor" and not "C Plus Plus".</p>
</div>
</blockquote>
<p>haha, my pleasure. and please delete my previous html post.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354950</link><pubDate>Sat, 19 Aug 2023 19:18:42 +0500</pubDate><title>Apply patch sent by UFarx to support CPPFLAGS</title><guid isPermaLink="false">2099354950@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354947</link><pubDate>Sat, 19 Aug 2023 23:18:20 +0500</pubDate><title>Message #2099354947</title><guid isPermaLink="false">2099354947@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY">UFarx: the formatter messed up that patch, I think.</div>
</div>
</blockquote>
<p>just remove the br tags</p>
</div>
</blockquote>
<p>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).</p>
<p>And thank you for the clarification about CPPFLAGS ... somehow after all these decades I never realized that CPP stood for "C PreProcessor" and not "C Plus Plus".</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354944</link><pubDate>Sat, 19 Aug 2023 18:42:31 +0500</pubDate><title>cdb_fetch()/cdb_next_item() return immutable data</title><guid isPermaLink="false">2099354944@Uncensored</guid><description><![CDATA[<html><head></head><body>************************************************************************

Before now, the Berkeley DB back end was supplied the DB_DBT_MALLOC flag
and it became the caller's responsibility to handle any memory allocated
and returned by cdb_fetch() and cdb_next_item().  These heuristics are
not expected to be compatible with new back ends currently in planning.

cdb_fetch() and cdb_next_item() now return data that is to be considered
immutable (don't write to it or you'll segfault).  The caller must still
call cdb_free() to free the `struct cdbdata` itself, but the pointers
inside it point to buffers that the back end will reuse.

After a call to cdb_fetch() or cdb_next_item(), the buffers are
guaranteed to be readable until the next call to one of those functions
on the same table.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354921</link><pubDate>Sat, 19 Aug 2023 13:34:34 +0500</pubDate><title>serv_imap.c: moved to new CtdlFetchMsgList() API.</title><guid isPermaLink="false">2099354921@Uncensored</guid><description><![CDATA[<html><head></head><body>This should be the last of them.  Next step is to audit all other use of cdb_free().<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354910</link><pubDate>Sat, 19 Aug 2023 12:28:56 +0500</pubDate><title>serv_imap: removed all the CCC and CCCIMAP shorthand</title><guid isPermaLink="false">2099354910@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354727</link><pubDate>Thu, 17 Aug 2023 14:52:54 +0500</pubDate><title>msgbase.c all migrated to new api now</title><guid isPermaLink="false">2099354727@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354722</link><pubDate>Thu, 17 Aug 2023 14:23:20 +0500</pubDate><title>The previous commit was actually for CtdlDeleteMessages()</title><guid isPermaLink="false">2099354722@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354721</link><pubDate>Thu, 17 Aug 2023 14:32:56 +0500</pubDate><title>CtdlFetchMsgList() - treat no-record and zero-messages identically</title><guid isPermaLink="false">2099354721@Uncensored</guid><description><![CDATA[<html><head></head><body>In both cases, we return 0 to the caller and set the array pointer to NULL.
This simplifies the calling convention and eliminates extra code to check for both conditions<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354713</link><pubDate>Thu, 17 Aug 2023 14:13:33 +0500</pubDate><title>serv_nntp.c: move to new API</title><guid isPermaLink="false">2099354713@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354712</link><pubDate>Thu, 17 Aug 2023 14:20:49 +0500</pubDate><title>CtdlSaveMsgPointersInRoom() is now lmdb-safe</title><guid isPermaLink="false">2099354712@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354708</link><pubDate>Thu, 17 Aug 2023 13:25:48 +0500</pubDate><title>InitialMailCheck() uses new API</title><guid isPermaLink="false">2099354708@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354705</link><pubDate>Thu, 17 Aug 2023 13:11:39 +0500</pubDate><title>msgbase.c: change to new API</title><guid isPermaLink="false">2099354705@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354513</link><pubDate>Wed, 16 Aug 2023 10:14:58 +0500</pubDate><title>msgbase.c: upgrade CtdlSetSeen() to the new CtdlGetMsgList() API</title><guid isPermaLink="false">2099354513@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354437</link><pubDate>Wed, 16 Aug 2023 07:47:15 +0500</pubDate><title>Message #2099354437</title><guid isPermaLink="false">2099354437@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Aug 15 2023 23:46:27 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />UFarx: the formatter messed up that patch, I think.</div>
</div>
</blockquote>
<p>just remove the br tags</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354349</link><pubDate>Tue, 15 Aug 2023 19:45:24 +0500</pubDate><title>serv_expire: move to new msglists call</title><guid isPermaLink="false">2099354349@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354345</link><pubDate>Tue, 15 Aug 2023 23:46:27 +0500</pubDate><title>Message #2099354345</title><guid isPermaLink="false">2099354345@Uncensored</guid><description><![CDATA[  
 UFarx: the formatter messed up that patch, I think.  Can you put it in as
a merge request?  I'll pm you a login. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354317</link><pubDate>Tue, 15 Aug 2023 18:18:31 +0500</pubDate><title>serv_fulltext.c: copy the data returned by cdb_fetch() instead of taking owne...</title><guid isPermaLink="false">2099354317@Uncensored</guid><description><![CDATA[<html><head></head><body>We have to do this everywhere.  Berkeley DB can be configured to hand off ownership of memory to
the caller, but LMDB cannot.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099354316</link><pubDate>Tue, 15 Aug 2023 19:14:24 +0500</pubDate><title>DRY fetch of msglists.</title><guid isPermaLink="false">2099354316@Uncensored</guid><description><![CDATA[<html><head></head><body>A lot of the calls to cdb_fetch(CDB_MSGLISTS...) follow the same design pattern
and many of them are in need of rework to handle how they free their memory.  So
I created a new function CtdlGetMsgList() to do it in a consistent way.  Three
callers have been migrated to the new syntax.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353108</link><pubDate>Fri, 11 Aug 2023 18:13:09 +0500</pubDate><title>Message #2099353108</title><guid isPermaLink="false">2099353108@Uncensored</guid><description><![CDATA[<html><body>

<p>here's the configure patch:</p>
<hr />
<p><br /><code>--- configure_O 2023-08-01 04:34:30.000000000 +0200<br /> +++ configure 2023-08-11 23:58:52.000000000 +0200<br /> @@ -7,7 +7,7 @@<br /> # This program is open source software. Use, duplication, and/or<br /> # disclosure are subject to the GNU General Purpose License version 3.<br /> <br /> -echo <br /> +echo<br /> echo Running the configure script to create config.mk<br /> echo<br /> <br /> @@ -39,7 +39,6 @@<br /> shift<br /> done<br /> <br /> -<br /> ########################################################################<br /> # Set any missing values<br /> ########################################################################<br /> @@ -50,10 +49,9 @@<br /> # Configure the directory into which Citadel Server will be installed.<br /> [ "$CTDLDIR" = "" ] &amp;&amp; CTDLDIR=/usr/local/citadel<br /> <br /> -# Permit override of CFLAGS and LDFLAGS using environment variables<br /> -[ "$CFLAGS" = "" ] &amp;&amp; CFLAGS='-ggdb'<br /> -[ "$LDFLAGS" = "" ] &amp;&amp; LDFLAGS=''<br /> -<br /> +# Per
<hr />
<p><br />i removed the hardcoded ggdb on purpose. people who want or need that can add it on their own.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353103</link><pubDate>Fri, 11 Aug 2023 17:37:25 +0500</pubDate><title>Message #2099353103</title><guid isPermaLink="false">2099353103@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Fri Aug 11 2023 13:41:20 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">I'd be pleased to see that. Maybe just do one component first so we can see what it will look like.</div>
</blockquote>
<p>sure, one at a time.</p>
<blockquote>
<div class="message_header"><span>Fri Aug 11 2023 13:41:20 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">We try to make the build work cleanly on FreeBSD and Linux. There is no interest in testing on obsolete variants</div>
</blockquote>
<p>sorted, no problem with cmake then.</p>
<blockquote>
<div class="message_header"><span>Fri Aug 11 2023 14:36:40 EDT</span> <span>from <a href="do_template?template=user_show?who=LadySerenaKitty">LadySerenaKitty</a> </span></div>
<div class="message_content">I also limit myself to only using CMake 3.3, which is the last version made for IRIX.</div>
</blockquote>
<p>oh nice, irix was my main platform for many years :-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353091</link><pubDate>Fri, 11 Aug 2023 12:14:09 +0500</pubDate><title>More renaming of symbols that are local to the berkeley_db module.</title><guid isPermaLink="false">2099353091@Uncensored</guid><description><![CDATA[<html><head></head><body>dbp[] is now bdb_table[]
dbenv is now bdb_env<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353075</link><pubDate>Fri, 11 Aug 2023 14:57:16 +0500</pubDate><title>Message #2099353075</title><guid isPermaLink="false">2099353075@Uncensored</guid><description><![CDATA[<html><body>

<p>The email verification thingy doesn't seem to be workering.</p>
<blockquote>
<div class="message_header"><span>Fri Aug 11 2023 08:26:21 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>I already did the account creation thingy. </blockquote>
<br />Ok, I approved the account. I guess I need to set up more alerts on that sort of thing. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353063</link><pubDate>Fri, 11 Aug 2023 14:36:40 +0500</pubDate><title>Message #2099353063</title><guid isPermaLink="false">2099353063@Uncensored</guid><description><![CDATA[<html><body>

<p>CMake does do a bit of automagic resolution of certain resources.  It's a common tie-in with many ports/pkg systems, so in 3 ways CMake makes building official packages on OS project build servers much easier.</p>
<p>I also limit myself to only using CMake 3.3, which is the last version made for IRIX.  Unless you're using a pretty extensive build system, building for IRIX is non-trivial.  CMake makes it trivial by automagically bringing in all the various library and include locations.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353054</link><pubDate>Fri, 11 Aug 2023 13:41:20 +0500</pubDate><title>Message #2099353054</title><guid isPermaLink="false">2099353054@Uncensored</guid><description><![CDATA[ >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 testing on obsolete variants such as Solaris, AIX, HPUX, etc.

  
 In other news, y'all may have noticed that we're scraping the Citadel commit
log into this room now. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353042</link><pubDate>Fri, 11 Aug 2023 12:02:11 +0500</pubDate><title>Message #2099353042</title><guid isPermaLink="false">2099353042@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Aug 10 2023 22:04:00 EDT</span> <span>from <a href="do_template?template=user_show?who=LadySerenaKitty">LadySerenaKitty</a> </span></div>
<div class="message_content">I've never seen CMake be an issue for compatibility across multiple systems, and since it's a ready-made package for basically every OS</div>
</blockquote>
<p>both is only true if you're dealing with:</p>
<ol>
<li>rather recent os versions</li>
<li>mainstream systems</li>
</ol>
<p><br />pure c programs like citadel are especially attractive for older and/or more exotic systems. making cmake mandatory would kill that advantage. looking at the citadel package itself, for which i proposed the changes, cmake would be overkill. with a little tuning like the things i suggested, it would be fine and remain highly compatible.</p>
<p>if that's welcome, i'm happy to beef things up a little without sacrificing any compatibility.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353041</link><pubDate>Fri, 11 Aug 2023 07:46:34 +0500</pubDate><title>Moved cdb_chmod_data() out of the backend API</title><guid isPermaLink="false">2099353041@Uncensored</guid><description><![CDATA[<html><head></head><body>This function only does file and directory level operations on
the data/ directory and files in it.  These operations will be
common across all backends.<br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099353035</link><pubDate>Fri, 11 Aug 2023 07:21:58 +0500</pubDate><title>Renamed some more functions and variables that are specific to the bdb_ module.</title><guid isPermaLink="false">2099353035@Uncensored</guid><description><![CDATA[<html><head></head><body><br><br>
<a href=""></a>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352907</link><pubDate>Fri, 11 Aug 2023 09:18:18 +0500</pubDate><title>Message #2099352907</title><guid isPermaLink="false">2099352907@Uncensored</guid><description><![CDATA[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 something in the backend needs to store or retrieve something
specific to the thread (a cursor, a lock, or a transaction) it calls a function
that says "please give me a pointer to the thread-specific data region for
this thread; if none exists, create one". 
  
 I'm guessing that when we built the previous arrangement 25 years ago we
were expecting we'd need to store more than just database stuff in that region,
but it turned out not to be the case.  Also we were foolishly envisioning
a Windows port at the time so who knows what was going through our heads.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352904</link><pubDate>Fri, 11 Aug 2023 08:49:24 +0500</pubDate><title>Message #2099352904</title><guid isPermaLink="false">2099352904@Uncensored</guid><description><![CDATA[ > 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 try simply moving the thread-specific stuff into berkeley_db.c
and letting it handle that stuff internally instead of trying to do surgery
on the module and change its inner workings. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352897</link><pubDate>Fri, 11 Aug 2023 08:27:21 +0500</pubDate><title>Re: Build System</title><guid isPermaLink="false">2099352897@Uncensored</guid><description><![CDATA[ >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 build system. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352896</link><pubDate>Fri, 11 Aug 2023 08:26:21 +0500</pubDate><title>Message #2099352896</title><guid isPermaLink="false">2099352896@Uncensored</guid><description><![CDATA[ >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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352869</link><pubDate>Thu, 10 Aug 2023 22:04:00 +0500</pubDate><title>Message #2099352869</title><guid isPermaLink="false">2099352869@Uncensored</guid><description><![CDATA[<html><body>

<p>With CMake, all the dependencies are listed right there in CMakeLists.txt, so someone creating a port for their OS of choice can damn near copy-paste the dependencies into the file that describes the port in whatever ports/pkg system is in use.</p>
<p>I've never seen CMake be an issue for compatibility across multiple systems, and since it's a ready-made package for basically every OS, build time for CMake should be a non-issue.  Even those who build everything from ports wouldn't have much issue because CMake is already used for much of the other infrastructure apps already in use.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352854</link><pubDate>Thu, 10 Aug 2023 20:46:40 +0500</pubDate><title>Re: Build System</title><guid isPermaLink="false">2099352854@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Aug 10 2023 15:02:19 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Build System</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />CPPFLAGS is not used anywhere because there is no C++ anywhere in the system. </div>
</div>
</blockquote>
<p>CPPFLAGS are not related to c++ but are preprocessor flags (like: -I/opt/something/include). c++ compiler options would be CXXFLAGS.</p>
<p> </p>
<p>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:</p>
<p>in many cases the problem with cmake is cmake itself because it has quite hefty compiler requirements. ironically often much more hefty than the actual program it's supposed to prepare. in case if citadel that would be such a case. so if compatibility is important to you, cmake is not a good choice.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352842</link><pubDate>Thu, 10 Aug 2023 18:50:53 +0500</pubDate><title>Message #2099352842</title><guid isPermaLink="false">2099352842@Uncensored</guid><description><![CDATA[<html><body>

<p>I already did the account creation thingy.</p>
<blockquote>
<div class="message_header"><span>Thu Aug 10 2023 18:46:53 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">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. <br />I'll approve it in short order. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352841</link><pubDate>Thu, 10 Aug 2023 18:46:53 +0500</pubDate><title>Message #2099352841</title><guid isPermaLink="false">2099352841@Uncensored</guid><description><![CDATA[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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352826</link><pubDate>Thu, 10 Aug 2023 16:20:44 +0500</pubDate><title>Message #2099352826</title><guid isPermaLink="false">2099352826@Uncensored</guid><description><![CDATA[<html><body>

<p>Can I pwease be granted access to the lab of git?  I promise not to hock up too many hairballs.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352814</link><pubDate>Thu, 10 Aug 2023 15:27:29 +0500</pubDate><title>Message #2099352814</title><guid isPermaLink="false">2099352814@Uncensored</guid><description><![CDATA[<html><body>

<p>It is nice and clean.  Additionally, it makes creating a FreeBSD port dead-simple:</p>
<p><a href="https://github.com/freebsd/freebsd-ports/blob/main/security/diffcode/Makefile">https://github.com/freebsd/freebsd-ports/blob/main/security/diffcode/Makefile</a></p>
<p>The line that causes it to be built and packaged purrfectly for insertion into the FreeBSD Ports repos is line 12, "USES = cmake".  No other magic is needed.  A lot of Makefile-based projects have moar complercated ports because the locations of the output files varies widely.</p>
<blockquote>
<div class="message_header"><span>Thu Aug 10 2023 15:19:38 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>If it were up to me, the entire build system would be using CMake.  </blockquote>
<br />That does look nice and clean. <br /><br />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 isn't that much variation in our target platforms anymore, so a few simple tests are all we need. As long as it builds on BSD and Linux, I'm fine with it; we no longer have to check for oddball systems with oddball libraries because no one is running Citadel on those systems anymore (and we don't have enough developer time to support them anyway). <br /><br />I probably reinvented a wheel somewhere ... but it was a very basic, very simple wheel. <br /><br />All of the usual criticisms of Richard Marx Stallman are included herein by reference. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352813</link><pubDate>Thu, 10 Aug 2023 15:19:38 +0500</pubDate><title>Message #2099352813</title><guid isPermaLink="false">2099352813@Uncensored</guid><description><![CDATA[ >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 isn't that much variation in our target platforms
anymore, so a few simple tests are all we need.  As long as it builds on BSD
and Linux, I'm fine with it; we no longer have to check for oddball systems
with oddball libraries because no one is running Citadel on those systems
anymore (and we don't have enough developer time to support them anyway).

  
 I probably reinvented a wheel somewhere ... but it was a very basic, very
simple wheel. 
  
 All of the usual criticisms of Richard Marx Stallman are included herein
by reference. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352808</link><pubDate>Thu, 10 Aug 2023 15:10:31 +0500</pubDate><title>Message #2099352808</title><guid isPermaLink="false">2099352808@Uncensored</guid><description><![CDATA[  
 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. 
  
 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 always, the
caller is expected to keep reading until the end, at which point the cursor
is de-allocated by the backend.  The data type of the cursor is `void *` and
the backend is expected to cast it to its own native type. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352807</link><pubDate>Thu, 10 Aug 2023 15:07:21 +0500</pubDate><title>Message #2099352807</title><guid isPermaLink="false">2099352807@Uncensored</guid><description><![CDATA[<html><body>

<p>If it were up to me, the entire build system would be using CMake.  That's what I use in all my projects:</p>
<p><a href="https://github.com/LadySerenaKitty/klaculate">https://github.com/LadySerenaKitty/klaculate</a></p>
<p><a href="https://gitlab.com/LadySerenaKitty/diffcode">https://gitlab.com/LadySerenaKitty/diffcode</a></p>
<p><a href="https://gitlab.com/LadySerenaKitty/hexcode">https://gitlab.com/LadySerenaKitty/hexcode</a></p>
<p><a href="https://gitlab.com/LadySerenaKitty/rotate">https://gitlab.com/LadySerenaKitty/rotate</a></p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352804</link><pubDate>Thu, 10 Aug 2023 15:02:19 +0500</pubDate><title>Re: Build System</title><guid isPermaLink="false">2099352804@Uncensored</guid><description><![CDATA[  
 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 ufarx@uncensored.citadel.org as your
email address, since it only accepts citadel.org signups to prevent noise
from the outside.) 
  
 I believe we do use CFLAGS and LDFLAGS in at least some of the builds.  We're
in the process of moving away from the GNU Autotools, as you might have noticed.
 Citadel Server, the text client, and WebCit-NG are using our own build system,
while WebCit Classic and libcitadel are still on the GNU tools. 
  
 CPPFLAGS is not used anywhere because there is no C++ anywhere in the system.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352737</link><pubDate>Wed, 09 Aug 2023 17:37:41 +0500</pubDate><title>Message #2099352737</title><guid isPermaLink="false">2099352737@Uncensored</guid><description><![CDATA[<html><body>

<p>never mind. somebody moved it to the right room. these messages could actually be deleted.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352704</link><pubDate>Wed, 09 Aug 2023 12:41:57 +0500</pubDate><title>Re: Build System</title><guid isPermaLink="false">2099352704@Uncensored</guid><description><![CDATA[<html><body>

<p>I could be wrong, but when you first get here, it defaults to the last room seen by a non-logged in person.  When you login, it stays there.</p>
<p>i always just go to the room list, to see what is new, for me.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352696</link><pubDate>Wed, 09 Aug 2023 11:19:33 +0500</pubDate><title>Re: Build System</title><guid isPermaLink="false">2099352696@Uncensored</guid><description><![CDATA[<html><body>

<p>i know, it was an accident. i actually was going to post there but logging in changed the current room.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352687</link><pubDate>Wed, 09 Aug 2023 10:36:34 +0500</pubDate><title>Message #2099352687</title><guid isPermaLink="false">2099352687@Uncensored</guid><description><![CDATA[  
 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 gets initialized
long before the add-on modules get initialized. 
  
 There is a file ./server/database.c which handles the selection and activation
of one of the available backends.  Naturally, it is simply hardcoded to activate
the Berkeley DB backend right now, because that's the only one we have. 
  
 If you want to write a backend, here's what you have to do: 
  
 1. Create a directory ./server/backends/foo 
 2. Populate it with ./server/backends/foo/foo.c and ./server/backends/foo/foo.h

 3. Modify ./server/database.c to include your header file, and to call your
initialization function instead
of the BDB one. 
 4. Implement the interface described in ./server/database.h, using ./server/backends/berkeley_db/berkeley_db.c
as a reference. 
  
 Since this is a brand new effort, I cannot guarantee that the interface won't
change a bit as we refine the abstractions.  But it won't change much; the
basic functions are pretty much in the form they'll continue to be. 
  
 My next task is to update `ctdldump` and `ctdlload` to use this interface
instead of calling BDB directly. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352682</link><pubDate>Wed, 09 Aug 2023 07:12:02 +0500</pubDate><title>Re: Build System</title><guid isPermaLink="false">2099352682@Uncensored</guid><description><![CDATA[<html><body>

<p>Might want to post that in the dev room. </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352650</link><pubDate>Tue, 08 Aug 2023 21:12:28 +0500</pubDate><title>Build System</title><guid isPermaLink="false">2099352650@Uncensored</guid><description><![CDATA[<html><body>

<p>hello citadel team,<br /><br />i have some suggestions for making the build system a bit more open:<br /><br />- don't hardcode cc<br />the configure script and makefile shouldn't use cc but the environment variable CC. if that's not set, cc could be the fallback.<br /><br />- include CPPFLAGS and LDFLAGS<br />the environment variables CPPFLAGS and LDFLAGS should of course be used. otherwise the tests for certain libs like ssl or iconv don't make much sense because they fail as soon as something is not in the standard system folders.<br /><br />with these combined the test for libiconv for example would then look like this:</p>
<p><code>${CC} ${CPPFLAGS} $tempcc -o $tempfile ${LDFLAGS} -liconv</code></p>
<p><br />alternatively one could offer configure options for the required libs. for example something like --with-ssl. configure would then append include and lib to that path and add these to CPPFLAGS and LDFLAGS respectively.<br /><br />in its current form the configure script is useless for anyone who does not have everything in the default system folders.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352642</link><pubDate>Tue, 08 Aug 2023 20:02:02 +0500</pubDate><title>Message #2099352642</title><guid isPermaLink="false">2099352642@Uncensored</guid><description><![CDATA[<html><body>

<p>Does to me.</p>
<blockquote>
<div class="message_header"><span>Tue Aug 08 2023 06:15:30 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br /><br /><br />Does that sound acceptable to you all? . </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352633</link><pubDate>Tue, 08 Aug 2023 18:15:30 +0500</pubDate><title>Message #2099352633</title><guid isPermaLink="false">2099352633@Uncensored</guid><description><![CDATA[  
 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 backends to use 
 * All functions beginning with cdb_ were renamed to bdb_ 
 * The cdb_ functions are now just pointers 
 * During initialization, the cdb_ functions are assigned to their corresponding
bdb_ functions 
  
 I've tested it a bit and everything seems to be working just as it was before.
 I did the whole thing with function pointer assignment because I didn't want
to write a giant batch of wrapper functions to marshal calls to the correct
backend and then require one more step up the stack for every call.  Since
only one backend will ever be used at a time, we load the pointers at initialization
time and then everything works exactly as it did before. 
  
 Here's where I expect to go with this next: 
  
 * A new server/database.c file will come into existence, and it will handle
the binding of the selected backend 
 * Backends will move to a separate part of the directory tree, probably server/modules.
 They will need to have a different initialization convention because the
data store is initialized long before server extension modules are initialized.

 * Backends that are incompatible with a particular host (for example, LMDB
on 32-bit) will simply be skipped in the build. 
 * We'll have to add another function to scan the data directory and detect
what backend was used to write any existing database that might already be
there.  If an existing database is present, we will automatically load the
correct backend. 
 * Where no existing database is present, we will choose one in
order of preference.  A command line switch will of course be available to
override the server's decision. 
  
 Does that sound acceptable to you all?  This should make it possible to bring
experimental backends into the tree without foisting them upon the user community.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352611</link><pubDate>Tue, 08 Aug 2023 14:30:30 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352611@Uncensored</guid><description><![CDATA[<html><body>

<p>I was mostly teasing on that. "get off my lawn" sort of thing :)</p>
<p>Tho as i scanned thru it seemed like one of the no-SQL sorts of things. </p>
<blockquote>
<div class="message_header"><span>Tue Aug 08 2023 09:23:09 AM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: y creashRe: Database Recovery Tools</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">The only thing that's "all the rage with the kids" is *calling* it "NoSQL". <br />Berkeley DB has been a simple key/value data store for 30 years. And until recently it's worked fine for us. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352590</link><pubDate>Tue, 08 Aug 2023 13:35:23 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352590@Uncensored</guid><description><![CDATA[  
 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 was built to be swapped out.  It's
going to be even more modular soon. 
  
 If you look in database.h you're going to see a set of functions that is
basically the "driver API" for database backends.  My work over the next couple
of days will be to completely decouple Berkeley DB from the main server code
and turn it into a server module that registers as a database backend.  At
that point we will be able to build in any database driver we want -- just
like the OpenLDAP folks did. 
  
 I'll probably build the LMDB driver, and configure it to only build on 64-bit
systems.  With the modular interface, you guys can build SQLite or MariaDB
or whatever tickles your fancy. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352576</link><pubDate>Tue, 08 Aug 2023 09:23:09 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352576@Uncensored</guid><description><![CDATA[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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352519</link><pubDate>Mon, 07 Aug 2023 18:16:34 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352519@Uncensored</guid><description><![CDATA[<html><body>

<p>One of those new fangled no-sql things that is all the rage with the kids these days? </p>
<blockquote>
<div class="message_header"><span>Mon Aug 07 2023 10:44:40 AM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: y creashRe: Database Recovery Tools</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />To be honest I'm leaning towards LMDB, </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352503</link><pubDate>Mon, 07 Aug 2023 13:51:27 +0500</pubDate><title>Message #2099352503</title><guid isPermaLink="false">2099352503@Uncensored</guid><description><![CDATA[<html><body>

<p>I'm a fan of SQL stuffs, like MariaDB.  It's all I use.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352486</link><pubDate>Mon, 07 Aug 2023 10:44:40 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352486@Uncensored</guid><description><![CDATA[  
 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: 
  
 [ http://schd.ws/hosted_files/buildstuff14/96/20141120-BuildStuff-Lightning.pdf
] 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352485</link><pubDate>Mon, 07 Aug 2023 10:37:05 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352485@Uncensored</guid><description><![CDATA[  
 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 from a design
point of view. 
  
 MariaDB: requires a separate database server process, plus the schema issue.
 To be honest I'm not a big fan of this idea. 
  
 LMDB: also very well regarded, and considered by most in the open source
community to be "the" replacement for Berkeley DB.  It uses memory mapped
file semantics as its storage layer, so it's fast and stable.  The downside
is that because of memory mapped files, the maximum database size is 4 GB
on a 32-bit system.  This is not enough for Citadel, so we would have to end
support for 32-bit hardware.  On x86 this is no problem, but on ARM it could
be an issue. 
  
 More on this soon.  We have to do something. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352478</link><pubDate>Mon, 07 Aug 2023 10:11:04 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352478@Uncensored</guid><description><![CDATA[<html><body>

<p>With as long as it was gone, i figured it was not intentional. :( </p>
<p>I know i cant contribute code from lack of time and i'm sooooo out of practice, but SQLite might be an easy and safe replacement? ( unless you go with the total abstraction model then its academic ) </p>
<blockquote>
<div class="message_header"><span>Mon Aug 07 2023 09:56:00 AM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: y creashRe: Database Recovery Tools</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Aaaaaaaaaaaand Uncensored crashed last night and took the database with it. <br /><br />I don't know what the deal is with this; we've been running Berkeley DB for more than 20 years and it's never been this unstable before. But now it's a liability and I am afraid that some people will begin shying away from Citadel because of it -- if they're not already. <br /><br />It has to go. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352473</link><pubDate>Mon, 07 Aug 2023 09:56:00 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352473@Uncensored</guid><description><![CDATA[  
 Aaaaaaaaaaaand Uncensored crashed last night and took the database with it.

  
 I don't know what the deal is with this; we've been running Berkeley DB for
more than 20 years and it's never been this unstable before.  But now it's
a liability and I am afraid that some people will begin shying away from Citadel
because of it -- if they're not already. 
  
 It has to go. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352429</link><pubDate>Sat, 05 Aug 2023 13:59:05 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352429@Uncensored</guid><description><![CDATA[    
 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 --disable-heap --disable-queue \ 
 --disable-replication --disable-statistics \ 
  
 That'll give us back the "verify" code and more verbose error messages too.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352422</link><pubDate>Sat, 05 Aug 2023 13:43:53 +0500</pubDate><title>Re: y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352422@Uncensored</guid><description><![CDATA[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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352412</link><pubDate>Sat, 05 Aug 2023 12:14:01 +0500</pubDate><title>y creashRe: Database Recovery Tools</title><guid isPermaLink="false">2099352412@Uncensored</guid><description><![CDATA[<html><body>

<p>My crash was on a dev system.  Since the DB is not in master, I just use the tar from EasyInstall and build it.</p>
<p> </p>
<p>When it crashed, I tried to run the db_ tools and they give me the error about not having included the recovery part.  I did a clean EasyInstall and got the same error.</p>
<p> </p>
<p>I played around with the build of Berkley and finally got it to build with my make of citadel.  The existing make file did not include the options to build the recovery part.  If I rebuilt it with configure, it worked.  I ended up with the following for my dev version.  I have a stubbed out library to check for memory leaks that I used in the db build, so that is the reason for the build order to get the header files into the ctdlsupport directory early because I delete the db files in ctdlsupport before building so it will not use a previous db versions header files.</p>
<p>cd $(DB_DIR)/build_unix<br /> ../dist/configure<br /> make clean<br /> make install_include<br /> make<br /> make install_lib<br /> make install_utilities</p>
<p>If you are not having the db tool errors, it is just the way I build it, but since EasyInstall did the same for me, might need to be fixed, no matter how it is built.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352329</link><pubDate>Fri, 04 Aug 2023 13:55:14 +0500</pubDate><title>Re: Database Recovery Tools</title><guid isPermaLink="false">2099352329@Uncensored</guid><description><![CDATA[  
 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 to use them? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352326</link><pubDate>Fri, 04 Aug 2023 13:51:15 +0500</pubDate><title>Re: Database Recovery Tools</title><guid isPermaLink="false">2099352326@Uncensored</guid><description><![CDATA[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 alternative. 
  
 But I also had a corrupted db on a development system that I (perhaps deliberately)
crashed out a few too many times.  I was able to use ctdldump/ctdlload to
recover it instead of using db_dump/db_load and it actually worked pretty
well.  I'm wondering whether database_cleanup.sh should switch over. 
  
 Nevertheless, I will check to see if the utilities are installed.  I really
thought they were. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352312</link><pubDate>Fri, 04 Aug 2023 12:25:10 +0500</pubDate><title>Database Recovery Tools</title><guid isPermaLink="false">2099352312@Uncensored</guid><description><![CDATA[<html><body>

<p>My database got corrupted and I tried to run the db_ tools and I got an error about the recovery not being compiled in.  I did an easy install and the same thing.  Can someone verify that db_verify does/does not work.  Other tools had same error message.  I had to go into the database build and run configure to generate the Makefile that would build it so it work work.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352307</link><pubDate>Fri, 04 Aug 2023 12:21:12 +0500</pubDate><title>Re: Merge Request Approval: IMAP memory issues with use of ConstStr</title><guid isPermaLink="false">2099352307@Uncensored</guid><description><![CDATA[<html><body>

<p>Probably a role thing.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352080</link><pubDate>Tue, 01 Aug 2023 20:45:07 +0500</pubDate><title>Re: Merge Request Approval: IMAP memory issues with use of ConstStr</title><guid isPermaLink="false">2099352080@Uncensored</guid><description><![CDATA[Crap.  Ok, I'll do the merge, but I really need to figure out what the heck
is happening. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099352009</link><pubDate>Tue, 01 Aug 2023 11:30:47 +0500</pubDate><title>Re: Merge Request Approval: IMAP memory issues with use of ConstStr</title><guid isPermaLink="false">2099352009@Uncensored</guid><description><![CDATA[<html><body>

<p>I do not have permissions to check in.  No button to merge and my icon shows "Cannot merge".  I am logged in.</p>
<blockquote>
<div class="message_header"><span>Mon Jul 31 2023 06:25:58 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Merge Request Approval: IMAP memory issues with use of ConstStr</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Sorry about that, it just got away from me. I approved it. Looks good. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351953</link><pubDate>Mon, 31 Jul 2023 18:25:58 +0500</pubDate><title>Re: Merge Request Approval: IMAP memory issues with use of ConstStr</title><guid isPermaLink="false">2099351953@Uncensored</guid><description><![CDATA[Sorry about that, it just got away from me.  I approved it.  Looks good. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351892</link><pubDate>Sun, 30 Jul 2023 20:22:53 +0500</pubDate><title>Re: Merge Request Approval: IMAP memory issues with use of ConstStr</title><guid isPermaLink="false">2099351892@Uncensored</guid><description><![CDATA[<html><body>

<p>This is still waiting for approval.  Do you want me to bring the branch up to the head or anything else?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351805</link><pubDate>Sat, 29 Jul 2023 11:37:46 +0500</pubDate><title>Re: Merge Request Approval: IMAP memory issues with use of ConstStr</title><guid isPermaLink="false">2099351805@Uncensored</guid><description><![CDATA[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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351755</link><pubDate>Fri, 28 Jul 2023 17:56:10 +0500</pubDate><title>Re: Merge Request Approval: IMAP memory issues with use of ConstStr</title><guid isPermaLink="false">2099351755@Uncensored</guid><description><![CDATA[<html><body>

<p>While looking at the use of ConstStr, it was interesting how it was being used.  "Const" is definably not the description to use.  It really is just a StrBuf where the pointer does not need to be freed.  All sorts of code change the pointer string and really did not check what it is doing.  Probably worth replacing the use in our copious spare time lol.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351493</link><pubDate>Wed, 26 Jul 2023 08:58:29 +0500</pubDate><title>Re: Merge Request Approval: IMAP memory issues with use of ConstStr</title><guid isPermaLink="false">2099351493@Uncensored</guid><description><![CDATA[ >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
buffers and it was extensively tested as it was built.  Unfortunately, the
developer who added StrBuf and ConstStr to libcitadel was a little too eager
and converted a lot of code all throughout the system, and introduced subtle
bugs everywhere. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351492</link><pubDate>Wed, 26 Jul 2023 08:55:00 +0500</pubDate><title>Re: Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099351492@Uncensored</guid><description><![CDATA[ >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 ctdlmigrate to ctdldump/ctdlload
now, so if your tree has anything in the modules/migrate/ directory you can
safely remove that now.  We'll have to figure out how to deal with ctdldump/ctdlload
with the multiple record version types, of course, but that should be straightforward.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351240</link><pubDate>Sun, 23 Jul 2023 23:01:30 +0500</pubDate><title>Re: Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099351240@Uncensored</guid><description><![CDATA[<html><body>

<p>Forgot to say that I was not logged in either and that was what was causing the check-in.  I did not notice since I had access to everything.  Strange....</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351237</link><pubDate>Sun, 23 Jul 2023 22:43:56 +0500</pubDate><title>Merge Request Approval: IMAP memory issues with use of ConstStr</title><guid isPermaLink="false">2099351237@Uncensored</guid><description><![CDATA[<html><body>

<p>Had a coredump that was related to IMAP parameters and access to ConstStr.  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.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351234</link><pubDate>Sun, 23 Jul 2023 22:19:58 +0500</pubDate><title>Re: Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099351234@Uncensored</guid><description><![CDATA[<html><body>

<p>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.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351189</link><pubDate>Sun, 23 Jul 2023 13:36:38 +0500</pubDate><title>Message #2099351189</title><guid isPermaLink="false">2099351189@Uncensored</guid><description><![CDATA[<html><body>

<p>Got home quite a bit earlier than expected. Decided to set things up before i head out again..   Sooooo.... its up and running. Details sent via email.</p>
<blockquote>
<div class="message_header"><span>Sat Jul 22 2023 10:19:29 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">That is more than sufficient, thanks! </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351121</link><pubDate>Sat, 22 Jul 2023 22:19:29 +0500</pubDate><title>Message #2099351121</title><guid isPermaLink="false">2099351121@Uncensored</guid><description><![CDATA[That is more than sufficient, thanks! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351061</link><pubDate>Sat, 22 Jul 2023 17:59:03 +0500</pubDate><title>Message #2099351061</title><guid isPermaLink="false">2099351061@Uncensored</guid><description><![CDATA[<html><body>

<p>Let me set a box up tomorrow for you when i get back home.  A RK3588 with 8G ram ok? Couple hundred gig SSD.</p>
<p>We can work out connection details via PM after i get it built.</p>
<blockquote>
<div class="message_header"><span>Sat Jul 22 2023 12:28:26 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I would certainly welcome having a chance to test the build on that target and see how it goes. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351008</link><pubDate>Sat, 22 Jul 2023 12:32:00 +0500</pubDate><title>Message #2099351008</title><guid isPermaLink="false">2099351008@Uncensored</guid><description><![CDATA[  
 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 the databases. 
  
 So for the time being I have it set to capture signal 11 and go straight
to closing the databases, like we do when we capture some other signals. 
Let's see if makes things better. 
  
 For the long term, splitting the database accessor into a separate process
might make sense. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099351007</link><pubDate>Sat, 22 Jul 2023 12:28:26 +0500</pubDate><title>Message #2099351007</title><guid isPermaLink="false">2099351007@Uncensored</guid><description><![CDATA[I would certainly welcome having a chance to test the build on that target
and see how it goes. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350980</link><pubDate>Sat, 22 Jul 2023 09:48:42 +0500</pubDate><title>Message #2099350980</title><guid isPermaLink="false">2099350980@Uncensored</guid><description><![CDATA[<html><body>

<p>No. After the break in and later attacks i wiped everything, even backups as i didnt trust them after that. Would need to be a fresh install, which i doubt would be a 'good' test since it would be mostly empty.</p>
<p>That is why i was still offering up access here, you could beat on it as much as needed for testing between platforms. ( or i could mail you a Jetson or something :) ).</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Jul 22 2023 09:30:18 AM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">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% fidelity. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350976</link><pubDate>Sat, 22 Jul 2023 09:30:18 +0500</pubDate><title>Message #2099350976</title><guid isPermaLink="false">2099350976@Uncensored</guid><description><![CDATA[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% fidelity. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350964</link><pubDate>Sat, 22 Jul 2023 07:52:57 +0500</pubDate><title>Message #2099350964</title><guid isPermaLink="false">2099350964@Uncensored</guid><description><![CDATA[<html><body>

<p>i wondered what was going on. Figured it was not just an update.</p>
<p>While i have no users for load testing, if you want someone to at least test installs and basic ops, yell.  I can do both x86 and arm64  ( doubt arm32 is worth trying at this point ). I could do Risc-v too, but i doubt all the tools are there to make that work yet. </p>
<p>And as always, the offer to prop up an ARM machine for you to have direct access to via SSH ( or vpn ) is on the table.</p>
<blockquote>
<div class="message_header"><span>Fri Jul 21 2023 06:10:22 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />F*****g hell. I had to restore from a backup this afternoon because my database bit the dust. <br /><br />Looks like it's time to accelerate the replacement of Berkeley DB. <br /><br />ctdldump/ctdlload is functionally complete, and we can start testing it. <br />I'm also thinking that maybe we want to split the server core and the database handler into two separate processes, so if something happens to citserver it doesn't whack the database along with it. This is something we'd get naturally with an external SQL server, I know. <br /><br />*sigh* </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350938</link><pubDate>Fri, 21 Jul 2023 21:38:50 +0500</pubDate><title>Re: Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099350938@Uncensored</guid><description><![CDATA[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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350903</link><pubDate>Fri, 21 Jul 2023 18:13:10 +0500</pubDate><title>Re: Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099350903@Uncensored</guid><description><![CDATA[ > 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 and credited to the person who actually
wrote and submitted them.  Then a commit appears at the end showing who performed
the merge.  I'm ok with that. 
  
 The trick is to make sure the "squash commits" option is NOT checked, because
that hides the details. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350902</link><pubDate>Fri, 21 Jul 2023 18:10:22 +0500</pubDate><title>Message #2099350902</title><guid isPermaLink="false">2099350902@Uncensored</guid><description><![CDATA[  
 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 the server core and the database
handler into two separate processes, so if something happens to citserver
it doesn't whack the database along with it.  This is something we'd get naturally
with an external SQL server, I know.   
  
 *sigh* 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350865</link><pubDate>Thu, 20 Jul 2023 17:54:11 +0500</pubDate><title>Re: Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099350865@Uncensored</guid><description><![CDATA[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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350849</link><pubDate>Thu, 20 Jul 2023 14:47:57 +0500</pubDate><title>Re: Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099350849@Uncensored</guid><description><![CDATA[<html><body>

<p>Tried to create a new Merge Request for a different branch and when I click to create it, the page just spins and never creates it.  Something is up with GitLab....</p>
<blockquote>
<div class="message_header"><span>Thu Jul 20 2023 02:28:36 PM EDT</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Approval Request: Memory_Leak_SmtpClient</span></div>
<div class="message_content">
<p>Either I do not have permission to merge, or something is wrong with GitLab.  When I bring up the Merge Request, the left menu has a bunch of spinning updates that never complete.  I was able to assign the merge to myself, but that did not change anything, except there is a warning on my icon that says "cannot merge".</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350846</link><pubDate>Thu, 20 Jul 2023 14:28:36 +0500</pubDate><title>Re: Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099350846@Uncensored</guid><description><![CDATA[<html><body>

<p>Either I do not have permission to merge, or something is wrong with GitLab.  When I bring up the Merge Request, the left menu has a bunch of spinning updates that never complete.  I was able to assign the merge to myself, but that did not change anything, except there is a warning on my icon that says "cannot merge".</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350822</link><pubDate>Thu, 20 Jul 2023 09:12:10 +0500</pubDate><title>Re: Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099350822@Uncensored</guid><description><![CDATA[Geez.  Nice find.  Approved, of course. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350643</link><pubDate>Tue, 18 Jul 2023 16:10:19 +0500</pubDate><title>Approval Request: Memory_Leak_SmtpClient</title><guid isPermaLink="false">2099350643@Uncensored</guid><description><![CDATA[<html><body>

<p>There is a memory leak in the client.  An unused variable is being malloc'ed and never freed. </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350571</link><pubDate>Mon, 17 Jul 2023 23:54:27 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099350571@Uncensored</guid><description><![CDATA[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 file and then load it back
on another system.  This can be the first step towards a transition period
between databases, of course, since we can build compatible dump/load utilities
for each database that share a common export format. 
  
 To make things easier: the export format is not intended to be backwards
compatible.  As with its predecessor, we expect the dumping and loading systems
to be running the same version of Citadel Server. 
  
 Uncensored is still running on 32-bit i386.  One of the first things I want
to do is use these utilities to finally get my own system onto 64-bit.  I
tried
it a few months ago with ctdlmigrate and it did *not* go well.  Aside from
taking many hours to run, the resulting system was unstable and had data missing.
 I guess all that conversion back and forth to XML on running servers just
wasn't a great idea, which is why ctdlmigrate is being discontinued. 
  
 Sqlite is pretty cool, and I'd be interested in hearing your schema idea.
 I am somewhat turned off by the idea of having a schema layer and not really
using it.  I wonder if it's possible to access Sqlite's B-Tree back end directly?

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099350224</link><pubDate>Fri, 14 Jul 2023 11:26:45 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099350224@Uncensored</guid><description><![CDATA[<html><body>

<p>After I finish up the IMAP Flags, I should have some time to contribute to the database.  I was initially thinking of SqlLite.  The trick is what database schema we want to support.  I was looking at keeping with the key/value concept and just replace database.c.  I have an idea of the schema for the database that will be efficient on database size.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349778</link><pubDate>Mon, 10 Jul 2023 22:27:26 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099349778@Uncensored</guid><description><![CDATA[  
 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 compile *.c in one shot,
and I'm finally coming back to that now.  It needs to be tested on FreeBSD
to make sure I didn't do anything Linux-specific in there. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349588</link><pubDate>Sun, 09 Jul 2023 17:57:38 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099349588@Uncensored</guid><description><![CDATA[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 for 20+ years, some tight
couplings may have snuck in, so we'll have to identify them and properly abstract
them. 
  
 The pluggable database layer was, at the time, intended to be used to switch
between blob stores, not SQL databases.  I'm not against going SQL but it
would greatly impact how we build it -- and that's going to depend on who
is doing the work. 
  
 The way I see it, a Citadel Server binary would be linked against one (and
only one) database back end.  We've played around with linkable modules in
the past, and it ended up being a support nightmare.  Maybe that's different
now because
we only really have to support Linux and FreeBSD, and both of those are more
stable targets.  <shrug> 
  
 So if you have support for multiple database types, each one would have a
`citserver` binary, a `dump` binary, and a `load` binary.  Some of these would
be unnecessary if some of the back ends are SQL based and the dump format
is a standard SQL dump. 
  
 I see two different development paths.  One is a march towards LMDB and one
is a march towards SQL: 
  
 (A) Blob stores only: 
 1. Make sure the `database.c` interface is 100% decoupled from the rest of
the system. 
 2. Refactor `ctdl3264` into a dump-and-load program. 
 3. Develop drivers for LMDB, Cassandra, MongoDB, or whatever. 
  
 (B) Blob *and* SQL stores: 
 1. The new abstraction becomes the interfaces such as Ctdl[Get|Put]User,
Ctdl[Get|Put]Room, ForEachUser, etc.  Refactor the code so these interfaces
find their way into
the pluggable side of things. 
 2. Add new pluggable stores for SQLite, MariaDB, etc. 
 3. Refactor `ctdl3264` into a program that can dump the blob stores into
a standard SQL dump.  (Dump and load on the SQL based back ends would use
their native utilities.) 
  
 I'm interested in hearing any and all good ideas!  But no one gets a vote
unless they commit to helping  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349548</link><pubDate>Sun, 09 Jul 2023 13:25:45 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099349548@Uncensored</guid><description><![CDATA[<html><body>

<p>MariaDB and/or MySQL</p>
<blockquote>
<div class="message_header"><span>Sun Jul 09 2023 09:46:26 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Master: citserver coredump on Shutdown</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Grrr. Unrecoverable error on my database this morning. I think maybe it is time to put Berkeley DB out to pasture after all. <br /><br />Let's think about what we want the next to look like. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349525</link><pubDate>Sun, 09 Jul 2023 09:46:26 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099349525@Uncensored</guid><description><![CDATA[  
 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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349108</link><pubDate>Wed, 05 Jul 2023 21:09:30 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099349108@Uncensored</guid><description><![CDATA[ >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. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349105</link><pubDate>Wed, 05 Jul 2023 21:08:56 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099349105@Uncensored</guid><description><![CDATA[ >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 (IMAP) refers to as a sequence set.  If you dig
through the RFC's you can read all of the BNF notation, after which you will
give up and throw things at your screen.  But it's pretty simple to read (maybe
not to manipulate, but definitely to read) once you understand it. 
  
 A sequence set is basically zero or more atoms separated by commas.   
  
 Each atom can be one of five things: 
  
 m (a message number) - describes exactly one message.  For example: 
      1,2,3,10,11,12 
 That means exactly those six messages, and no others, existing or future.

  
 m:n (a range) - describes all messages from
m to n inclusive, including any new messages that may appear inside that range
in the future.  For example: 
      1,2,3,10-12 
  
 The above example means messages 1, 2, 3, and everything from 10 to 12 inclusive.
 If message 11 exists it is included.  If message 11 does not exist but appears
later on (for example, someone moved it in to the mailbox/room from elsewhere)
it is included. 
  
 *:n - a range from zero to n, inclusive.  You'll see this a lot in Citadel;
it means "all messages up to and including n" 
  
 m:* - a range from m to infinity.  You'll almost never see this because it
excludes any new messages that are added in the future, which isn't exactly
desirable. 
  
 *   - all messages, any number, current or future.  Again, you'll almost
never see this because it excludes any new messages that are added in the
future. 
  
  
  
 So if someone picks through a mailbox selecting
and deselecting messages, you might see something like: 
   *:124,160,199,200-207,315 
  
 Clear as mud, right?  ;) 
  
 To answer your question: when I tested it I had unread messages in quite
a lot of rooms.  After the conversion they were all marked as read even though
I had not read them. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349054</link><pubDate>Wed, 05 Jul 2023 17:50:32 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099349054@Uncensored</guid><description><![CDATA[<html><body>

<p>Pretty consistent for me.  I put a check in the Berkley code to work around, but not sure of the root cause either.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349053</link><pubDate>Wed, 05 Jul 2023 17:49:13 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099349053@Uncensored</guid><description><![CDATA[<html><body>

<p>Duh.  Button next to Comment button.  I closed.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349043</link><pubDate>Wed, 05 Jul 2023 17:26:18 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099349043@Uncensored</guid><description><![CDATA[ >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?

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349042</link><pubDate>Wed, 05 Jul 2023 17:25:46 +0500</pubDate><title>Re: Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099349042@Uncensored</guid><description><![CDATA[ >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 out. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349021</link><pubDate>Wed, 05 Jul 2023 15:51:20 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099349021@Uncensored</guid><description><![CDATA[<html><body>

<p>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 ignore Visit records when upgrading that look bad.  If they got skipped, the message set would be blank and all messages would show as unseen after the upgrade.  Can you check in the log to see what the message says about the conversion.  Should show a count of any records were invalid/skipped.</p>
<blockquote>
<div class="message_header"><span>Wed Jul 05 2023 01:48:13 PM EDT</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</span></div>
<div class="message_content">
<p>I was trying to figure out how to reject the request myself.  Does not look like you can.  I Googled and others were talking about how GitLab was lacking that option.  If you can figure out how to reject or delete it, I will not be offended unless you don't tell me how :-)  Otherwise I will just update the branch and I think the request will get updated.</p>
<p>Thanks for the string.  I will play with it.  In my testing, the upgrade worked on Seen, but not very extensive examples.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349013</link><pubDate>Wed, 05 Jul 2023 14:53:50 +0500</pubDate><title>Master: citserver coredump on Shutdown</title><guid isPermaLink="false">2099349013@Uncensored</guid><description><![CDATA[<html><body>

<p>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.</p>
<p>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.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099349002</link><pubDate>Wed, 05 Jul 2023 13:48:13 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099349002@Uncensored</guid><description><![CDATA[<html><body>

<p>I was trying to figure out how to reject the request myself.  Does not look like you can.  I Googled and others were talking about how GitLab was lacking that option.  If you can figure out how to reject or delete it, I will not be offended unless you don't tell me how :-)  Otherwise I will just update the branch and I think the request will get updated.</p>
<p>Thanks for the string.  I will play with it.  In my testing, the upgrade worked on Seen, but not very extensive examples.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348984</link><pubDate>Wed, 05 Jul 2023 12:13:26 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099348984@Uncensored</guid><description><![CDATA[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) is:   *:2099348686 
  
 Are we processing the asterisk?  We're using IMAP-compatible syntax, so that
one means "every message up to and including 2099348686" 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348924</link><pubDate>Wed, 05 Jul 2023 01:10:47 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099348924@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks for the feedback.  My testing only had a small database, so 10 min is rather bad.  I think switching to doing the conversion when accessed is the best idea.  It is simple since that is how I did it before I switched to the upgrade.  I only have to add some code to one function.  I am going to look into why the conversion did not work to make sure it is not an error that will occur when I do it on demand.  I would be interested in the Seen message set string that caused it to fail.  May be the pattern that is not being processed correctly.</p>
<p>I will update the branch and submit a new request when I am ready.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348686</link><pubDate>Mon, 03 Jul 2023 13:23:05 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099348686@Uncensored</guid><description><![CDATA[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 built as what I've recently learned is called
an "omnibus" package.  That is to say, it holds all components together in
a single container, and is packaged that way for ease of deployment rather
than for optimal componentization. 
  
 You're also correct in pointing out that I would need `supervisord`, but
the idea of bundling an entire Python runtime just to run supervisord rubbed
me the wrong way so I wrote `ctdlvisor`, a 285-line C program that does roughly
the same thing. 
  
 So yes, it does make sense to try to move everyone towards the Docker version.
 I don't know what percentage of sites
are running it right now.  Based on the number of downloads reported by DockerHub
it's pretty significant but I think Easy Install is still more popular.  That
may simply be due to the fact that Easy Install is the first option listed
on the download page, and people are attracted to the word "Easy" in the title.
 They may be afraid of Docker, even though the description of that download
says "It's our easiest install ever!" 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348675</link><pubDate>Mon, 03 Jul 2023 11:30:05 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099348675@Uncensored</guid><description><![CDATA[ >That seems to imply that Sqlite might be a better option than   
 >MySQL/MariaDB because we do *not* want to require people to install a  

 >working database server before Citadel can be installed.   
  
 Devil's Advocate from an Armchair Programmer: 
  
 these days, if you bundle an app as a Docker image it's easy enough for the
user to just spin it up. Docker image takes care of all the database bundling.
Since it would be >1 process per image (database, citserver, maybe also webcit)
you would need to run them under supervisord 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348566</link><pubDate>Sun, 02 Jul 2023 17:22:09 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099348566@Uncensored</guid><description><![CDATA[  
 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 scratch,
and ran it on the same database.   
  
 3. The table conversion job took approximately ten minutes to complete. 
This might cause some server operators to believe the server has stalled and
they might take action to interrupt the process. 
  
    We can talk about options for that later -- perhaps we can wait until
an individual record is accessed before converting it, or at the very least
we can put progress messages into the log. 
  
 4. I logged in to the converted system using my normal account.  There were
zero (0) messages in all rooms.  Prior to the upgrade, I had about 20 rooms
with
various numbers of new messages in them. 
  
 5. I went to a room that is gated by access level and performed a "Who knows
room" operation.  The results were correct. 
  
 6. I verified the following hidden rooms: 
    Room "the test room" with password "thepasswd"  
    Room "Grrr" with no password 
    Room "Citadel Development" with no password 
  
    In all case, I performed a "Who knows room" operation, and the results
appear correct. 
  
  
 So it looks like the visit record mapping is correct, the access control
bits are perfect, the table conversion completes (albeit slowly), and there
were no server crashes or loss of records.  The biggest problem is that the
conversion of "messages seen" data appears to zero the field out and marks
all messages in all rooms as "seen".   
  
 I did try creating a new message in a room, and then <S>kipped out of the
room instead of <G>otoing, leaving
that message unmarked.  When I returned to the room, it correctly showed as
"1 new message".  So the ongoing operation appears correct, it's just the
conversion that has an issue. 
  
 I love how you cleaned up the API.  Bravo on that. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348467</link><pubDate>Sat, 01 Jul 2023 18:43:47 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099348467@Uncensored</guid><description><![CDATA[ >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 one person and I
need to focus on getting our web interface looking like it wasn't written
15 years ago. 
  
 If you're serious about doing it, we can talk about the parameters and requirements.
 Obviously the primary requirement would be for it to be ultra-stable, preferably
able to take abuse better than Berkeley DB can.  But another requirement would
be for it to remain ridiculously easy to install.  That seems to imply that
Sqlite might be a better option than MySQL/MariaDB because we do *not* want
to require people to install a working database server before Citadel can
be installed. 
  
 If
we're going to go SQL rather than NoSQL, it would make sense to take advantage
of the schema layer.  For example, functions like CtdlGetUser() and CtdlPutUser()
would end up doing the work of mapping table columns to/from elements in the
server's internal data structures. 
  
 There's a project called DBmail [ https://dbmail.org/ ] that is basically
an IMAP server that uses a SQL database as its store (but has no other features;
no user interface, no groupware/collaboration stuff, requires an external
MTA, etc) but it's been maintained for some time so it's definitely possible
to use a SQL database for that purpose. 
  
 So if you're serious about it and want to commit the time to it, and we can
keep it *easy* for users to install (and to migrate to it) -- we can definitely
explore that. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348383</link><pubDate>Fri, 30 Jun 2023 17:23:23 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099348383@Uncensored</guid><description><![CDATA[<html><body>

<p>No rush on the review.  I had to put the code aside for a while (pesky day job :-)  and had to write some tests to try to hit most code paths.</p>
<p>I tried not to change too much existing code since the change is pretty big to begin with.  I only tried to rewrite things that affected performance or optimize using the new functions.  I tried to use the profiler (-pg) but was not able to get citserver to output the profile file, so I really have not tested before/after.  If you know how to get the profiler working, I would be interest in seeing where we can optimize things for the biggest bang for the buck.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348379</link><pubDate>Fri, 30 Jun 2023 17:16:00 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099348379@Uncensored</guid><description><![CDATA[<html><body>

<p>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 don't have is the statistics for a large email server (mine is very small).  I wrote a small C program that went through all the Berkley databases and found the min/max sizes for the indexes and data so I could see what the best implementation would be.  If you have a large db, I can send you the program just to get the stats (unless you have dome this before).</p>
<p>For memory leaks, I have been dealing with detecting them for years for a variety of companies.  I found the best for C was to ifdef allocation/checking code and only use for testing.  I used macros to replace the malloc functions with some header changes so you can activate your own routines without even having to edit all the allocation function calls.  Then just have the checking functions allocate more memory than requested and put signatures before and after the allocations so you can track leaks and detect memory over/under runs.  Slows things down a bit, but very good at identifying memory issues when testing.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348352</link><pubDate>Fri, 30 Jun 2023 11:36:04 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099348352@Uncensored</guid><description><![CDATA[ >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 stable so not
as  
 >big an issue anymore for me.    
  
  That's why some time ago we made a decision to get rid of all cleanup code
except that which has to do with closing the database.  Nothing else matters.
 There was one developer who was with us for a few years who loved to use
Valgrind for leak detection, and he did a great job at that, but the cost
of it was a very complex server shutdown.  In practice, sometimes it never
reached the point where the databases got closed, either because the server
itself was crashing, or something else went wrong. 
  
  Switching to something else will be
a big job, which is why we haven't done it yet.  It isn't so much the writing
of the new back end that is the problem, but the conversion of all the existing
installations out there.  There are quite a lot of them. 
  
  We've done it before.  We went from flat files to GDBM and then eventually
to Berkeley DB.  At the time we built external tools to convert the database
offline.  We might consider doing that again.  My current thinking is that
maybe we abandon serv_migrate.c and then change ctdl3264.c into an offline
export/import utility with an architecture-independent and database-independent
export format. 
  
  But for now, I plan to refocus on WebCit-NG, which is now several years
behind schedule because of all the side quests. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348348</link><pubDate>Fri, 30 Jun 2023 11:20:19 +0500</pubDate><title>Re: Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099348348@Uncensored</guid><description><![CDATA[  
 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 system. 
Some things -- like CtdlUserGoto() -- look even cleaner. 
  
 Unless something comes up that needs an emergency fix, we will stay at version
980 until this merge request has been accepted and tested.  When I am back
at my desk after the weekend I will try it out with a copy of the production
database from Uncensored and see how it goes.  It's basically the acid test
because after 35 years of nonstop operation there's a little of everything
in there. 
  
 No one else is actively working on the server core right now so there shouldn't
be a lot of merge conflicts, if any.  As I sit here on
the balcony overlooking the ocean and sipping a tasty beverage, I am poking
around on WebCit-NG, so I have a lot of commits this week but nothing on the
server core.  But for now I am signing off because it's time to go out and
do something fun.  Thanks for your help! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348309</link><pubDate>Thu, 29 Jun 2023 21:56:54 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099348309@Uncensored</guid><description><![CDATA[<html><body>

<p>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 stable so not as big an issue anymore for me.</p>
<p>I did think about making a drop in replacement for database.c using MySql.  I started to play with it with the concept of key tables and having a set of tables with different sized blobs so you could store data records across multiple tables to optimize database size.  Did not get to the point where I could compare performance with Berkley, but it looked promising.  Optimally, not using indexes and rewriting all the code to use MySql tables and features would probably be the best, but a lot of work....</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099348305</link><pubDate>Thu, 29 Jun 2023 21:42:33 +0500</pubDate><title>Merge Request: Support_IMAP_Flagged_Deleted_Draft_Recent_flags</title><guid isPermaLink="false">2099348305@Uncensored</guid><description><![CDATA[<html><body>

<p>Touched a lot of files and complete rewrite of Visit support functions.  Most of the logic centralized in user_ops.c to keep it clean and tried to optimize code and performance.</p>
<p>If you have any questions let me know.  I left merge request unassigned.  If you approve without any changes, I will plan to approve the merge as you said.</p>
<p>Building and Testing:</p>
<p>1. This version will upgrade the database records and the database will no longer be reverse compatible.  Recommend copying your database and restoring after testing.</p>
<p>2. I changed the REV_LEVEL for citserver to 981 and my Visit record is also 981.  When generating the new release with do-release.sh, you will need to change the REV_LEVEL back to 980.  If you release before merging the Visit code, the Visit version number will also have to change.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099347768</link><pubDate>Fri, 23 Jun 2023 15:35:42 +0500</pubDate><title>Re: Merge Request: Webcit_Coredump_StrBufQuotedPrintableEncode</title><guid isPermaLink="false">2099347768@Uncensored</guid><description><![CDATA[ >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. 
  
 In the future I think I'm going to just approve merge requests and then you
can do the actual merge so that the commits appear in your name instead of
mine. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099347716</link><pubDate>Fri, 23 Jun 2023 10:32:15 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099347716@Uncensored</guid><description><![CDATA[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 building a library that has a different name.  It's a little useful,
but not super-useful.  I eventually decided to just make it build a static
library, since the only binary that uses it is citserver (plus the utilities,
but disk is cheap now and the Gotard community seems to have decided that
static binaries are all the rage this year).  Debian really screwed us by
deciding not to update BDB but also not to remove it, as it's integrated into
some basic system stuff that can't easily be removed. 
  
 Both the container distribution and the Easy Install distribution of Citadel
have been updated to use BDB 18.1.40, which has been the latest version for
some time now. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099347610</link><pubDate>Wed, 21 Jun 2023 13:54:16 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099347610@Uncensored</guid><description><![CDATA[ > 2023-06-20 15:02 from IGnatius T Foobar   
 >Subject: Re: Long term plans for phase-out of Berkeley DB?  
 >    
 > 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.   
  
 As I recall, I interpreted their documentation pretty conservatively--any
ambiguity or complexity was seen as a "well don't do it that way, then" situation,
and so I ended up being pretty strict, global, and single-threaded about the
locking model--so it should be stable, but it prevents you from doing some
things that might perform a little better. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099347523</link><pubDate>Tue, 20 Jun 2023 15:02:04 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099347523@Uncensored</guid><description><![CDATA[  
 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 actually make use of that kind of flexibility. 
  
 Among other projects that use a "nosql" store, LMDB seems to be the favorite.
 But the 4 GB limit on 32-bit systems is a show stopper for now.  On the x86
side of things, everyone (except me) has long since moved to AMD64, but Citadel
is really popular on Raspberry Pi, which is still 32-bit for most users even
though the hardware can do 64. 
  
 If I want to procrastinate (which might be a good move for now) it might
make sense to simply hope that we can keep Berkeley DB viable until most of
the ARM world has migrated to 64-bit, and then switch to LMDB
and make 64-bit a requirement for Citadel installations. 
  
 Funny you mention using an alternate `--prefix` ... I just started playing
around with that last night and will probably move forward with that as part
of the mainline installations. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099347515</link><pubDate>Tue, 20 Jun 2023 14:11:48 +0500</pubDate><title>Re: Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099347515@Uncensored</guid><description><![CDATA[ > 2023-06-15 13:32 from IGnatius T Foobar   
 >Subject: Long term plans for phase-out of Berkeley DB?  
 >    
 > 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 completely, which
 
 >of course makes Citadel's life difficult because we have to bring in   
 >our own version of it, and that can create conflicts with the ancient  

 >version that's already on the system, which can't be removed because   
 >there are still things dependent on it, etc. etc.   
  
 Well, this brings back memories. 
  
 I would imagine you can avoid most system-level conflicts by configuring
it with an alternate --prefix. 
  
 who knows how much a burden
it will be if the source becomes incompatible with the next version of Linux,
though. 
  
 My answer would be to use SQL, even if only sqlite. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099347255</link><pubDate>Sat, 17 Jun 2023 10:46:50 +0500</pubDate><title>Re: Merge Request: Webcit_Coredump_StrBufQuotedPrintableEncode</title><guid isPermaLink="false">2099347255@Uncensored</guid><description><![CDATA[I see the merge request and will check it out.  Thanks! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099347081</link><pubDate>Fri, 16 Jun 2023 00:14:40 +0500</pubDate><title>Merge Request: Webcit_Coredump_StrBufQuotedPrintableEncode</title><guid isPermaLink="false">2099347081@Uncensored</guid><description><![CDATA[<html><body>

<p>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.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099347026</link><pubDate>Thu, 15 Jun 2023 13:32:06 +0500</pubDate><title>Long term plans for phase-out of Berkeley DB?</title><guid isPermaLink="false">2099347026@Uncensored</guid><description><![CDATA[  
 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 completely, which of course
makes Citadel's life difficult because we have to bring in our own version
of it, and that can create conflicts with the ancient version that's already
on the system, which can't be removed because there are still things dependent
on it, etc. etc. 
  
 Many open source projects have switched to LMDB.  LMDB has received much
praise, but I don't know how it would handle the write-intensive load of a
Citadel Server.  Another potential show stopper is that the maximum size of
an LMDB database is 4 GB when running on a 32-bit system, and that's way too
low.  We do have a lot of people
running Citadel on 32-bit ARM systems. 
  
 Wikipedia refers to Berkeley DB as an "unmaintained" piece of software, but
then again, Wikipedia is edited by evil propagandists, so I don't know if
that's actually true.  There hasn't been a new release in three years, but
that may simply be due to the fact that there really isn't anything left to
add to it.  Oracle doesn't list it as discontinued and they still sell new
commercial licenses. 
  
 I don't have time for another side quest right now.  After I migrate my own
system to 64-bit I have to get back to working on WebCit-NG.  But it's something
that we have to put on the long-term roadmap somewhere. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099346909</link><pubDate>Wed, 14 Jun 2023 12:24:38 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099346909@Uncensored</guid><description><![CDATA[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 then when we do the match,
the library throws a segfault.  I modified the code to only do a match if
the regex compiles successfully, and we've been running clean ever since.

  
 Unfortunately the server crashed in such a way that my user record got corrupted!
 That's why that "undocumented recovery mode" got added to the tree.  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099346893</link><pubDate>Wed, 14 Jun 2023 10:42:50 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099346893@Uncensored</guid><description><![CDATA[<html><body>

<p>That is not the branch that was merged.  It is the new one to actually add support for all the flags.  I ran into some issues testing so I am working on it locally.  Should be updating the branch and submitting soon.  Adding the flags is a big change (hopefully for the better), but touches a lot of files.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099345459</link><pubDate>Sun, 04 Jun 2023 22:23:10 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099345459@Uncensored</guid><description><![CDATA[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 bearing with me on this.  The code is what's important, but if
we make it easier to work on it, more people will want to. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099345362</link><pubDate>Sun, 04 Jun 2023 10:00:38 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099345362@Uncensored</guid><description><![CDATA[<html><body>

<p>I am completely new to Git and commits, so I did not realize there was a standard :-P</p>
<p> </p>
<p>Thanks for the feedback and access.  I'll now shut up and code :-)</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099345307</link><pubDate>Sat, 03 Jun 2023 23:57:40 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099345307@Uncensored</guid><description><![CDATA[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, then when you create a merge
request you can just copy the same data over (or it might actually do that
automatically, I don't remember).  That way you won't have to needlessly duplicate
work. 
  
 The whole GitLab thing is new for us, so as we get comfortable in it I'll
probably have certain information get posted to this room automatically. 
I saw your last merge request because you told it to specifically go to me,
but maybe we can have all such things get posted here automatically.  Like
I said, we'll figure out what's comfortable. 
  
 As for issues and enhancements, we have a "Citadel Issue
Tracker" wiki room that I totally forgot to add you to until now.  From a
quick scan of it, I think some of the open issues have been fixed and I need
to close them.  I'm not sure whether using the GitLab issue tracker would
be better or not.  In the distant past we had a Bugzilla and it got to be
a huge mess with people logging poorly researched bugs and feature enhancements.
  
  
 Now shut up and code ;) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099345292</link><pubDate>Sat, 03 Jun 2023 21:47:41 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099345292@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok.  I have gotten my feet wet, so now I have a couple more questions.  I am trying not to be annoying, but I seem to be running into things that I am not sure how to handle.  Just let me know if I should shut up and code :-)</p>
<p>As you have seen, I have been creating rather long, detailed commit information.  Do you want this type of detail in the commit or do you just want a smaller summary?  I am writing like I am providing details for a code reviewer.  If you don't want all the detail in the commit, I could add a message here with the details when I submit the merge request, or maybe there is something in GitLab we can use?</p>
<p>Is there a list of issues or enhancements that we can review and maybe work on?  I am willing to put in some effort to help with it.  This might be something that we could use the Issues in GitLab for.</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099345010</link><pubDate>Thu, 01 Jun 2023 22:04:59 +0500</pubDate><title>Re: Daily commit digest for Citadel (CDB_VISIT)</title><guid isPermaLink="false">2099345010@Uncensored</guid><description><![CDATA[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" option. 
  
 So that leaves you with two options: 
  
 1. You can create a feature branch every time you submit a merge request,
and when the merge is performed you select the "delete source branch" option
and then pull a new copy of `master` when you're ready to go work on the next
thing.   (This is what I do when I work on our devops team's gitlab server.)

  
 2. You can create a personal branch that you work in long term.  You'll need
to rebase every time `master` is updated otherwise you'll get error messages
about it being ahead of your branch by x number of commits.  When you want
to do a merge
request, you rebase your branch so that everything *else* is up to date, then
your merge request will only contain your actual patch. 
  
 At some point I will make `master` a "protected branch" so that a casual
participant can't accidentally commit to `master` when they meant to commit
to another branch.  And then there will be a `release` branch that is rebased
from `master` when we are ready to do a release, and it will automatically
kick off a CI pipeline that updates Easy Install and builds the Docker images.

  
 All other things being equal ... I'd rather be working on Citadel than on
a build system.  But this should save time in the long run. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099345007</link><pubDate>Thu, 01 Jun 2023 21:42:49 +0500</pubDate><title>Re: Daily commit digest for Citadel (CDB_VISIT)</title><guid isPermaLink="false">2099345007@Uncensored</guid><description><![CDATA[<html><body>

<p>Did not mean to attach the patch in the last message.</p>
<p>It looks like Merge requires you to create a branch to merge.  Do you have any naming conventions you would like to use for branch names or is there a different way you want to submit code?</p>
<blockquote>
<div class="message_header"><span>Thu Jun 01 2023 09:32:30 PM EDT</span> <span>from <a href="do_template?template=user_show?who=HarlowSolutions">HarlowSolutions</a> </span> <span class="message_subject">Subject: Re: Daily commit digest for Citadel (CDB_VISIT)</span></div>
<div class="message_content">
<p>GitLab looks nice.  I figured out how to clone and I created a patch.  I will go and try to use merge.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099345004</link><pubDate>Thu, 01 Jun 2023 21:32:30 +0500</pubDate><title>Re: Daily commit digest for Citadel (CDB_VISIT)</title><guid isPermaLink="false">2099345004@Uncensored</guid><description><![CDATA[<html><body>

<p>GitLab looks nice.  I figured out how to clone and I created a patch.  I will go and try to use merge.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099344969</link><pubDate>Thu, 01 Jun 2023 16:49:35 +0500</pubDate><title>Re: Daily commit digest for Citadel (CDB_VISIT)</title><guid isPermaLink="false">2099344969@Uncensored</guid><description><![CDATA[Ok, I see you logged in to GitLab.  Your account is registered and added to
the Citadel group as a developer.  You can probably add your external email
address and make it primary if you want to at this point. 
  
 At this point you *should* be able to submit Merge Requests for patches.
 This is new for me too, so I hope it works :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099344653</link><pubDate>Tue, 30 May 2023 09:27:14 +0500</pubDate><title>Re: Daily commit digest for Citadel (CDB_VISIT)</title><guid isPermaLink="false">2099344653@Uncensored</guid><description><![CDATA[ >fixed a couple of defects with the existing code that I am just going to
 
 >include with the new flag support.  Small but if you want me to submit
 
 >separate, let me know.    
  
 I'd like it if you did that, please.  If for no other reason, it would be
a great way for us both to get used to how merge requests get handled on our
new GitLab system.  Also, I'm thinking about doing something similar with
the Use Table database so we might as well put it all in at the same time.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099344583</link><pubDate>Mon, 29 May 2023 23:49:36 +0500</pubDate><title>Citadel git repository has moved!</title><guid isPermaLink="false">2099344583@Uncensored</guid><description><![CDATA[  
 Announcement! 
  
 Citadel's git repository HAS MOVED. 
  
 We're now using a private GitLab server at https://code.citadel.org 
  
 This will allow us to do CI/CD, merge requests, and all of those other niceties.
 As previously mentioned, if you want to sign up for access, you have to use
an @uncensored.citadel.org address; this is intended to limit abuse. 
  
 For anonymous access, the repository is now at https://code.citadel.org/citadel/citadel.git

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099344331</link><pubDate>Sat, 27 May 2023 18:03:59 +0500</pubDate><title>Re: Daily commit digest for Citadel (CDB_VISIT)</title><guid isPermaLink="false">2099344331@Uncensored</guid><description><![CDATA[I'm not surprised.  That code has seen a lot of tweaking by a number of people
and it could use some attention. 
  
 The underlying data formats are at the front of my attention right now because
I' 
 m writing a utility to convert a 32-bit database to 64-bit, and it's uncovering
a number of different issues.  One of them is that I finally figured out why
CDB_USETABLE is so huge, especially when it's compressed.  It turns out there's
a null terminator left off, so it writes a ton of data out to it, and it also
doesn't purge because the key doesn't match the data.  I may just have it
erase the whole thing, and tell people "sorry, you're gonna see some dupes
in your RSS feeds" 
  
 Now off to GitLab... 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099344109</link><pubDate>Thu, 25 May 2023 20:08:49 +0500</pubDate><title>Re: Daily commit digest for Citadel (CDB_VISIT)</title><guid isPermaLink="false">2099344109@Uncensored</guid><description><![CDATA[<html><body>

<p>I am testing a complete replacement for the Visit handling.  Looking good so far, but since we don't have a set of tests to check for regression, I am just running it and trying to hit as many code paths as I can.   In order to add all the IMAP flags, I had to pretty much rewrite the related code.  I fixed a couple of defects with the existing code that I am just going to include with the new flag support.  Small but if you want me to submit separate, let me know.</p>
<p>The best one is that when you purge a user, it assumes that the associated Visit record's user number is the top of the key.  It is actually the third, so it is trying to delete all Visits with a room number that matches the user number :-P </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099344049</link><pubDate>Thu, 25 May 2023 11:23:02 +0500</pubDate><title>Re: Issues with Citadel</title><guid isPermaLink="false">2099344049@Uncensored</guid><description><![CDATA[ >problem.  The server will operate fine for about an hour then it starts
 
 >deleting users without me being in the interface.  The stranger part is
that  
  
 This room isn't really for support issues, but you might want to check the
time and date on your system. 
  
 Also be sure that you're using a database from the same build (AMD64 or ARM32
or whatever).  
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099344048</link><pubDate>Thu, 25 May 2023 11:20:57 +0500</pubDate><title>Message #2099344048</title><guid isPermaLink="false">2099344048@Uncensored</guid><description><![CDATA[  
 Hey developers! 
  
 We're going to try something new.  Over the last year or so I've really gotten
into the CI/CD thing and now it's time to apply that to Citadel.  So I have
built a GitLab server, running in a container on one of our data center hosts.
 This will let us do all sorts of automatic building and testing.  Particularly,
I'd like to get a pipeline going that automatically pushes the Docker build
and the Easy Install build ... these are scripted today but it's kind of spartan
and still needs to be started manually. 
  
 But the other thing is that we'll finally have a better way to handle merge
requests.  This ought to serve us much better than posting them as messages
here in the development forum. 
  
 The site is at [ https://code.citadel.org ].  You MUST sign up with an address
ending in @citadel.org or @uncensored.citadel.org.  I might change this later,
but it's mainly
there to reduce the number of unwanted random signups.  You can use your Uncensored
account, so if for example you are "Joe Cool" on Uncensored you can sign up
as joecool@uncensored.citadel.org and then check your mailbox here for the
password reset email. 
  
 I figure this is slightly better than having a completely closed system where
you can't sign up at all. 
  
 You might also notice that the Citadel code base hasn't been moved in yet.
 That's coming soon.  But first we want to make sure everything is set up
correctly. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099343887</link><pubDate>Wed, 24 May 2023 10:25:03 +0500</pubDate><title>Issues with Citadel</title><guid isPermaLink="false">2099343887@Uncensored</guid><description><![CDATA[<html><body>

<p>I'm not sure if you want this kind of message in the Development area but I thought it might be better here.</p>
<p>I've installed the latest build on a clean version of Linux (Fedora 38) using Easy Install.  The install worked fine but it is having the strangest problem.  The server will operate fine for about an hour then it starts deleting users without me being in the interface.  The stranger part is that the user is not really deleted.  I can't login as the user so I go in as admin.  Once I'm in as admin the user does not appear in the user list but if I try to add it, it says it already exists.  I'm in a pretty bad way because I overwrote my Linux server with this build and it's not stable.  I've tried re-installing it cleanly twice and it's producing the same results.  Not sure what to do at this point because it's disabling my user and I can't fix it.</p>
<p>Regards,</p>
<p>Allen</p>
<p> </p>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099343849</link><pubDate>Wed, 24 May 2023 06:29:23 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099343849@Uncensored</guid><description><![CDATA[
d57d06e80	Art Cancro	2023-05-23	ctdl3264: added diagnostics which revealed that CDB_VISIT is a hot mess and omg how did it ever work
c17e270f9	Art Cancro	2023-05-23	ctdl3264: fix zero length key in bigmsgs table
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099342602</link><pubDate>Mon, 15 May 2023 06:26:32 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099342602@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099342552</link><pubDate>Sun, 14 May 2023 21:05:40 +0500</pubDate><title>Re: Patch for Review: Bugfixes to message flag handling</title><guid isPermaLink="false">2099342552@Uncensored</guid><description><![CDATA[ >Noticed flags were getting set wrong in Outlook and in WebCit.  I thought
I  
 >had introduced the bug(s).  Finally realized that the bugs were in the
 
 >release and had nothing to do with my code.  Spent way too much time  
 >debugging my code :-)    
  
 I've seen it malfunction but never quite figured out why.  Thanks for the
patch. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099342499</link><pubDate>Sun, 14 May 2023 10:45:57 +0500</pubDate><title>Re: Design Question: Implementing Extended Flag Support</title><guid isPermaLink="false">2099342499@Uncensored</guid><description><![CDATA[ >Now to the issue: How do you want to support the change to the structure
and  
 >falling back to older versions of the mail server.  My implementation reads
 
  
 First of all, I love your idea and we should definitely do it.  If I'm reading
your description correctly, it could potentially mean we can add all sorts
of arbitrary flags in the future, which would be really useful. 
  
 To handle moving to the new version of the table structure, take a look at
serv_upgrade.c to see an entire history of how we've done such things in the
past.  When the server starts up, it compares its version number to the config
variable `MM_hosted_upgrade_level` which tells us the version number of the
server that was running the previous time the database was opened.  Then we
go through a bunch of routines which basically go "if the version number is
older than `x` then we need to do so-and-so upgrade..."
and then when all of those conversions have been run, it sets `MM_hosted_upgrade_level`
to the current running version of the server. 
  
 At startup, if the version of the database is *newer* than the version currently
running, the server immediately exits and tells the operator to upgrade it.
 We do not, under any circumstances, support moving backwards, so you don't
have to worry about that. 
  
 We'll need to patch serv_migrate.c to handle the new table format, but I'm
actually thinking about abandoning that module because it doesn't really work
too well on extra-large data sets.  I'm quietly developing `ctdl3264.c` which
is an *offline* conversion utility that I started hacking together to convert
my own database from 32-bit to 64-bit, but I'm starting to realize that it
could actually be a pretty good dump-and-load tool with a little extra effort.

  
 Thanks for the great idea and the willingness to implement it.  Looking forward
to seeing what you come up with! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099342270</link><pubDate>Fri, 12 May 2023 23:30:53 +0500</pubDate><title>Design Question: Implementing Extended Flag Support</title><guid isPermaLink="false">2099342270@Uncensored</guid><description><![CDATA[<html><body>

<p class="MsoNormal">I am working on the changes to implement support for making the Flagged, Deleted and Draft flags persistent like the Seen and Answered flags.  Instead of just adding more large buffers to the Visit structure, I have implemented them by removing the buffers from the structure and storing all the message set strings after the structure in the database record.  The strings are just copied one after the other, so only the string values are saved.  Should greatly reduce the database space used by the views.</p>
<p class="MsoNormal">On loading a View record, a list of StrBufs stores the values until they are written to the database.<span style="mso-spacerun: yes;">  </span>This should greatly reduce the database space used to store the records for even the current records (Seen and Answered) which take up 8K in buffers and putting the message list strings into dynamically allocated StrBuf links is pretty efficient.<span style="mso-spacerun: yes;">  </span>I also added a version number to the view structure to make it easier to change the structure in the future, and was required since my version of the structure is smaller than the original and I could not use the size of the database record to determine the version like the existing code does since my version’s database record size depends on the total size of the message set strings which could match the old version’s size.</p>
<p class="MsoNormal">Now to the issue: How do you want to support the change to the structure and falling back to older versions of the mail server.<span style="mso-spacerun: yes;">  </span>My implementation reads the database record and will determine if the record contains the old Visit structure or the new (based on the version number in the new structure which will never match the binary value in the older versions).<span style="mso-spacerun: yes;">  </span>If old, it converts it to the new, and the new is used in the rest of the code and the new version replaces the old when written.</p>
<p class="MsoNormal">The issue with this is that once you start the server with this code, you cannot fall back to an older version of the server since the old structure is not compatible with the new structure.</p>
<p class="MsoNormal">If we need to support falling back to older version(s) for a while (e.g. <span style="mso-spacerun: yes;"> </span>until the next release or two), I can only think of one way to implement it without maintaining multiple records:</p>
<ul>
<li>Keep the old version in the top of the database record and add the new one after.  When reading, the new version would detect the appending new structure and use it.  The old code would just read the old version of the structure and the new version would be lost on write.  Downsides:
<ul>
<li>Database records will remain to be about 8K (old version size) plus the new persistent flags (would not be in large buffers at least).</li>
<li>If you fall back, you lose the persistent data of the new flags when going back to the later.</li>
</ul>
</li>
</ul>
<p class="MsoNormal">What is the development philosophy on falling back?  Do we need to maintain the ability to fall back?<span style="mso-spacerun: yes;">  How many releases?  </span>If we need to fall back, what option should be implemented (1, 2 or another idea)?  Both ideas are a bit ugly.</p>
<p class="MsoNormal">Also, I only update the database records to the new version if they are saved, so a mixture of old and new records will be in the database unless we go through every room and convert.  Is this type of thing ever done (one time upgrade)?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099341791</link><pubDate>Thu, 11 May 2023 22:24:45 +0500</pubDate><title>Patch for Review: Bugfixes to message flag handling</title><guid isPermaLink="false">2099341791@Uncensored</guid><description><![CDATA[<html><body>

<p>I have been working on implementing message sets for Flagging, Draft, etc.  Noticed flags were getting set wrong in Outlook and in WebCit.  I thought I had introduced the bug(s).  Finally realized that the bugs were in the release and had nothing to do with my code.  Spent way too much time debugging my code :-)</p>
<p>Only one line changes but wanted to keep separate from other work.</p>
<p>------------------------------------</p>
<p>serv_imap.c (citserver)/roomops.c (webcit): bugfixes to message flag handling (Phil Slack)</p>
<p>serv_imap.c: IMAP message flags are not initialized when loading messages.  imap_set_seen_flags() is passed the index of the first message to process.  It is zero based, but the function error check rejects a value of zero, so the flag for the messages in the room updated.  Changed check to allow zero.</p>
<p>roomops.c: Mail messages in a room are set to Seen when just viewing the room. A mailbox room view can be a mailbox view or a json list view.  dotgoto() did not handle when set to json and set all the messages to Seen. Changed to handle a json view the same as a mailbox view.</p>
<div> </div>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338961</link><pubDate>Fri, 05 May 2023 06:27:49 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099338961@Uncensored</guid><description><![CDATA[
e9f3ccdaa	Art Cancro	2023-05-04	tools.c: bugfixes to trim functions (Phil Slack)
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338890</link><pubDate>Thu, 04 May 2023 18:17:39 +0500</pubDate><title>Re: EasyInstall: Citadel Service Startup Issue</title><guid isPermaLink="false">2099338890@Uncensored</guid><description><![CDATA[  
 All right, I've applied those patches.  I'm giving some consideration to
deploying a GitLab instance so we can have an automated testing and deployment
pipeline; if we do that then you can just have an account and generate merge
requests. 
  
 Easy Install isn't in Git at all; if you have something to add or fix, just
send a patch against the script downloaded directly from the site. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338859</link><pubDate>Thu, 04 May 2023 14:25:50 +0500</pubDate><title>Patch for Review: Citadel cprintf() Error Handling</title><guid isPermaLink="false">2099338859@Uncensored</guid><description><![CDATA[<html><body>

<p>Attached is a patch to fix the cprintf() function in Citadel.  It was not handing truncation properly and could output invalid data.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338850</link><pubDate>Thu, 04 May 2023 13:10:19 +0500</pubDate><title>EasyInstall: Citadel Service Startup Issue</title><guid isPermaLink="false">2099338850@Uncensored</guid><description><![CDATA[<html><body>

<p>I am not sure where the EasyInstall script is, but there is an issue on at least on CentOS and Rocky Linux when systemd starts citserver.  I am not sure if it is an issue on other Linux systems, so someone may know if what I did to fix it is portable.</p>
<p>citdel.service uses a target of network.target.  I found there is a race condition when citserver is starting up where the network startup is not ready and citserver fails to open the listening ports.  I had to change network.target to network.online.target to ensure the network is up before citserver is run.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338822</link><pubDate>Thu, 04 May 2023 09:58:32 +0500</pubDate><title>Re: Patch for Review: Fix LibCitadel Strip Functions</title><guid isPermaLink="false">2099338822@Uncensored</guid><description><![CDATA[<html><body>

<p>Phil Slack</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338816</link><pubDate>Thu, 04 May 2023 09:42:20 +0500</pubDate><title>Re: Patch for Review: Fix LibCitadel Strip Functions</title><guid isPermaLink="false">2099338816@Uncensored</guid><description><![CDATA[ > 2023-05-03 16:12 from HarlowSolutions   
  
  By what name do you want to be credited in the documentation? 
  
  (oh and thanks for the patch!) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338751</link><pubDate>Wed, 03 May 2023 19:44:18 +0500</pubDate><title>Message #2099338751</title><guid isPermaLink="false">2099338751@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks.  Will do.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Mon May 01 2023 23:40:06 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Welcome awrdgrs and sharivegas! <br /><br />Three new contributors in just a couple of days. This makes me very happy <br />:) <br /><br />Please read the last couple of days worth of messages in this room. It will serve as a quick introduction to the project and how to get started as a contributor. <br />There's plenty to do and all three of you have submitted nice clean patches so far. VERY MUCH APPRECIATED! <br /><br />We generally like to say "work on whatever interests you" but if anyone wants some ideas I might be able to suggest a few things. <br />\ </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338725</link><pubDate>Wed, 03 May 2023 16:12:47 +0500</pubDate><title>Patch for Review: Fix LibCitadel Strip Functions</title><guid isPermaLink="false">2099338725@Uncensored</guid><description><![CDATA[<html><body>

<p>Main issue is stripout() looses a character when stripping.  Reworked both stripout() and stripallbut() to be consistent in handling strips.  Actually runs faster than original code.</p>
<p>For multiple boundaries, stripout() mangled the resulting string and stripallbut() just returned the original.  I made consistent by looking for the first and last occurrence of the boundary character.  If you think the boundaries should be handled differently, let me know.  Really should not happen in the real world very often, but should be consistent.</p>
<p>There is also a flush of stderr in stripallbut() which I am not sure why is there.  stderr is not buffered, so flushing does not do anything, but that is out of the scope of this issue, so I just left in.</p>
<p>----------------------------------------------------------------------------------------------</p>
<p class="MsoNormal" style="margin-bottom: 0in;">Fix LibCitadel stripout() function removing characters. <span style="mso-spacerun: yes;"> </span>Make strip functions boundary handling consistent.<span style="mso-spacerun: yes;">  </span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"> </p>
<p class="MsoNormal" style="margin-bottom: 0in;">libcitadel/lib/tools.c</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">  </span>stripout()</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">    </span>Strips too many characters.<span style="mso-spacerun: yes;">  </span>Causes incorrect From address on inbound and probably other places.</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">       </span>stripout(“Foobar&lt;foobar@foobar.com&gt;”) = Fooba.<span style="mso-spacerun: yes;">  </span>Should be Foobar</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">    </span>Mangles multiple boundaries. Should strip using outer boundaries.</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">      </span>stripout(“ABC()(DEF)()GHI”) = ABC()(DEFGHI.<span style="mso-spacerun: yes;">  </span>Should return ABCGHI.</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">  </span>stripallbut()</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">    </span>Handle outer boundaries like stripout()</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">      </span>stripallbut(“ABC()(DEF)()GHI”) returns unchanged.<span style="mso-spacerun: yes;">  </span>Should return )(DEF)(</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">    </span>Code does a stderr flush.<span style="mso-spacerun: yes;">  </span>Not sure why, but left it in.</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">  </span>string_trimlen()</p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span style="mso-spacerun: yes;">    </span>Removed function. <span style="mso-spacerun: yes;"> </span>Not used anywhere in the code and less efficient than string_trim()</p>
<p class="MsoNormal" style="margin-bottom: 0in;"> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338596</link><pubDate>Wed, 03 May 2023 06:27:23 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099338596@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338529</link><pubDate>Tue, 02 May 2023 17:50:06 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099338529@Uncensored</guid><description><![CDATA[  
 libcitadel and webcit use the GNU Automake build system.  That's why there's
a bootstrap program; it sets up the build environment on your build machine
so you can continue. 
  
 citadel (server), textclient, and webcit-ng use a much simpler build system,
one that doesn't rely on the GNU Autotools and therefore carries much less
baggage.  The idea is that everyone now has a modern build system and is running
on either Linux or BSD, and we don't have to support 20 year old HP/UX or
whatever. 
  
 The length of the email addresses field in user records was set at 256 simply
to save space. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338504</link><pubDate>Tue, 02 May 2023 14:29:21 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099338504@Uncensored</guid><description><![CDATA[<html><body>

<p class="MsoNormal" style="margin-bottom: 0in;">The bootstrap was the part I was missing.  Thanks.</p>
<p class="MsoNormal" style="margin-bottom: 0in;">For webcit, I am glad to hear that it is getting rewritten.  At one point, I tried to fix the calendar so it would work as an internet calendar in Outlook, but after a bunch of work, it was not worth it.  Got it talking to Outlook, but then I found there were bugs in the iCal library and just decided it was not worth spending any more time on it.  I ended up using iCloud to share calendars.</p>
<p class="MsoNormal" style="margin-bottom: 0in;">One thing I will submit a patch for is the recipient handling.  Some of my users caused core dumps because of long addresses.  It looks like the address length is limited to 256 and the total recipient line is limited to 900 characters.  I think these were probably from the standard, but I have found that many mail servers violate the standard.  Is there any reason to limit these in the server?  For my implementation, I just bumped up both to handle SIZ (4096) throughout the code and have not seen any issues.  Any reason I should not be allowing it?  If there is, I can just add the code to avoid the core dump. </p>
<p class="MsoNormal" style="margin-bottom: 0in;">Out of curiosity, why are the Makefiles built for libcitadel and webcit, but are checked in for citadel and textclient?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338498</link><pubDate>Tue, 02 May 2023 13:50:40 +0500</pubDate><title>Build Broken</title><guid isPermaLink="false">2099338498@Uncensored</guid><description><![CDATA[<html><body>

<p class="MsoNormal" style="margin-bottom: 0in;">The build is currently broken with the last changes.  citadel/bootstrap is still referencing citadel.h.  Should be citadel_defs.h.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338444</link><pubDate>Tue, 02 May 2023 06:27:17 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099338444@Uncensored</guid><description><![CDATA[
f341b886b	Art Cancro	2023-05-01	serv_inboxrules.c: applied patch by Allen (awrdgrs) to make X-Spam-Status work
0ef7d4c10	Art Cancro	2023-05-01	Apply patches sent by Harlow Solutions -- for WebCit
faf97c017	Art Cancro	2023-05-01	ctdl3264: write to target database
12360b52b	Art Cancro	2023-05-01	ctdl3264: src_dbenv and dst_dbenv are no longer global vars
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338393</link><pubDate>Mon, 01 May 2023 23:40:06 +0500</pubDate><title>Message #2099338393</title><guid isPermaLink="false">2099338393@Uncensored</guid><description><![CDATA[  
 Welcome awrdgrs and sharivegas! 
  
 Three new contributors in just a couple of days.  This makes me very happy
  :) 
  
 Please read the last couple of days worth of messages in this room.  It will
serve as a quick introduction to the project and how to get started as a contributor.
 There's plenty to do and all three of you have submitted nice clean patches
so far.  VERY MUCH APPRECIATED! 
  
 We generally like to say "work on whatever interests you" but if anyone wants
some ideas I might be able to suggest a few things. 
 \ 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338379</link><pubDate>Mon, 01 May 2023 23:15:20 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 2ec65c68857a6e14690994e6ecedb59e8ea345d0</title><guid isPermaLink="false">2099338379@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  2ec65c68857a6e14690994e6ecedb59e8ea345d0 (commit)
      from  1d37e065c93c0dc38f03f2f50a08fd65036307ba (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2ec65c68857a6e14690994e6ecedb59e8ea345d0
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 1 23:15:18 2023 -0400

    Dockerfile: install textclient to /usr/local.  Thanks to sharivegas

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338370</link><pubDate>Mon, 01 May 2023 22:34:08 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099338370@Uncensored</guid><description><![CDATA[    
 The patch looks good, and I'll go ahead and see if it applies cleanly.  The
important thing is that it doesn't try to change too many things at the same
time, and you've documented what it is intended to do.  That's really really
good.   
    
 By the way -- in case you haven't figured it out yet, try not to change any
of the <?_("output strings")> because, as you've probably guessed, those get
fed into a translator for international languages and if you change the string
it throws away all of the translations.   
    
 And you probably also noticed that WebCit is being completely rewritten,
because it's based on 27 year old spaghetti code that's been so badly abused
that it isn't worth trying to fix.  The template engine in particular is super
ugly -- it was meant to separate the code from the markup but it ended up
being even harder to work with than it was before.  When you get your
development system up and running you'll be able to look at webcit-ng and
see how it's coming together.   
    
 As for how to build the development system -- you can take a look at the
build script for either the Docker container or Easy Install to get an idea
of how it comes together.   
    
 [ https://easyinstall.citadel.org/install ]   
    
 That's a good place to start.  Ignore the bit about `ctdlvisor` since that's
container specific.   
    
 Basically, the order goes like this:   
    
 1. Install the development packages for all dependencies ... on a CentOS
system that would be    
 yum groupinstall "Development Tools"   
 yum install \   
   zlib-devel \   
   openldap-devel \   
   openssl-devel \   
   libcurl-devel \   
   libical-devel \   
   expat-devel \   
   readline-devel   
    
 2. Install the Berkeley DB library -- download it from https://easyinstall.citadel.org/db-6.2.32.NC.tar.gz
and unpack it, then   
 cd db-6.2.32.NC/build_unix   
 ../dist/configure --prefix=/usr/local --disable-static --disable-compat185
--disable-cxx --disable-debug --disable-dump185 --disable-java --disable-tcl
--disable-test --without-rpm   
 make   
 make install   
  
  
 3. Clone the git repository 
 git clone git://git.citadel.org/citadel 
  
 4. Build and install libcitadel 
 cd citadel/libcitadel 
 ./bootstrap 
 ./configure  
 make 
 make install 
  
 5. Build the Citadel Server.  I usually run it from the build directory,
in the foreground, when I'm using it. 
 cd citadel/citadel 
 ./bootstrap 
 ./configure 
 make 
  
 and then run it with: 
 ./citserver -x9 -h`pwd` 
  
 6. In another window, build WebCit.  I usually run this from its build directory
as well. 
 cd citadel/webcit 
 ./bootstrap 
 ./configure 
 make 
  
 and then run it with: 
 ./webcit -p80 uds ~/citadel/citadel 
  
 7.
If you want the text mode client, it's the same routine again, but in citadel/textclient

  
 That ought to be enough to get you started.  Thanks for your interest in
helping out with development! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099338249</link><pubDate>Sun, 30 Apr 2023 20:23:01 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099338249@Uncensored</guid><description><![CDATA[<html><body>

<p>Submitting Code:</p>
<p>What you said makes very good sense.  To try out submitting code, I cloned down the citadel release, created a branch and made some updates to fix some WebCit page issues and cleaned up a little formatting.  Seemed like a simple change to submit with low impact for a first try.  I created a patch from the branch (attached).  Is this what you were expecting for submitting changes?</p>
<p> </p>
<p>New Features:</p>
<p>The Flagging and Aliasing were just examples.  The Aliasing is a big help to my server, but I figured may not be considered a useful feature to others.  It is a bit tricky to implement and as you noted, you have to be careful about user names.  It is fun when you get to tell a company like Fidelity Investments that their email list has been stolen and you have the proof :-)</p>
<p>The flagging is most likely useful.  I added support for Draft, Flagged, Deleted and Recent.  After reviewing the standards I noticed that Seen was not quite implemented properly so I fixed that while implementing the others.  I’ll write up details on it and send it to you.</p>
<p>Building Code:</p>
<p>The main issue I ran into was trying to build the server from the citadel repository.  I normally have just copied the build after an easy install and then made my changes on top of it so all I had to do is run Make.  With the citadel repository, I tried to create the configure scripts and then run them to create the make files, but ran into some missing files and script errors.  I am compiling on Rocky Linux.  I assume that developers are not running autoconf, etc. from just a citadel repository clone or to build easy install.  What is the proper process for building from the repository?</p>
<div> </div>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099337934</link><pubDate>Fri, 28 Apr 2023 06:25:28 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099337934@Uncensored</guid><description><![CDATA[
389e6540f	Art Cancro	2023-04-27	We are no longer using the EXTAUTH table.
63b690ea8	Art Cancro	2023-04-27	do-release.sh: change citadel.h to citadel_defs.h
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099337834</link><pubDate>Thu, 27 Apr 2023 10:33:09 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099337834@Uncensored</guid><description><![CDATA[  
 Ok, let me see if I can answer these questions one at a time. 
  
 git: at any given time, you'll want to be keeping up with the code in the
git repo.  If you are developing against a released version of the code you
might have trouble integrating your changes. 
  
 That having been said, no open source projects are going to give commit access
to new developers right away.  Initially you submit patches against the current
tree, and the maintainer (in this case, me) will evaluate each patch, and
if it is acceptable, apply those patches to integrate the new code. 
  
 After a while, you would get commit access to the tree, and even then, you
might maintain a separate branch and then make "pull requests" asking for
changes in that branch to be pulled into the master branch.  But let's not
worry about that for now; just submit patch files. 
  
 Test suite: unfortunately there is none.  We
hand-test everything.  I suppose Uncensored could be considered the test site
:) 
  
 New features: if you have an idea, propose it right here.  We can discuss
it and talk about whether a particular new feature makes sense for the system
as a whole, and if implemented, what would need to be done.  Good ideas are
always welcome, especially if you're willing to write the code yourself. 
I would only shy away from ideas that would compromise the system's usability
for other users. 
  
 Let's look at your two examples: 
  
 1. Flagging in IMAP 
 Sure, that's a great idea.  So you added to `struct visit` to do that, which
makes perfect sense.  Here's where I get to ask: did you look in all places
where `struct visit` is used, to see if any additional code is necessary?
 For example, `serv_migrate.c` will have to be patched to add the `flagged`
element to exports and imports.  `serv_expire.c`
is probably ok as-is, but check. 
  
 2. Aliasing 
 This is a good example of where it needs to be re-thought, in this case only
a little.  Let's say you have a user "alice" with appended suffixes like "alicebank"
and "alicespam".  So far so good ... but then another Alice joins the organization,
let's say her name is "Alice Bob" and you make her email "aliceb@example.com".
  Now you get mail for "alicebank@example.com" -- is it for "alice@example.com"
with suffix "bank" or "aliceb@example.com" with suffix "ank"? 
  
 I would suggest we use a separator character.  I think the plus sign "+"
is often used for this.  If you were to submit a patch to do suffixes, let's
make the rule that when it comes to finding the user associated with an email
address, we throw away the "+" and anything after it.  We also reject new
usernames or email addresses containing a "+" in them. 
  
 Is that enough to get you started? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099337563</link><pubDate>Tue, 25 Apr 2023 12:00:53 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099337563@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks.  Looking forward to it.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099337534</link><pubDate>Tue, 25 Apr 2023 09:11:49 +0500</pubDate><title>Re: New Developer Questions</title><guid isPermaLink="false">2099337534@Uncensored</guid><description><![CDATA[Great!  I just want to answer quick and let you know I'll read through this
soon -- I'm super busy at work this week but I wanted to let you know these
questions *will* be answered.  Give me a bit and I'll go through it.  Thanks
for being interested in contributing! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099336923</link><pubDate>Sat, 22 Apr 2023 21:36:12 +0500</pubDate><title>New Developer Questions</title><guid isPermaLink="false">2099336923@Uncensored</guid><description><![CDATA[<html><body>

<p>I want to start contributing to the Citadel project as a developer, but I want to understand the developer process for submitting changes and testing.</p>
<p>I have been using Citadel as a small business server for a few years now and have fixed bugs and limitations and also added a few features for my own use over time.</p>
<p>I don't want to start committing code and find out that I should have been doing it a different way or break anyone's development.  Is there any document covering how-to and best practices?</p>
<p>If not, here are my initial questions:</p>
<p>Git</p>
<p>  I have never used git before, but have cloned down the source and did a little reading.  I think all I need to do is git add my changes and then commit.  What is the best practice?  Create branches?  Doesn't matter?</p>
<p>  Do you have an example commit command so I know all the options that I should be using.  Any standards?</p>
<p>Testing</p>
<p>  Is there any test suite for Citadel?  I do my own testing, but I mainly support Outlook and IMAP, so I am not sure how to test for regression in other protocols and clients.</p>
<p>  How are committed changes tested before release?</p>
<p>New Features</p>
<p>  If I have an idea for a new feature, how do I find out if you want it implemented and the best way to integrate?</p>
<p>    Example: I implemented Flagging in IMAP by expanding on the Visit structure.</p>
<p>    Example: I expanded aliasing to allow users to use email addresses appended by anything to go to their account without explicitly adding an alias (e.g. User is myacct.  Email like myacctspam@example.com, myacctbank@example.com, etc will be redirected to myacct).  Has been very useful for anti-spamming and identifying who gave away/lost and email address.  Supported sending using the alias also.</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099336003</link><pubDate>Thu, 20 Apr 2023 06:25:26 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099336003@Uncensored</guid><description><![CDATA[
365cc74af	Art Cancro	2023-04-19	Revert "citserver: remove openid support"
5e8be0dcc	Art Cancro	2023-04-19	citserver: remove openid support
2ab0b6bd6	Art Cancro	2023-04-19	zero out extauth in ctdl3264
cc300b8c0	Art Cancro	2023-04-19	convert config records
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099335521</link><pubDate>Wed, 19 Apr 2023 06:27:20 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099335521@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099335221</link><pubDate>Tue, 18 Apr 2023 06:27:24 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099335221@Uncensored</guid><description><![CDATA[
86df91e20	Art Cancro	2023-04-17	Please excuse my friend, he isn't null terminated
28ab18db3	Art Cancro	2023-04-17	nice pretty banners
2d03ed0b3	Art Cancro	2023-04-17	fulltext uses same key and data format as msglists
d035348bf	Art Cancro	2023-04-17	log messages match and don't repeat for compressed
0193e1ee4	Art Cancro	2023-04-17	serv_fulltext.c: style update
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099334698</link><pubDate>Sat, 15 Apr 2023 06:28:22 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099334698@Uncensored</guid><description><![CDATA[
898a23153	Art Cancro	2023-04-14	convert bigmsgs
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099334527</link><pubDate>Fri, 14 Apr 2023 06:27:32 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099334527@Uncensored</guid><description><![CDATA[
3bfcbbe74	Art Cancro	2023-04-13	convert directory entries
d4413bf5b	Art Cancro	2023-04-13	stuff and things
288bade0b	Art Cancro	2023-04-13	visit translation complete but we still need to compress it
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099334386</link><pubDate>Thu, 13 Apr 2023 06:26:16 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099334386@Uncensored</guid><description><![CDATA[
d4f6f4fe6	Art Cancro	2023-04-12	uncompress when necessary
9f736e867	Art Cancro	2023-04-12	die in a car fire
830bdfa1a	Art Cancro	2023-04-12	makefile tweaks
4adba5bd6	Art Cancro	2023-04-12	detect compressed records
c9bd94510	Art Cancro	2023-04-12	copying msglists done
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099334206</link><pubDate>Wed, 12 Apr 2023 06:27:32 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099334206@Uncensored</guid><description><![CDATA[
e077e157f	Art Cancro	2023-04-11	convert floor records
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099334060</link><pubDate>Tue, 11 Apr 2023 06:27:33 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099334060@Uncensored</guid><description><![CDATA[
279adb9fd	Art Cancro	2023-04-10	finished user import
1d111465a	Art Cancro	2023-04-10	I am a C programmer.  I am better than you.
147d40e7f	Art Cancro	2023-04-10	DBT in , DBT out
2beb7af57	Art Cancro	2023-04-10	make a note where we need to decompress
f8df371d7	Art Cancro	2023-04-10	figuring out db calling syntax...
827a52266	Art Cancro	2023-04-10	Added skeleton out_key and out_data
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099333654</link><pubDate>Sat, 08 Apr 2023 06:27:49 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099333654@Uncensored</guid><description><![CDATA[
c293b8f97	Art Cancro	2023-04-07	parse metadata
625706585	Art Cancro	2023-04-07	learn about metadata 32
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099333209</link><pubDate>Thu, 06 Apr 2023 06:25:19 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099333209@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099332197</link><pubDate>Sat, 01 Apr 2023 06:28:21 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099332197@Uncensored</guid><description><![CDATA[
60d65df1d	Art Cancro	2023-03-31	more work on ctdl3264
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099332060</link><pubDate>Fri, 31 Mar 2023 06:25:27 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099332060@Uncensored</guid><description><![CDATA[
4e6fdd795	Art Cancro	2023-03-30	ctdl3264: prepare for new things
5b8255a84	Art Cancro	2023-03-30	ctdl3264: tweaked a few things
246e35bdf	Art Cancro	2023-03-30	traverse the tables
951faf5a6	Art Cancro	2023-03-30	ctdl3264: open and close one table at a time
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099331915</link><pubDate>Thu, 30 Mar 2023 06:26:35 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099331915@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099331655</link><pubDate>Tue, 28 Mar 2023 06:25:33 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099331655@Uncensored</guid><description><![CDATA[
0b618fa91	Art Cancro	2023-03-27	Banished the DarkSlateGrey color in dead-space screen regions.
7a567c871	Art Cancro	2023-03-27	Slimmed down some of the border elements.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099330564</link><pubDate>Sun, 19 Mar 2023 06:27:49 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099330564@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099330013</link><pubDate>Tue, 14 Mar 2023 19:28:07 +0500</pubDate><title>Re: Daily commit digest for Citadel</title><guid isPermaLink="false">2099330013@Uncensored</guid><description><![CDATA[ >wtf, why do you want to break the universe?   
  
 Heh.  Sometimes there are days when it feels like the universe is not worth
saving  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099329931</link><pubDate>Tue, 14 Mar 2023 06:27:33 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099329931@Uncensored</guid><description><![CDATA[
21629e9bd	Art Cancro	2023-03-13	Don't send the rendered list to the console anymore.
5c92deb72	Art Cancro	2023-03-13	Activate mouse-up events on rooms in the mail folder list.
584c75534	Art Cancro	2023-03-13	Mailbox view: delete operation moves message to trash, unless we are already in the trash
26ca93d20	Art Cancro	2023-03-13	Learn from the Citadel Server whether a room is the user's trash folder.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099329838</link><pubDate>Mon, 13 Mar 2023 13:43:01 +0500</pubDate><title>Re: Daily commit digest for Citadel</title><guid isPermaLink="false">2099329838@Uncensored</guid><description><![CDATA[<html><body>

<p>wtf, why do you want to break the universe?</p>
<blockquote>
<div class="message_header"><span>Mon Mar 13 2023 06:27:26 EDT</span> <span>from <a href="do_template?template=user_show?who=noreply">noreply</a> </span> <span class="message_subject">Subject: Daily commit digest for Citadel</span></div>
<div class="message_content"><tt>cff70a055 Art Cancro 2023-03-12 Implemented an algorithm that can correctly divide by zero.</tt><br /> </div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099329789</link><pubDate>Mon, 13 Mar 2023 06:27:26 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099329789@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099329684</link><pubDate>Sun, 12 Mar 2023 06:27:25 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099329684@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099329433</link><pubDate>Fri, 10 Mar 2023 06:29:24 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099329433@Uncensored</guid><description><![CDATA[
078ba6734	Art Cancro	2023-03-09	Inbox rules 'matches' operator now uses regular expressions.
aaef27a75	Art Cancro	2023-03-09	serv_inboxrules.c: compound fields such as From now work with substring match
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099329124</link><pubDate>Wed, 08 Mar 2023 06:27:34 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099329124@Uncensored</guid><description><![CDATA[
867674135	Art Cancro	2023-03-07	rooms.c: style update
4aef1e005	Art Cancro	2023-03-07	license.txt: updated year
f11401fce	Art Cancro	2023-03-07	serv_instmsg.c: style update
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099328841</link><pubDate>Mon, 06 Mar 2023 06:27:20 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099328841@Uncensored</guid><description><![CDATA[
4c6394e13	Art Cancro	2023-03-05	Release version 974 generated by do-release.sh
6e0b96608	Art Cancro	2023-03-05	Be a little less enthusiastic about calling abort()
2ca84ffe1	Art Cancro	2023-03-05	Preparing to implement MOVE and COPY methods
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099328722</link><pubDate>Sun, 05 Mar 2023 06:25:29 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099328722@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099327951</link><pubDate>Mon, 27 Feb 2023 06:29:23 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099327951@Uncensored</guid><description><![CDATA[
5be25c3cf	Art Cancro	2023-02-26	more diagnostics
7899ae4eb	Art Cancro	2023-02-26	Release version 973 generated by do-release.sh
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099327072</link><pubDate>Sun, 19 Feb 2023 06:27:32 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099327072@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099326480</link><pubDate>Wed, 15 Feb 2023 06:27:32 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099326480@Uncensored</guid><description><![CDATA[
296d48fa0	Art Cancro	2023-02-14	add total to purged use table records
e73dd3237	Art Cancro	2023-02-14	more convert
6409b7aa3	Art Cancro	2023-02-14	"visit" is now "struct visit" again.
a277559f3	Art Cancro	2023-02-14	cleaned up 32
bdd1f5236	Art Cancro	2023-02-14	reorganize the comments meow
aed5b8502	Art Cancro	2023-02-14	updated .gitignore
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099326168</link><pubDate>Mon, 13 Feb 2023 06:29:25 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099326168@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099326028</link><pubDate>Sun, 12 Feb 2023 06:27:19 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099326028@Uncensored</guid><description><![CDATA[
750ef561c	Art Cancro	2023-02-11	move stuff around
5e62c1bbe	Art Cancro	2023-02-11	citadel.h is now citadel_defs.h
549beeb7d	Art Cancro	2023-02-11	Moved  from citadel.h to server.h
f4caf74d8	Art Cancro	2023-02-11	Moved  from citadel.h to server.h
a96c8e2a9	Art Cancro	2023-02-11	Removed references to  as opposed to
36c3a1db8	Art Cancro	2023-02-11	Removed references to  as opposed to
bd68fbc42	Art Cancro	2023-02-11	moved  from citadel.h to server.h
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099325970</link><pubDate>Sat, 11 Feb 2023 17:21:48 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 1d37e065c93c0dc38f03f2f50a08fd65036307ba</title><guid isPermaLink="false">2099325970@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  1d37e065c93c0dc38f03f2f50a08fd65036307ba (commit)
      from  fe0492aeb42727ec6c9bc17772a3899180fb4892 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1d37e065c93c0dc38f03f2f50a08fd65036307ba
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 11 17:21:45 2023 -0500

    Unpublish port 2020 , we don't use it anymore

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099325395</link><pubDate>Wed, 08 Feb 2023 06:27:33 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099325395@Uncensored</guid><description><![CDATA[
aa2951f09	Art Cancro	2023-02-07	keep track of last_queue_job_submitted
6e3d819c1	Art Cancro	2023-02-07	give the smtp job queue an ability to do a quick or full run
84312c97a	Art Cancro	2023-02-07	Keep track of last queue message processed
197390f92	Art Cancro	2023-02-07	only throw a warning if housekeeping has not run in 60 minutes, not 5 minutes
e682ebc0f	Art Cancro	2023-02-07	quick spacing fix
61449cbf5	Art Cancro	2023-02-07	EVT_ hook numbers are now an enum
60ab62600	Art Cancro	2023-02-07	EVT_ types can certainly be enum now because there are no external builds.
fe1e24759	Art Cancro	2023-02-07	server.h began style c leanup
37f0c8964	Art Cancro	2023-02-07	comment change
2bd43f734	Art Cancro	2023-02-07	Wrap SMTP Client concurrency check in a mutex
36d7bb97b	Art Cancro	2023-02-07	Removed S_ mutex types no longer in use
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099324278</link><pubDate>Tue, 31 Jan 2023 06:27:19 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099324278@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099324135</link><pubDate>Sun, 29 Jan 2023 06:25:59 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099324135@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099323913</link><pubDate>Fri, 27 Jan 2023 06:27:50 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099323913@Uncensored</guid><description><![CDATA[
9763bde20	Art Cancro	2023-01-26	Forum message editor classes
2cc50f1b5	Art Cancro	2023-01-26	INBOX _always_ appears at the top.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099323667</link><pubDate>Wed, 25 Jan 2023 06:25:52 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099323667@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099322775</link><pubDate>Sun, 15 Jan 2023 06:29:25 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099322775@Uncensored</guid><description><![CDATA[
a3b023d44	Art Cancro	2023-01-14	Show mailboxes in a list, ordered by floor+rorder
7bbecca4c	Art Cancro	2023-01-14	Initial hack at mail folder list
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099322095</link><pubDate>Sat, 07 Jan 2023 06:29:24 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099322095@Uncensored</guid><description><![CDATA[
073667627	Art Cancro	2023-01-06	Realign items on the banner bar.
33acf198d	Art Cancro	2023-01-06	RSS feed reader now QP-Encodes message text.
7d66c47a0	Art Cancro	2023-01-06	Rename StrBufRFC2047encodeMessage() to StrBufQuotedPrintableEncode()
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099321974</link><pubDate>Fri, 06 Jan 2023 06:28:22 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099321974@Uncensored</guid><description><![CDATA[
5f7076d9a	Art Cancro	2023-01-05	Bring back just our changes, revert accidental removal of files
8611acef7	Art Cancro	2023-01-05	Revert "serv_rssclient.c: style update"
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099321606</link><pubDate>Tue, 03 Jan 2023 06:25:57 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099321606@Uncensored</guid><description><![CDATA[
50511759c	Art Cancro	2023-01-02	more font size tweaks.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099321501</link><pubDate>Mon, 02 Jan 2023 06:28:22 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099321501@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099321196</link><pubDate>Thu, 29 Dec 2022 06:27:49 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099321196@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099321121</link><pubDate>Wed, 28 Dec 2022 06:27:17 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099321121@Uncensored</guid><description><![CDATA[
b6d0c56ec	Art Cancro	2022-12-27	Remove color from syslog messages
3a7b2cbc9	Art Cancro	2022-12-27	Implement all calling functionality for Delete
cbca7a3fa	Art Cancro	2022-12-27	Detect "delete" key press
5ae6108d4	Art Cancro	2022-12-27	Collapsed two comments onto one line.
c3eca282c	Art Cancro	2022-12-27	optimize previous commit
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099321038</link><pubDate>Tue, 27 Dec 2022 06:27:33 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099321038@Uncensored</guid><description><![CDATA[
d6abb9afc	Art Cancro	2022-12-26	Multi select is now working with mailbox refresh.
a110c2149	Art Cancro	2022-12-26	Merge branch 'master' of ssh://git.citadel.org/var/www/gitroot/citadel
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099320697</link><pubDate>Fri, 23 Dec 2022 06:27:33 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099320697@Uncensored</guid><description><![CDATA[
571e8443d	Art Cancro	2022-12-22	serv_openid_rp.c : style cleanup
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099320234</link><pubDate>Sun, 18 Dec 2022 06:26:22 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099320234@Uncensored</guid><description><![CDATA[
1a3bc9002	Art Cancro	2022-12-17	do-release.sh now obtains confirmation to proceed from the operator
8b3fd9acc	Art Cancro	2022-12-17	Merge branch 'master' of ssh://git.citadel.org/var/www/gitroot/citadel
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099320127</link><pubDate>Sat, 17 Dec 2022 06:27:48 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099320127@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099320052</link><pubDate>Fri, 16 Dec 2022 06:29:22 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099320052@Uncensored</guid><description><![CDATA[
ba193b9c4	Art Cancro	2022-12-15	modernize serv_spam.c
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099319965</link><pubDate>Thu, 15 Dec 2022 09:30:33 +0500</pubDate><title>Re: Daily commit digest for Citadel</title><guid isPermaLink="false">2099319965@Uncensored</guid><description><![CDATA[(No bonus points for guessing correctly that these aren't actually significant
releases and I'm really just testing a CI/CD pipeline.) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099319856</link><pubDate>Wed, 14 Dec 2022 06:27:23 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099319856@Uncensored</guid><description><![CDATA[
c13dec1e4	Art Cancro	2022-12-13	do-release.sh is now being turned into more of a real pipeline
d69144aec	Art Cancro	2022-12-13	Release version 972 generated by do-release.sh
4c698e17e	Art Cancro	2022-12-13	Release version 971 generated by do-release.sh
939d60e43	Art Cancro	2022-12-13	Release version 970 generated by do-release.sh
581ca20b7	Art Cancro	2022-12-13	Release version 969 generated by do-release.sh
6378510b8	Art Cancro	2022-12-13	Release version 968 generated by do-release.sh
550ed0608	Art Cancro	2022-12-13	Release version 967 generated by do-release.sh
605230ef5	Art Cancro	2022-12-13	Release version 966 generated by do-release.sh
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099319730</link><pubDate>Tue, 13 Dec 2022 06:26:05 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099319730@Uncensored</guid><description><![CDATA[
76873d6c5	Art Cancro	2022-12-12	Release version 964 generated by do-release.sh
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099319523</link><pubDate>Sun, 11 Dec 2022 06:26:05 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099319523@Uncensored</guid><description><![CDATA[
e84f46b4f	Art Cancro	2022-12-10	Release version 962 generated by do-release.sh
db6ac9b35	Art Cancro	2022-12-10	Release version 961 generated by do-release.sh
4fdf1125e	Art Cancro	2022-12-10	Release version 960 generated by do-release.sh
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099319228</link><pubDate>Thu, 08 Dec 2022 06:25:53 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099319228@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099318826</link><pubDate>Mon, 05 Dec 2022 06:25:45 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099318826@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099318385</link><pubDate>Thu, 01 Dec 2022 12:34:23 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. fe0492aeb42727ec6c9bc17772a3899180fb4892</title><guid isPermaLink="false">2099318385@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  fe0492aeb42727ec6c9bc17772a3899180fb4892 (commit)
      from  82d173f1930bf03d055b83d0a9079ff667590022 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fe0492aeb42727ec6c9bc17772a3899180fb4892
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 1 12:34:19 2022 -0500

    Updated docs

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile  | 16 ++++++++++++++--
 README.txt  | 13 +++++++++----
 ctdlvisor.c |  2 +-
 3 files changed, 24 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099318333</link><pubDate>Thu, 01 Dec 2022 02:01:25 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 82d173f1930bf03d055b83d0a9079ff667590022</title><guid isPermaLink="false">2099318333@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  82d173f1930bf03d055b83d0a9079ff667590022 (commit)
      from  814ac927d1654786a62775055680ebef4c2f55b1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 82d173f1930bf03d055b83d0a9079ff667590022
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 1 02:00:50 2022 -0500

    Switched to a multi stage build for a significantly smaller container image.

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile | 90 ++++++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 61 insertions(+), 29 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099318317</link><pubDate>Wed, 30 Nov 2022 21:12:58 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 814ac927d1654786a62775055680ebef4c2f55b1</title><guid isPermaLink="false">2099318317@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  814ac927d1654786a62775055680ebef4c2f55b1 (commit)
      from  644a29cbddb2df4535084dc81c0751761b6e7e70 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 814ac927d1654786a62775055680ebef4c2f55b1
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 30 21:12:55 2022 -0500

    moved update block and fixed comment

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099317812</link><pubDate>Fri, 25 Nov 2022 11:18:54 +0500</pubDate><title>Message #2099317812</title><guid isPermaLink="false">2099317812@Uncensored</guid><description><![CDATA[(That would be a resounding "yes" from Kitty.  :)   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099317689</link><pubDate>Thu, 24 Nov 2022 06:25:39 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099317689@Uncensored</guid><description><![CDATA[
0134c1a91	Art Cancro	2022-11-23	webcit-ng uses biff notifications now
61b00f502	Art Cancro	2022-11-23	MAKE WAY FOR BIFF in webcit-ng
0c8706708	Art Cancro	2022-11-23	GOTO no longer counts newly arrived mail in the inbox.  BIFF now does this.
a34ab2fe2	Art Cancro	2022-11-23	Replace striplt() with string_trim() in all the places VS Code simply decided not to.
039ccdbb1	Art Cancro	2022-11-23	stuff
20070c580	Art Cancro	2022-11-23	biff was here
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099317641</link><pubDate>Wed, 23 Nov 2022 17:10:29 +0500</pubDate><title>Message #2099317641</title><guid isPermaLink="false">2099317641@Uncensored</guid><description><![CDATA[<html><body>

<p>AHAHAHAHAHAHA! </p>
<blockquote>
<div class="message_header"><span>Wed Nov 23 2022 16:44:22 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I just removed the "check for new mail in the inbox" function out of the server's GOTO command and moved it into a new command called BIFF. I wonder how many people will know why I named it that? </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099317637</link><pubDate>Wed, 23 Nov 2022 16:44:22 +0500</pubDate><title>Message #2099317637</title><guid isPermaLink="false">2099317637@Uncensored</guid><description><![CDATA[  
 I just removed the "check for new mail in the inbox" function out of the
server's GOTO command and moved it into a new command called BIFF.  I wonder
how many people will know why I named it that? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099317190</link><pubDate>Sun, 20 Nov 2022 06:25:40 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099317190@Uncensored</guid><description><![CDATA[
d1a25647c	Art Cancro	2022-11-19	Consistent calling syntax for view renderers
85f499d36	Art Cancro	2022-11-19	don't make me smack you
cf53e41f5	Art Cancro	2022-11-19	This is one way to notify about new mail
6957096b7	Art Cancro	2022-11-19	striplt() is now string_trim()
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099317102</link><pubDate>Sat, 19 Nov 2022 06:26:05 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099317102@Uncensored</guid><description><![CDATA[
2ec94df4a	Art Cancro	2022-11-18	Include email address in mail display for local users because otherwise it breaks reply
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099316484</link><pubDate>Sat, 12 Nov 2022 06:26:05 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099316484@Uncensored</guid><description><![CDATA[
814f87c0f	Art Cancro	2022-11-11	Release version 959 generated by do-release.sh
105801284	Art Cancro	2022-11-11	array_delete_element_at() now uses memmove() instead of memcpy() because it is supposed to be safer.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099316321</link><pubDate>Thu, 10 Nov 2022 06:25:53 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099316321@Uncensored</guid><description><![CDATA[
9eec53c70	Art Cancro	2022-11-09	variables in proper scope
3f39762ae	Art Cancro	2022-11-09	Variables in proper scope
5e6f201c8	Art Cancro	2022-11-09	Sending now works because HTML entities are unescaped in the metadata.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099316057</link><pubDate>Mon, 07 Nov 2022 06:26:05 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099316057@Uncensored</guid><description><![CDATA[
d72c8680f	Art Cancro	2022-11-06	Make the CC: line appear if there is already something in it.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099316004</link><pubDate>Sun, 06 Nov 2022 06:25:53 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099316004@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099315757</link><pubDate>Thu, 03 Nov 2022 06:25:45 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099315757@Uncensored</guid><description><![CDATA[
a8c8dd24e	Art Cancro	2022-11-02	Display To: and Cc: properly
e6e552b0c	Art Cancro	2022-11-02	"rcpt" and "cccc" fields are now delivered as json arrays
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099315417</link><pubDate>Sun, 30 Oct 2022 06:26:13 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099315417@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099315110</link><pubDate>Thu, 27 Oct 2022 06:25:14 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099315110@Uncensored</guid><description><![CDATA[
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099315052</link><pubDate>Wed, 26 Oct 2022 15:17:52 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099315052@Uncensored</guid><description><![CDATA[
commit 8190b693159a09aed2ec91accc653f677e6d0450
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 25 23:33:03 2022 -0400

    Pass the subject to the reply

commit 2352dc30c074739244acefa61e6fcd7e01b250e0
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 25 23:30:42 2022 -0400

    to, cc, subject in mail_compose()

commit 4e732609e9cc6e93cb7c36d87775a86e14cd9f8d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 25 23:22:23 2022 -0400

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099314948</link><pubDate>Tue, 25 Oct 2022 23:25:21 +0500</pubDate><title>Daily commit digest for Citadel</title><guid isPermaLink="false">2099314948@Uncensored</guid><description><![CDATA[

This is a test.  If it works, daily commit digests will post if the number of commits for a
24 hour period is higher than zero.  If there are no commits there will be no message.


]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099314947</link><pubDate>Tue, 25 Oct 2022 23:22:26 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-30-g4e732609e</title><guid isPermaLink="false">2099314947@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4e732609e9cc6e93cb7c36d87775a86e14cd9f8d (commit)
      from  8c6d3651670d5298b6eec353b5e7447dc54b900a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4e732609e9cc6e93cb7c36d87775a86e14cd9f8d
commit 4e732609e9cc6e93cb7c36d87775a86e14cd9f8d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 25 23:22:23 2022 -0400

    The icon for "Send message" is now a paper airplane instead of a check mark.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099314552</link><pubDate>Fri, 21 Oct 2022 19:25:11 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-29-g8c6d36516</title><guid isPermaLink="false">2099314552@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8c6d3651670d5298b6eec353b5e7447dc54b900a (commit)
      from  9ac48b6d5bffeb709db5d2460c7c1f208ae1fb35 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8c6d3651670d5298b6eec353b5e7447dc54b900a
commit 8c6d3651670d5298b6eec353b5e7447dc54b900a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Oct 21 19:25:09 2022 -0400

    reply quote works now

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 90 ++++++++++++++++++++++------------------
 1 file changed, 49 insertions(+), 41 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099314460</link><pubDate>Thu, 20 Oct 2022 19:06:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-28-g9ac48b6d5</title><guid isPermaLink="false">2099314460@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9ac48b6d5bffeb709db5d2460c7c1f208ae1fb35 (commit)
       via  fd524cfbe226abccc7d1324af2005fd04e014790 (commit)
      from  a976b8473db0bd04ccabb153e0cf0c5be783c62b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9ac48b6d5bffeb709db5d2460c7c1f208ae1fb35
commit 9ac48b6d5bffeb709db5d2460c7c1f208ae1fb35
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 20 19:05:59 2022 -0400

    get ready for quoted messages

http://code.citadel.org/?p=citadel.git&a=commit&h=fd524cfbe226abccc7d1324af2005fd04e014790
commit fd524cfbe226abccc7d1324af2005fd04e014790
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 20 18:15:15 2022 -0400

    Sending mail now works.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/messages.c      | 15 ++++++++---
 webcit-ng/static/js/view_mail.js | 54 +++++++++++++++++++++++++++-------------
 webcit-ng/static/js/views.js     |  2 +-
 3 files changed, 49 insertions(+), 22 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099314362</link><pubDate>Wed, 19 Oct 2022 19:34:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-26-ga976b8473</title><guid isPermaLink="false">2099314362@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a976b8473db0bd04ccabb153e0cf0c5be783c62b (commit)
      from  164e8e1ab01705223e4ff0245a84113e6832f94b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a976b8473db0bd04ccabb153e0cf0c5be783c62b
commit a976b8473db0bd04ccabb153e0cf0c5be783c62b
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 19 19:34:53 2022 -0400

    Sending mail to the server (needs some more work)

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 65 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 63 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099314334</link><pubDate>Wed, 19 Oct 2022 13:03:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-25-g164e8e1ab</title><guid isPermaLink="false">2099314334@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  164e8e1ab01705223e4ff0245a84113e6832f94b (commit)
      from  622b96967c2e81b0d9de8773ff9323c84933148b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=164e8e1ab01705223e4ff0245a84113e6832f94b
commit 164e8e1ab01705223e4ff0245a84113e6832f94b
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 19 12:02:33 2022 -0400

    cancel button works :)

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099314245</link><pubDate>Tue, 18 Oct 2022 18:39:26 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-24-g622b96967</title><guid isPermaLink="false">2099314245@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  622b96967c2e81b0d9de8773ff9323c84933148b (commit)
       via  b914876f051fbed2f84b17c86843d072539f4769 (commit)
       via  56283c748df23d8fa012b2b56cafe7828bee973b (commit)
      from  699fadc3d8a055116f4158898818f74275b48c73 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=622b96967c2e81b0d9de8773ff9323c84933148b
commit 622b96967c2e81b0d9de8773ff9323c84933148b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 18 18:39:19 2022 -0400

    test commit

http://code.citadel.org/?p=citadel.git&a=commit&h=b914876f051fbed2f84b17c86843d072539f4769
commit b914876f051fbed2f84b17c86843d072539f4769
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 17 19:32:42 2022 -0400

    Indent blockquotes by 1em

http://code.citadel.org/?p=citadel.git&a=commit&h=56283c748df23d8fa012b2b56cafe7828bee973b
commit 56283c748df23d8fa012b2b56cafe7828bee973b
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 17 19:26:04 2022 -0400

    CC/BCC button in To: line makes the CC: and BCC: lines appear.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.lock             |  0
 webcit-ng/static/css/webcit.css  | 49 +++++++++++++++++++++++++++++++++++++---
 webcit-ng/static/js/view_mail.js | 28 ++++++++++++++++++++---
 3 files changed, 71 insertions(+), 6 deletions(-)
 create mode 100644 citadel/citadel.lock


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099313998</link><pubDate>Sat, 15 Oct 2022 23:09:16 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-21-g699fadc3d</title><guid isPermaLink="false">2099313998@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  699fadc3d8a055116f4158898818f74275b48c73 (commit)
      from  db83997a8967bf75264eeabcf3e7baa38939e926 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=699fadc3d8a055116f4158898818f74275b48c73
commit 699fadc3d8a055116f4158898818f74275b48c73
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 15 23:09:03 2022 -0400

    More style work on the mail composition window

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 29 +++++++++++++++++++++--------
 webcit-ng/static/js/view_mail.js | 23 +++++++++++++++--------
 2 files changed, 36 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099313590</link><pubDate>Tue, 11 Oct 2022 23:26:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-20-gdb83997a8</title><guid isPermaLink="false">2099313590@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  db83997a8967bf75264eeabcf3e7baa38939e926 (commit)
       via  2bb782979db4e4a6082116bf32c565c82b779a31 (commit)
       via  e9c01ed778e2e39f5c824a001049305fb0841811 (commit)
      from  543f70a36c60d36ff334a9e712f835765edd46c1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=db83997a8967bf75264eeabcf3e7baa38939e926
commit db83997a8967bf75264eeabcf3e7baa38939e926
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 11 23:25:41 2022 -0400

    Don't show a focus border on contenteditable items

http://code.citadel.org/?p=citadel.git&a=commit&h=2bb782979db4e4a6082116bf32c565c82b779a31
commit 2bb782979db4e4a6082116bf32c565c82b779a31
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 11 23:19:24 2022 -0400

    Make the 'Write mail' button disappear when we're already in the mail compose screen.

http://code.citadel.org/?p=citadel.git&a=commit&h=e9c01ed778e2e39f5c824a001049305fb0841811
commit e9c01ed778e2e39f5c824a001049305fb0841811
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 11 23:14:08 2022 -0400

    Initial layout of mail compose screen.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 55 ++++++++++++++++++++++++++++++++++++++--
 webcit-ng/static/js/view_mail.js | 39 +++++++++++++++++++---------
 2 files changed, 80 insertions(+), 14 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099312491</link><pubDate>Tue, 04 Oct 2022 22:32:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-17-g543f70a36</title><guid isPermaLink="false">2099312491@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  543f70a36c60d36ff334a9e712f835765edd46c1 (commit)
       via  e5c4d0b4eff8ec1322f2437fffc7b8fc48c6315f (commit)
       via  c11fc20363fc9a9cd2787169339aed10b66c8184 (commit)
      from  20d9fb57bc5bd220ea8c887a2f3ae1b0c909df4f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=543f70a36c60d36ff334a9e712f835765edd46c1
commit 543f70a36c60d36ff334a9e712f835765edd46c1
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 4 22:18:32 2022 -0400

    Began working on the screen layout for compose mail

http://code.citadel.org/?p=citadel.git&a=commit&h=e5c4d0b4eff8ec1322f2437fffc7b8fc48c6315f
commit e5c4d0b4eff8ec1322f2437fffc7b8fc48c6315f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 4 21:42:40 2022 -0400

    When a mail message takes up less than the full height of the reading pane, make it float to the top of the pane.  Specified the grid element sizes in the grid instead of in the children.

http://code.citadel.org/?p=citadel.git&a=commit&h=c11fc20363fc9a9cd2787169339aed10b66c8184
commit c11fc20363fc9a9cd2787169339aed10b66c8184
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 4 19:42:25 2022 -0400

    more style changes to the mailbox message list

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 18 +++++++++++-------
 webcit-ng/static/js/view_mail.js | 12 +++++++-----
 2 files changed, 18 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099311699</link><pubDate>Mon, 26 Sep 2022 17:19:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-14-g20d9fb57b</title><guid isPermaLink="false">2099311699@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  20d9fb57bc5bd220ea8c887a2f3ae1b0c909df4f (commit)
      from  e2d0fb16128b3fecd657dfa5c04b9a615cb1ad3c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=20d9fb57bc5bd220ea8c887a2f3ae1b0c909df4f
commit 20d9fb57bc5bd220ea8c887a2f3ae1b0c909df4f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 26 17:19:18 2022 -0400

    Got all of the elements in the top banner bar to line up across the same horizontal axis.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 59 +++++++++++++++++++++++++++++++++--------
 webcit-ng/static/index.html     | 34 +++++++++++++++---------
 webcit-ng/static/js/main.js     |  2 +-
 3 files changed, 71 insertions(+), 24 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099311493</link><pubDate>Sat, 24 Sep 2022 11:09:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-13-ge2d0fb161</title><guid isPermaLink="false">2099311493@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e2d0fb16128b3fecd657dfa5c04b9a615cb1ad3c (commit)
       via  6bab2c308d59bf65faa1c9b4a8c04ba5abed26d0 (commit)
       via  6fe92cbc7d39e5b4080c3c0e7dd29dc593454746 (commit)
       via  9ba06f78d5bdee43595944519e3983d9e65af5a2 (commit)
       via  13f79e5472836fb937bc6b98fe444e6beaee2a51 (commit)
      from  d651a6392e3d28084c78996439cb6d5b3f22a96f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e2d0fb16128b3fecd657dfa5c04b9a615cb1ad3c
commit e2d0fb16128b3fecd657dfa5c04b9a615cb1ad3c
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 24 11:09:28 2022 -0400

    Something about the way we were rendering items in the banner bar was making it overflow and scrollbars were appearing.  Removed all of the float styling for now.  I will rewrite it as a flexbox.

http://code.citadel.org/?p=citadel.git&a=commit&h=6bab2c308d59bf65faa1c9b4a8c04ba5abed26d0
commit 6bab2c308d59bf65faa1c9b4a8c04ba5abed26d0
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 23 15:50:24 2022 -0400

    Gave the grid-template-areas more meaningful and unique names

http://code.citadel.org/?p=citadel.git&a=commit&h=6fe92cbc7d39e5b4080c3c0e7dd29dc593454746
commit 6fe92cbc7d39e5b4080c3c0e7dd29dc593454746
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 23 15:47:26 2022 -0400

    moved the username and login button back to separate items

http://code.citadel.org/?p=citadel.git&a=commit&h=9ba06f78d5bdee43595944519e3983d9e65af5a2
commit 9ba06f78d5bdee43595944519e3983d9e65af5a2
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 23 15:34:25 2022 -0400

    Changed the sidebar button style AGAIN.  It looks more current-year now.  I like the old style beveled buttons but that look is dated.

http://code.citadel.org/?p=citadel.git&a=commit&h=13f79e5472836fb937bc6b98fe444e6beaee2a51
commit 13f79e5472836fb937bc6b98fe444e6beaee2a51
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 23 14:55:37 2022 -0400

    Resized the banner bar using vh instead of pixels.  Resized the sidebar using vw instead of pixels.  Replaced the CITADEL name in the corner with our logo, also bearing a link to the web site.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 37 ++++++++++++++++++++++---------------
 webcit-ng/static/index.html     | 17 ++++++-----------
 2 files changed, 28 insertions(+), 26 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099311362</link><pubDate>Thu, 22 Sep 2022 19:30:45 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-8-gd651a6392</title><guid isPermaLink="false">2099311362@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d651a6392e3d28084c78996439cb6d5b3f22a96f (commit)
       via  32e59fc6da61b0b3cf4cc0ccf90682170e14660c (commit)
       via  68676c15bf5aa9bdd8ab654c7f049f17c0dec4f8 (commit)
       via  fdef03022a466ce3dbaedf8ceef8d1683ae2dd73 (commit)
       via  52dc262858e29ebd34fec6bdf726511baede1dcf (commit)
      from  274c95e13b3868d29c4790a4603f27c0a04616aa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d651a6392e3d28084c78996439cb6d5b3f22a96f
commit d651a6392e3d28084c78996439cb6d5b3f22a96f
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 22 19:30:42 2022 -0400

    Fixed the rendering on the 'older posts' and 'newer posts' buttons.  No longer relies on w3css styles we aren't using anymore.  Also made the whole div clickable instead of just the text.

http://code.citadel.org/?p=citadel.git&a=commit&h=32e59fc6da61b0b3cf4cc0ccf90682170e14660c
commit 32e59fc6da61b0b3cf4cc0ccf90682170e14660c
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 22 18:06:59 2022 -0400

    Tightened up the padding around the room list and rendered it with the flexbox model.  Cleaned up the styles used in hover and selection on the sidebar.

http://code.citadel.org/?p=citadel.git&a=commit&h=68676c15bf5aa9bdd8ab654c7f049f17c0dec4f8
commit 68676c15bf5aa9bdd8ab654c7f049f17c0dec4f8
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 22 15:19:55 2022 -0400

    style roomlist

http://code.citadel.org/?p=citadel.git&a=commit&h=fdef03022a466ce3dbaedf8ceef8d1683ae2dd73
commit fdef03022a466ce3dbaedf8ceef8d1683ae2dd73
Merge: 52dc26285 274c95e13
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 22 15:19:07 2022 -0400

    Merge branch 'master' of ssh://git.citadel.org/var/www/gitroot/citadel

commit 274c95e13b3868d29c4790a4603f27c0a04616aa
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 21 19:13:45 2022 -0400

    Tried to add a few style thingies back into the renderer

commit 4df5f560d552000f252a0e4dda2026b7a0373f0c
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 21 18:44:43 2022 -0400

    Added a new parameter to html_to_ascii() to let it know when it's rendering to a terminal that supports ANSI escape sequences.  When this support is active, render blockquotes in dimmer video and italic (if supported by the terminal).

commit 8c0cafc4fa850ad2d7a3c2624477bc1b148d995e
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 21 18:25:48 2022 -0400

    When rendering messages in the old text client format, identify pull quotes and render them in dimmer video and italic font (if supported by the terminal).

http://code.citadel.org/?p=citadel.git&a=commit&h=52dc262858e29ebd34fec6bdf726511baede1dcf
commit 52dc262858e29ebd34fec6bdf726511baede1dcf
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 20 11:23:51 2022 -0400

    Reworked the room list to output semantically.  We will describe the layout using CSS flexbox in an upcoming commit.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css   | 39 +++++++++++++++++++++++++++------------
 webcit-ng/static/index.html       | 23 +++++++++--------------
 webcit-ng/static/js/roomlist.js   | 22 ++++++++++++++++------
 webcit-ng/static/js/view_forum.js | 12 ++++++------
 webcit-ng/static/js/views.js      | 29 ++++++++++++++++++++---------
 5 files changed, 78 insertions(+), 47 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099311277</link><pubDate>Wed, 21 Sep 2022 19:13:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v958-3-g274c95e13</title><guid isPermaLink="false">2099311277@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  274c95e13b3868d29c4790a4603f27c0a04616aa (commit)
       via  4df5f560d552000f252a0e4dda2026b7a0373f0c (commit)
       via  8c0cafc4fa850ad2d7a3c2624477bc1b148d995e (commit)
      from  7ba8dd4f6720a3dbdf3241b475a092e0c0434ae6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=274c95e13b3868d29c4790a4603f27c0a04616aa
commit 274c95e13b3868d29c4790a4603f27c0a04616aa
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 21 19:13:45 2022 -0400

    Tried to add a few style thingies back into the renderer

http://code.citadel.org/?p=citadel.git&a=commit&h=4df5f560d552000f252a0e4dda2026b7a0373f0c
commit 4df5f560d552000f252a0e4dda2026b7a0373f0c
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 21 18:44:43 2022 -0400

    Added a new parameter to html_to_ascii() to let it know when it's rendering to a terminal that supports ANSI escape sequences.  When this support is active, render blockquotes in dimmer video and italic (if supported by the terminal).

http://code.citadel.org/?p=citadel.git&a=commit&h=8c0cafc4fa850ad2d7a3c2624477bc1b148d995e
commit 8c0cafc4fa850ad2d7a3c2624477bc1b148d995e
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 21 18:25:48 2022 -0400

    When rendering messages in the old text client format, identify pull quotes and render them in dimmer video and italic font (if supported by the terminal).

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/msgbase.c       |  2 +-
 libcitadel/lib/html_to_ascii.c | 77 +++++++++++++++++++++++++++---------------
 libcitadel/lib/libcitadel.h    | 14 ++++----
 textclient/commands.c          | 13 +++++++
 textclient/messages.c          |  2 +-
 webcit/messages.c              |  2 +-
 6 files changed, 72 insertions(+), 38 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310911</link><pubDate>Sat, 17 Sep 2022 17:23:09 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v958 created. v958</title><guid isPermaLink="false">2099310911@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v958 has been created
        at  a9ebe65e6107878d412f607f4fe775aec2ed4129 (tag)
   tagging  7ba8dd4f6720a3dbdf3241b475a092e0c0434ae6 (commit)
  replaces  v957
 tagged by  Art Cancro
        on  Sat Sep 17 17:23:02 2022 -0400

- Log -----------------------------------------------------------------
Version 958 release

Art Cancro (82):
      In webcit-ng, allow -h to specify the Citadel Server data directory.  This will allow -h to work the same across all programs.
      I was today years old when I learned that the "thundering herd" problem no longer exists in the Linux kernel.
      Removed support for Solaris, which has been dead for at least five years.
      The unused messages in setup.c are now in an unused function instead of being blocked out.  I don't know if this makes a difference to the strings available for translation but I did it just in case.
      Mostly just changes to make the code more readable.  Everyone should do this once in a while.
      Removed the comments about not needing to block on select() , after remembering that even though the thundering herd problem no longer exists, we still have to deal with timer events and incoming data on client sockets.  select() is still appropriate here.
      Nothing to see here, move along
      Removed close_masters() because it was completely redundant. Master sockets are already closed during extension shutdown routines. And yes we still use the word "master" because we are not politicially correct twits.
      Removed more old artifacts from autoconf's reign of terror.
      webcit-ng: don't generate .d files , they are not needed
      new license declaration text
      Pass through the data to tell the client if it has room aide privileges and/or permission to delete messages in the current room.  Aide or Room Aide privileges are now indicated via a user-with-cog icon in the room name banner.  The delete button in the forum view now only appears if the client believes it is allowed.
      Added the javascript logic to delete a message.  This pretty much completes the forum module.
      Set up the view dispatcher for mailbox rooms
      Set things up for mailbox view implementation
      New API "/ctdl/r/ROOMNAME/mailbox" downloads a mailbox summary of the current room (all fields).
      I can't see the screen with my sunglasses on
      Beginnings of mailbox view
      Use the library functions to stringify a date instead of doing it the hard way.
      Rendering a single row in a mailbox now has its own function
      Added the logic to auto-refresh mailbox display
      Started separating mail and forum message renderers
      Clear any existing mailbox refresh when setting up a new one
      Don't re-display a selected message when refreshing the mailbox:
      Began CSS stylizing the mailbox view
      Define the citserver BUILD_ID as a five digit number consisting of the two digit year and a zero-padded three digit julian date.  No, this is not Year 2100 compliant.  I will be delighted if Citadel is still in use half a century after I'm dead and this will be a small problem for someone to solve.
      utf8ify_rfc822_string() is in libcitadel now
      Convert RFC2047-encoded strings to UTF8 before display
      Ok, this is close ... saving my work before I try something destructive
      Finally got the pane scrolling working the right way.  Wowzers.  Saving this as a commit before I mess it up again.
      Finally got the divs to display correctly by making the mailbox a part of the top banner.  Committing this as-is even though I still hjave to make the mailbox load and unload at the correct times.
      All right, this is more or less it.  I had to resort to creating a function stuffbar() that has to be called whenever we render a new screen in the main div, to tell it whether or not the stuffbar requires displaying in this view.  Since we will be using the stuffbar for multiple things this seems ok.
      Add a web API command for the server STAT command.  This will allow us to implement a new-messages check that does not require loading the entire room again.
      Mailbox refresh is working completely now.
      Removed the excess vertical whitespace between headers and message body
      Added the dispatch function for entering a new mail message
      Increase the z-index of the fly-in menu on small screens so it isn't covered by the mailbox
      Remove w3_ from index.html
      BUILD_ID is now the output of "git describe" , falling back to the two digit year and julian date if that fails.
      Display "brief" datestamps in mailbox: date if not today, time if today.
      In the online users list, display partially logged in (username sent but no successful password yet) users as "not logged in" instead of displaying the user name.
      Passing some idle time by applying rules from the style guide to commands.c
      Truncate username display to 25 characters so it doesn't overrun the column
      Unwrapped some old 80-column code
      Removed W3CSS and moved to CSS grid layout.  There's a bunch of stuff left to tweak but this is going to be much easier.
      test commit
      Use spaces in api.txt
      More progress on moving to the box layout
      indent -kr -i8 -brf -bbb -fnc -l132 -nce
      More CSS cleanup
      Continuing along with the effort to replace the remaining w3css styles with hand-crafted CSS of our own.
      Got the mailbox view (mailbox pane + reading pane) working correctly.  It's a CSS Grid view, so we should be able to offer a side-by-side view later just by amending the styles.
      minor change to mailbox pane
      oops removed some backups that got committed
      indent -kr -i8 -brf -bbb -fnc -l132 -nce on all of webcit-classic
      mailbox temporary style
      Move *.c and *.h into server/ directory.
      simplify the build and move the C server into a directory
      Applied style changes to the mailbox pane that are both semantically correct and look really good.  Now I am become keyboard, destroyer of worlds.
      The mailbox reading pane seems to work best when the height is not specified at all.
      more tweaks to mailbox css
      Separate out the display name and email addresses in the JSON output of a message.  Also send out the "message originated locally" flag.  This will allow the JS side to be smarter about how it displays.
      Moved render_msg_author() into a different file
      Remove the console log of the address render.  It works now and we don't need to log it.
      Remove the box around the message text in the mailbox view.  Set a 3px bottom border under the message list.  Looks pretty good now.
      Moved some of the banner and sidebar items around
      README.txt is now README.md because why not.  Also included an obnoxious comment about how we're not going to use your favorite CSS or JS library because everything is lovingly hand coded and Citadel components tend to outlive web libraries.
      Make all CSS comment blocks start in the same column.  Probably not sustainable.
      CSS tweaks to room list view.
      Minor style changes to room list and mailbox reading pane
      Consolidated all renderings of a user profile picture (avatar) into a single rendering function render_userpic().  This is currently called to display the user's avatar in the banner when logged in, and in both the mail and forum views.
      Render user pic as a circle using clip-path() CSS
      Changed 'the Greetingpicture for the login prompt' to 'graphics to be displayed on the login screen'
      Style update to server/modules/ctdlproto/serv_file.c
      text client: if the 'who am i' command is used to populate the host name, strip the trailing newline.  Otherwise the newline gets sent as part of an IDEN command and it confuses the server protocol.
      just some idle style cleanup
      Reverts commit c6aec42f213ec284e34648f3d69bcf927dccddb1 because putting the opening brace on the same line as the function declaration causes mk_modules_init.sh to barf its lungs out.
      sed s/goodbuye/goodbye ... I wonder how much was broken because of this
      trying to figure out the problem with graphics upload in webcit classic
      Removed the 'UIMG 0||userpic' server command issued to check whether the user has permission to upload the photo.  That is an obsolete command and it will fail every time unless the user is an administrator.
      In the text client, changed some misleading error messages
      Release version 958 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310910</link><pubDate>Sat, 17 Sep 2022 17:23:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-82-g7ba8dd4f6</title><guid isPermaLink="false">2099310910@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7ba8dd4f6720a3dbdf3241b475a092e0c0434ae6 (commit)
       via  60bc77ee859ec10fd42094598e7dde310f3e1d2f (commit)
       via  648c829fbbfc417b675243a7fe86194731abf2cd (commit)
      from  889bb5ac989c9c006b330ef0871b95f8cdd3e0e0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7ba8dd4f6720a3dbdf3241b475a092e0c0434ae6
commit 7ba8dd4f6720a3dbdf3241b475a092e0c0434ae6
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 17 17:23:02 2022 -0400

    Release version 958 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=60bc77ee859ec10fd42094598e7dde310f3e1d2f
commit 60bc77ee859ec10fd42094598e7dde310f3e1d2f
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 17 17:21:27 2022 -0400

    In the text client, changed some misleading error messages

http://code.citadel.org/?p=citadel.git&a=commit&h=648c829fbbfc417b675243a7fe86194731abf2cd
commit 648c829fbbfc417b675243a7fe86194731abf2cd
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 17 17:15:40 2022 -0400

    Removed the 'UIMG 0||userpic' server command issued to check whether the user has permission to upload the photo.  That is an obsolete command and it will fail every time unless the user is an administrator.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel.h    |  2 +-
 libcitadel/lib/libcitadel.h |  2 +-
 release_version.txt         |  2 +-
 textclient/citadel.c        |  9 +++---
 textclient/config.mk        |  4 +--
 textclient/textclient.h     |  2 +-
 webcit/graphics.c           | 69 ++++++++++++++++-----------------------------
 webcit/webcit.h             |  2 +-
 8 files changed, 35 insertions(+), 57 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310870</link><pubDate>Sat, 17 Sep 2022 12:32:24 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-79-g889bb5ac9</title><guid isPermaLink="false">2099310870@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  889bb5ac989c9c006b330ef0871b95f8cdd3e0e0 (commit)
       via  2ed043e2df02ef48857912c65daec06b77b10ac2 (commit)
       via  5d2d3f4eea91c74af93c735bff7ad9955b466181 (commit)
       via  9f8e0bd23ce7dde31156b634f3a66bf234b11927 (commit)
       via  7408ecea5cc097c76ed667097020e1d9a1228b0d (commit)
      from  825c7f252d4444c13e93bd44a95540e17481145a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=889bb5ac989c9c006b330ef0871b95f8cdd3e0e0
commit 889bb5ac989c9c006b330ef0871b95f8cdd3e0e0
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 17 16:32:17 2022 +0000

    trying to figure out the problem with graphics upload in webcit classic

http://code.citadel.org/?p=citadel.git&a=commit&h=2ed043e2df02ef48857912c65daec06b77b10ac2
commit 2ed043e2df02ef48857912c65daec06b77b10ac2
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 16 21:28:44 2022 +0000

    sed s/goodbuye/goodbye ... I wonder how much was broken because of this

http://code.citadel.org/?p=citadel.git&a=commit&h=5d2d3f4eea91c74af93c735bff7ad9955b466181
commit 5d2d3f4eea91c74af93c735bff7ad9955b466181
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 16 21:20:04 2022 +0000

    Reverts commit c6aec42f213ec284e34648f3d69bcf927dccddb1 because putting the opening brace on the same line as the function declaration causes mk_modules_init.sh to barf its lungs out.

http://code.citadel.org/?p=citadel.git&a=commit&h=9f8e0bd23ce7dde31156b634f3a66bf234b11927
commit 9f8e0bd23ce7dde31156b634f3a66bf234b11927
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 16 18:54:31 2022 +0000

    just some idle style cleanup

http://code.citadel.org/?p=citadel.git&a=commit&h=7408ecea5cc097c76ed667097020e1d9a1228b0d
commit 7408ecea5cc097c76ed667097020e1d9a1228b0d
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 16 18:44:08 2022 +0000

    text client: if the 'who am i' command is used to populate the host name, strip the trailing newline.  Otherwise the newline gets sent as part of an IDEN command and it confuses the server protocol.

-----------------------------------------------------------------------

Summary of changes:
 citadel/config.mk                                |    2 +-
 textclient/citadel.c                             |   71 +-
 textclient/citadel_ipc.c                         |    2 +-
 textclient/config.mk                             |    4 +-
 textclient/routines.c                            |    3 +
 webcit/addressbook_popup.c                       |   23 +-
 webcit/auth.c                                    |  213 +--
 webcit/autocompletion.c                          |   31 +-
 webcit/availability.c                            |   92 +-
 webcit/bbsview_renderer.c                        |  198 +--
 webcit/blogview_renderer.c                       |  180 +--
 webcit/calendar.c                                |  351 +++--
 webcit/calendar.h                                |   63 +-
 webcit/calendar_tools.c                          |  118 +-
 webcit/calendar_view.c                           |  826 ++++++-----
 webcit/context_loop.c                            |  345 +++--
 webcit/cookie_conversion.c                       |   24 +-
 webcit/crypto.c                                  |   27 +-
 webcit/dav.h                                     |   11 +-
 webcit/dav_delete.c                              |   10 +-
 webcit/dav_get.c                                 |   52 +-
 webcit/dav_main.c                                |  161 ++-
 webcit/dav_options.c                             |   32 +-
 webcit/dav_propfind.c                            |  577 ++++----
 webcit/dav_put.c                                 |   38 +-
 webcit/dav_report.c                              |   46 +-
 webcit/downloads.c                               |  252 ++--
 webcit/event.c                                   |  578 ++++----
 webcit/feed_generator.c                          |   71 +-
 webcit/fmt_date.c                                |  148 +-
 webcit/gettext.c                                 |  204 +--
 webcit/graphics.c                                |   59 +-
 webcit/html2html.c                               |  377 +++--
 webcit/http_datestring.c                         |   30 +-
 webcit/ical_dezonify.c                           |   63 +-
 webcit/ical_subst.c                              |  257 ++--
 webcit/iconbar.c                                 |  161 ++-
 webcit/icontheme.c                               |   90 +-
 webcit/inetconf.c                                |   84 +-
 webcit/jsonview_renderer.c                       |   56 +-
 webcit/listsub.c                                 |   25 +-
 webcit/locate_host.c                             |   10 +-
 webcit/mailview_renderer.c                       |   78 +-
 webcit/mainmenu.c                                |   42 +-
 webcit/marchlist.c                               |   57 +-
 webcit/messages.c                                |  702 +++++-----
 webcit/messages.h                                |  155 ++-
 webcit/msg_renderers.c                           |  927 +++++++------
 webcit/netconf.c                                 |  120 +-
 webcit/notes.c                                   |  176 ++-
 webcit/openid.c                                  |   56 +-
 webcit/paging.c                                  |   37 +-
 webcit/paramhandling.c                           |  440 +++---
 webcit/paramhandling.h                           |   24 +-
 webcit/preferences.c                             |  509 ++++---
 webcit/preferences.h                             |   25 +-
 webcit/pushemail.c                               |  106 +-
 webcit/roomchat.c                                |   16 +-
 webcit/roomlist.c                                |  522 ++++---
 webcit/roomops.c                                 |  570 ++++----
 webcit/roomops.h                                 |   92 +-
 webcit/roomtokens.c                              |  302 +++--
 webcit/roomviews.c                               |  151 ++-
 webcit/serv_func.c                               |  210 +--
 webcit/sieve.c                                   |  366 +++--
 webcit/siteconfig.c                              |  349 ++---
 webcit/sitemap.c                                 |   73 +-
 webcit/smtpqueue.c                               |  271 ++--
 webcit/sockets.c                                 |  409 +++---
 webcit/sockets.h                                 |   21 +-
 webcit/static.c                                  |  103 +-
 webcit/static/t/aide/siteconfig/tab_general.html |    2 +-
 webcit/subst.c                                   | 1585 ++++++++++++++--------
 webcit/subst.h                                   |  168 ++-
 webcit/summary.c                                 |   48 +-
 webcit/sysdep.c                                  |  208 +--
 webcit/sysmsgs.c                                 |   24 +-
 webcit/tabs.c                                    |  159 ++-
 webcit/tasks.c                                   |  302 +++--
 webcit/useredit.c                                |  501 ++++---
 webcit/utils.c                                   |  161 +--
 webcit/utils.h                                   |    5 +-
 webcit/vcard_edit.c                              |  517 ++++---
 webcit/webcit.c                                  |  312 +++--
 webcit/webcit.h                                  |  326 +++--
 webcit/webserver.c                               |   85 +-
 webcit/webserver.h                               |    9 +-
 webcit/who.c                                     |  184 ++-
 webcit/wiki.c                                    |  103 +-
 89 files changed, 10257 insertions(+), 7316 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310766</link><pubDate>Fri, 16 Sep 2022 12:43:01 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-74-g825c7f252</title><guid isPermaLink="false">2099310766@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  825c7f252d4444c13e93bd44a95540e17481145a (commit)
       via  0b43e938666e409343ee326e4299754ee9702040 (commit)
      from  aa396ee3bd42248df451f9dd799520b69db0c494 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=825c7f252d4444c13e93bd44a95540e17481145a
commit 825c7f252d4444c13e93bd44a95540e17481145a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 16 10:36:49 2022 -0400

    Style update to server/modules/ctdlproto/serv_file.c

http://code.citadel.org/?p=citadel.git&a=commit&h=0b43e938666e409343ee326e4299754ee9702040
commit 0b43e938666e409343ee326e4299754ee9702040
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 15 19:05:59 2022 -0400

    Changed 'the Greetingpicture for the login prompt' to 'graphics to be displayed on the login screen'

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.lock                         |   0
 citadel/server/modules/ctdlproto/serv_file.c | 247 ++++++++++-----------------
 webcit/graphics.c                            |   2 +-
 webcit/po/webcit/ar.po                       |   2 +-
 webcit/po/webcit/bg.po                       |   2 +-
 webcit/po/webcit/cs.po                       |   2 +-
 webcit/po/webcit/da.po                       |   2 +-
 webcit/po/webcit/de.po                       |   2 +-
 webcit/po/webcit/el.po                       |   2 +-
 webcit/po/webcit/en_GB.po                    |   4 +-
 webcit/po/webcit/es.po                       |   2 +-
 webcit/po/webcit/et.po                       |   2 +-
 webcit/po/webcit/fi.po                       |   2 +-
 webcit/po/webcit/fr.po                       |   2 +-
 webcit/po/webcit/he.po                       |   2 +-
 webcit/po/webcit/hu.po                       |   2 +-
 webcit/po/webcit/it.po                       |   2 +-
 webcit/po/webcit/kk.po                       |   2 +-
 webcit/po/webcit/ko.po                       |   2 +-
 webcit/po/webcit/nl.po                       |   2 +-
 webcit/po/webcit/pl.po                       |   2 +-
 webcit/po/webcit/pt_BR.po                    |   2 +-
 webcit/po/webcit/ro.po                       |   2 +-
 webcit/po/webcit/ru.po                       |   2 +-
 webcit/po/webcit/sl.po                       |   2 +-
 webcit/po/webcit/sv.po                       |   2 +-
 webcit/po/webcit/tr.po                       |   2 +-
 webcit/po/webcit/webcit.pot                  |   2 +-
 webcit/po/webcit/zh.po                       |   2 +-
 29 files changed, 119 insertions(+), 184 deletions(-)
 delete mode 100644 citadel/citadel.lock


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310703</link><pubDate>Thu, 15 Sep 2022 18:51:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-72-gaa396ee3b</title><guid isPermaLink="false">2099310703@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  aa396ee3bd42248df451f9dd799520b69db0c494 (commit)
       via  b152326c91ecfd4cc5782c4df2f2527fbad2b5b5 (commit)
       via  6c10a091d1e9cc892275594c68634fe204b24e3f (commit)
      from  facca6ed302976fe3626c8eb39eab9b980590912 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=aa396ee3bd42248df451f9dd799520b69db0c494
commit aa396ee3bd42248df451f9dd799520b69db0c494
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 15 18:48:15 2022 -0400

    Render user pic as a circle using clip-path() CSS

http://code.citadel.org/?p=citadel.git&a=commit&h=b152326c91ecfd4cc5782c4df2f2527fbad2b5b5
commit b152326c91ecfd4cc5782c4df2f2527fbad2b5b5
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 15 18:37:50 2022 -0400

    Consolidated all renderings of a user profile picture (avatar) into a single rendering function render_userpic().  This is currently called to display the user's avatar in the banner when logged in, and in both the mail and forum views.

http://code.citadel.org/?p=citadel.git&a=commit&h=6c10a091d1e9cc892275594c68634fe204b24e3f
commit 6c10a091d1e9cc892275594c68634fe204b24e3f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 13 00:05:28 2022 -0400

    Minor style changes to room list and mailbox reading pane

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css     | 14 +++++++++++---
 webcit-ng/static/index.html         |  8 +++++---
 webcit-ng/static/js/main.js         |  2 ++
 webcit-ng/static/js/user_profile.js | 20 +++++++++++++++++---
 webcit-ng/static/js/view_forum.js   |  5 +----
 webcit-ng/static/js/view_mail.js    |  5 +----
 6 files changed, 37 insertions(+), 17 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310290</link><pubDate>Sat, 10 Sep 2022 23:05:43 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-69-gfacca6ed3</title><guid isPermaLink="false">2099310290@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  facca6ed302976fe3626c8eb39eab9b980590912 (commit)
       via  0e1b188acdb41d1832c41084e3d29003db3e3f8c (commit)
       via  87a48a66b28e4cfb53df86776ccce871aa9b0f68 (commit)
       via  fca7e544adaf01d32081290959c5dce7df8631f8 (commit)
       via  b439cb87f482a423d90eae995cdbba424d2ce5af (commit)
      from  1a8ace1ee62c38375f2c6207f971618c3b2195af (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=facca6ed302976fe3626c8eb39eab9b980590912
commit facca6ed302976fe3626c8eb39eab9b980590912
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 10 23:05:39 2022 -0400

    CSS tweaks to room list view.

http://code.citadel.org/?p=citadel.git&a=commit&h=0e1b188acdb41d1832c41084e3d29003db3e3f8c
commit 0e1b188acdb41d1832c41084e3d29003db3e3f8c
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 10 22:21:08 2022 -0400

    Make all CSS comment blocks start in the same column.  Probably not sustainable.

http://code.citadel.org/?p=citadel.git&a=commit&h=87a48a66b28e4cfb53df86776ccce871aa9b0f68
commit 87a48a66b28e4cfb53df86776ccce871aa9b0f68
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 10 20:13:44 2022 -0400

    README.txt is now README.md because why not.  Also included an obnoxious comment about how we're not going to use your favorite CSS or JS library because everything is lovingly hand coded and Citadel components tend to outlive web libraries.

http://code.citadel.org/?p=citadel.git&a=commit&h=fca7e544adaf01d32081290959c5dce7df8631f8
commit fca7e544adaf01d32081290959c5dce7df8631f8
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 10 15:44:50 2022 -0400

    Moved some of the banner and sidebar items around

http://code.citadel.org/?p=citadel.git&a=commit&h=b439cb87f482a423d90eae995cdbba424d2ce5af
commit b439cb87f482a423d90eae995cdbba424d2ce5af
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 9 18:55:41 2022 -0400

    Remove the box around the message text in the mailbox view.  Set a 3px bottom border under the message list.  Looks pretty good now.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/{README.txt => README.md} |  22 +++-----
 webcit-ng/static/css/webcit.css     | 102 +++++++++++++++++++-----------------
 webcit-ng/static/index.html         |  38 +++++++-------
 webcit-ng/static/js/roomlist.js     |   4 +-
 webcit-ng/static/js/view_mail.js    |   2 +-
 5 files changed, 81 insertions(+), 87 deletions(-)
 rename webcit-ng/{README.txt => README.md} (90%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310200</link><pubDate>Fri, 09 Sep 2022 18:09:36 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-64-g1a8ace1ee</title><guid isPermaLink="false">2099310200@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1a8ace1ee62c38375f2c6207f971618c3b2195af (commit)
       via  60ecdd5eeb96be571020966047762965b818a0ef (commit)
      from  42f5362eb75d22bbfba626bc5df452ffe180bb00 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1a8ace1ee62c38375f2c6207f971618c3b2195af
commit 1a8ace1ee62c38375f2c6207f971618c3b2195af
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 9 18:09:34 2022 -0400

    Remove the console log of the address render.  It works now and we don't need to log it.

http://code.citadel.org/?p=citadel.git&a=commit&h=60ecdd5eeb96be571020966047762965b818a0ef
commit 60ecdd5eeb96be571020966047762965b818a0ef
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 9 18:08:57 2022 -0400

    Moved render_msg_author() into a different file

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/user_profile.js | 18 ++++++++++++++++++
 webcit-ng/static/js/view_forum.js   |  4 +---
 webcit-ng/static/js/view_mail.js    |  5 +----
 3 files changed, 20 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310186</link><pubDate>Fri, 09 Sep 2022 15:40:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-62-g42f5362eb</title><guid isPermaLink="false">2099310186@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  42f5362eb75d22bbfba626bc5df452ffe180bb00 (commit)
      from  f101115f22297fab6ce08fe89a80c906fb47dc2f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=42f5362eb75d22bbfba626bc5df452ffe180bb00
commit 42f5362eb75d22bbfba626bc5df452ffe180bb00
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 9 15:39:27 2022 -0400

    Separate out the display name and email addresses in the JSON output of a message.  Also send out the "message originated locally" flag.  This will allow the JS side to be smarter about how it displays.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/forum_view.c    | 13 +++----------
 webcit-ng/static/css/webcit.css  | 14 ++++++++++++++
 webcit-ng/static/js/view_mail.js |  9 +++++----
 3 files changed, 22 insertions(+), 14 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310158</link><pubDate>Fri, 09 Sep 2022 11:58:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-61-gf101115f2</title><guid isPermaLink="false">2099310158@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f101115f22297fab6ce08fe89a80c906fb47dc2f (commit)
      from  90348a65eed99e9118bd6182c9d195788fc73174 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f101115f22297fab6ce08fe89a80c906fb47dc2f
commit f101115f22297fab6ce08fe89a80c906fb47dc2f
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 9 11:58:04 2022 -0400

    more tweaks to mailbox css

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 9 +++++++--
 webcit-ng/static/js/view_mail.js | 2 +-
 2 files changed, 8 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310150</link><pubDate>Fri, 09 Sep 2022 10:59:26 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-60-g90348a65e</title><guid isPermaLink="false">2099310150@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  90348a65eed99e9118bd6182c9d195788fc73174 (commit)
      from  17b19368b5871b207448ceb0d9c6835602758b10 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=90348a65eed99e9118bd6182c9d195788fc73174
commit 90348a65eed99e9118bd6182c9d195788fc73174
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 9 10:59:24 2022 -0400

    The mailbox reading pane seems to work best when the height is not specified at all.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 1 -
 1 file changed, 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310109</link><pubDate>Thu, 08 Sep 2022 19:56:37 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-59-g17b19368b</title><guid isPermaLink="false">2099310109@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  17b19368b5871b207448ceb0d9c6835602758b10 (commit)
      from  1e89ecd88c8391b4951db8e266fbba2f6b9902ca (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=17b19368b5871b207448ceb0d9c6835602758b10
commit 17b19368b5871b207448ceb0d9c6835602758b10
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 8 19:55:40 2022 -0400

    Applied style changes to the mailbox pane that are both semantically correct and look really good.  Now I am become keyboard, destroyer of worlds.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 36 ++++++++++++++++++++++++++----------
 webcit-ng/static/js/view_mail.js |  3 +--
 2 files changed, 27 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310097</link><pubDate>Thu, 08 Sep 2022 19:18:56 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-58-g1e89ecd88</title><guid isPermaLink="false">2099310097@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1e89ecd88c8391b4951db8e266fbba2f6b9902ca (commit)
      from  6f7fc692b0121efbd826544dc837f006449a8083 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1e89ecd88c8391b4951db8e266fbba2f6b9902ca
commit 1e89ecd88c8391b4951db8e266fbba2f6b9902ca
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 8 19:18:54 2022 -0400

    simplify the build and move the C server into a directory

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.txt | 3 +++
 1 file changed, 3 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310096</link><pubDate>Thu, 08 Sep 2022 19:17:44 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-57-g6f7fc692b</title><guid isPermaLink="false">2099310096@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6f7fc692b0121efbd826544dc837f006449a8083 (commit)
      from  3dc7813179b91b3f8baf2a1c884c55efd18310d0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6f7fc692b0121efbd826544dc837f006449a8083
commit 6f7fc692b0121efbd826544dc837f006449a8083
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 8 19:17:41 2022 -0400

    Move *.c and *.h into server/ directory.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/.gitignore                     |  1 +
 webcit-ng/Makefile                       | 17 +++--------------
 webcit-ng/{ => server}/admin_functions.c |  0
 webcit-ng/{ => server}/caldav_reports.c  |  0
 webcit-ng/{ => server}/ctdl_commands.c   |  0
 webcit-ng/{ => server}/ctdlclient.c      |  0
 webcit-ng/{ => server}/ctdlfunctions.c   |  0
 webcit-ng/{ => server}/floor_functions.c |  0
 webcit-ng/{ => server}/forum_view.c      |  0
 webcit-ng/{ => server}/html2html.c       |  0
 webcit-ng/{ => server}/http.c            |  0
 webcit-ng/{ => server}/main.c            |  0
 webcit-ng/{ => server}/messages.c        |  0
 webcit-ng/{ => server}/request.c         |  0
 webcit-ng/{ => server}/room_functions.c  |  0
 webcit-ng/{ => server}/static.c          |  0
 webcit-ng/{ => server}/tcp_sockets.c     |  0
 webcit-ng/{ => server}/text2html.c       |  0
 webcit-ng/{ => server}/tls.c             |  0
 webcit-ng/{ => server}/user_functions.c  |  0
 webcit-ng/{ => server}/util.c            |  0
 webcit-ng/{ => server}/webcit.h          |  0
 webcit-ng/{ => server}/webserver.c       |  0
 23 files changed, 4 insertions(+), 14 deletions(-)
 rename webcit-ng/{ => server}/admin_functions.c (100%)
 rename webcit-ng/{ => server}/caldav_reports.c (100%)
 rename webcit-ng/{ => server}/ctdl_commands.c (100%)
 rename webcit-ng/{ => server}/ctdlclient.c (100%)
 rename webcit-ng/{ => server}/ctdlfunctions.c (100%)
 rename webcit-ng/{ => server}/floor_functions.c (100%)
 rename webcit-ng/{ => server}/forum_view.c (100%)
 rename webcit-ng/{ => server}/html2html.c (100%)
 rename webcit-ng/{ => server}/http.c (100%)
 rename webcit-ng/{ => server}/main.c (100%)
 rename webcit-ng/{ => server}/messages.c (100%)
 rename webcit-ng/{ => server}/request.c (100%)
 rename webcit-ng/{ => server}/room_functions.c (100%)
 rename webcit-ng/{ => server}/static.c (100%)
 rename webcit-ng/{ => server}/tcp_sockets.c (100%)
 rename webcit-ng/{ => server}/text2html.c (100%)
 rename webcit-ng/{ => server}/tls.c (100%)
 rename webcit-ng/{ => server}/user_functions.c (100%)
 rename webcit-ng/{ => server}/util.c (100%)
 rename webcit-ng/{ => server}/webcit.h (100%)
 rename webcit-ng/{ => server}/webserver.c (100%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310095</link><pubDate>Thu, 08 Sep 2022 19:14:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-56-g3dc781317</title><guid isPermaLink="false">2099310095@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3dc7813179b91b3f8baf2a1c884c55efd18310d0 (commit)
      from  c6aec42f213ec284e34648f3d69bcf927dccddb1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3dc7813179b91b3f8baf2a1c884c55efd18310d0
commit 3dc7813179b91b3f8baf2a1c884c55efd18310d0
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 8 19:14:11 2022 -0400

    mailbox temporary style

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  |  60 ++++++----
 webcit-ng/static/js/view_mail.js |   8 +-
 webcit-ng/tls2.c~                | 237 ---------------------------------------
 3 files changed, 40 insertions(+), 265 deletions(-)
 delete mode 100644 webcit-ng/tls2.c~


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310088</link><pubDate>Thu, 08 Sep 2022 17:57:27 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-55-gc6aec42f2</title><guid isPermaLink="false">2099310088@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c6aec42f213ec284e34648f3d69bcf927dccddb1 (commit)
      from  7beff529e758f6f0706e733901824c63bcac6d19 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c6aec42f213ec284e34648f3d69bcf927dccddb1
commit c6aec42f213ec284e34648f3d69bcf927dccddb1
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 8 17:57:24 2022 -0400

    indent -kr -i8 -brf -bbb -fnc -l132 -nce on all of webcit-classic

-----------------------------------------------------------------------

Summary of changes:
 webcit/addressbook_popup.c |   23 +-
 webcit/auth.c              |  213 +++---
 webcit/autocompletion.c    |   31 +-
 webcit/availability.c      |   92 ++-
 webcit/bbsview_renderer.c  |  198 +++---
 webcit/blogview_renderer.c |  180 +++--
 webcit/calendar.c          |  351 +++++-----
 webcit/calendar.h          |   63 +-
 webcit/calendar_tools.c    |  118 ++--
 webcit/calendar_view.c     |  826 ++++++++++-------------
 webcit/context_loop.c      |  345 +++++-----
 webcit/cookie_conversion.c |   24 +-
 webcit/crypto.c            |   27 +-
 webcit/dav.h               |   11 +-
 webcit/dav_delete.c        |   10 +-
 webcit/dav_get.c           |   52 +-
 webcit/dav_main.c          |  161 ++---
 webcit/dav_options.c       |   32 +-
 webcit/dav_propfind.c      |  577 +++++++---------
 webcit/dav_put.c           |   38 +-
 webcit/dav_report.c        |   46 +-
 webcit/downloads.c         |  252 +++----
 webcit/event.c             |  578 +++++++---------
 webcit/feed_generator.c    |   71 +-
 webcit/fmt_date.c          |  148 ++---
 webcit/gettext.c           |  204 +++---
 webcit/graphics.c          |   47 +-
 webcit/html2html.c         |  377 +++++------
 webcit/http_datestring.c   |   30 +-
 webcit/ical_dezonify.c     |   63 +-
 webcit/ical_subst.c        |  257 +++----
 webcit/iconbar.c           |  161 ++---
 webcit/icontheme.c         |   90 +--
 webcit/inetconf.c          |   84 +--
 webcit/jsonview_renderer.c |   56 +-
 webcit/listsub.c           |   25 +-
 webcit/locate_host.c       |   10 +-
 webcit/mailview_renderer.c |   78 +--
 webcit/mainmenu.c          |   42 +-
 webcit/marchlist.c         |   57 +-
 webcit/messages.c          |  702 +++++++++-----------
 webcit/messages.h          |  155 ++---
 webcit/msg_renderers.c     |  927 +++++++++++---------------
 webcit/netconf.c           |  120 ++--
 webcit/notes.c             |  176 ++---
 webcit/openid.c            |   56 +-
 webcit/paging.c            |   37 +-
 webcit/paramhandling.c     |  440 +++++-------
 webcit/paramhandling.h     |   24 +-
 webcit/preferences.c       |  509 +++++---------
 webcit/preferences.h       |   25 +-
 webcit/pushemail.c         |  106 ++-
 webcit/roomchat.c          |   16 +-
 webcit/roomlist.c          |  522 ++++++---------
 webcit/roomops.c           |  570 +++++++---------
 webcit/roomops.h           |   92 +--
 webcit/roomtokens.c        |  302 ++++-----
 webcit/roomviews.c         |  151 ++---
 webcit/serv_func.c         |  210 +++---
 webcit/sieve.c             |  366 +++++-----
 webcit/siteconfig.c        |  349 +++++-----
 webcit/sitemap.c           |   73 +-
 webcit/smtpqueue.c         |  271 +++-----
 webcit/sockets.c           |  409 +++++-------
 webcit/sockets.h           |   21 +-
 webcit/static.c            |  103 ++-
 webcit/subst.c             | 1585 +++++++++++++++++---------------------------
 webcit/subst.h             |  168 ++---
 webcit/summary.c           |   48 +-
 webcit/sysdep.c            |  208 +++---
 webcit/sysmsgs.c           |   24 +-
 webcit/tabs.c              |  159 ++---
 webcit/tasks.c             |  302 ++++-----
 webcit/useredit.c          |  501 ++++++--------
 webcit/utils.c             |  161 +++--
 webcit/utils.h             |    5 +-
 webcit/vcard_edit.c        |  517 ++++++---------
 webcit/webcit.c            |  312 ++++-----
 webcit/webcit.h            |  326 ++++-----
 webcit/webserver.c         |   85 ++-
 webcit/webserver.h         |    9 +-
 webcit/who.c               |  184 ++---
 webcit/wiki.c              |  103 ++-
 83 files changed, 7257 insertions(+), 10220 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310087</link><pubDate>Thu, 08 Sep 2022 17:55:03 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-54-g7beff529e</title><guid isPermaLink="false">2099310087@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7beff529e758f6f0706e733901824c63bcac6d19 (commit)
      from  dfef6481dd3485ea39a4e916f35bd54e65f2bb98 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7beff529e758f6f0706e733901824c63bcac6d19
commit 7beff529e758f6f0706e733901824c63bcac6d19
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 8 17:55:01 2022 -0400

    oops removed some backups that got committed

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c~          | 2099 ----------------------------------------
 textclient/client_chat.c~      |  247 -----
 textclient/client_passwords.c~ |  131 ---
 textclient/commands.c~         | 1731 ---------------------------------
 textclient/ipc_c_tcp.c~        |   57 --
 textclient/messages.c~         | 1922 ------------------------------------
 textclient/rooms.c~            | 1313 -------------------------
 textclient/routines.c~         |  570 -----------
 textclient/routines2.c~        |  564 -----------
 textclient/screen.c~           |  248 -----
 textclient/tuiconfig.c~        |  858 ----------------
 11 files changed, 9740 deletions(-)
 delete mode 100644 textclient/citadel.c~
 delete mode 100644 textclient/client_chat.c~
 delete mode 100644 textclient/client_passwords.c~
 delete mode 100644 textclient/commands.c~
 delete mode 100644 textclient/ipc_c_tcp.c~
 delete mode 100644 textclient/messages.c~
 delete mode 100644 textclient/rooms.c~
 delete mode 100644 textclient/routines.c~
 delete mode 100644 textclient/routines2.c~
 delete mode 100644 textclient/screen.c~
 delete mode 100644 textclient/tuiconfig.c~


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310083</link><pubDate>Thu, 08 Sep 2022 17:36:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-53-gdfef6481d</title><guid isPermaLink="false">2099310083@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  dfef6481dd3485ea39a4e916f35bd54e65f2bb98 (commit)
      from  4c26b5227bdfd5c6cb1b3d01fd37987c1241e389 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=dfef6481dd3485ea39a4e916f35bd54e65f2bb98
commit dfef6481dd3485ea39a4e916f35bd54e65f2bb98
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 8 17:36:02 2022 -0400

    minor change to mailbox pane

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 1 +
 webcit-ng/static/js/view_mail.js | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099310008</link><pubDate>Wed, 07 Sep 2022 17:33:49 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-52-g4c26b5227</title><guid isPermaLink="false">2099310008@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4c26b5227bdfd5c6cb1b3d01fd37987c1241e389 (commit)
      from  6f04950993309ee1a0a625d0988d497e632a70d3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4c26b5227bdfd5c6cb1b3d01fd37987c1241e389
commit 4c26b5227bdfd5c6cb1b3d01fd37987c1241e389
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 7 17:31:55 2022 -0400

    Got the mailbox view (mailbox pane + reading pane) working correctly.  It's a CSS Grid view, so we should be able to offer a side-by-side view later just by amending the styles.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 47 ++++++++++++++++++++++++++++++++--------
 webcit-ng/static/js/login.js     | 28 +++++++++++++-----------
 webcit-ng/static/js/view_mail.js |  8 ++++---
 webcit-ng/static/js/views.js     |  2 +-
 4 files changed, 59 insertions(+), 26 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099309829</link><pubDate>Tue, 06 Sep 2022 00:21:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-51-g6f0495099</title><guid isPermaLink="false">2099309829@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6f04950993309ee1a0a625d0988d497e632a70d3 (commit)
      from  e6398091193173d89f0ce9eafde9732b181193b2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6f04950993309ee1a0a625d0988d497e632a70d3
commit 6f04950993309ee1a0a625d0988d497e632a70d3
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 6 00:21:43 2022 -0400

    Continuing along with the effort to replace the remaining w3css styles with hand-crafted CSS of our own.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css   | 45 +++++++++++++++++++++++++++++++++++----
 webcit-ng/static/index.html       |  4 ++--
 webcit-ng/static/js/login.js      | 40 +++++++++++++++-------------------
 webcit-ng/static/js/view_forum.js | 39 ++++++++++++++++-----------------
 4 files changed, 78 insertions(+), 50 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099309805</link><pubDate>Mon, 05 Sep 2022 18:52:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-50-ge63980911</title><guid isPermaLink="false">2099309805@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e6398091193173d89f0ce9eafde9732b181193b2 (commit)
      from  8b537f8d15f353c4a1a97d18bf2aef0a045e6b29 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e6398091193173d89f0ce9eafde9732b181193b2
commit e6398091193173d89f0ce9eafde9732b181193b2
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 5 18:51:53 2022 -0400

    More CSS cleanup

-----------------------------------------------------------------------

Summary of changes:
 textclient/{citadel.c => citadel.c~}               | 132 +++++++++++----------
 textclient/{client_chat.c => client_chat.c~}       |  32 ++---
 .../{client_passwords.c => client_passwords.c~}    |  15 ++-
 textclient/{commands.c => commands.c~}             |  74 ++++++------
 textclient/{ipc_c_tcp.c => ipc_c_tcp.c~}           |  16 +--
 textclient/{messages.c => messages.c~}             |   0
 textclient/{rooms.c => rooms.c~}                   | 121 ++++++++++---------
 textclient/{routines.c => routines.c~}             |  69 +++++------
 textclient/{routines2.c => routines2.c~}           |  43 ++++---
 textclient/{screen.c => screen.c~}                 |   0
 textclient/{tuiconfig.c => tuiconfig.c~}           |  18 +--
 webcit-ng/static/css/webcit.css                    |  11 +-
 webcit-ng/{tls.c => tls2.c~}                       |  88 +++++++++-----
 13 files changed, 336 insertions(+), 283 deletions(-)
 copy textclient/{citadel.c => citadel.c~} (97%)
 copy textclient/{client_chat.c => client_chat.c~} (95%)
 copy textclient/{client_passwords.c => client_passwords.c~} (95%)
 copy textclient/{commands.c => commands.c~} (96%)
 copy textclient/{ipc_c_tcp.c => ipc_c_tcp.c~} (81%)
 copy textclient/{messages.c => messages.c~} (100%)
 copy textclient/{rooms.c => rooms.c~} (95%)
 copy textclient/{routines.c => routines.c~} (95%)
 copy textclient/{routines2.c => routines2.c~} (96%)
 copy textclient/{screen.c => screen.c~} (100%)
 copy textclient/{tuiconfig.c => tuiconfig.c~} (97%)
 copy webcit-ng/{tls.c => tls2.c~} (67%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099309572</link><pubDate>Fri, 02 Sep 2022 11:41:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-49-g8b537f8d1</title><guid isPermaLink="false">2099309572@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8b537f8d15f353c4a1a97d18bf2aef0a045e6b29 (commit)
      from  dcb3c5df1080121f8dc3f690b3ad5bb01c307e6e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8b537f8d15f353c4a1a97d18bf2aef0a045e6b29
commit 8b537f8d15f353c4a1a97d18bf2aef0a045e6b29
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 2 11:41:46 2022 -0400

    indent -kr -i8 -brf -bbb -fnc -l132 -nce

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c          | 132 +++++++++---------
 textclient/citadel_ipc.c      | 318 ++++++++++++++++++------------------------
 textclient/client_chat.c      |  32 +++--
 textclient/client_passwords.c |  15 +-
 textclient/commands.c         |  74 +++++-----
 textclient/ipc_c_tcp.c        |  16 +--
 textclient/messages.c         | 103 +++++++-------
 textclient/rooms.c            | 121 ++++++++--------
 textclient/routines.c         |  69 +++++----
 textclient/routines2.c        |  43 +++---
 textclient/tuiconfig.c        |  18 ++-
 11 files changed, 440 insertions(+), 501 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099309569</link><pubDate>Fri, 02 Sep 2022 11:29:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-48-gdcb3c5df1</title><guid isPermaLink="false">2099309569@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  dcb3c5df1080121f8dc3f690b3ad5bb01c307e6e (commit)
      from  68377f09f7208685abf389cf9e096d9f1fbce6f8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=dcb3c5df1080121f8dc3f690b3ad5bb01c307e6e
commit dcb3c5df1080121f8dc3f690b3ad5bb01c307e6e
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 2 11:29:03 2022 -0400

    More progress on moving to the box layout

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/caldav_reports.c      | 12 +++++++++---
 webcit-ng/static/css/webcit.css | 33 +++++++++++++++++++++------------
 webcit-ng/static/index.html     | 23 +++++++++++++++--------
 3 files changed, 45 insertions(+), 23 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099309409</link><pubDate>Wed, 31 Aug 2022 17:53:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-47-g68377f09f</title><guid isPermaLink="false">2099309409@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  68377f09f7208685abf389cf9e096d9f1fbce6f8 (commit)
      from  baa014a3b4ed8911ce442bf5a653233df6d7af22 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=68377f09f7208685abf389cf9e096d9f1fbce6f8
commit 68377f09f7208685abf389cf9e096d9f1fbce6f8
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 31 17:52:45 2022 -0400

    Use spaces in api.txt

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.lock            |  0
 citadel/config.mk               |  4 +++
 citadel/obsolete.txt            | 43 +++++++++++++++++++++++++++++
 ctdlsh/{main.c => main.c~}      | 34 +++++++++++------------
 textclient/citadel_ipc.c        | 36 ++++++++----------------
 textclient/config.mk            |  5 ++++
 webcit-ng/api.txt               | 61 ++++++++++++++++++++---------------------
 webcit-ng/static/css/webcit.css | 16 +++++++----
 webcit-ng/static/index.html     | 22 +++++++--------
 9 files changed, 131 insertions(+), 90 deletions(-)
 create mode 100644 citadel/citadel.lock
 create mode 100644 citadel/config.mk
 create mode 100644 citadel/obsolete.txt
 copy ctdlsh/{main.c => main.c~} (75%)
 create mode 100644 textclient/config.mk


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099309337</link><pubDate>Tue, 30 Aug 2022 23:20:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-46-gbaa014a3b</title><guid isPermaLink="false">2099309337@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  baa014a3b4ed8911ce442bf5a653233df6d7af22 (commit)
      from  9cf212c92ed3d36bfed6b2eff0198fd94e3ba454 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=baa014a3b4ed8911ce442bf5a653233df6d7af22
commit baa014a3b4ed8911ce442bf5a653233df6d7af22
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 30 23:20:03 2022 -0400

    test commit

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 1 -
 1 file changed, 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099309332</link><pubDate>Tue, 30 Aug 2022 23:09:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-45-g9cf212c92</title><guid isPermaLink="false">2099309332@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9cf212c92ed3d36bfed6b2eff0198fd94e3ba454 (commit)
      from  ed2e9a747c4a31a67339b5a75487efbdd4e82221 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9cf212c92ed3d36bfed6b2eff0198fd94e3ba454
commit 9cf212c92ed3d36bfed6b2eff0198fd94e3ba454
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 30 23:09:31 2022 -0400

    Removed W3CSS and moved to CSS grid layout.  There's a bunch of stuff left to tweak but this is going to be much easier.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/w3.css         | 235 ------------------------------------
 webcit-ng/static/css/webcit.css     |  76 +++++++++++-
 webcit-ng/static/index.html         |  89 +++++---------
 webcit-ng/static/js/roomlist.js     |   1 -
 webcit-ng/static/js/user_profile.js |   1 -
 webcit-ng/static/js/view_mail.js    |  10 +-
 webcit-ng/static/js/views.js        |  14 +--
 7 files changed, 107 insertions(+), 319 deletions(-)
 delete mode 100644 webcit-ng/static/css/w3.css


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099309088</link><pubDate>Sat, 27 Aug 2022 13:10:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-44-ged2e9a747</title><guid isPermaLink="false">2099309088@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ed2e9a747c4a31a67339b5a75487efbdd4e82221 (commit)
      from  f7a577c3cdaeaeb831ac1a8b49564dc55cc919af (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ed2e9a747c4a31a67339b5a75487efbdd4e82221
commit ed2e9a747c4a31a67339b5a75487efbdd4e82221
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Aug 27 13:10:29 2022 -0400

    Unwrapped some old 80-column code

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/smtp/serv_smtp.c |  61 +++++-------
 ctdlsh/main.c                           |  34 +++----
 textclient/tuiconfig.c                  | 160 +++++++++++++-------------------
 3 files changed, 107 insertions(+), 148 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099307597</link><pubDate>Tue, 09 Aug 2022 09:55:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-43-gf7a577c3c</title><guid isPermaLink="false">2099307597@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f7a577c3cdaeaeb831ac1a8b49564dc55cc919af (commit)
      from  a43fe9b2c8e3795898bf41e4c2ed4d3d8aaf8874 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f7a577c3cdaeaeb831ac1a8b49564dc55cc919af
commit f7a577c3cdaeaeb831ac1a8b49564dc55cc919af
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 9 09:55:13 2022 -0400

    Truncate username display to 25 characters so it doesn't overrun the column

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c  | 2 +-
 textclient/commands.c | 8 +++++---
 2 files changed, 6 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099307596</link><pubDate>Tue, 09 Aug 2022 09:47:36 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-42-ga43fe9b2c</title><guid isPermaLink="false">2099307596@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a43fe9b2c8e3795898bf41e4c2ed4d3d8aaf8874 (commit)
      from  61b1230075da3008a4277de693a6c155057ccc7a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a43fe9b2c8e3795898bf41e4c2ed4d3d8aaf8874
commit a43fe9b2c8e3795898bf41e4c2ed4d3d8aaf8874
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 9 09:47:05 2022 -0400

    Passing some idle time by applying rules from the style guide to commands.c

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c | 370 ++++++++++++++++++++++----------------------------
 textclient/screen.c   |   8 +-
 2 files changed, 165 insertions(+), 213 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099306951</link><pubDate>Sun, 31 Jul 2022 22:05:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-41-g61b123007</title><guid isPermaLink="false">2099306951@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  61b1230075da3008a4277de693a6c155057ccc7a (commit)
      from  3635230539b18deb49b46b39f30aad91149c0ff3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=61b1230075da3008a4277de693a6c155057ccc7a
commit 61b1230075da3008a4277de693a6c155057ccc7a
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 31 22:05:18 2022 -0400

    In the online users list, display partially logged in (username sent but no successful password yet) users as "not logged in" instead of displaying the user name.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/rwho/serv_rwho.c | 78 +++++++++++++--------------------
 webcit-ng/static/css/webcit.css         |  8 ++++
 webcit-ng/static/js/view_mail.js        | 19 ++++++--
 3 files changed, 54 insertions(+), 51 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099306350</link><pubDate>Fri, 22 Jul 2022 14:43:21 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-40-g363523053</title><guid isPermaLink="false">2099306350@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3635230539b18deb49b46b39f30aad91149c0ff3 (commit)
      from  8c98f2aa53beece077cf5aaff937e39799ab0c96 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3635230539b18deb49b46b39f30aad91149c0ff3
commit 3635230539b18deb49b46b39f30aad91149c0ff3
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 22 14:42:49 2022 -0400

    Display "brief" datestamps in mailbox: date if not today, time if today.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/roomlist.js   |  2 +-
 webcit-ng/static/js/util.js       | 19 +++++++++++++++----
 webcit-ng/static/js/view_forum.js |  4 ++--
 webcit-ng/static/js/view_mail.js  | 23 ++++++++++-------------
 webcit-ng/static/js/views.js      |  2 +-
 5 files changed, 29 insertions(+), 21 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099306239</link><pubDate>Wed, 20 Jul 2022 17:01:41 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-39-g8c98f2aa5</title><guid isPermaLink="false">2099306239@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8c98f2aa53beece077cf5aaff937e39799ab0c96 (commit)
       via  71c3e52b0fa6a0ff08cabcf05efc3b74ad969518 (commit)
      from  83f781962e543cb6b468221b5c504150bdd6bcc1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8c98f2aa53beece077cf5aaff937e39799ab0c96
commit 8c98f2aa53beece077cf5aaff937e39799ab0c96
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 20 17:01:06 2022 -0400

    BUILD_ID is now the output of "git describe" , falling back to the two digit year and julian date if that fails.

http://code.citadel.org/?p=citadel.git&a=commit&h=71c3e52b0fa6a0ff08cabcf05efc3b74ad969518
commit 71c3e52b0fa6a0ff08cabcf05efc3b74ad969518
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 20 16:57:01 2022 -0400

    Remove w3_ from index.html

-----------------------------------------------------------------------

Summary of changes:
 citadel/configure           |  2 +-
 webcit-ng/static/index.html | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099306236</link><pubDate>Wed, 20 Jul 2022 16:49:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-37-g83f781962</title><guid isPermaLink="false">2099306236@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  83f781962e543cb6b468221b5c504150bdd6bcc1 (commit)
      from  d86905a37968e1016da49cf41714025487ca1b7b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=83f781962e543cb6b468221b5c504150bdd6bcc1
commit 83f781962e543cb6b468221b5c504150bdd6bcc1
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 20 16:48:36 2022 -0400

    Increase the z-index of the fly-in menu on small screens so it isn't covered by the mailbox

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099306104</link><pubDate>Mon, 18 Jul 2022 15:34:44 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-36-gd86905a37</title><guid isPermaLink="false">2099306104@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d86905a37968e1016da49cf41714025487ca1b7b (commit)
      from  01dd76411a088350834c1c1a869fb64d1242dc74 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d86905a37968e1016da49cf41714025487ca1b7b
commit d86905a37968e1016da49cf41714025487ca1b7b
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 18 15:34:41 2022 -0400

    Added the dispatch function for entering a new mail message

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_mail.js | 12 ++++++++++++
 webcit-ng/static/js/views.js     |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099306020</link><pubDate>Sun, 17 Jul 2022 18:17:31 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-35-g01dd76411</title><guid isPermaLink="false">2099306020@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  01dd76411a088350834c1c1a869fb64d1242dc74 (commit)
      from  8c42352092296d1b01ad9204d7b3447e83de6a9a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=01dd76411a088350834c1c1a869fb64d1242dc74
commit 01dd76411a088350834c1c1a869fb64d1242dc74
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 17 18:17:27 2022 -0400

    Removed the excess vertical whitespace between headers and message body

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 2 +-
 webcit-ng/static/js/view_mail.js  | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305970</link><pubDate>Sat, 16 Jul 2022 13:08:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-34-g8c4235209</title><guid isPermaLink="false">2099305970@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8c42352092296d1b01ad9204d7b3447e83de6a9a (commit)
      from  9db6f437cbbced6d7e241cb888fc22304270ab54 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8c42352092296d1b01ad9204d7b3447e83de6a9a
commit 8c42352092296d1b01ad9204d7b3447e83de6a9a
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 16 13:08:16 2022 -0400

    Mailbox refresh is working completely now.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.txt             |  7 ++++---
 webcit-ng/room_functions.c       |  1 -
 webcit-ng/static/js/view_mail.js | 25 +++++++++++++++++--------
 3 files changed, 21 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305912</link><pubDate>Fri, 15 Jul 2022 13:56:20 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-33-g9db6f437c</title><guid isPermaLink="false">2099305912@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9db6f437cbbced6d7e241cb888fc22304270ab54 (commit)
      from  fbae9bd4ff1f263f2db063104a727c5297102a65 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9db6f437cbbced6d7e241cb888fc22304270ab54
commit 9db6f437cbbced6d7e241cb888fc22304270ab54
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 15 13:56:13 2022 -0400

    Add a web API command for the server STAT command.  This will allow us to implement a new-messages check that does not require loading the entire room again.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/api.txt                |  1 +
 webcit-ng/room_functions.c       | 40 ++++++++++++++++++++++++++++++++++++++--
 webcit-ng/static/js/defs.js      |  1 +
 webcit-ng/static/js/main.js      |  2 ++
 webcit-ng/static/js/view_mail.js |  9 +++++++--
 webcit-ng/webcit.h               |  2 ++
 6 files changed, 51 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305845</link><pubDate>Thu, 14 Jul 2022 11:39:31 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-32-gfbae9bd4f</title><guid isPermaLink="false">2099305845@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fbae9bd4ff1f263f2db063104a727c5297102a65 (commit)
      from  a2d2dfc53e1062e8d04c1fd9434b8b6bace03648 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fbae9bd4ff1f263f2db063104a727c5297102a65
commit fbae9bd4ff1f263f2db063104a727c5297102a65
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 14 11:39:25 2022 -0400

    All right, this is more or less it.  I had to resort to creating a function stuffbar() that has to be called whenever we render a new screen in the main div, to tell it whether or not the stuffbar requires displaying in this view.  Since we will be using the stuffbar for multiple things this seems ok.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html         |  4 ++--
 webcit-ng/static/js/roomlist.js     |  1 +
 webcit-ng/static/js/user_profile.js |  1 +
 webcit-ng/static/js/views.js        | 11 +++++++++++
 4 files changed, 15 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305794</link><pubDate>Wed, 13 Jul 2022 23:11:20 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-31-ga2d2dfc53</title><guid isPermaLink="false">2099305794@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a2d2dfc53e1062e8d04c1fd9434b8b6bace03648 (commit)
      from  b131693b1874c5942991738c76721c4ad6ef9836 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a2d2dfc53e1062e8d04c1fd9434b8b6bace03648
commit a2d2dfc53e1062e8d04c1fd9434b8b6bace03648
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 13 23:11:17 2022 -0400

    Finally got the divs to display correctly by making the mailbox a part of the top banner.  Committing this as-is even though I still hjave to make the mailbox load and unload at the correct times.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 28 +++-------------------------
 webcit-ng/static/index.html      | 10 ++++++++--
 webcit-ng/static/js/view_mail.js | 12 ++++++------
 3 files changed, 17 insertions(+), 33 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305723</link><pubDate>Tue, 12 Jul 2022 14:38:38 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-30-gb131693b1</title><guid isPermaLink="false">2099305723@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b131693b1874c5942991738c76721c4ad6ef9836 (commit)
      from  b39cf1f773ef3c14c06f46dc45e676c126808918 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b131693b1874c5942991738c76721c4ad6ef9836
commit b131693b1874c5942991738c76721c4ad6ef9836
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 12 14:38:34 2022 -0400

    Finally got the pane scrolling working the right way.  Wowzers.  Saving this as a commit before I mess it up again.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305714</link><pubDate>Tue, 12 Jul 2022 11:37:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-29-gb39cf1f77</title><guid isPermaLink="false">2099305714@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b39cf1f773ef3c14c06f46dc45e676c126808918 (commit)
      from  c69cd2b93ca36995ca7ddd3976caa101fb9f717b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b39cf1f773ef3c14c06f46dc45e676c126808918
commit b39cf1f773ef3c14c06f46dc45e676c126808918
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 12 11:37:10 2022 -0400

    Ok, this is close ... saving my work before I try something destructive

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css  | 32 +++++++++++++++++++++-------
 webcit-ng/static/index.html      | 46 +++++++++++++++++++++++-----------------
 webcit-ng/static/js/view_mail.js | 13 +++++++++---
 3 files changed, 60 insertions(+), 31 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305606</link><pubDate>Sun, 10 Jul 2022 19:23:03 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-28-gc69cd2b93</title><guid isPermaLink="false">2099305606@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c69cd2b93ca36995ca7ddd3976caa101fb9f717b (commit)
      from  954e5749b5e0102f8598fcc19fc10267f31a6cda (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c69cd2b93ca36995ca7ddd3976caa101fb9f717b
commit c69cd2b93ca36995ca7ddd3976caa101fb9f717b
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 10 19:23:01 2022 -0400

    Convert RFC2047-encoded strings to UTF8 before display

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/internet_addressing.c | 3 ++-
 webcit-ng/forum_view.c               | 1 +
 webcit-ng/room_functions.c           | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305605</link><pubDate>Sun, 10 Jul 2022 19:10:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-27-g954e5749b</title><guid isPermaLink="false">2099305605@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  954e5749b5e0102f8598fcc19fc10267f31a6cda (commit)
      from  dfdf0c6bc52d833f7fb0daaf9e33e4dab43ab8da (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=954e5749b5e0102f8598fcc19fc10267f31a6cda
commit 954e5749b5e0102f8598fcc19fc10267f31a6cda
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 10 19:09:54 2022 -0400

    utf8ify_rfc822_string() is in libcitadel now

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/internet_addressing.c        | 208 ------------------
 citadel/server/modules/expire/serv_expire.c |  10 +-
 libcitadel/Makefile.in                      |   3 +
 libcitadel/lib/array.c                      |  15 +-
 libcitadel/lib/base64.c                     |  20 +-
 libcitadel/lib/decode.c                     | 226 ++++++++++++++++++++
 libcitadel/lib/hash.c                       |  15 +-
 libcitadel/lib/html_to_ascii.c              |  15 +-
 libcitadel/lib/json.c                       |  15 +-
 libcitadel/lib/libcitadel.c                 |  15 +-
 libcitadel/lib/libcitadel.h                 |  12 +-
 libcitadel/lib/mime_parser.c                |  15 +-
 libcitadel/lib/stringbuf.c                  |  15 +-
 libcitadel/lib/tools.c                      |  16 +-
 libcitadel/lib/urlhandling.c                |   2 +
 libcitadel/lib/vcard.c                      |  15 +-
 libcitadel/lib/vnote.c                      |  15 +-
 webcit-ng/static/css/webcit.css             |  17 ++
 webcit-ng/static/index.html                 |   2 +-
 webcit-ng/static/js/view_mail.js            |   7 +-
 webcit/Makefile.in                          |   4 +-
 webcit/decode.c                             | 319 ----------------------------
 webcit/webcit.h                             |   2 +-
 23 files changed, 289 insertions(+), 694 deletions(-)
 create mode 100644 libcitadel/lib/decode.c
 delete mode 100644 webcit/decode.c


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305367</link><pubDate>Wed, 06 Jul 2022 11:52:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-26-gdfdf0c6bc</title><guid isPermaLink="false">2099305367@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  dfdf0c6bc52d833f7fb0daaf9e33e4dab43ab8da (commit)
      from  02e020c1650cd41f79d7276c02ebb20f64965e3f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=dfdf0c6bc52d833f7fb0daaf9e33e4dab43ab8da
commit dfdf0c6bc52d833f7fb0daaf9e33e4dab43ab8da
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 6 11:51:18 2022 -0400

    Define the citserver BUILD_ID as a five digit number consisting of the two digit year and a zero-padded three digit julian date.  No, this is not Year 2100 compliant.  I will be delighted if Citadel is still in use half a century after I'm dead and this will be a small problem for someone to solve.

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile                     |  5 -----
 citadel/configure                    |  7 +------
 citadel/server/citadel_dirs.c        |  1 -
 citadel/server/citserver.c           |  1 -
 citadel/server/clientsocket.c        |  1 -
 citadel/server/config.c              |  1 -
 citadel/server/context.c             |  1 -
 citadel/server/control.c             |  1 -
 citadel/server/database.c            |  1 -
 citadel/server/default_timezone.c    |  1 -
 citadel/server/domain.c              |  1 -
 citadel/server/euidindex.c           |  1 -
 citadel/server/genstamp.c            | 13 ++++---------
 citadel/server/housekeeping.c        |  1 -
 citadel/server/internet_addressing.c |  1 -
 citadel/server/journaling.c          |  5 ++---
 citadel/server/ldap.c                |  1 -
 citadel/server/locate_host.c         | 19 ++++++-------------
 citadel/server/modules_init.c        |  1 -
 citadel/server/msgbase.c             |  6 ------
 citadel/server/netconfig.c           |  5 -----
 citadel/server/room_ops.c            |  5 -----
 citadel/server/serv_extensions.c     | 22 ++++++++--------------
 citadel/server/server_main.c         |  5 -----
 citadel/server/support.c             |  3 +++
 citadel/server/sysdep.c              |  5 -----
 citadel/server/threads.c             |  5 -----
 citadel/server/user_ops.c            |  5 -----
 28 files changed, 24 insertions(+), 100 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305268</link><pubDate>Mon, 04 Jul 2022 16:05:14 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-25-g02e020c16</title><guid isPermaLink="false">2099305268@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  02e020c1650cd41f79d7276c02ebb20f64965e3f (commit)
      from  b05aedbb68e4bee10271b73348e8639a361e1d5f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=02e020c1650cd41f79d7276c02ebb20f64965e3f
commit 02e020c1650cd41f79d7276c02ebb20f64965e3f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 4 16:05:10 2022 -0400

    Began CSS stylizing the mailbox view

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css   | 22 ++++++++++++++++------
 webcit-ng/static/js/view_forum.js |  4 ++--
 webcit-ng/static/js/view_mail.js  | 10 ++++++----
 3 files changed, 24 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305254</link><pubDate>Mon, 04 Jul 2022 11:23:31 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-24-gb05aedbb6</title><guid isPermaLink="false">2099305254@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b05aedbb68e4bee10271b73348e8639a361e1d5f (commit)
      from  ace15d2d5e6ea4633763d99cc902f6a827e6c8ab (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b05aedbb68e4bee10271b73348e8639a361e1d5f
commit b05aedbb68e4bee10271b73348e8639a361e1d5f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 4 11:23:20 2022 -0400

    Don't re-display a selected message when refreshing the mailbox:

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/http.c                 |  6 +++---
 webcit-ng/static/js/view_mail.js | 12 +++++++-----
 webcit-ng/webserver.c            |  1 -
 3 files changed, 10 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305251</link><pubDate>Mon, 04 Jul 2022 11:17:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-23-gace15d2d5</title><guid isPermaLink="false">2099305251@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ace15d2d5e6ea4633763d99cc902f6a827e6c8ab (commit)
       via  085dd916fef639f079d5f680aa20d007366a10f3 (commit)
      from  fff66f5d801207473e859ad83337c703fa792384 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ace15d2d5e6ea4633763d99cc902f6a827e6c8ab
commit ace15d2d5e6ea4633763d99cc902f6a827e6c8ab
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 4 11:17:52 2022 -0400

    Clear any existing mailbox refresh when setting up a new one

http://code.citadel.org/?p=citadel.git&a=commit&h=085dd916fef639f079d5f680aa20d007366a10f3
commit 085dd916fef639f079d5f680aa20d007366a10f3
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 4 11:09:19 2022 -0400

    Started separating mail and forum message renderers

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css   | 10 ++++-
 webcit-ng/static/js/view_forum.js |  6 +--
 webcit-ng/static/js/view_mail.js  | 92 +++++++++++++++++++++++++++++++++++++--
 3 files changed, 100 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305225</link><pubDate>Mon, 04 Jul 2022 00:24:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-21-gfff66f5d8</title><guid isPermaLink="false">2099305225@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fff66f5d801207473e859ad83337c703fa792384 (commit)
      from  ba18533eacf47259098d4b43e5339fc163c9619c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fff66f5d801207473e859ad83337c703fa792384
commit fff66f5d801207473e859ad83337c703fa792384
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 4 00:24:48 2022 -0400

    Added the logic to auto-refresh mailbox display

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js |  2 ++
 webcit-ng/static/js/view_mail.js  | 61 ++++++++++++++++++++++++++++++++-------
 2 files changed, 53 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305211</link><pubDate>Sun, 03 Jul 2022 17:05:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-20-gba18533ea</title><guid isPermaLink="false">2099305211@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ba18533eacf47259098d4b43e5339fc163c9619c (commit)
       via  d4e8b9166607cc418e714c86716b55eb1f0ec116 (commit)
      from  139f0df2fc1067e0dcf0aa14a0cf079313ef7d40 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ba18533eacf47259098d4b43e5339fc163c9619c
commit ba18533eacf47259098d4b43e5339fc163c9619c
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 3 17:04:46 2022 -0400

    Rendering a single row in a mailbox now has its own function

http://code.citadel.org/?p=citadel.git&a=commit&h=d4e8b9166607cc418e714c86716b55eb1f0ec116
commit d4e8b9166607cc418e714c86716b55eb1f0ec116
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 3 16:55:42 2022 -0400

    Use the library functions to stringify a date instead of doing it the hard way.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/defs.js      |  2 --
 webcit-ng/static/js/util.js      | 37 +++++++++----------------------------
 webcit-ng/static/js/view_mail.js | 32 ++++++++++++++++++++++++--------
 3 files changed, 33 insertions(+), 38 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305130</link><pubDate>Fri, 01 Jul 2022 22:17:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-18-g139f0df2f</title><guid isPermaLink="false">2099305130@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  139f0df2fc1067e0dcf0aa14a0cf079313ef7d40 (commit)
      from  1efb9fb0f5b86fbc4caba80735540fa78c1bff41 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=139f0df2fc1067e0dcf0aa14a0cf079313ef7d40
commit 139f0df2fc1067e0dcf0aa14a0cf079313ef7d40
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 1 22:17:06 2022 -0400

    Beginnings of mailbox view

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/room_functions.c       |  3 +--
 webcit-ng/static/js/view_mail.js | 35 ++++++++++++++++++++++++++++++++++-
 2 files changed, 35 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305088</link><pubDate>Fri, 01 Jul 2022 12:30:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-17-g1efb9fb0f</title><guid isPermaLink="false">2099305088@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1efb9fb0f5b86fbc4caba80735540fa78c1bff41 (commit)
      from  30334bb44aec32ea020b31837f8ad639d56f273b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1efb9fb0f5b86fbc4caba80735540fa78c1bff41
commit 1efb9fb0f5b86fbc4caba80735540fa78c1bff41
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 1 12:30:10 2022 -0400

    I can't see the screen with my sunglasses on

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/auth.c        | 1 -
 citadel/utils/chkpw.c       | 1 -
 citadel/utils/chkpwd.c      | 1 -
 citadel/utils/citmail.c     | 1 -
 citadel/utils/ctdlmigrate.c | 4 ++--
 citadel/utils/sendcommand.c | 1 -
 citadel/utils/setup.c       | 1 -
 7 files changed, 2 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305087</link><pubDate>Fri, 01 Jul 2022 12:21:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-16-g30334bb44</title><guid isPermaLink="false">2099305087@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  30334bb44aec32ea020b31837f8ad639d56f273b (commit)
      from  38380c5f48a58e7980510a7f6f5ddf6b2bd29f3f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=30334bb44aec32ea020b31837f8ad639d56f273b
commit 30334bb44aec32ea020b31837f8ad639d56f273b
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 1 12:20:30 2022 -0400

    New API "/ctdl/r/ROOMNAME/mailbox" downloads a mailbox summary of the current room (all fields).

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/api.txt          |  1 +
 webcit-ng/room_functions.c | 46 +++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 46 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305083</link><pubDate>Fri, 01 Jul 2022 11:35:18 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-15-g38380c5f4</title><guid isPermaLink="false">2099305083@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  38380c5f48a58e7980510a7f6f5ddf6b2bd29f3f (commit)
      from  a27e89c8888c063b1210d2762e46d177e9a77430 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=38380c5f48a58e7980510a7f6f5ddf6b2bd29f3f
commit 38380c5f48a58e7980510a7f6f5ddf6b2bd29f3f
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 1 11:34:55 2022 -0400

    Set things up for mailbox view implementation

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html                           | 19 ++++++++++---------
 webcit-ng/static/js/{user_profile.js => view_mail.js} |  6 ++++--
 webcit-ng/static/js/views.js                          |  3 ++-
 3 files changed, 16 insertions(+), 12 deletions(-)
 copy webcit-ng/static/js/{user_profile.js => view_mail.js} (54%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305024</link><pubDate>Thu, 30 Jun 2022 14:44:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-14-ga27e89c88</title><guid isPermaLink="false">2099305024@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a27e89c8888c063b1210d2762e46d177e9a77430 (commit)
      from  e30c79bdaf10ef50b2d0151b35ffb61677d540b6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a27e89c8888c063b1210d2762e46d177e9a77430
commit a27e89c8888c063b1210d2762e46d177e9a77430
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 30 14:44:45 2022 -0400

    Set up the view dispatcher for mailbox rooms

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html  |  8 ++++----
 webcit-ng/static/js/views.js | 10 +++++++++-
 2 files changed, 13 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305012</link><pubDate>Thu, 30 Jun 2022 14:00:32 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. v957-13-ge30c79bda</title><guid isPermaLink="false">2099305012@Uncensored</guid><description><![CDATA[Sometimes a bit of code just "feels good" and you know you got it right. 
The "Delete" button in the forum view, for example, which just got committed.
 We only display the button if we know we have permission to delete messages
in the current room, which is a permission indicated when we fetch the room.
 Confirmation of the delete is just a regular javascript confirm() box.  And
the actual delete operation is performed using an HTTP "DELETE" method, not
by a special Citadel server command, because we took the time to make everything
DAV and REST.  The DELETE operation is performed asynchronously, and whenever
it happens to return, the value is checked and the div containing the message
is blanked out. 
  
 This really felt good to implement. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099305011</link><pubDate>Thu, 30 Jun 2022 13:56:35 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-13-ge30c79bda</title><guid isPermaLink="false">2099305011@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e30c79bdaf10ef50b2d0151b35ffb61677d540b6 (commit)
      from  41947f89ada89819f00e1db468c38f33aff84cba (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e30c79bdaf10ef50b2d0151b35ffb61677d540b6
commit e30c79bdaf10ef50b2d0151b35ffb61677d540b6
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 30 13:56:30 2022 -0400

    Added the javascript logic to delete a message.  This pretty much completes the forum module.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/forum_view.c            |  1 +
 webcit-ng/static/js/view_forum.js | 21 ++++++++++++++++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304955</link><pubDate>Wed, 29 Jun 2022 17:17:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-12-g41947f89a</title><guid isPermaLink="false">2099304955@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  41947f89ada89819f00e1db468c38f33aff84cba (commit)
      from  00e2e3dd17d17c5b6133dc28551b56d462d663b2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=41947f89ada89819f00e1db468c38f33aff84cba
commit 41947f89ada89819f00e1db468c38f33aff84cba
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 29 17:17:04 2022 -0400

    Pass through the data to tell the client if it has room aide privileges and/or permission to delete messages in the current room.  Aide or Room Aide privileges are now indicated via a user-with-cog icon in the room name banner.  The delete button in the forum view now only appears if the client believes it is allowed.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/room_functions.c        | 16 ++++++++++++++--
 webcit-ng/static/js/defs.js       |  2 ++
 webcit-ng/static/js/main.js       |  8 +++++---
 webcit-ng/static/js/view_forum.js | 16 ++++++++++------
 webcit-ng/webcit.h                |  1 +
 5 files changed, 32 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304946</link><pubDate>Wed, 29 Jun 2022 16:21:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-11-g00e2e3dd1</title><guid isPermaLink="false">2099304946@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  00e2e3dd17d17c5b6133dc28551b56d462d663b2 (commit)
      from  d008fecc22bfc730ee5d3da021692d410b54e79b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=00e2e3dd17d17c5b6133dc28551b56d462d663b2
commit 00e2e3dd17d17c5b6133dc28551b56d462d663b2
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 29 16:21:04 2022 -0400

    new license declaration text

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/admin_functions.c         | 11 ++---------
 webcit-ng/caldav_reports.c          | 11 ++---------
 webcit-ng/ctdl_commands.c           | 11 ++---------
 webcit-ng/ctdlclient.c              | 11 ++---------
 webcit-ng/ctdlfunctions.c           | 11 ++---------
 webcit-ng/floor_functions.c         | 11 ++---------
 webcit-ng/forum_view.c              | 11 ++---------
 webcit-ng/html2html.c               | 11 ++---------
 webcit-ng/http.c                    | 11 ++---------
 webcit-ng/main.c                    | 11 ++---------
 webcit-ng/messages.c                | 11 ++---------
 webcit-ng/request.c                 | 11 ++---------
 webcit-ng/room_functions.c          | 11 ++---------
 webcit-ng/static.c                  | 11 ++---------
 webcit-ng/static/js/defs.js         | 12 ++----------
 webcit-ng/static/js/login.js        | 11 ++---------
 webcit-ng/static/js/main.js         | 11 ++---------
 webcit-ng/static/js/roomlist.js     | 11 ++---------
 webcit-ng/static/js/user_profile.js | 11 ++---------
 webcit-ng/static/js/util.js         | 11 ++---------
 webcit-ng/static/js/view_forum.js   | 11 ++---------
 webcit-ng/static/js/views.js        | 11 ++---------
 webcit-ng/tcp_sockets.c             | 11 ++---------
 webcit-ng/text2html.c               | 11 ++---------
 webcit-ng/tls.c                     | 11 ++---------
 webcit-ng/user_functions.c          | 11 ++---------
 webcit-ng/util.c                    | 11 ++---------
 webcit-ng/webserver.c               | 11 ++---------
 28 files changed, 56 insertions(+), 253 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304943</link><pubDate>Wed, 29 Jun 2022 16:13:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-10-gd008fecc2</title><guid isPermaLink="false">2099304943@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d008fecc22bfc730ee5d3da021692d410b54e79b (commit)
      from  1d30a78b6c73a650c21c3ed9564158c8db6e1909 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d008fecc22bfc730ee5d3da021692d410b54e79b
commit d008fecc22bfc730ee5d3da021692d410b54e79b
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 29 16:13:30 2022 -0400

    webcit-ng: don't generate .d files , they are not needed

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/Makefile | 1 -
 1 file changed, 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304784</link><pubDate>Mon, 27 Jun 2022 21:53:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-9-g1d30a78b6</title><guid isPermaLink="false">2099304784@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1d30a78b6c73a650c21c3ed9564158c8db6e1909 (commit)
      from  34f28b43bb618473630e3fb786d3ec5fec3efc52 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1d30a78b6c73a650c21c3ed9564158c8db6e1909
commit 1d30a78b6c73a650c21c3ed9564158c8db6e1909
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 27 21:52:58 2022 -0400

    Removed more old artifacts from autoconf's reign of terror.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/sysdep.h | 204 ++----------------------------------------------
 1 file changed, 6 insertions(+), 198 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304732</link><pubDate>Mon, 27 Jun 2022 12:45:58 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. v957-8-g34f28b43b</title><guid isPermaLink="false">2099304732@Uncensored</guid><description><![CDATA[<html><body>

<p>Those who have followed the development of the server for many years will notice an intent here.  Look at how little happens between receiving a signal and exiting the server process.  In the past, we made an effort to clean everything up.  We cleanly logged out every session, each module meticulously closed and released all of its memory and server resources, we really made an effort to come down in an organized way.</p>
<p>Over the years what we learned was that in the 30 to 120 seconds this would require, on many systems some other agent (either a system supervisor process or an end user) would get impatient and SIGKILL the server process.  While this worked most of the time, it sometimes led to database corruption.  For this reason I made a decision that when Citadel Server is instructed to shut down for any reason, it needs to do so as quickly as possible.  All connections are terminated, the database is flushed and cleanly closed, and we get the hell out of Dodge.  The operating system will take care of deallocating memory, and it can do this better than we can anyway.  (Yes, this means we can't use Valgrind to track memory leaks at exit time.  This is a small price to pay for such a big win.)</p>
<p><code>citserver[3417116]: sysdep: caught signal 2<br />citserver[3417116]: extensions: [XMPP] closing service<br />citserver[3417116]: extensions: [LMTP-UnF] closed unix domain socket lmtp-unfiltered.socket<br />citserver[3417116]: extensions: [LMTP] closed unix domain socket lmtp.socket<br />citserver[3417116]: extensions: [SMTP-MSA] closing service<br />citserver[3417116]: extensions: [SMTPs-MTA] closing service<br />citserver[3417116]: extensions: [SMTP-MTA] closing service<br />citserver[3417116]: extensions: [POP3S] closing service<br />citserver[3417116]: extensions: [POP3] closing service<br />citserver[3417116]: extensions: [NNTPS] closing service<br />citserver[3417116]: extensions: [NNTP] closing service<br />citserver[3417116]: extensions: [IMAPS] closing service<br />citserver[3417116]: extensions: [IMAP] closing service<br />citserver[3417116]: extensions: [citadel-TCP] closing service<br />citserver[3417116]: extensions: [citadel-UDS] closed unix domain socket citadel-admin.socket<br />citse
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304728</link><pubDate>Mon, 27 Jun 2022 12:35:49 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-8-g34f28b43b</title><guid isPermaLink="false">2099304728@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  34f28b43bb618473630e3fb786d3ec5fec3efc52 (commit)
      from  e486560ce750f9db6ccd542cdb9c2845214b80e1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=34f28b43bb618473630e3fb786d3ec5fec3efc52
commit 34f28b43bb618473630e3fb786d3ec5fec3efc52
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 27 12:34:48 2022 -0400

    Removed close_masters() because it was completely redundant.
    Master sockets are already closed during extension shutdown routines.
    And yes we still use the word "master" because we are not politicially correct twits.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/serv_extensions.c | 65 +++++++++++++++-------------------------
 citadel/server/sysdep.c          | 53 --------------------------------
 2 files changed, 24 insertions(+), 94 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304723</link><pubDate>Mon, 27 Jun 2022 12:16:31 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-7-ge486560ce</title><guid isPermaLink="false">2099304723@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e486560ce750f9db6ccd542cdb9c2845214b80e1 (commit)
      from  92eb4deff87a596773dbdbe530be7aaafee01514 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e486560ce750f9db6ccd542cdb9c2845214b80e1
commit e486560ce750f9db6ccd542cdb9c2845214b80e1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 27 12:16:27 2022 -0400

    Nothing to see here, move along

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/typesize.h | 55 +++++++++++++++++++----------------------------
 1 file changed, 22 insertions(+), 33 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304641</link><pubDate>Sat, 25 Jun 2022 13:25:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-6-g92eb4deff</title><guid isPermaLink="false">2099304641@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  92eb4deff87a596773dbdbe530be7aaafee01514 (commit)
      from  fb15a9633fa9bf037af868273986accac6715963 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=92eb4deff87a596773dbdbe530be7aaafee01514
commit 92eb4deff87a596773dbdbe530be7aaafee01514
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 25 13:25:32 2022 -0400

    Removed the comments about not needing to block on select() , after remembering that even though the thundering herd problem no longer exists, we still have to deal with timer events and incoming data on client sockets.  select() is still appropriate here.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/sysdep.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304640</link><pubDate>Sat, 25 Jun 2022 13:20:56 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-5-gfb15a9633</title><guid isPermaLink="false">2099304640@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fb15a9633fa9bf037af868273986accac6715963 (commit)
      from  e55aafc51f35455a671ba62e49df13cfea2c7e98 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fb15a9633fa9bf037af868273986accac6715963
commit fb15a9633fa9bf037af868273986accac6715963
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 25 13:20:38 2022 -0400

    Mostly just changes to make the code more readable.  Everyone should do this once in a while.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/ipcdef.h                     |   2 +-
 citadel/server/modules/expire/serv_expire.c |   1 -
 citadel/server/room_ops.c                   | 264 +++++++++++-----------------
 citadel/server/server_main.c                |  30 ++--
 4 files changed, 113 insertions(+), 184 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304635</link><pubDate>Sat, 25 Jun 2022 11:09:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-4-ge55aafc51</title><guid isPermaLink="false">2099304635@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e55aafc51f35455a671ba62e49df13cfea2c7e98 (commit)
      from  43f77abee03ab8a892bc72b5098dba033c4b654e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e55aafc51f35455a671ba62e49df13cfea2c7e98
commit e55aafc51f35455a671ba62e49df13cfea2c7e98
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 25 11:08:52 2022 -0400

    The unused messages in setup.c are now in an unused function instead of being blocked out.  I don't know if this makes a difference to the strings available for translation but I did it just in case.

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/setup.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304388</link><pubDate>Tue, 21 Jun 2022 14:24:23 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-3-g43f77abee</title><guid isPermaLink="false">2099304388@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  43f77abee03ab8a892bc72b5098dba033c4b654e (commit)
      from  cd8ecaacbd2eaeedb7960cea8253e95e97e29d7c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=43f77abee03ab8a892bc72b5098dba033c4b654e
commit 43f77abee03ab8a892bc72b5098dba033c4b654e
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 21 14:24:04 2022 -0400

    Removed support for Solaris, which has been dead for at least five years.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/vcard/serv_vcard.c |  5 -----
 citadel/server/sysdep.h                   | 16 ----------------
 citadel/server/user_ops.c                 |  5 -----
 citadel/utils/setup.c                     |  2 +-
 4 files changed, 1 insertion(+), 27 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304294</link><pubDate>Mon, 20 Jun 2022 14:14:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-2-gcd8ecaacb</title><guid isPermaLink="false">2099304294@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cd8ecaacbd2eaeedb7960cea8253e95e97e29d7c (commit)
      from  a975809abc15302bedc1d8fd81779c2dd770dd54 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cd8ecaacbd2eaeedb7960cea8253e95e97e29d7c
commit cd8ecaacbd2eaeedb7960cea8253e95e97e29d7c
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 20 14:13:49 2022 -0400

    I was today years old when I learned that the "thundering herd" problem no longer exists in the Linux kernel.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/crypto/serv_crypto.c |   3 +-
 citadel/server/sysdep.c                     | 154 +++++++++++++---------------
 webcit-ng/webserver.c                       |   2 +
 3 files changed, 76 insertions(+), 83 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099304105</link><pubDate>Sat, 18 Jun 2022 19:52:15 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 644a29cbddb2df4535084dc81c0751761b6e7e70</title><guid isPermaLink="false">2099304105@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  644a29cbddb2df4535084dc81c0751761b6e7e70 (commit)
      from  171db44cf0f9ad686c2e0a77c30caadc181ee239 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 644a29cbddb2df4535084dc81c0751761b6e7e70
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 18 19:52:11 2022 -0400

    Remove the notice that this is experimental

-----------------------------------------------------------------------

Summary of changes:
 README.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303779</link><pubDate>Thu, 16 Jun 2022 00:01:47 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v957-1-ga975809ab</title><guid isPermaLink="false">2099303779@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a975809abc15302bedc1d8fd81779c2dd770dd54 (commit)
      from  da4370032bb2ac13a50fc753df7ed3f7d72b9430 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a975809abc15302bedc1d8fd81779c2dd770dd54
commit a975809abc15302bedc1d8fd81779c2dd770dd54
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 16 00:01:44 2022 -0400

    In webcit-ng, allow -h to specify the Citadel Server data directory.  This will allow -h to work the same across all programs.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303742</link><pubDate>Wed, 15 Jun 2022 14:50:14 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v957 created. v957</title><guid isPermaLink="false">2099303742@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v957 has been created
        at  c725bbd7ff87dda490cc727be24fba7b0e5d5106 (tag)
   tagging  da4370032bb2ac13a50fc753df7ed3f7d72b9430 (commit)
  replaces  v956
 tagged by  Art Cancro
        on  Wed Jun 15 14:50:07 2022 -0400

- Log -----------------------------------------------------------------
Version 957 release

Art Cancro (6):
      CtdlEncodeBase64() - only add linebreaks if told to by the caller. Also changed this parameter to an enum.
      configure (in Citadel Server) - don't accept "--prefix" anymore. This option might confuse some people into thinking they're going to get ${prefix}/[bin|etc|var] but we don't do that.  Now we only accept "--ctdldir" to reflect our own directory hierarchy. Easy Install has been modified to use --ctdldir as well.
      Nice color modes in setup
      Handle system accounts differently in auto purger
      Removed some more portability hacks that were made for systems that are now completely obsolete.
      Release version 957 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303741</link><pubDate>Wed, 15 Jun 2022 14:50:11 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v956-6-gda4370032</title><guid isPermaLink="false">2099303741@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  da4370032bb2ac13a50fc753df7ed3f7d72b9430 (commit)
      from  e58ab5fd6a62f31bac31ff246d3b89f8534672a6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=da4370032bb2ac13a50fc753df7ed3f7d72b9430
commit da4370032bb2ac13a50fc753df7ed3f7d72b9430
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 15 14:50:07 2022 -0400

    Release version 957 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel.h    | 2 +-
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303740</link><pubDate>Wed, 15 Jun 2022 14:50:02 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v956-5-ge58ab5fd6</title><guid isPermaLink="false">2099303740@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e58ab5fd6a62f31bac31ff246d3b89f8534672a6 (commit)
      from  49b52e4ae6cd698246f088997adba3f37bd59291 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e58ab5fd6a62f31bac31ff246d3b89f8534672a6
commit e58ab5fd6a62f31bac31ff246d3b89f8534672a6
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 15 14:49:41 2022 -0400

    Removed some more portability hacks that were made for systems that are now completely obsolete.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel.h  |  8 ++--
 citadel/server/sysdep.h   | 95 -----------------------------------------------
 citadel/server/user_ops.c | 12 +++---
 textclient/citadel.c      |  2 +-
 4 files changed, 13 insertions(+), 104 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303705</link><pubDate>Wed, 15 Jun 2022 08:54:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v956-4-g49b52e4ae</title><guid isPermaLink="false">2099303705@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  49b52e4ae6cd698246f088997adba3f37bd59291 (commit)
       via  ef01dd968859a9550d6c53e43ac49449d86212d3 (commit)
      from  4af8d1671c88a109d53e3d18f6b91a4b8317db52 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=49b52e4ae6cd698246f088997adba3f37bd59291
commit 49b52e4ae6cd698246f088997adba3f37bd59291
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 15 08:54:38 2022 -0400

    Handle system accounts differently in auto purger

http://code.citadel.org/?p=citadel.git&a=commit&h=ef01dd968859a9550d6c53e43ac49449d86212d3
commit ef01dd968859a9550d6c53e43ac49449d86212d3
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 14 19:55:33 2022 -0400

    Nice color modes in setup

-----------------------------------------------------------------------

Summary of changes:
 citadel/po/citadel-setup/ar.po              |    2 +-
 citadel/po/citadel-setup/citadel-setup.pot  |    2 +-
 citadel/po/citadel-setup/cs.po              |    2 +-
 citadel/po/citadel-setup/de.po              |    2 +-
 citadel/po/citadel-setup/en_GB.po           |    4 +-
 citadel/po/citadel-setup/es.po              |    2 +-
 citadel/po/citadel-setup/fi.po              |    2 +-
 citadel/po/citadel-setup/fr.po              |    2 +-
 citadel/po/citadel-setup/hu.po              |    2 +-
 citadel/po/citadel-setup/it.po              |    2 +-
 citadel/po/citadel-setup/ja.po              |    2 +-
 citadel/po/citadel-setup/kk.po              |    2 +-
 citadel/po/citadel-setup/ko.po              |    2 +-
 citadel/po/citadel-setup/pl.po              |    2 +-
 citadel/po/citadel-setup/pt.po              |    2 +-
 citadel/po/citadel-setup/pt_BR.po           |    2 +-
 citadel/po/citadel-setup/ru.po              |    2 +-
 citadel/po/citadel-setup/sv.po              |    2 +-
 citadel/po/citadel-setup/vi.po              |    2 +-
 citadel/server/modules/expire/serv_expire.c |    9 +-
 citadel/server/parsedate.c                  | 1126 ++++++++++++---------------
 citadel/server/user_ops.c                   |    5 +
 citadel/utils/setup.c                       |   34 +-
 23 files changed, 545 insertions(+), 669 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303653</link><pubDate>Tue, 14 Jun 2022 19:26:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v956-2-g4af8d1671</title><guid isPermaLink="false">2099303653@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4af8d1671c88a109d53e3d18f6b91a4b8317db52 (commit)
      from  aa9b5f5703df6306f22168227edbfa6e13d9f9cf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4af8d1671c88a109d53e3d18f6b91a4b8317db52
commit 4af8d1671c88a109d53e3d18f6b91a4b8317db52
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 14 19:24:38 2022 -0400

    configure (in Citadel Server) - don't accept "--prefix" anymore.
    This option might confuse some people into thinking they're going
    to get ${prefix}/[bin|etc|var] but we don't do that.  Now we only
    accept "--ctdldir" to reflect our own directory hierarchy.
    Easy Install has been modified to use --ctdldir as well.

-----------------------------------------------------------------------

Summary of changes:
 citadel/configure | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303624</link><pubDate>Tue, 14 Jun 2022 15:07:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v956-1-gaa9b5f570</title><guid isPermaLink="false">2099303624@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  aa9b5f5703df6306f22168227edbfa6e13d9f9cf (commit)
      from  bffaaea7b264bbad0ff7d114955ab6a8419d3787 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=aa9b5f5703df6306f22168227edbfa6e13d9f9cf
commit aa9b5f5703df6306f22168227edbfa6e13d9f9cf
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jun 14 15:06:16 2022 -0400

    CtdlEncodeBase64() - only add linebreaks if told to by the caller.
    Also changed this parameter to an enum.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/modules/bio/serv_bio.c         | 2 +-
 citadel/server/modules/image/serv_image.c     | 6 +++---
 citadel/server/modules/imap/serv_imap.c       | 6 +++---
 citadel/server/modules/migrate/serv_migrate.c | 2 +-
 citadel/server/modules/smtp/serv_smtp.c       | 4 ++--
 citadel/server/modules/upgrade/serv_upgrade.c | 4 ++--
 citadel/server/modules/wiki/serv_wiki.c       | 2 +-
 citadel/server/netconfig.c                    | 2 +-
 libcitadel/lib/base64.c                       | 6 ++++--
 libcitadel/lib/libcitadel.h                   | 4 ++++
 libcitadel/lib/tools.c                        | 2 +-
 textclient/client_passwords.c                 | 4 ++--
 webcit-ng/admin_functions.c                   | 2 +-
 webcit-ng/ctdlclient.c                        | 2 +-
 webcit/messages.c                             | 2 +-
 webcit/sieve.c                                | 2 +-
 16 files changed, 29 insertions(+), 23 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303390</link><pubDate>Sun, 12 Jun 2022 21:28:41 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v956 created. v956</title><guid isPermaLink="false">2099303390@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v956 has been created
        at  785d758f3b3563af79cac4f9b3b48735e09d05b6 (tag)
   tagging  bffaaea7b264bbad0ff7d114955ab6a8419d3787 (commit)
  replaces  v955
 tagged by  Art Cancro
        on  Sun Jun 12 21:28:35 2022 -0400

- Log -----------------------------------------------------------------
Version 956 release

Art Cancro (2):
      sed might be sed on some systems and gsed on others
      Release version 956 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303389</link><pubDate>Sun, 12 Jun 2022 21:28:38 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v955-2-gbffaaea7b</title><guid isPermaLink="false">2099303389@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  bffaaea7b264bbad0ff7d114955ab6a8419d3787 (commit)
       via  d710e0b3ecf3c5e7021ab3cb3fae3517d932a6fc (commit)
      from  196725f0655a885478a2a8d3733a40f65401af89 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=bffaaea7b264bbad0ff7d114955ab6a8419d3787
commit bffaaea7b264bbad0ff7d114955ab6a8419d3787
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 12 21:28:35 2022 -0400

    Release version 956 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=d710e0b3ecf3c5e7021ab3cb3fae3517d932a6fc
commit d710e0b3ecf3c5e7021ab3cb3fae3517d932a6fc
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 12 21:28:30 2022 -0400

    sed might be sed on some systems and gsed on others

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel.h        |  2 +-
 libcitadel/lib/libcitadel.h     |  2 +-
 release_version.txt             |  2 +-
 textclient/textclient.h         |  2 +-
 webcit/scripts/get_ical_data.sh | 22 +++++++++++++++++-----
 webcit/webcit.h                 |  2 +-
 6 files changed, 22 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303383</link><pubDate>Sun, 12 Jun 2022 21:20:35 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v955 created. v955</title><guid isPermaLink="false">2099303383@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v955 has been created
        at  d6b36afda4b07df442e31dc686b1824ba45b66c6 (tag)
   tagging  196725f0655a885478a2a8d3733a40f65401af89 (commit)
  replaces  v954
 tagged by  Art Cancro
        on  Sun Jun 12 21:20:30 2022 -0400

- Log -----------------------------------------------------------------
Version 955 release

Art Cancro (1):
      Release version 955 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303382</link><pubDate>Sun, 12 Jun 2022 21:20:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v954-1-g196725f06</title><guid isPermaLink="false">2099303382@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  196725f0655a885478a2a8d3733a40f65401af89 (commit)
      from  48d8c5746a77de513326250e2eff20f17cb75420 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=196725f0655a885478a2a8d3733a40f65401af89
commit 196725f0655a885478a2a8d3733a40f65401af89
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 12 21:20:30 2022 -0400

    Release version 955 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel.h    | 4 ++--
 citadel/server/sysdep.h     | 3 ---
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 6 files changed, 6 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303373</link><pubDate>Sun, 12 Jun 2022 21:02:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v954 created. v954</title><guid isPermaLink="false">2099303373@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v954 has been created
        at  d7713f65d18fe4d49051ce73c46c6672ff9c78c9 (tag)
   tagging  48d8c5746a77de513326250e2eff20f17cb75420 (commit)
  replaces  v953
 tagged by  Art Cancro
        on  Sun Jun 12 21:01:55 2022 -0400

- Log -----------------------------------------------------------------
Version 954 release

Art Cancro (1):
      Release version 954 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303372</link><pubDate>Sun, 12 Jun 2022 21:02:06 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v953 created. v953</title><guid isPermaLink="false">2099303372@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v953 has been created
        at  897f4f096bd10432eee34b926a2f364c79a0eda4 (tag)
   tagging  f8fb91893d1a4e9416b9238e4b695718c7537831 (commit)
  replaces  v952
 tagged by  Art Cancro
        on  Sun Jun 12 21:01:40 2022 -0400

- Log -----------------------------------------------------------------
Version 953 release

Art Cancro (1):
      Release version 953 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303371</link><pubDate>Sun, 12 Jun 2022 21:02:06 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v952 created. v952</title><guid isPermaLink="false">2099303371@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v952 has been created
        at  d697242f31e61b3cb4b7f9b2cc6313693eb5914a (tag)
   tagging  6d1d95cde32f6814f270529ab1301aa0a32165d1 (commit)
  replaces  v951
 tagged by  Art Cancro
        on  Sun Jun 12 21:00:26 2022 -0400

- Log -----------------------------------------------------------------
Version 952 release

Art Cancro (16):
      removed some debugs
      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.
      Moved 'setup' to the utils directory and converted the build
      Converted two more utilities: ctdlmigrate and sendcommand
      Converted citmail to the new setup:
      chkpw and chkpwd are now working
      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.
      Make sure all of the utilities carry the new and improved version of the GPL declaration that disrespects Richard Stallman.
      Modified some of the server source files to carry the new and improved version of the GPL declaration that disrespects Richard Stallman.
      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."
      If you can't handle me at my worst, you don't deserve me at my best.
      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.
      More tweaking to cleanly support bin and run directories.
      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.
      Add ${LDFLAGS} to utilities, not just the server.
      Release version 952 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303370</link><pubDate>Sun, 12 Jun 2022 21:02:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-18-g48d8c5746</title><guid isPermaLink="false">2099303370@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  48d8c5746a77de513326250e2eff20f17cb75420 (commit)
       via  f8fb91893d1a4e9416b9238e4b695718c7537831 (commit)
       via  6d1d95cde32f6814f270529ab1301aa0a32165d1 (commit)
      from  dc9740fadde346823453354e29a7fa5b8666dff3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=48d8c5746a77de513326250e2eff20f17cb75420
commit 48d8c5746a77de513326250e2eff20f17cb75420
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 12 21:01:55 2022 -0400

    Release version 954 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=f8fb91893d1a4e9416b9238e4b695718c7537831
commit f8fb91893d1a4e9416b9238e4b695718c7537831
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 12 21:01:40 2022 -0400

    Release version 953 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=6d1d95cde32f6814f270529ab1301aa0a32165d1
commit 6d1d95cde32f6814f270529ab1301aa0a32165d1
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 12 21:00:26 2022 -0400

    Release version 952 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/citadel.h    | 2 +-
 do-release.sh               | 6 +++---
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 6 files changed, 8 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303339</link><pubDate>Sun, 12 Jun 2022 17:05:15 +0500</pubDate><title>Re: Notes on new build system</title><guid isPermaLink="false">2099303339@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Sat Jun 11 2022 13:12:07 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Notes on new build system</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I'm going to need some help with QA on FreeBSD and I'm hoping that LadySerenaKitty is willing to continue offering a bit of time in that area.</div>
<div class="fmout-JUSTIFY"> </div>
</div>
</blockquote>
<p>The running theory is that I am going to continue halping, but that's just a theory, A CODE THEORY!</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303311</link><pubDate>Sun, 12 Jun 2022 14:22:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-15-gdc9740fad</title><guid isPermaLink="false">2099303311@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  dc9740fadde346823453354e29a7fa5b8666dff3 (commit)
      from  e5f4a065048768ad6c5b38b1764589c90fc319df (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=dc9740fadde346823453354e29a7fa5b8666dff3
commit dc9740fadde346823453354e29a7fa5b8666dff3
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 12 14:22:38 2022 -0400

    Add ${LDFLAGS} to utilities, not just the server.

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303256</link><pubDate>Sun, 12 Jun 2022 00:28:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-14-ge5f4a0650</title><guid isPermaLink="false">2099303256@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e5f4a065048768ad6c5b38b1764589c90fc319df (commit)
      from  c41961e7d8c2d88398699493879fcfb9817dd534 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e5f4a065048768ad6c5b38b1764589c90fc319df
commit e5f4a065048768ad6c5b38b1764589c90fc319df
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 12 00:27:59 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/configure             |  2 +-
 citadel/server/citadel.h      | 99 +++++++++++++++----------------------------
 citadel/server/citadel_dirs.h |  2 +-
 citadel/server/citserver.h    |  3 --
 4 files changed, 35 insertions(+), 71 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303253</link><pubDate>Sun, 12 Jun 2022 00:02:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-13-gc41961e7d</title><guid isPermaLink="false">2099303253@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c41961e7d8c2d88398699493879fcfb9817dd534 (commit)
      from  8490a02d64e53a12212d7c7de16d10f037a4343d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c41961e7d8c2d88398699493879fcfb9817dd534
commit c41961e7d8c2d88398699493879fcfb9817dd534
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 12 00:01:58 2022 -0400

    More tweaking to cleanly support bin and run directories.

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile                                 |   6 +-
 citadel/Makefile.in                              | 343 --------
 citadel/README.txt                               |   3 +-
 citadel/configure.ac                             | 994 -----------------------
 citadel/{COPYING => license.txt}                 |   0
 citadel/mkinstalldirs                            |  38 -
 citadel/server/citadel_dirs.h                    |   4 +-
 citadel/server/modules/autocompletion/.gitignore |   1 -
 citadel/server/modules/bio/.gitignore            |   1 -
 citadel/server/modules/bio/serv_bio.c            |  71 +-
 citadel/server/modules/calendar/.gitignore       |   1 -
 citadel/server/modules/checkpoint/.gitignore     |   1 -
 citadel/server/modules/clamav/.gitignore         |   1 -
 citadel/server/modules/crypto/.gitignore         |   1 -
 citadel/server/modules/expire/.gitignore         |   1 -
 citadel/server/modules/fulltext/.gitignore       |   1 -
 citadel/server/modules/imap/.gitignore           |   1 -
 citadel/server/modules/inboxrules/.gitignore     |   1 -
 citadel/server/modules/inetcfg/.gitignore        |   1 -
 citadel/server/modules/instmsg/.gitignore        |   1 -
 citadel/server/modules/listsub/.gitignore        |   1 -
 citadel/server/modules/migrate/.gitignore        |   1 -
 citadel/server/modules/newuser/.gitignore        |   1 -
 citadel/server/modules/notes/.gitignore          |   1 -
 citadel/server/modules/openid/.gitignore         |   1 -
 citadel/server/modules/pop3/.gitignore           |   1 -
 citadel/server/modules/pop3client/.gitignore     |   1 -
 citadel/server/modules/roomchat/.gitignore       |   1 -
 citadel/server/modules/rssclient/.gitignore      |   1 -
 citadel/server/modules/rwho/.gitignore           |   1 -
 citadel/server/modules/smtp/.gitignore           |   1 -
 citadel/server/modules/spam/.gitignore           |   1 -
 citadel/server/modules/test/.gitignore           |   1 -
 citadel/server/modules/upgrade/.gitignore        |   1 -
 citadel/server/modules/vcard/.gitignore          |   1 -
 citadel/server/modules/wiki/.gitignore           |   1 -
 citadel/server/modules/xmpp/.gitignore           |   1 -
 citadel/server/modules_init.c                    |  92 +--
 citadel/utils/guesstimezone.sh                   |   0
 39 files changed, 78 insertions(+), 1502 deletions(-)
 delete mode 100644 citadel/Makefile.in
 delete mode 100644 citadel/configure.ac
 rename citadel/{COPYING => license.txt} (100%)
 delete mode 100755 citadel/mkinstalldirs
 delete mode 100644 citadel/server/modules/autocompletion/.gitignore
 delete mode 100644 citadel/server/modules/bio/.gitignore
 delete mode 100644 citadel/server/modules/calendar/.gitignore
 delete mode 100644 citadel/server/modules/checkpoint/.gitignore
 delete mode 100644 citadel/server/modules/clamav/.gitignore
 delete mode 100644 citadel/server/modules/crypto/.gitignore
 delete mode 100644 citadel/server/modules/expire/.gitignore
 delete mode 100644 citadel/server/modules/fulltext/.gitignore
 delete mode 100644 citadel/server/modules/imap/.gitignore
 delete mode 100644 citadel/server/modules/inboxrules/.gitignore
 delete mode 100644 citadel/server/modules/inetcfg/.gitignore
 delete mode 100644 citadel/server/modules/instmsg/.gitignore
 delete mode 100644 citadel/server/modules/listsub/.gitignore
 delete mode 100644 citadel/server/modules/migrate/.gitignore
 delete mode 100644 citadel/server/modules/newuser/.gitignore
 delete mode 100644 citadel/server/modules/notes/.gitignore
 delete mode 100644 citadel/server/modules/openid/.gitignore
 delete mode 100644 citadel/server/modules/pop3/.gitignore
 delete mode 100644 citadel/server/modules/pop3client/.gitignore
 delete mode 100644 citadel/server/modules/roomchat/.gitignore
 delete mode 100644 citadel/server/modules/rssclient/.gitignore
 delete mode 100644 citadel/server/modules/rwho/.gitignore
 delete mode 100644 citadel/server/modules/smtp/.gitignore
 delete mode 100644 citadel/server/modules/spam/.gitignore
 delete mode 100644 citadel/server/modules/test/.gitignore
 delete mode 100644 citadel/server/modules/upgrade/.gitignore
 delete mode 100644 citadel/server/modules/vcard/.gitignore
 delete mode 100644 citadel/server/modules/wiki/.gitignore
 delete mode 100644 citadel/server/modules/xmpp/.gitignore
 mode change 100644 => 100755 citadel/utils/guesstimezone.sh


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303242</link><pubDate>Sat, 11 Jun 2022 19:41:02 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-12-g8490a02d6</title><guid isPermaLink="false">2099303242@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8490a02d64e53a12212d7c7de16d10f037a4343d (commit)
      from  59bef58621c50a3ae532d18e6b7ecbd0108acf77 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8490a02d64e53a12212d7c7de16d10f037a4343d
commit 8490a02d64e53a12212d7c7de16d10f037a4343d
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 11 19:40:07 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/configure       | 1 +
 citadel/server/sysdep.h | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303239</link><pubDate>Sat, 11 Jun 2022 19:30:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-11-g59bef5862</title><guid isPermaLink="false">2099303239@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  59bef58621c50a3ae532d18e6b7ecbd0108acf77 (commit)
      from  e10adc6e31b6bb991d55a40919fb2f36e5b20d80 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=59bef58621c50a3ae532d18e6b7ecbd0108acf77
commit 59bef58621c50a3ae532d18e6b7ecbd0108acf77
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 11 19:27:53 2022 -0400

    If you can't handle me at my worst, you don't deserve me at my best.

-----------------------------------------------------------------------

Summary of changes:
 citadel/configure                                  |  18 +-
 citadel/server/citadel_dirs.h                      |  14 +-
 .../modules/autocompletion/serv_autocompletion.c   |   1 +
 citadel/server/modules/bio/serv_bio.c              |   2 +-
 citadel/server/modules/blog/serv_blog.c            |   2 +-
 citadel/server/modules/calendar/serv_calendar.c    |   4 +-
 .../server/modules/checkpoint/serv_checkpoint.c    |   1 +
 citadel/server/modules/clamav/serv_virus.c         |   1 +
 citadel/server/modules/ctdlproto/serv_file.c       |   6 +-
 citadel/server/modules/ctdlproto/serv_messages.c   |   6 +-
 citadel/server/modules/ctdlproto/serv_rooms.c      |   5 +-
 citadel/server/modules/ctdlproto/serv_session.c    |   5 +-
 citadel/server/modules/ctdlproto/serv_syscmds.c    |   5 +-
 citadel/server/modules/ctdlproto/serv_user.c       |   6 +-
 citadel/server/modules/expire/serv_expire.c        |   1 +
 citadel/server/modules/fulltext/serv_fulltext.c    |   3 +-
 citadel/server/modules/image/serv_image.c          |   2 +-
 citadel/server/modules/imap/serv_imap.c            | 247 ++++++++-------------
 .../server/modules/inboxrules/serv_inboxrules.c    |   1 +
 citadel/server/modules/inetcfg/serv_inetcfg.c      |   6 +-
 citadel/server/modules/instmsg/serv_instmsg.c      |   4 +-
 .../server/modules/listdeliver/serv_listdeliver.c  |   2 +-
 citadel/server/modules/listsub/serv_listsub.c      |   4 +-
 citadel/server/modules/migrate/serv_migrate.c      |   5 +-
 citadel/server/modules/newuser/serv_newuser.c      |   1 +
 citadel/server/modules/nntp/serv_nntp.c            |   2 +
 citadel/server/modules/notes/serv_notes.c          |   1 +
 citadel/server/modules/openid/serv_openid_rp.c     |   9 +-
 citadel/server/modules/pop3/serv_pop3.c            |   1 +
 .../server/modules/pop3client/serv_pop3client.c    |   3 +-
 citadel/server/modules/roomchat/serv_roomchat.c    |   1 +
 citadel/server/modules/rssclient/serv_rssclient.c  |   1 +
 citadel/server/modules/rwho/serv_rwho.c            |   1 +
 citadel/server/modules/smtp/serv_smtp.c            |   1 +
 citadel/server/modules/smtp/serv_smtpclient.c      |   2 +-
 citadel/server/modules/spam/serv_spam.c            |   2 +-
 citadel/server/modules/test/serv_test.c            |   1 +
 citadel/server/modules/upgrade/serv_upgrade.c      |   1 +
 citadel/server/modules/vcard/serv_vcard.c          |   3 +-
 citadel/server/modules/wiki/serv_wiki.c            |   4 +-
 citadel/server/modules/xmpp/serv_xmpp.c            |   3 +
 citadel/server/modules_init.h                      |   2 +-
 42 files changed, 160 insertions(+), 230 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303223</link><pubDate>Sat, 11 Jun 2022 13:48:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-10-ge10adc6e3</title><guid isPermaLink="false">2099303223@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e10adc6e31b6bb991d55a40919fb2f36e5b20d80 (commit)
      from  511f1e262b9f335faf1ca219ec6f72ab0a1f168b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e10adc6e31b6bb991d55a40919fb2f36e5b20d80
commit e10adc6e31b6bb991d55a40919fb2f36e5b20d80
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 11 13:46:34 2022 -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."

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile                  |  8 ++++++
 citadel/utils/database_cleanup.sh | 60 ++++++++++++---------------------------
 2 files changed, 26 insertions(+), 42 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303216</link><pubDate>Sat, 11 Jun 2022 13:12:07 +0500</pubDate><title>Re: Notes on new build system</title><guid isPermaLink="false">2099303216@Uncensored</guid><description><![CDATA[I do want to test on ARM hardware other than a Pi, but that will have to come
later.  I keep forgetting that Citadel is, for some reason, staggeringly popular
on Raspberry Pi.  I don't know why; all I know is that when I break the build,
I hear about it.  And I've finally nailed down that long-standing bug that
was making attachments get messed up on low-spec systems. 
  
 I'm going to need some help with QA on FreeBSD and I'm hoping that LadySerenaKitty
is willing to continue offering a bit of time in that area. 
  
 This move is kind of a big deal.  I had to temper my language in the announcement,
but GNU Autotools is a gigantic piece of crap and it should be locked in a
room with Richard Stallman until it commits ritual seppuku.  Overgrown, overly
complex, creates far more problems than it solves, good riddance.  The fact
that I was able to replace thousands of lines of autoconf with half
a screenful of shell script and still cover 99.9% of the target systems out
there, is sufficient argument for taking autotools out behind the barn and
putting it out of our misery. 
  
 Obviously not everyone can manage with such a simple build system.  But I'll
bet most can. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303118</link><pubDate>Fri, 10 Jun 2022 12:27:08 +0500</pubDate><title>Notes on new build system</title><guid isPermaLink="false">2099303118@Uncensored</guid><description><![CDATA[<html><body>

<p>Didn't want to put it in the news room, but IG : if you ever need access to other ARM hardware beyond a PI, let me know and ill get you a VPN account or something to use.  I also have plenty of VM space if you need throwaway *BSD to test with.</p>
<p>and wait, just Linux BSD? What about 9Front  ??? :)  ( just teasing )</p>
<p>I also do have functioning RiscV hardware i can put out there, if its of interest. ( still lower end hardware just a dual core/8g ram, but its functional now at least )</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303025</link><pubDate>Thu, 09 Jun 2022 16:21:24 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-9-g511f1e262</title><guid isPermaLink="false">2099303025@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  511f1e262b9f335faf1ca219ec6f72ab0a1f168b (commit)
      from  6b8891f5080427c9de1288ded2e87b5a99138892 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=511f1e262b9f335faf1ca219ec6f72ab0a1f168b
commit 511f1e262b9f335faf1ca219ec6f72ab0a1f168b
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 9 16:21:20 2022 -0400

    Modified some of the server source files to carry the new and improved version of the GPL declaration that disrespects Richard Stallman.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server/database.c            | 10 ++----
 citadel/server/default_timezone.c    | 24 +++++---------
 citadel/server/domain.c              | 57 +++++++++++++-------------------
 citadel/server/euidindex.c           | 13 +++-----
 citadel/server/genstamp.c            |  5 +++
 citadel/server/housekeeping.c        | 63 +++++++++++++-----------------------
 citadel/server/internet_addressing.c | 10 ++----
 citadel/server/journaling.c          | 22 ++++---------
 citadel/server/ldap.c                | 10 ++----
 9 files changed, 78 insertions(+), 136 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099303024</link><pubDate>Thu, 09 Jun 2022 16:14:29 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-8-g6b8891f50</title><guid isPermaLink="false">2099303024@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6b8891f5080427c9de1288ded2e87b5a99138892 (commit)
      from  4011c90f45d639b16aa76d626884bac9d9a587ba (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6b8891f5080427c9de1288ded2e87b5a99138892
commit 6b8891f5080427c9de1288ded2e87b5a99138892
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jun 9 16:14:26 2022 -0400

    Make sure all of the utilities carry the new and improved version of the GPL declaration that disrespects Richard Stallman.

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/ctdlmigrate.c | 10 +++-------
 citadel/utils/sendcommand.c | 10 +++-------
 citadel/utils/setup.c       | 15 +++++----------
 3 files changed, 11 insertions(+), 24 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099302886</link><pubDate>Wed, 08 Jun 2022 15:26:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-7-g4011c90f4</title><guid isPermaLink="false">2099302886@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4011c90f45d639b16aa76d626884bac9d9a587ba (commit)
      from  0901c5ec610cc2c0c1fe29c84d0f8f46be876f49 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4011c90f45d639b16aa76d626884bac9d9a587ba
commit 4011c90f45d639b16aa76d626884bac9d9a587ba
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 8 15:26:51 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/bootstrap      |  7 ++-----
 citadel/configure      |  1 +
 citadel/packageversion |  1 -
 textclient/configure   | 43 ++++++++++++++++++++++++++++++++++++++++++-
 4 files changed, 45 insertions(+), 7 deletions(-)
 delete mode 100644 citadel/packageversion


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099302835</link><pubDate>Wed, 08 Jun 2022 10:20:20 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-6-g0901c5ec6</title><guid isPermaLink="false">2099302835@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0901c5ec610cc2c0c1fe29c84d0f8f46be876f49 (commit)
      from  90fefa7f1940c990d4047d5403edff6a6688c74b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0901c5ec610cc2c0c1fe29c84d0f8f46be876f49
commit 0901c5ec610cc2c0c1fe29c84d0f8f46be876f49
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 8 10:20:16 2022 -0400

    chkpw and chkpwd are now working

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile           | 14 ++++++++---
 citadel/configure          | 62 +++++++++++++++++++++++++++++++---------------
 citadel/server/citserver.c |  6 +++++
 citadel/utils/auth.c       |  7 +++---
 citadel/utils/chkpw.c      | 26 +++++++------------
 citadel/utils/chkpwd.c     | 23 ++++++++---------
 6 files changed, 80 insertions(+), 58 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099302552</link><pubDate>Sun, 05 Jun 2022 13:05:42 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-5-g90fefa7f1</title><guid isPermaLink="false">2099302552@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  90fefa7f1940c990d4047d5403edff6a6688c74b (commit)
       via  dbed85c6d6552ab0e6299669f759a39abb7557ae (commit)
      from  950b5e7c91bc0146fc239dc90f3eb3d949f1f06a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=90fefa7f1940c990d4047d5403edff6a6688c74b
commit 90fefa7f1940c990d4047d5403edff6a6688c74b
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 5 13:05:38 2022 -0400

    Converted citmail to the new setup:

http://code.citadel.org/?p=citadel.git&a=commit&h=dbed85c6d6552ab0e6299669f759a39abb7557ae
commit dbed85c6d6552ab0e6299669f759a39abb7557ae
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 5 13:02:46 2022 -0400

    Converted two more utilities: ctdlmigrate and sendcommand

-----------------------------------------------------------------------

Summary of changes:
 citadel/COPYING             |  3 +-
 citadel/Makefile            | 11 +++++++-
 citadel/packageversion      |  2 +-
 citadel/utils/citmail.c     |  8 +++---
 citadel/utils/ctdlmigrate.c | 10 +++----
 citadel/utils/sendcommand.c | 67 ++++++++++++++++++---------------------------
 6 files changed, 47 insertions(+), 54 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099302548</link><pubDate>Sun, 05 Jun 2022 12:49:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-3-g950b5e7c9</title><guid isPermaLink="false">2099302548@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  950b5e7c91bc0146fc239dc90f3eb3d949f1f06a (commit)
      from  f6fcf350671e3661f8f22696eb35133014ab6a14 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=950b5e7c91bc0146fc239dc90f3eb3d949f1f06a
commit 950b5e7c91bc0146fc239dc90f3eb3d949f1f06a
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jun 5 12:49:16 2022 -0400

    Moved 'setup' to the utils directory and converted the build

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile                          |  15 +-
 citadel/acinclude.m4                      |  50 ------
 citadel/bootstrap                         |  26 ---
 citadel/configure                         |  23 ++-
 citadel/configure.ac                      |  15 ++
 citadel/install-sh                        | 250 ---------------------------
 citadel/internetmail.h                    |   2 -
 citadel/m4/ucread.m4                      |  33 ----
 citadel/scripts/dolcov.sh                 |  24 ---
 citadel/scripts/mk_module_init.sh         | 215 -----------------------
 citadel/scripts/valgrind_suspressions.txt | 273 ------------------------------
 citadel/{ => utils}/auth.c                |   0
 citadel/{ => utils}/auth.h                |   0
 citadel/{ => utils}/axdefs.h              |   0
 citadel/{ => utils}/chkpw.c               |   0
 citadel/{ => utils}/chkpwd.c              |   0
 citadel/{ => utils}/citadel.pam           |   0
 citadel/{ => utils}/citmail.c             |   0
 citadel/{ => utils}/ctdlmigrate.c         |   0
 citadel/{ => utils}/database_cleanup.sh   |   0
 citadel/{ => utils}/guesstimezone.sh      |   2 +-
 citadel/{ => utils}/sendcommand.c         |   0
 citadel/{ => utils}/setup.c               | 182 ++++++++------------
 23 files changed, 113 insertions(+), 997 deletions(-)
 delete mode 100644 citadel/acinclude.m4
 delete mode 100644 citadel/install-sh
 delete mode 100644 citadel/internetmail.h
 delete mode 100644 citadel/m4/ucread.m4
 delete mode 100755 citadel/scripts/dolcov.sh
 delete mode 100755 citadel/scripts/mk_module_init.sh
 delete mode 100644 citadel/scripts/valgrind_suspressions.txt
 rename citadel/{ => utils}/auth.c (100%)
 rename citadel/{ => utils}/auth.h (100%)
 rename citadel/{ => utils}/axdefs.h (100%)
 rename citadel/{ => utils}/chkpw.c (100%)
 rename citadel/{ => utils}/chkpwd.c (100%)
 rename citadel/{ => utils}/citadel.pam (100%)
 rename citadel/{ => utils}/citmail.c (100%)
 rename citadel/{ => utils}/ctdlmigrate.c (100%)
 rename citadel/{ => utils}/database_cleanup.sh (100%)
 rename citadel/{ => utils}/guesstimezone.sh (99%)
 rename citadel/{ => utils}/sendcommand.c (100%)
 rename citadel/{ => utils}/setup.c (84%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099302510</link><pubDate>Sat, 04 Jun 2022 19:12:09 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-2-gf6fcf3506</title><guid isPermaLink="false">2099302510@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f6fcf350671e3661f8f22696eb35133014ab6a14 (commit)
      from  2e4e67a1f7f65568abace99d13a71024ad06ebde (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f6fcf350671e3661f8f22696eb35133014ab6a14
commit f6fcf350671e3661f8f22696eb35133014ab6a14
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 4 19:11:58 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/.gitignore                                 |   17 -
 citadel/COPYING                                    |   24 +-
 citadel/Makefile                                   |   27 +
 citadel/config.guess                               | 1701 ------------------
 citadel/config.sub                                 | 1855 --------------------
 {textclient => citadel}/configure                  |   23 +-
 citadel/missing                                    |  283 ---
 citadel/modules/blog/serv_blog.c                   |   90 -
 citadel/scripts/mk_svn_revision.sh                 |   78 -
 citadel/{ => server}/citadel.h                     |    0
 citadel/{ => server}/citadel_dirs.c                |    0
 citadel/{ => server}/citadel_dirs.h                |    0
 citadel/{ => server}/citadel_ldap.h                |    0
 citadel/{ => server}/citserver.c                   |    2 +-
 citadel/{ => server}/citserver.h                   |    0
 citadel/{ => server}/clientsocket.c                |    0
 citadel/{ => server}/clientsocket.h                |    0
 citadel/{ => server}/config.c                      |    0
 citadel/{ => server}/config.h                      |    0
 citadel/{ => server}/context.c                     |    0
 citadel/{ => server}/context.h                     |    0
 citadel/{ => server}/control.c                     |    9 +-
 citadel/{ => server}/control.h                     |    0
 citadel/{ => server}/ctdl_module.h                 |    5 +-
 citadel/{ => server}/database.c                    |    9 +-
 citadel/{ => server}/database.h                    |    0
 citadel/{ => server}/default_timezone.c            |    0
 citadel/{ => server}/default_timezone.h            |    0
 citadel/{ => server}/domain.c                      |    0
 citadel/{ => server}/domain.h                      |    0
 citadel/{ => server}/euidindex.c                   |    5 +-
 citadel/{ => server}/euidindex.h                   |    0
 citadel/{ => server}/genstamp.c                    |    0
 citadel/{ => server}/genstamp.h                    |    0
 citadel/{ => server}/housekeeping.c                |    0
 citadel/{ => server}/housekeeping.h                |    0
 citadel/{ => server}/internet_addressing.c         |    1 -
 citadel/{ => server}/internet_addressing.h         |    0
 citadel/{ => server}/ipcdef.h                      |    0
 citadel/{ => server}/journaling.c                  |    0
 citadel/{ => server}/journaling.h                  |    0
 citadel/{ => server}/ldap.c                        |    6 +
 citadel/{ => server}/locate_host.c                 |    0
 citadel/{ => server}/locate_host.h                 |    0
 .../{ => server}/modules/autocompletion/.gitignore |    0
 .../modules/autocompletion/serv_autocompletion.c   |   12 +-
 .../modules/autocompletion/serv_autocompletion.h   |    0
 citadel/{ => server}/modules/bio/.gitignore        |    0
 citadel/{ => server}/modules/bio/serv_bio.c        |   14 +-
 citadel/server/modules/blog/serv_blog.c            |   80 +
 citadel/{ => server}/modules/calendar/.gitignore   |    0
 .../{ => server}/modules/calendar/serv_calendar.c  |   22 +-
 .../{ => server}/modules/calendar/serv_calendar.h  |    0
 citadel/{ => server}/modules/checkpoint/.gitignore |    0
 .../modules/checkpoint/serv_checkpoint.c           |   29 +-
 citadel/{ => server}/modules/clamav/.gitignore     |    0
 citadel/{ => server}/modules/clamav/serv_virus.c   |   36 +-
 citadel/{ => server}/modules/crypto/.gitignore     |    0
 citadel/{ => server}/modules/crypto/serv_crypto.c  |   14 +-
 citadel/{ => server}/modules/crypto/serv_crypto.h  |    0
 citadel/{ => server}/modules/ctdlproto/files.h     |    0
 .../modules/ctdlproto/serv_ctdlproto.c             |    6 +-
 citadel/{ => server}/modules/ctdlproto/serv_file.c |   17 +-
 .../{ => server}/modules/ctdlproto/serv_messages.c |   17 +-
 .../{ => server}/modules/ctdlproto/serv_rooms.c    |   13 +-
 .../{ => server}/modules/ctdlproto/serv_session.c  |   14 +-
 .../{ => server}/modules/ctdlproto/serv_syscmds.c  |    9 +-
 citadel/{ => server}/modules/ctdlproto/serv_user.c |   17 +-
 citadel/{ => server}/modules/expire/.gitignore     |    0
 .../{ => server}/modules/expire/expire_policy.c    |   24 +-
 citadel/{ => server}/modules/expire/policy.h       |    0
 citadel/{ => server}/modules/expire/serv_expire.c  |   32 +-
 citadel/{ => server}/modules/fulltext/.gitignore   |    0
 citadel/{ => server}/modules/fulltext/crc16.c      |    0
 citadel/{ => server}/modules/fulltext/crc16.h      |    0
 .../{ => server}/modules/fulltext/ft_wordbreaker.c |   22 +-
 .../{ => server}/modules/fulltext/ft_wordbreaker.h |    0
 .../{ => server}/modules/fulltext/serv_fulltext.c  |   33 +-
 .../{ => server}/modules/fulltext/serv_fulltext.h  |    0
 citadel/{ => server}/modules/image/serv_image.c    |   12 +-
 citadel/{ => server}/modules/imap/.gitignore       |    0
 citadel/{ => server}/modules/imap/imap_acl.c       |   26 +-
 citadel/{ => server}/modules/imap/imap_acl.h       |    0
 citadel/{ => server}/modules/imap/imap_fetch.c     |   26 +-
 citadel/{ => server}/modules/imap/imap_fetch.h     |    0
 citadel/{ => server}/modules/imap/imap_list.c      |   24 +-
 citadel/{ => server}/modules/imap/imap_list.h      |    0
 citadel/{ => server}/modules/imap/imap_metadata.c  |   27 +-
 citadel/{ => server}/modules/imap/imap_metadata.h  |    0
 citadel/{ => server}/modules/imap/imap_misc.c      |   30 +-
 citadel/{ => server}/modules/imap/imap_misc.h      |    0
 citadel/{ => server}/modules/imap/imap_search.c    |   26 +-
 citadel/{ => server}/modules/imap/imap_search.h    |    0
 citadel/{ => server}/modules/imap/imap_store.c     |   26 +-
 citadel/{ => server}/modules/imap/imap_store.h     |    0
 citadel/{ => server}/modules/imap/imap_tools.c     |    8 +-
 citadel/{ => server}/modules/imap/imap_tools.h     |    0
 citadel/{ => server}/modules/imap/serv_imap.c      |   49 +-
 citadel/{ => server}/modules/imap/serv_imap.h      |    0
 citadel/{ => server}/modules/inboxrules/.gitignore |    0
 .../modules/inboxrules/serv_inboxrules.c           |   26 +-
 citadel/{ => server}/modules/inetcfg/.gitignore    |    0
 .../{ => server}/modules/inetcfg/serv_inetcfg.c    |   34 +-
 citadel/{ => server}/modules/instmsg/.gitignore    |    0
 .../{ => server}/modules/instmsg/serv_instmsg.c    |   27 +-
 .../{ => server}/modules/instmsg/serv_instmsg.h    |    1 -
 .../modules/listdeliver/serv_listdeliver.c         |   27 +-
 citadel/{ => server}/modules/listsub/.gitignore    |    0
 .../{ => server}/modules/listsub/serv_listsub.c    |   30 +-
 citadel/{ => server}/modules/migrate/.gitignore    |    0
 .../{ => server}/modules/migrate/serv_migrate.c    |   30 +-
 citadel/{ => server}/modules/newuser/.gitignore    |    0
 .../{ => server}/modules/newuser/serv_newuser.c    |   28 +-
 citadel/{ => server}/modules/nntp/serv_nntp.c      |   44 +-
 citadel/{ => server}/modules/nntp/serv_nntp.h      |    0
 citadel/{ => server}/modules/nntp/wildmat.c        |    0
 citadel/{ => server}/modules/notes/.gitignore      |    0
 citadel/{ => server}/modules/notes/serv_notes.c    |   28 +-
 citadel/{ => server}/modules/openid/.gitignore     |    0
 .../{ => server}/modules/openid/serv_openid_rp.c   |   18 +-
 citadel/{ => server}/modules/pop3/.gitignore       |    0
 citadel/{ => server}/modules/pop3/serv_pop3.c      |   30 +-
 citadel/{ => server}/modules/pop3/serv_pop3.h      |    0
 citadel/{ => server}/modules/pop3client/.gitignore |    0
 .../modules/pop3client/serv_pop3client.c           |   34 +-
 citadel/{ => server}/modules/roomchat/.gitignore   |    0
 .../{ => server}/modules/roomchat/serv_roomchat.c  |   26 +-
 citadel/{ => server}/modules/rssclient/.gitignore  |    0
 .../modules/rssclient/serv_rssclient.c             |   34 +-
 citadel/{ => server}/modules/rwho/.gitignore       |    0
 citadel/{ => server}/modules/rwho/serv_rwho.c      |   30 +-
 citadel/{ => server}/modules/smtp/.gitignore       |    0
 citadel/{ => server}/modules/smtp/serv_smtp.c      |   39 +-
 .../{ => server}/modules/smtp/serv_smtpclient.c    |   29 +-
 citadel/{ => server}/modules/smtp/smtp_util.c      |   36 +-
 citadel/{ => server}/modules/smtp/smtp_util.h      |    0
 citadel/{ => server}/modules/spam/.gitignore       |    0
 citadel/{ => server}/modules/spam/serv_spam.c      |   36 +-
 citadel/{ => server}/modules/test/.gitignore       |    0
 citadel/{ => server}/modules/test/serv_test.c      |   44 +-
 citadel/{ => server}/modules/upgrade/.gitignore    |    0
 .../{ => server}/modules/upgrade/serv_upgrade.c    |   40 +-
 .../{ => server}/modules/upgrade/serv_upgrade.h    |    0
 citadel/{ => server}/modules/vcard/.gitignore      |    0
 citadel/{ => server}/modules/vcard/serv_vcard.c    |   38 +-
 citadel/{ => server}/modules/wiki/.gitignore       |    0
 citadel/{ => server}/modules/wiki/serv_wiki.c      |   40 +-
 citadel/{ => server}/modules/xmpp/.gitignore       |    0
 citadel/{ => server}/modules/xmpp/serv_xmpp.c      |   27 +-
 citadel/{ => server}/modules/xmpp/serv_xmpp.h      |    0
 citadel/{ => server}/modules/xmpp/xmpp_messages.c  |   16 +-
 citadel/{ => server}/modules/xmpp/xmpp_presence.c  |   16 +-
 .../modules/xmpp/xmpp_query_namespace.c            |   16 +-
 citadel/{ => server}/modules/xmpp/xmpp_queue.c     |   16 +-
 .../{ => server}/modules/xmpp/xmpp_sasl_service.c  |   18 +-
 citadel/server/modules_init.c                      |   75 +
 citadel/server/modules_init.h                      |   64 +
 citadel/{ => server}/msgbase.c                     |   13 +-
 citadel/{ => server}/msgbase.h                     |    2 +-
 citadel/{ => server}/netconfig.c                   |   10 +-
 citadel/{ => server}/parsedate.c                   |    0
 citadel/{ => server}/parsedate.h                   |    0
 citadel/{ => server}/parsedate.y                   |    0
 citadel/{ => server}/room_ops.c                    |    1 -
 citadel/{ => server}/room_ops.h                    |    7 +-
 citadel/{ => server}/serv_extensions.c             |    0
 citadel/{ => server}/serv_extensions.h             |    0
 citadel/{ => server}/serv_vcard.h                  |    0
 citadel/{ => server}/server.h                      |    0
 citadel/{ => server}/server_main.c                 |    7 +-
 citadel/{ => server}/support.c                     |    0
 citadel/{ => server}/support.h                     |    0
 citadel/{ => server}/sysconfig.h                   |    0
 citadel/{ => server}/sysdep.c                      |    0
 citadel/server/sysdep.h                            |  349 ++++
 citadel/{ => server}/sysdep_decls.h                |    0
 citadel/{ => server}/threads.c                     |    2 +-
 citadel/{ => server}/threads.h                     |    0
 citadel/{ => server}/typesize.h                    |    0
 citadel/{ => server}/user_ops.c                    |    0
 citadel/{ => server}/user_ops.h                    |    0
 citadel/svn_revision.h                             |    5 -
 182 files changed, 1325 insertions(+), 4868 deletions(-)
 create mode 100644 citadel/Makefile
 delete mode 100644 citadel/config.guess
 delete mode 100644 citadel/config.sub
 copy {textclient => citadel}/configure (80%)
 delete mode 100755 citadel/missing
 delete mode 100644 citadel/modules/blog/serv_blog.c
 delete mode 100755 citadel/scripts/mk_svn_revision.sh
 rename citadel/{ => server}/citadel.h (100%)
 rename citadel/{ => server}/citadel_dirs.c (100%)
 rename citadel/{ => server}/citadel_dirs.h (100%)
 rename citadel/{ => server}/citadel_ldap.h (100%)
 rename citadel/{ => server}/citserver.c (99%)
 rename citadel/{ => server}/citserver.h (100%)
 rename citadel/{ => server}/clientsocket.c (100%)
 rename citadel/{ => server}/clientsocket.h (100%)
 rename citadel/{ => server}/config.c (100%)
 rename citadel/{ => server}/config.h (100%)
 rename citadel/{ => server}/context.c (100%)
 rename citadel/{ => server}/context.h (100%)
 rename citadel/{ => server}/control.c (99%)
 rename citadel/{ => server}/control.h (100%)
 rename citadel/{ => server}/ctdl_module.h (99%)
 rename citadel/{ => server}/database.c (98%)
 rename citadel/{ => server}/database.h (100%)
 rename citadel/{ => server}/default_timezone.c (100%)
 rename citadel/{ => server}/default_timezone.h (100%)
 rename citadel/{ => server}/domain.c (100%)
 rename citadel/{ => server}/domain.h (100%)
 rename citadel/{ => server}/euidindex.c (98%)
 rename citadel/{ => server}/euidindex.h (100%)
 rename citadel/{ => server}/genstamp.c (100%)
 rename citadel/{ => server}/genstamp.h (100%)
 rename citadel/{ => server}/housekeeping.c (100%)
 rename citadel/{ => server}/housekeeping.h (100%)
 rename citadel/{ => server}/internet_addressing.c (99%)
 rename citadel/{ => server}/internet_addressing.h (100%)
 rename citadel/{ => server}/ipcdef.h (100%)
 rename citadel/{ => server}/journaling.c (100%)
 rename citadel/{ => server}/journaling.h (100%)
 rename citadel/{ => server}/ldap.c (98%)
 rename citadel/{ => server}/locate_host.c (100%)
 rename citadel/{ => server}/locate_host.h (100%)
 rename citadel/{ => server}/modules/autocompletion/.gitignore (100%)
 rename citadel/{ => server}/modules/autocompletion/serv_autocompletion.c (96%)
 rename citadel/{ => server}/modules/autocompletion/serv_autocompletion.h (100%)
 rename citadel/{ => server}/modules/bio/.gitignore (100%)
 rename citadel/{ => server}/modules/bio/serv_bio.c (96%)
 create mode 100644 citadel/server/modules/blog/serv_blog.c
 rename citadel/{ => server}/modules/calendar/.gitignore (100%)
 rename citadel/{ => server}/modules/calendar/serv_calendar.c (99%)
 rename citadel/{ => server}/modules/calendar/serv_calendar.h (100%)
 rename citadel/{ => server}/modules/checkpoint/.gitignore (100%)
 rename citadel/{ => server}/modules/checkpoint/serv_checkpoint.c (65%)
 rename citadel/{ => server}/modules/clamav/.gitignore (100%)
 rename citadel/{ => server}/modules/clamav/serv_virus.c (89%)
 rename citadel/{ => server}/modules/crypto/.gitignore (100%)
 rename citadel/{ => server}/modules/crypto/serv_crypto.c (98%)
 rename citadel/{ => server}/modules/crypto/serv_crypto.h (100%)
 rename citadel/{ => server}/modules/ctdlproto/files.h (100%)
 rename citadel/{ => server}/modules/ctdlproto/serv_ctdlproto.c (96%)
 rename citadel/{ => server}/modules/ctdlproto/serv_file.c (98%)
 rename citadel/{ => server}/modules/ctdlproto/serv_messages.c (99%)
 rename citadel/{ => server}/modules/ctdlproto/serv_rooms.c (99%)
 rename citadel/{ => server}/modules/ctdlproto/serv_session.c (96%)
 rename citadel/{ => server}/modules/ctdlproto/serv_syscmds.c (93%)
 rename citadel/{ => server}/modules/ctdlproto/serv_user.c (98%)
 rename citadel/{ => server}/modules/expire/.gitignore (100%)
 rename citadel/{ => server}/modules/expire/expire_policy.c (93%)
 rename citadel/{ => server}/modules/expire/policy.h (100%)
 rename citadel/{ => server}/modules/expire/serv_expire.c (98%)
 rename citadel/{ => server}/modules/fulltext/.gitignore (100%)
 rename citadel/{ => server}/modules/fulltext/crc16.c (100%)
 rename citadel/{ => server}/modules/fulltext/crc16.h (100%)
 rename citadel/{ => server}/modules/fulltext/ft_wordbreaker.c (92%)
 rename citadel/{ => server}/modules/fulltext/ft_wordbreaker.h (100%)
 rename citadel/{ => server}/modules/fulltext/serv_fulltext.c (96%)
 rename citadel/{ => server}/modules/fulltext/serv_fulltext.h (100%)
 rename citadel/{ => server}/modules/image/serv_image.c (98%)
 rename citadel/{ => server}/modules/imap/.gitignore (100%)
 rename citadel/{ => server}/modules/imap/imap_acl.c (95%)
 rename citadel/{ => server}/modules/imap/imap_acl.h (100%)
 rename citadel/{ => server}/modules/imap/imap_fetch.c (99%)
 rename citadel/{ => server}/modules/imap/imap_fetch.h (100%)
 rename citadel/{ => server}/modules/imap/imap_list.c (96%)
 rename citadel/{ => server}/modules/imap/imap_list.h (100%)
 rename citadel/{ => server}/modules/imap/imap_metadata.c (95%)
 rename citadel/{ => server}/modules/imap/imap_metadata.h (100%)
 rename citadel/{ => server}/modules/imap/imap_misc.c (95%)
 rename citadel/{ => server}/modules/imap/imap_misc.h (100%)
 rename citadel/{ => server}/modules/imap/imap_search.c (97%)
 rename citadel/{ => server}/modules/imap/imap_search.h (100%)
 rename citadel/{ => server}/modules/imap/imap_store.c (94%)
 rename citadel/{ => server}/modules/imap/imap_store.h (100%)
 rename citadel/{ => server}/modules/imap/imap_tools.c (99%)
 rename citadel/{ => server}/modules/imap/imap_tools.h (100%)
 rename citadel/{ => server}/modules/imap/serv_imap.c (98%)
 rename citadel/{ => server}/modules/imap/serv_imap.h (100%)
 rename citadel/{ => server}/modules/inboxrules/.gitignore (100%)
 rename citadel/{ => server}/modules/inboxrules/serv_inboxrules.c (98%)
 rename citadel/{ => server}/modules/inetcfg/.gitignore (100%)
 rename citadel/{ => server}/modules/inetcfg/serv_inetcfg.c (86%)
 rename citadel/{ => server}/modules/instmsg/.gitignore (100%)
 rename citadel/{ => server}/modules/instmsg/serv_instmsg.c (97%)
 rename citadel/{ => server}/modules/instmsg/serv_instmsg.h (92%)
 rename citadel/{ => server}/modules/listdeliver/serv_listdeliver.c (95%)
 rename citadel/{ => server}/modules/listsub/.gitignore (100%)
 rename citadel/{ => server}/modules/listsub/serv_listsub.c (96%)
 rename citadel/{ => server}/modules/migrate/.gitignore (100%)
 rename citadel/{ => server}/modules/migrate/serv_migrate.c (98%)
 rename citadel/{ => server}/modules/newuser/.gitignore (100%)
 rename citadel/{ => server}/modules/newuser/serv_newuser.c (84%)
 rename citadel/{ => server}/modules/nntp/serv_nntp.c (97%)
 rename citadel/{ => server}/modules/nntp/serv_nntp.h (100%)
 rename citadel/{ => server}/modules/nntp/wildmat.c (100%)
 rename citadel/{ => server}/modules/notes/.gitignore (100%)
 rename citadel/{ => server}/modules/notes/serv_notes.c (90%)
 rename citadel/{ => server}/modules/openid/.gitignore (100%)
 rename citadel/{ => server}/modules/openid/serv_openid_rp.c (99%)
 rename citadel/{ => server}/modules/pop3/.gitignore (100%)
 rename citadel/{ => server}/modules/pop3/serv_pop3.c (97%)
 rename citadel/{ => server}/modules/pop3/serv_pop3.h (100%)
 rename citadel/{ => server}/modules/pop3client/.gitignore (100%)
 rename citadel/{ => server}/modules/pop3client/serv_pop3client.c (93%)
 rename citadel/{ => server}/modules/roomchat/.gitignore (100%)
 rename citadel/{ => server}/modules/roomchat/serv_roomchat.c (93%)
 rename citadel/{ => server}/modules/rssclient/.gitignore (100%)
 rename citadel/{ => server}/modules/rssclient/serv_rssclient.c (95%)
 rename citadel/{ => server}/modules/rwho/.gitignore (100%)
 rename citadel/{ => server}/modules/rwho/serv_rwho.c (90%)
 rename citadel/{ => server}/modules/smtp/.gitignore (100%)
 rename citadel/{ => server}/modules/smtp/serv_smtp.c (98%)
 rename citadel/{ => server}/modules/smtp/serv_smtpclient.c (97%)
 rename citadel/{ => server}/modules/smtp/smtp_util.c (94%)
 rename citadel/{ => server}/modules/smtp/smtp_util.h (100%)
 rename citadel/{ => server}/modules/spam/.gitignore (100%)
 rename citadel/{ => server}/modules/spam/serv_spam.c (89%)
 rename citadel/{ => server}/modules/test/.gitignore (100%)
 rename citadel/{ => server}/modules/test/serv_test.c (54%)
 rename citadel/{ => server}/modules/upgrade/.gitignore (100%)
 rename citadel/{ => server}/modules/upgrade/serv_upgrade.c (97%)
 rename citadel/{ => server}/modules/upgrade/serv_upgrade.h (100%)
 rename citadel/{ => server}/modules/vcard/.gitignore (100%)
 rename citadel/{ => server}/modules/vcard/serv_vcard.c (98%)
 rename citadel/{ => server}/modules/wiki/.gitignore (100%)
 rename citadel/{ => server}/modules/wiki/serv_wiki.c (96%)
 rename citadel/{ => server}/modules/xmpp/.gitignore (100%)
 rename citadel/{ => server}/modules/xmpp/serv_xmpp.c (97%)
 rename citadel/{ => server}/modules/xmpp/serv_xmpp.h (100%)
 rename citadel/{ => server}/modules/xmpp/xmpp_messages.c (91%)
 rename citadel/{ => server}/modules/xmpp/xmpp_presence.c (97%)
 rename citadel/{ => server}/modules/xmpp/xmpp_query_namespace.c (96%)
 rename citadel/{ => server}/modules/xmpp/xmpp_queue.c (93%)
 rename citadel/{ => server}/modules/xmpp/xmpp_sasl_service.c (93%)
 create mode 100644 citadel/server/modules_init.c
 create mode 100644 citadel/server/modules_init.h
 rename citadel/{ => server}/msgbase.c (99%)
 rename citadel/{ => server}/msgbase.h (98%)
 rename citadel/{ => server}/netconfig.c (97%)
 rename citadel/{ => server}/parsedate.c (100%)
 rename citadel/{ => server}/parsedate.h (100%)
 rename citadel/{ => server}/parsedate.y (100%)
 rename citadel/{ => server}/room_ops.c (99%)
 rename citadel/{ => server}/room_ops.h (85%)
 rename citadel/{ => server}/serv_extensions.c (100%)
 rename citadel/{ => server}/serv_extensions.h (100%)
 rename citadel/{ => server}/serv_vcard.h (100%)
 rename citadel/{ => server}/server.h (100%)
 rename citadel/{ => server}/server_main.c (98%)
 rename citadel/{ => server}/support.c (100%)
 rename citadel/{ => server}/support.h (100%)
 rename citadel/{ => server}/sysconfig.h (100%)
 rename citadel/{ => server}/sysdep.c (100%)
 create mode 100644 citadel/server/sysdep.h
 rename citadel/{ => server}/sysdep_decls.h (100%)
 rename citadel/{ => server}/threads.c (99%)
 rename citadel/{ => server}/threads.h (100%)
 rename citadel/{ => server}/typesize.h (100%)
 rename citadel/{ => server}/user_ops.c (100%)
 rename citadel/{ => server}/user_ops.h (100%)
 delete mode 100644 citadel/svn_revision.h


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099302084</link><pubDate>Mon, 30 May 2022 18:33:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v951-1-g2e4e67a1f</title><guid isPermaLink="false">2099302084@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2e4e67a1f7f65568abace99d13a71024ad06ebde (commit)
      from  29ae62802a22ca01e54ed5bce4e7da54eefb74e0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2e4e67a1f7f65568abace99d13a71024ad06ebde
commit 2e4e67a1f7f65568abace99d13a71024ad06ebde
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 30 18:33:41 2022 -0400

    removed some debugs

-----------------------------------------------------------------------

Summary of changes:
 citadel/chkpw.c              |  3 +--
 citadel/ldap.c               | 11 +++++++++++
 citadel/msgbase.c            |  9 ++-------
 libcitadel/lib/mime_parser.c |  2 --
 4 files changed, 14 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099301577</link><pubDate>Mon, 23 May 2022 15:57:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v951 created. v951</title><guid isPermaLink="false">2099301577@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v951 has been created
        at  50e1cb73fd641243cbb007dd1f62f46647576c58 (tag)
   tagging  29ae62802a22ca01e54ed5bce4e7da54eefb74e0 (commit)
  replaces  v950
 tagged by  Art Cancro
        on  Mon May 23 20:57:40 2022 +0100

- Log -----------------------------------------------------------------
Version 951 release

Art Cancro (10):
      Meow meow!  Applied patches sent by LadySerenaKitty for improved FreeBSD compatibility.
      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.
      Fixed a buffer size calculation that caused uploads to crash on memory-constrained systems such as raspberry pi.
      Found another vestige of ignet to remove
      Temporarily added some debugs and an assert() statement to show where the message buffer is getting truncated during large reads on low memory systems.
      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.
      comment style
      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.
      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.
      Release version 951 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099301576</link><pubDate>Mon, 23 May 2022 15:57:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-10-g29ae62802</title><guid isPermaLink="false">2099301576@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  29ae62802a22ca01e54ed5bce4e7da54eefb74e0 (commit)
      from  48bcbd11180a2bde2122f774e411f938ff85e1a6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=29ae62802a22ca01e54ed5bce4e7da54eefb74e0
commit 29ae62802a22ca01e54ed5bce4e7da54eefb74e0
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 23 20:57:40 2022 +0100

    Release version 951 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h           | 2 +-
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099301575</link><pubDate>Mon, 23 May 2022 15:57:36 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-9-g48bcbd111</title><guid isPermaLink="false">2099301575@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  48bcbd11180a2bde2122f774e411f938ff85e1a6 (commit)
      from  4e9da56d81a0bf3977a37640e0db30112d37e7c5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=48bcbd11180a2bde2122f774e411f938ff85e1a6
commit 48bcbd11180a2bde2122f774e411f938ff85e1a6
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 23 20:56:39 2022 +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.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/Makefile.in                             |     13 +-
 libcitadel/configure.in                            |      3 +-
 libcitadel/lib/b64/AUTHORS                         |      7 -
 libcitadel/lib/b64/LICENSE                         |     29 -
 libcitadel/lib/b64/README                          |    138 -
 libcitadel/lib/b64/cdecode.c                       |     88 -
 libcitadel/lib/b64/cdecode.h                       |     28 -
 libcitadel/lib/b64/cencode.c                       |    107 -
 libcitadel/lib/b64/cencode.h                       |     31 -
 libcitadel/lib/base64.c                            |    178 +
 libcitadel/lib/libcitadel.h                        |      6 +-
 libcitadel/lib/stringbuf.c                         |   1159 +-
 libcitadel/lib/tools.c                             |    242 +-
 libcitadel/tests/.gitignore                        |      9 -
 libcitadel/tests/Makefile.in                       |    113 -
 libcitadel/tests/dolcov.sh                         |     20 -
 libcitadel/tests/hashlist_test.c                   |    335 -
 libcitadel/tests/html_to_ascii_test.c              |    237 -
 libcitadel/tests/mime_xdg_lookup_type.c            |    113 -
 libcitadel/tests/mimeparser_test.c                 |    272 -
 libcitadel/tests/run_tests.sh                      |     71 -
 libcitadel/tests/stringbuf_IO_test.c               |    480 -
 libcitadel/tests/stringbuf_conversion.c            |    481 -
 libcitadel/tests/stringbuf_stream.c                |    166 -
 libcitadel/tests/stringbuf_test.c                  |    650 -
 libcitadel/tests/stringbuf_test.h                  |     15 -
 libcitadel/tests/stripallbut_test.c                |    145 -
 .../emailaddresses/email_recipientstrings.txt      |     10 -
 libcitadel/tests/testdata/html/entitystrings.txt   |      2 -
 libcitadel/tests/testdata/mime/badmsg.eml          |    145 -
 libcitadel/tests/testdata/mime/browser.mime        |    Bin 9563 -> 0 bytes
 libcitadel/tests/testdata/mime/bumperstickers.eml  |  16841 ---
 libcitadel/tests/testdata/mime/endlessloop.eml     |    716 -
 libcitadel/tests/testdata/mime/karsten_1.eml       | 101352 ------------------
 libcitadel/tests/testdata/mime/karsten_2.eml       |  90974 ----------------
 .../mime/mail_with_multiple_attachments.eml        |  13548 ---
 .../tests/testdata/mime/mime_with_base64.eml       |    618 -
 libcitadel/tests/testdata/mime/mortorary.eml       |     60 -
 .../tests/testdata/mime/post_mimecontainer.mime    |    228 -
 .../tests/testdata/mime/qp_with_extra_blanks.eml   |     75 -
 libcitadel/tests/testdata/mime/spam_GB2312.eml     |   2434 -
 .../tests/testdata/mime/spam_iso-2022-jp.eml       |    322 -
 libcitadel/tests/testdata/mime/spam_koir8-r.eml    |    100 -
 libcitadel/tests/testdata/mime/spam_utf8.eml       |     79 -
 .../tests/testdata/mime/spam_windows-1255.eml      |     98 -
 .../tests/testdata/mime/spam_windows-1255_2.eml    |     90 -
 .../tests/testdata/mime/spam_windows-874.eml       |     40 -
 .../testdata/mime/vcard_hides_message_content.eml  |    201 -
 libcitadel/tests/testdata/qpstrings/list           |      2 -
 libcitadel/tests/token_test.c                      |     26 -
 libcitadel/tests/wildfire_test.c                   |    111 -
 webcit/messages.c                                  |     11 -
 52 files changed, 745 insertions(+), 232474 deletions(-)
 delete mode 100644 libcitadel/lib/b64/AUTHORS
 delete mode 100644 libcitadel/lib/b64/LICENSE
 delete mode 100644 libcitadel/lib/b64/README
 delete mode 100644 libcitadel/lib/b64/cdecode.c
 delete mode 100644 libcitadel/lib/b64/cdecode.h
 delete mode 100644 libcitadel/lib/b64/cencode.c
 delete mode 100644 libcitadel/lib/b64/cencode.h
 create mode 100644 libcitadel/lib/base64.c
 delete mode 100644 libcitadel/tests/.gitignore
 delete mode 100644 libcitadel/tests/Makefile.in
 delete mode 100644 libcitadel/tests/dolcov.sh
 delete mode 100644 libcitadel/tests/hashlist_test.c
 delete mode 100644 libcitadel/tests/html_to_ascii_test.c
 delete mode 100644 libcitadel/tests/mime_xdg_lookup_type.c
 delete mode 100644 libcitadel/tests/mimeparser_test.c
 delete mode 100755 libcitadel/tests/run_tests.sh
 delete mode 100644 libcitadel/tests/stringbuf_IO_test.c
 delete mode 100644 libcitadel/tests/stringbuf_conversion.c
 delete mode 100644 libcitadel/tests/stringbuf_stream.c
 delete mode 100644 libcitadel/tests/stringbuf_test.c
 delete mode 100644 libcitadel/tests/stringbuf_test.h
 delete mode 100644 libcitadel/tests/stripallbut_test.c
 delete mode 100644 libcitadel/tests/testdata/emailaddresses/email_recipientstrings.txt
 delete mode 100644 libcitadel/tests/testdata/html/entitystrings.txt
 delete mode 100644 libcitadel/tests/testdata/mime/badmsg.eml
 delete mode 100644 libcitadel/tests/testdata/mime/browser.mime
 delete mode 100644 libcitadel/tests/testdata/mime/bumperstickers.eml
 delete mode 100644 libcitadel/tests/testdata/mime/endlessloop.eml
 delete mode 100644 libcitadel/tests/testdata/mime/karsten_1.eml
 delete mode 100644 libcitadel/tests/testdata/mime/karsten_2.eml
 delete mode 100644 libcitadel/tests/testdata/mime/mail_with_multiple_attachments.eml
 delete mode 100644 libcitadel/tests/testdata/mime/mime_with_base64.eml
 delete mode 100644 libcitadel/tests/testdata/mime/mortorary.eml
 delete mode 100644 libcitadel/tests/testdata/mime/post_mimecontainer.mime
 delete mode 100644 libcitadel/tests/testdata/mime/qp_with_extra_blanks.eml
 delete mode 100644 libcitadel/tests/testdata/mime/spam_GB2312.eml
 delete mode 100644 libcitadel/tests/testdata/mime/spam_iso-2022-jp.eml
 delete mode 100644 libcitadel/tests/testdata/mime/spam_koir8-r.eml
 delete mode 100644 libcitadel/tests/testdata/mime/spam_utf8.eml
 delete mode 100644 libcitadel/tests/testdata/mime/spam_windows-1255.eml
 delete mode 100644 libcitadel/tests/testdata/mime/spam_windows-1255_2.eml
 delete mode 100644 libcitadel/tests/testdata/mime/spam_windows-874.eml
 delete mode 100644 libcitadel/tests/testdata/mime/vcard_hides_message_content.eml
 delete mode 100644 libcitadel/tests/testdata/qpstrings/list
 delete mode 100644 libcitadel/tests/token_test.c
 delete mode 100644 libcitadel/tests/wildfire_test.c


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099301472</link><pubDate>Sat, 21 May 2022 12:55:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-8-g4e9da56d8</title><guid isPermaLink="false">2099301472@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4e9da56d81a0bf3977a37640e0db30112d37e7c5 (commit)
      from  c06a778e93095d5ec83f4fd58e2d7d8a0d1191e8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4e9da56d81a0bf3977a37640e0db30112d37e7c5
commit 4e9da56d81a0bf3977a37640e0db30112d37e7c5
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 21 17:55:44 2022 +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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/msgbase.c            |  92 ++++++++++++++++----------------
 libcitadel/lib/mime_parser.c | 123 +++++++++++++++++--------------------------
 2 files changed, 95 insertions(+), 120 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099301406</link><pubDate>Fri, 20 May 2022 19:47:39 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-7-gc06a778e9</title><guid isPermaLink="false">2099301406@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c06a778e93095d5ec83f4fd58e2d7d8a0d1191e8 (commit)
      from  c997e60cc46af764600014690b26a04cf61fd84c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c06a778e93095d5ec83f4fd58e2d7d8a0d1191e8
commit c06a778e93095d5ec83f4fd58e2d7d8a0d1191e8
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 21 00:47:35 2022 +0100

    comment style

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/ctdlproto/serv_messages.c |  71 +++++++++------------
 libcitadel/lib/stringbuf.c                | 101 ++++++------------------------
 webcit/messages.c                         |  18 +++---
 3 files changed, 59 insertions(+), 131 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099301205</link><pubDate>Wed, 18 May 2022 15:52:23 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-6-gc997e60cc</title><guid isPermaLink="false">2099301205@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c997e60cc46af764600014690b26a04cf61fd84c (commit)
      from  1b7c84abfae9f45e7f0c0d8d95b588407c1fd239 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c997e60cc46af764600014690b26a04cf61fd84c
commit c997e60cc46af764600014690b26a04cf61fd84c
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 18 20:52:09 2022 +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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c |  42 ++++-----
 citadel/msgbase.c                            |  37 ++++----
 libcitadel/lib/stringbuf.c                   | 124 ++++++++++++---------------
 3 files changed, 89 insertions(+), 114 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099301117</link><pubDate>Tue, 17 May 2022 14:03:14 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-5-g1b7c84abf</title><guid isPermaLink="false">2099301117@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1b7c84abfae9f45e7f0c0d8d95b588407c1fd239 (commit)
      from  8466d8b28b351b312de94daa6ed216294fbb601c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1b7c84abfae9f45e7f0c0d8d95b588407c1fd239
commit 1b7c84abfae9f45e7f0c0d8d95b588407c1fd239
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 17 19:03:11 2022 +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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/ctdlproto/serv_messages.c |  7 +++----
 citadel/msgbase.c                         | 20 +++++++++++++++-----
 2 files changed, 18 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099301110</link><pubDate>Tue, 17 May 2022 13:13:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-4-g8466d8b28</title><guid isPermaLink="false">2099301110@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8466d8b28b351b312de94daa6ed216294fbb601c (commit)
      from  6b517eab4dc0dfbc5a65a8195489e784e43cf26a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8466d8b28b351b312de94daa6ed216294fbb601c
commit 8466d8b28b351b312de94daa6ed216294fbb601c
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 17 18:13:08 2022 +0100

    Found another vestige of ignet to remove

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/ctdlproto/serv_messages.c |  8 +++-----
 citadel/msgbase.c                         |  4 ++--
 citadel/server.h                          |  1 -
 webcit/messages.c                         | 13 +++++++------
 4 files changed, 12 insertions(+), 14 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099301013</link><pubDate>Mon, 16 May 2022 11:27:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-3-g6b517eab4</title><guid isPermaLink="false">2099301013@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6b517eab4dc0dfbc5a65a8195489e784e43cf26a (commit)
      from  335f95461c1dc7ab3ea3707079f96f33e16b0c9d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6b517eab4dc0dfbc5a65a8195489e784e43cf26a
commit 6b517eab4dc0dfbc5a65a8195489e784e43cf26a
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 16 16:26:52 2022 +0100

    Fixed a buffer size calculation that caused uploads to crash on memory-constrained systems such as raspberry pi.

-----------------------------------------------------------------------

Summary of changes:
 webcit/messages.c | 249 +++++++++++++++++++++++++++++-------------------------
 1 file changed, 133 insertions(+), 116 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099299973</link><pubDate>Mon, 02 May 2022 19:44:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-2-g335f95461</title><guid isPermaLink="false">2099299973@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  335f95461c1dc7ab3ea3707079f96f33e16b0c9d (commit)
      from  eac17f31d1a19eb5b1db674e17c4f2dda87181f1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=335f95461c1dc7ab3ea3707079f96f33e16b0c9d
commit 335f95461c1dc7ab3ea3707079f96f33e16b0c9d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon May 2 19:43:17 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/ldap.c                       |   9 +-
 citadel/modules/expire/serv_expire.c | 270 +++++++++++++++--------------------
 2 files changed, 116 insertions(+), 163 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099298919</link><pubDate>Tue, 19 Apr 2022 20:03:40 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v950-1-geac17f31d</title><guid isPermaLink="false">2099298919@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  eac17f31d1a19eb5b1db674e17c4f2dda87181f1 (commit)
      from  5aef179c6636b497db509e268b8c8426ce123d52 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=eac17f31d1a19eb5b1db674e17c4f2dda87181f1
commit eac17f31d1a19eb5b1db674e17c4f2dda87181f1
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 19 20:03:36 2022 -0400

    Meow meow!  Applied patches sent by LadySerenaKitty for improved FreeBSD compatibility.

-----------------------------------------------------------------------

Summary of changes:
 citadel/clientsocket.c             |  3 +++
 citadel/domain.c                   |  3 +++
 citadel/missing                    |  0
 citadel/modules/nntp/serv_nntp.c   |  6 ++++++
 citadel/scripts/mk_module_init.sh  |  2 +-
 citadel/scripts/mk_svn_revision.sh |  2 +-
 libcitadel/conftools/libtool.m4    |  8 ++++----
 textclient/citadel.rc              |  5 +++--
 textclient/commands.c              |  3 +++
 textclient/configure               |  4 ++--
 webcit/fmt_date.c                  |  4 ++++
 webcit/http_datestring.c           |  4 ++++
 webcit/scripts/get_ical_data.sh    | 12 +++++++-----
 13 files changed, 41 insertions(+), 15 deletions(-)
 mode change 100644 => 100755 citadel/missing


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099297741</link><pubDate>Sat, 09 Apr 2022 16:17:57 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v950 created. v950</title><guid isPermaLink="false">2099297741@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v950 has been created
        at  81f515cc6bacddc54b4be67d23414050e0291288 (tag)
   tagging  5aef179c6636b497db509e268b8c8426ce123d52 (commit)
  replaces  v949
 tagged by  Art Cancro
        on  Sat Apr 9 16:17:42 2022 -0400

- Log -----------------------------------------------------------------
Version 950 release

Art Cancro (50):
      Seed the random number generator before the config system is initialized.
      Generate a random 100-byte string to be used as a host key for hashing various things.
      Big change to mailing list subscription/unsubscription!
      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.
      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.
      banner change
      A little more cosmetic work on the login modal. Still not in its final ultra-pretty form but it looks semi-presentable now.
      Simplified the logout javascript
      ok, that function needed to be async
      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.
      Explain in comments how the connection pool works.
      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"
      Set up a "new item" dispatcher so it can be different for each view
      The "Post message" button in forum view is now active.
      Tweaked the icons a bit
      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.
      room list renderer is now aware of which rooms are forum view:
      /ctdl/f/ to get a list of all floors
      Sort room list by floor but also put them in different divs
      /ctdl/r/<room_name>/info.txt now fetches the room info banner
      ctdl-roomlist-floor class for the floor banner over each floor's room list
      more divs
      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.
      Made the bubble icons in the Forums list round, and colored differently based on the presence of new messages.
      Rooms in the Forums List are now clickable anywhere in the box, not just the room name.
      Now it has a button look.
      "Forum list" is now more or less in its final form.
      More gratuitous style cleanup.
      Re-encode the auth cookie with the properly formatted user name.  This makes the client side parse it properly.
      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.
      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.
      Keep track of the last message number we saw
      Client side of SLRP is done
      Skip/Goto are functionally complete.
      Anything that looks like a button should act like a button. Anything that acts like a button should look like a button.
      moved vars to vars.js
      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.
      Upgrade W3.CSS to version 4.15
      Use the w3-badge class for circular badges instead of rounding them manually in the stylesheet.
      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.
      Tuned up some of the iconography
      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.
      some comments
      click on the envelope to go to the inbox
      Wowzers!  Copied the login modal example from the w3css web site.  Looks better than what I did ... of course.
      Click on a user or their avatar to go to their profile from the forum view
      derive_uid_from_ldap() converted to use ldap_get_values_len() which is not deprecated
      Updated LDAP code to be compatible with more modern OpenLDAP API
      Improved compatibility with POSIX LDAP Schema.  Tested with FreeIPA demo site.
      Release version 950 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099297740</link><pubDate>Sat, 09 Apr 2022 16:17:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-50-g5aef179c6</title><guid isPermaLink="false">2099297740@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5aef179c6636b497db509e268b8c8426ce123d52 (commit)
      from  4d9efe553ad7b5cb342482397148c058b880d334 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5aef179c6636b497db509e268b8c8426ce123d52
commit 5aef179c6636b497db509e268b8c8426ce123d52
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Apr 9 16:17:42 2022 -0400

    Release version 950 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h           | 2 +-
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099297739</link><pubDate>Sat, 09 Apr 2022 16:17:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-49-g4d9efe553</title><guid isPermaLink="false">2099297739@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4d9efe553ad7b5cb342482397148c058b880d334 (commit)
      from  3d018ab3a73445da89c41efdaaa986de1b12a034 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4d9efe553ad7b5cb342482397148c058b880d334
commit 4d9efe553ad7b5cb342482397148c058b880d334
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Apr 9 16:17:09 2022 -0400

    Improved compatibility with POSIX LDAP Schema.  Tested with FreeIPA demo site.

-----------------------------------------------------------------------

Summary of changes:
 citadel/ldap.c | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099297657</link><pubDate>Fri, 08 Apr 2022 19:13:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-48-g3d018ab3a</title><guid isPermaLink="false">2099297657@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3d018ab3a73445da89c41efdaaa986de1b12a034 (commit)
       via  443e28bffb93d19bee5f23b6ab7eb3e4c5db05be (commit)
       via  79412060b67837fa9abf382f2b5ad7549aacff37 (commit)
       via  e1db8dc1018a6be544dcbfd2901e30eac6769bdb (commit)
       via  19710bbd0199cdd1418a3b885a1f7ab33eb9093a (commit)
       via  9e4c8ba1d0926e41409cfe6c584215a90c952600 (commit)
      from  d4237cff951d6f2589f7ecfcc1861b874e53352e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3d018ab3a73445da89c41efdaaa986de1b12a034
commit 3d018ab3a73445da89c41efdaaa986de1b12a034
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 8 19:13:04 2022 -0400

    Updated LDAP code to be compatible with more modern OpenLDAP API

http://code.citadel.org/?p=citadel.git&a=commit&h=443e28bffb93d19bee5f23b6ab7eb3e4c5db05be
commit 443e28bffb93d19bee5f23b6ab7eb3e4c5db05be
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Mar 12 15:47:10 2022 -0500

    derive_uid_from_ldap() converted to use ldap_get_values_len() which is not deprecated

http://code.citadel.org/?p=citadel.git&a=commit&h=79412060b67837fa9abf382f2b5ad7549aacff37
commit 79412060b67837fa9abf382f2b5ad7549aacff37
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Mar 5 18:30:15 2022 -0500

    Click on a user or their avatar to go to their profile from the forum view

http://code.citadel.org/?p=citadel.git&a=commit&h=e1db8dc1018a6be544dcbfd2901e30eac6769bdb
commit e1db8dc1018a6be544dcbfd2901e30eac6769bdb
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 27 13:34:35 2022 -0500

    Wowzers!  Copied the login modal example from the w3css web site.  Looks better than what I did ... of course.

http://code.citadel.org/?p=citadel.git&a=commit&h=19710bbd0199cdd1418a3b885a1f7ab33eb9093a
commit 19710bbd0199cdd1418a3b885a1f7ab33eb9093a
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 27 12:23:21 2022 -0500

    click on the envelope to go to the inbox

http://code.citadel.org/?p=citadel.git&a=commit&h=9e4c8ba1d0926e41409cfe6c584215a90c952600
commit 9e4c8ba1d0926e41409cfe6c584215a90c952600
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 26 16:42:40 2022 -0500

    some comments

-----------------------------------------------------------------------

Summary of changes:
 citadel/ldap.c                      | 431 +++++++++++++++++-------------------
 citadel/modules/vcard/serv_vcard.c  |   2 +-
 textclient/messages.c               |  17 +-
 webcit-ng/api.txt                   |   2 +-
 webcit-ng/ctdlclient.c              |   6 +-
 webcit-ng/forum_view.c              |   5 +-
 webcit-ng/http.c                    |   6 +
 webcit-ng/static/index.html         |   5 +-
 webcit-ng/static/js/login.js        |  42 ++--
 webcit-ng/static/js/user_profile.js |  16 ++
 webcit-ng/static/js/view_forum.js   |   4 +-
 webcit-ng/webcit.h                  |   2 +-
 12 files changed, 275 insertions(+), 263 deletions(-)
 create mode 100644 webcit-ng/static/js/user_profile.js


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099293698</link><pubDate>Sat, 26 Feb 2022 15:14:41 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-42-gd4237cff9</title><guid isPermaLink="false">2099293698@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d4237cff951d6f2589f7ecfcc1861b874e53352e (commit)
      from  ae3c600e370b38f0b166d13bc0589f941fdfb244 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d4237cff951d6f2589f7ecfcc1861b874e53352e
commit d4237cff951d6f2589f7ecfcc1861b874e53352e
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 26 15:13:14 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/ctdlclient.c | 2 +-
 webcit-ng/forum_view.c | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099292502</link><pubDate>Wed, 16 Feb 2022 20:34:38 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-41-gae3c600e3</title><guid isPermaLink="false">2099292502@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ae3c600e370b38f0b166d13bc0589f941fdfb244 (commit)
       via  15251e3508ee3096309295ed94aa88755053a615 (commit)
       via  fecefc0819466a21cfd77b52aeb4bf50805b65af (commit)
       via  bab90b063da7b356b7e692df3f34373b3e5dcde8 (commit)
       via  c1e039189b3fa057c09df40c422412bfb486b796 (commit)
       via  da6390f9b0429c2ca984c7d95a9c06c0cb2fd1e4 (commit)
       via  4f2a5bee20cd3893518d8200aece29fc730aab38 (commit)
      from  00fb7b038b3c0aaf08a15b103c2053c1efea1fd9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ae3c600e370b38f0b166d13bc0589f941fdfb244
commit ae3c600e370b38f0b166d13bc0589f941fdfb244
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 16 20:16:02 2022 -0500

    Tuned up some of the iconography

http://code.citadel.org/?p=citadel.git&a=commit&h=15251e3508ee3096309295ed94aa88755053a615
commit 15251e3508ee3096309295ed94aa88755053a615
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 16 19:41:50 2022 -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.

http://code.citadel.org/?p=citadel.git&a=commit&h=fecefc0819466a21cfd77b52aeb4bf50805b65af
commit fecefc0819466a21cfd77b52aeb4bf50805b65af
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 16 19:11:10 2022 -0500

    Use the w3-badge class for circular badges instead of rounding them manually in the stylesheet.

http://code.citadel.org/?p=citadel.git&a=commit&h=bab90b063da7b356b7e692df3f34373b3e5dcde8
commit bab90b063da7b356b7e692df3f34373b3e5dcde8
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 16 18:59:22 2022 -0500

    Upgrade W3.CSS to version 4.15

http://code.citadel.org/?p=citadel.git&a=commit&h=c1e039189b3fa057c09df40c422412bfb486b796
commit c1e039189b3fa057c09df40c422412bfb486b796
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 16 18:53:34 2022 -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.

http://code.citadel.org/?p=citadel.git&a=commit&h=da6390f9b0429c2ca984c7d95a9c06c0cb2fd1e4
commit da6390f9b0429c2ca984c7d95a9c06c0cb2fd1e4
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 13 19:01:57 2022 -0500

    moved vars to vars.js

http://code.citadel.org/?p=citadel.git&a=commit&h=4f2a5bee20cd3893518d8200aece29fc730aab38
commit 4f2a5bee20cd3893518d8200aece29fc730aab38
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 13 17:58:06 2022 -0500

    Anything that looks like a button should act like a button.
    Anything that acts like a button should look like a button.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/api.txt               |   2 +-
 webcit-ng/room_functions.c      |   2 +-
 webcit-ng/static/css/w3.css     | 464 ++++++++++++++++++++--------------------
 webcit-ng/static/css/webcit.css |   8 -
 webcit-ng/static/index.html     |  20 +-
 webcit-ng/static/js/defs.js     |  19 ++
 webcit-ng/static/js/main.js     |  28 +--
 webcit-ng/static/js/roomlist.js |   4 +-
 webcit-ng/static/js/views.js    |   9 +
 webcit-ng/webcit.h              |   1 +
 10 files changed, 282 insertions(+), 275 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099292043</link><pubDate>Sun, 13 Feb 2022 16:54:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-34-g00fb7b038</title><guid isPermaLink="false">2099292043@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  00fb7b038b3c0aaf08a15b103c2053c1efea1fd9 (commit)
       via  761d6c3c8a476a2ed327db5cf115c19d66d081b7 (commit)
       via  0925c75e318e1422cf015d35715fbea94cbd5120 (commit)
       via  e21116e69d96864d23e1201f13d2cfd4ee6c3069 (commit)
       via  740ade63a6c6d217126f40d72095677a4fcd3d48 (commit)
       via  0efde55e4be0e77fc4621796e1d2fd49f3eb0b4d (commit)
       via  2542c00b998db674963f97bfe44d5578050437d0 (commit)
      from  082ac2f5a52f7dac13dea9afb212cc1749613349 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=00fb7b038b3c0aaf08a15b103c2053c1efea1fd9
commit 00fb7b038b3c0aaf08a15b103c2053c1efea1fd9
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 13 16:53:26 2022 -0500

    Skip/Goto are functionally complete.

http://code.citadel.org/?p=citadel.git&a=commit&h=761d6c3c8a476a2ed327db5cf115c19d66d081b7
commit 761d6c3c8a476a2ed327db5cf115c19d66d081b7
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 12 18:34:36 2022 -0500

    Client side of SLRP is done

http://code.citadel.org/?p=citadel.git&a=commit&h=0925c75e318e1422cf015d35715fbea94cbd5120
commit 0925c75e318e1422cf015d35715fbea94cbd5120
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 12 18:10:22 2022 -0500

    Keep track of the last message number we saw

http://code.citadel.org/?p=citadel.git&a=commit&h=e21116e69d96864d23e1201f13d2cfd4ee6c3069
commit e21116e69d96864d23e1201f13d2cfd4ee6c3069
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Feb 11 18:00:47 2022 -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.

http://code.citadel.org/?p=citadel.git&a=commit&h=740ade63a6c6d217126f40d72095677a4fcd3d48
commit 740ade63a6c6d217126f40d72095677a4fcd3d48
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Feb 11 16:56:42 2022 -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.

http://code.citadel.org/?p=citadel.git&a=commit&h=0efde55e4be0e77fc4621796e1d2fd49f3eb0b4d
commit 0efde55e4be0e77fc4621796e1d2fd49f3eb0b4d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Feb 8 18:19:17 2022 -0500

    Re-encode the auth cookie with the properly formatted user name.  This makes the client side parse it properly.

http://code.citadel.org/?p=citadel.git&a=commit&h=2542c00b998db674963f97bfe44d5578050437d0
commit 2542c00b998db674963f97bfe44d5578050437d0
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 6 18:22:07 2022 -0500

    More gratuitous style cleanup.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/ctdlproto/serv_user.c |  10 +-
 citadel/user_ops.c                    | 376 +++++++++++++---------------------
 citadel/user_ops.h                    |  43 ++--
 webcit-ng/admin_functions.c           |  39 +++-
 webcit-ng/api.txt                     |  13 +-
 webcit-ng/ctdlclient.c                |  23 ++-
 webcit-ng/request.c                   |   7 +
 webcit-ng/room_functions.c            |  19 ++
 webcit-ng/static/index.html           |   8 +-
 webcit-ng/static/js/login.js          |   9 +-
 webcit-ng/static/js/main.js           |  49 +++--
 webcit-ng/static/js/view_forum.js     |  17 +-
 webcit-ng/webcit.h                    |  10 +-
 13 files changed, 308 insertions(+), 315 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099291182</link><pubDate>Sat, 05 Feb 2022 00:42:38 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-27-g082ac2f5a</title><guid isPermaLink="false">2099291182@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  082ac2f5a52f7dac13dea9afb212cc1749613349 (commit)
       via  b89f471bde5e7f977e39b18fc7bdf263f25df14b (commit)
       via  fecc838e9557ec265ccc782f6f58cc600486e8f9 (commit)
       via  e1e2aa83ac54faa3ebe75974bc27a7de9869ca41 (commit)
       via  ac8a06f0b34b85b6a08f6e9464267860f8c59786 (commit)
       via  cce1aef734a8b026eeea7c01beaeb6aad90729ea (commit)
       via  4703d1247bd54173f8decf7a5bcccd7c72789f18 (commit)
       via  8c84e52d8bccbca567938548ea8e1be9a10ec4e1 (commit)
       via  3ce828c1d40f262c0a6eb592246c3494567a4a6e (commit)
      from  a950795fe131cad9e3007bd1c3c28beec5a87e0f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=082ac2f5a52f7dac13dea9afb212cc1749613349
commit 082ac2f5a52f7dac13dea9afb212cc1749613349
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 5 00:19:06 2022 -0500

    "Forum list" is now more or less in its final form.

http://code.citadel.org/?p=citadel.git&a=commit&h=b89f471bde5e7f977e39b18fc7bdf263f25df14b
commit b89f471bde5e7f977e39b18fc7bdf263f25df14b
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Feb 3 19:37:09 2022 -0500

    Now it has a button look.

http://code.citadel.org/?p=citadel.git&a=commit&h=fecc838e9557ec265ccc782f6f58cc600486e8f9
commit fecc838e9557ec265ccc782f6f58cc600486e8f9
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Feb 3 19:30:41 2022 -0500

    Rooms in the Forums List are now clickable anywhere in the box, not just the room name.

http://code.citadel.org/?p=citadel.git&a=commit&h=e1e2aa83ac54faa3ebe75974bc27a7de9869ca41
commit e1e2aa83ac54faa3ebe75974bc27a7de9869ca41
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Feb 3 19:25:44 2022 -0500

    Made the bubble icons in the Forums list round, and colored differently based on the presence of new messages.

http://code.citadel.org/?p=citadel.git&a=commit&h=ac8a06f0b34b85b6a08f6e9464267860f8c59786
commit ac8a06f0b34b85b6a08f6e9464267860f8c59786
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Feb 1 18:46:06 2022 -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.

http://code.citadel.org/?p=citadel.git&a=commit&h=cce1aef734a8b026eeea7c01beaeb6aad90729ea
commit cce1aef734a8b026eeea7c01beaeb6aad90729ea
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 28 00:01:12 2022 -0500

    more divs

http://code.citadel.org/?p=citadel.git&a=commit&h=4703d1247bd54173f8decf7a5bcccd7c72789f18
commit 4703d1247bd54173f8decf7a5bcccd7c72789f18
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 27 19:22:36 2022 -0500

    ctdl-roomlist-floor class for the floor banner over each floor's room list

http://code.citadel.org/?p=citadel.git&a=commit&h=8c84e52d8bccbca567938548ea8e1be9a10ec4e1
commit 8c84e52d8bccbca567938548ea8e1be9a10ec4e1
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 27 18:41:18 2022 -0500

    /ctdl/r/<room_name>/info.txt now fetches the room info banner

http://code.citadel.org/?p=citadel.git&a=commit&h=3ce828c1d40f262c0a6eb592246c3494567a4a6e
commit 3ce828c1d40f262c0a6eb592246c3494567a4a6e
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 24 19:38:19 2022 -0500

    Sort room list by floor but also put them in different divs

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.txt            |  4 +--
 webcit-ng/api.txt               |  1 +
 webcit-ng/room_functions.c      | 51 +++++++++++++++++++++----------
 webcit-ng/static/css/webcit.css | 55 ++++++++++++++++++++++++++++++++-
 webcit-ng/static/js/roomlist.js | 67 ++++++++++++++++++++++++-----------------
 5 files changed, 132 insertions(+), 46 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099289897</link><pubDate>Mon, 24 Jan 2022 15:40:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-18-ga950795fe</title><guid isPermaLink="false">2099289897@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a950795fe131cad9e3007bd1c3c28beec5a87e0f (commit)
       via  1a6ba52d8841262a040ec5ef35203b41a942642b (commit)
       via  1a19ee6d0d0f0d7a30b3f710bd7f024969999ea3 (commit)
      from  873d30ad6b1bb7b247d50d3ec0994d2b90f06ce1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a950795fe131cad9e3007bd1c3c28beec5a87e0f
commit a950795fe131cad9e3007bd1c3c28beec5a87e0f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 24 15:40:45 2022 -0500

    /ctdl/f/ to get a list of all floors

http://code.citadel.org/?p=citadel.git&a=commit&h=1a6ba52d8841262a040ec5ef35203b41a942642b
commit 1a6ba52d8841262a040ec5ef35203b41a942642b
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 23 16:14:05 2022 -0500

    room list renderer is now aware of which rooms are forum view:

http://code.citadel.org/?p=citadel.git&a=commit&h=1a19ee6d0d0f0d7a30b3f710bd7f024969999ea3
commit 1a19ee6d0d0f0d7a30b3f710bd7f024969999ea3
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 23 16:01:16 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/ctdlproto/serv_rooms.c    | 423 ++++++++++++------------------
 webcit-ng/Makefile                        |   3 +-
 webcit-ng/api.txt                         |   1 +
 webcit-ng/floor_functions.c               |  63 +++++
 webcit-ng/request.c                       |   3 +
 webcit-ng/room_functions.c                |  11 +-
 webcit-ng/static/index.html               |   6 +-
 webcit-ng/static/js/{views.js => defs.js} |  33 ---
 webcit-ng/static/js/main.js               |  52 ----
 webcit-ng/static/js/roomlist.js           |  71 +++++
 webcit-ng/static/js/views.js              |  19 --
 webcit-ng/webcit.h                        |   1 +
 12 files changed, 318 insertions(+), 368 deletions(-)
 create mode 100644 webcit-ng/floor_functions.c
 copy webcit-ng/static/js/{views.js => defs.js} (53%)
 create mode 100644 webcit-ng/static/js/roomlist.js


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099289697</link><pubDate>Sun, 23 Jan 2022 01:28:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-15-g873d30ad6</title><guid isPermaLink="false">2099289697@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  873d30ad6b1bb7b247d50d3ec0994d2b90f06ce1 (commit)
       via  68025879f6cc4fa13ea1b483d62186b900fcef15 (commit)
       via  30298e9cfd5f9e877cbdc0339a751c90e4b57ba7 (commit)
       via  3369a03c83b538ac411117319f6a17d591df03ff (commit)
       via  9256c25d9651e77db1d648937aebfa6345387423 (commit)
      from  481387965f71dbf730bfbdfe413c28d819c57b0f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=873d30ad6b1bb7b247d50d3ec0994d2b90f06ce1
commit 873d30ad6b1bb7b247d50d3ec0994d2b90f06ce1
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 23 01:28:23 2022 -0500

    Tweaked the icons a bit

http://code.citadel.org/?p=citadel.git&a=commit&h=68025879f6cc4fa13ea1b483d62186b900fcef15
commit 68025879f6cc4fa13ea1b483d62186b900fcef15
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 22 16:56:29 2022 -0500

    The "Post message" button in forum view is now active.

http://code.citadel.org/?p=citadel.git&a=commit&h=30298e9cfd5f9e877cbdc0339a751c90e4b57ba7
commit 30298e9cfd5f9e877cbdc0339a751c90e4b57ba7
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 22 16:24:09 2022 -0500

    Set up a "new item" dispatcher so it can be different for each view

http://code.citadel.org/?p=citadel.git&a=commit&h=3369a03c83b538ac411117319f6a17d591df03ff
commit 3369a03c83b538ac411117319f6a17d591df03ff
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 22 16:02:22 2022 -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"

http://code.citadel.org/?p=citadel.git&a=commit&h=9256c25d9651e77db1d648937aebfa6345387423
commit 9256c25d9651e77db1d648937aebfa6345387423
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 15 15:58:46 2022 -0500

    Explain in comments how the connection pool works.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/ctdlclient.c            | 13 +++++++++----
 webcit-ng/static/index.html       | 14 ++++++--------
 webcit-ng/static/js/login.js      |  2 +-
 webcit-ng/static/js/view_forum.js | 11 +++++++++++
 webcit-ng/static/js/views.js      | 20 +++++++++++++++++---
 5 files changed, 44 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288966</link><pubDate>Sat, 15 Jan 2022 15:42:01 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-10-g481387965</title><guid isPermaLink="false">2099288966@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  481387965f71dbf730bfbdfe413c28d819c57b0f (commit)
       via  11d43a21157b7932c2b21669b2e52145c6276943 (commit)
       via  6973136f78f394893af279bb5ebb0c4a800ca129 (commit)
      from  708534899aeede0c136a37ff32d5ffa3d62af19d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=481387965f71dbf730bfbdfe413c28d819c57b0f
commit 481387965f71dbf730bfbdfe413c28d819c57b0f
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 15 15:41:53 2022 -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.

http://code.citadel.org/?p=citadel.git&a=commit&h=11d43a21157b7932c2b21669b2e52145c6276943
commit 11d43a21157b7932c2b21669b2e52145c6276943
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 15 15:37:44 2022 -0500

    ok, that function needed to be async

http://code.citadel.org/?p=citadel.git&a=commit&h=6973136f78f394893af279bb5ebb0c4a800ca129
commit 6973136f78f394893af279bb5ebb0c4a800ca129
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 15 15:28:54 2022 -0500

    Simplified the logout javascript

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/admin_functions.c  |  1 -
 webcit-ng/api.txt            |  7 +++++--
 webcit-ng/ctdlclient.c       | 23 +++++++++++++----------
 webcit-ng/static/js/login.js | 31 +++++++++++++------------------
 4 files changed, 31 insertions(+), 31 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288865</link><pubDate>Fri, 14 Jan 2022 11:31:11 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-7-g708534899</title><guid isPermaLink="false">2099288865@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  708534899aeede0c136a37ff32d5ffa3d62af19d (commit)
       via  be18f75f26fba6fe03f88d9d4fca3160b1862c42 (commit)
       via  366e4c2fd1d8ee0036ee9705c49241655874ae92 (commit)
       via  224e9cc7a1a084568e136f7b959c32e177ce7ef8 (commit)
      from  60e1890d866f912f94b604f3af05bcd421109469 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=708534899aeede0c136a37ff32d5ffa3d62af19d
commit 708534899aeede0c136a37ff32d5ffa3d62af19d
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 14 11:29:17 2022 -0500

    A little more cosmetic work on the login modal.
    Still not in its final ultra-pretty form but it looks semi-presentable now.

http://code.citadel.org/?p=citadel.git&a=commit&h=be18f75f26fba6fe03f88d9d4fca3160b1862c42
commit be18f75f26fba6fe03f88d9d4fca3160b1862c42
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 14 11:10:46 2022 -0500

    banner change

http://code.citadel.org/?p=citadel.git&a=commit&h=366e4c2fd1d8ee0036ee9705c49241655874ae92
commit 366e4c2fd1d8ee0036ee9705c49241655874ae92
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 14 11:08:55 2022 -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.

http://code.citadel.org/?p=citadel.git&a=commit&h=224e9cc7a1a084568e136f7b959c32e177ce7ef8
commit 224e9cc7a1a084568e136f7b959c32e177ce7ef8
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 13 18:38:34 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/docs/netconfigs.txt            | 21 -----------
 citadel/modules/listsub/serv_listsub.c | 11 +++---
 webcit-ng/ctdlclient.c                 |  4 +--
 webcit-ng/http.c                       |  2 +-
 webcit-ng/static/index.html            |  6 +---
 webcit-ng/static/js/login.js           | 66 +++++++++++++++++-----------------
 webcit-ng/static/js/main.js            | 28 ++++++++++-----
 webcit-ng/static/js/util.js            |  9 +++++
 webcit/listsub.c                       |  1 +
 9 files changed, 69 insertions(+), 79 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288741</link><pubDate>Thu, 13 Jan 2022 11:56:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v949-3-g60e1890d8</title><guid isPermaLink="false">2099288741@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  60e1890d866f912f94b604f3af05bcd421109469 (commit)
       via  6473885628e33ec5633bb05caa92391aa34cff03 (commit)
       via  d3a76479a895c71eb734d2c39a116e0f4f31537d (commit)
      from  fbd0e65f95c81dbf2eab66d5f86021d7b2c5d9b6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=60e1890d866f912f94b604f3af05bcd421109469
commit 60e1890d866f912f94b604f3af05bcd421109469
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 13 11:48:37 2022 -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.

http://code.citadel.org/?p=citadel.git&a=commit&h=6473885628e33ec5633bb05caa92391aa34cff03
commit 6473885628e33ec5633bb05caa92391aa34cff03
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 12 16:18:11 2022 -0500

    Generate a random 100-byte string to be used as a host key for hashing various things.

http://code.citadel.org/?p=citadel.git&a=commit&h=d3a76479a895c71eb734d2c39a116e0f4f31537d
commit d3a76479a895c71eb734d2c39a116e0f4f31537d
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 12 16:04:12 2022 -0500

    Seed the random number generator before the config system is initialized.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citserver.c                    |  44 +++---
 citadel/config.c                       | 166 ++++++++++------------
 citadel/configure.ac                   |  19 +++
 citadel/modules/listsub/serv_listsub.c | 245 ++++++++++-----------------------
 webcit/listsub.c                       |  41 +++---
 webcit/static/t/listsub/display.html   |  18 ++-
 6 files changed, 223 insertions(+), 310 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288624</link><pubDate>Wed, 12 Jan 2022 14:29:22 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v949 created. v949</title><guid isPermaLink="false">2099288624@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v949 has been created
        at  6b9148acb0ecdd15e78aa2487725f149253de4d1 (tag)
   tagging  fbd0e65f95c81dbf2eab66d5f86021d7b2c5d9b6 (commit)
  replaces  v948
 tagged by  Art Cancro
        on  Wed Jan 12 14:29:10 2022 -0500

- Log -----------------------------------------------------------------
Version 949 release

Art Cancro (5):
      Multiple invocations of HELO and/or EHLO from an SMTP client now replace, rather than append to, the helo_node variable.
      Removed APOP authentication from the text client.  No one has ever used it and the server doesn't even support it anymore.
      missed a few references to delete
      Change TLS_server_method() to SSLv23_server_method() because people are still using older builds that don't have the new name.
      Release version 949 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288623</link><pubDate>Wed, 12 Jan 2022 14:29:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v948-5-gfbd0e65f9</title><guid isPermaLink="false">2099288623@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fbd0e65f95c81dbf2eab66d5f86021d7b2c5d9b6 (commit)
       via  30f9f1332e7dcf9d30a40768dd9c2070bc674957 (commit)
       via  f1f58a18c13d95baa27c846692cdc3410f902806 (commit)
       via  625a1931ab7c581002bb6ffd573c5ead6b0eb236 (commit)
       via  932fdb7b5cf0052dfa8632bf2df068c79ade995e (commit)
      from  b3ead5d065ae5d72181fa26b93452bcdc13fe092 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fbd0e65f95c81dbf2eab66d5f86021d7b2c5d9b6
commit fbd0e65f95c81dbf2eab66d5f86021d7b2c5d9b6
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 12 14:29:10 2022 -0500

    Release version 949 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=30f9f1332e7dcf9d30a40768dd9c2070bc674957
commit 30f9f1332e7dcf9d30a40768dd9c2070bc674957
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 12 13:51:09 2022 -0500

    Change TLS_server_method() to SSLv23_server_method() because people are still using older builds that don't have the new name.

http://code.citadel.org/?p=citadel.git&a=commit&h=f1f58a18c13d95baa27c846692cdc3410f902806
commit f1f58a18c13d95baa27c846692cdc3410f902806
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 11 18:54:49 2022 -0500

    missed a few references to delete

http://code.citadel.org/?p=citadel.git&a=commit&h=625a1931ab7c581002bb6ffd573c5ead6b0eb236
commit 625a1931ab7c581002bb6ffd573c5ead6b0eb236
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 11 18:27:00 2022 -0500

    Removed APOP authentication from the text client.  No one has ever used it and the server doesn't even support it anymore.

http://code.citadel.org/?p=citadel.git&a=commit&h=932fdb7b5cf0052dfa8632bf2df068c79ade995e
commit 932fdb7b5cf0052dfa8632bf2df068c79ade995e
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 11 00:00:59 2022 -0500

    Multiple invocations of HELO and/or EHLO from an SMTP client now replace, rather than append to, the helo_node variable.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                    |   2 +-
 citadel/modules/crypto/serv_crypto.c |   2 +-
 citadel/modules/smtp/serv_smtp.c     | 261 +++++++++-----------------
 libcitadel/lib/libcitadel.h          |   2 +-
 release_version.txt                  |   2 +-
 textclient/Makefile                  |   4 +-
 textclient/citadel.c                 |  46 +----
 textclient/citadel_ipc.c             |  25 ---
 textclient/md5.c                     | 351 -----------------------------------
 textclient/textclient.h              |  33 +---
 webcit-ng/tls.c                      |   2 +-
 webcit/crypto.c                      |   2 +-
 webcit/webcit.h                      |   2 +-
 13 files changed, 107 insertions(+), 627 deletions(-)
 delete mode 100644 textclient/md5.c


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288370</link><pubDate>Mon, 10 Jan 2022 18:12:22 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities annotated tag v948 created. v948</title><guid isPermaLink="false">2099288370@Uncensored</guid><description><![CDATA[  
 Oh boy. 
  
 That was a really long and painful day of troubleshooting.  After updating
all of my SSL server code to the latest practices, I was no longer able to
establish SSL connections to Uncensored EXCEPT on HTTPS.  So no encrypted
IMAP, no encrypted XMPP, everything just threw a cipher error. 
  
 And that was ONLY in production, not on the development system.  No clue
at all! 
  
 I had to do a lot of backtracking and a lot of regression before I got it
to work again.  Only in citserver, it seems, I have to use SSLv23_server_method()
and set the cipher list to "ALL:RC4+RSA:+SSLv2:+TLSv1:!MD5:@STRENGTH" instead
of "DEFAULT" for it to work at all. 
  
 So anyway, Citadel 948 is now published on Easy Install, and some time during
the overnight, the build system will discover something new and build a new
Docker version.   943 through 947 are all b0rked. 
  
 The good news though, is that the mutex code is in place and we should be
able to hammer it without crashing. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288362</link><pubDate>Mon, 10 Jan 2022 18:03:21 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v948 created. v948</title><guid isPermaLink="false">2099288362@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v948 has been created
        at  c60b7d3dbb8a31281e0c21d75f9d7f2fc2475eeb (tag)
   tagging  b3ead5d065ae5d72181fa26b93452bcdc13fe092 (commit)
  replaces  v947
 tagged by  Art Cancro
        on  Mon Jan 10 18:03:11 2022 -0500

- Log -----------------------------------------------------------------
Version 948 release

Art Cancro (6):
      LONG STRING OF EXPLETIVES
      Testing to see if SSLv23_server_method() is actually the one we want
      FFFFFFFFFFFFFFFFFUUUUUUUUUUUUUuu----------------
      ANGRY SCREED WITH CAPS LOCK ON
      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.
      Release version 948 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288361</link><pubDate>Mon, 10 Jan 2022 18:03:16 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v947-6-gb3ead5d06</title><guid isPermaLink="false">2099288361@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b3ead5d065ae5d72181fa26b93452bcdc13fe092 (commit)
       via  e7fa57d8628023a97451ff690a5906b70412f4a5 (commit)
      from  455a3523d385cf1fdf90fbc36ebc9a2edd17d1a1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b3ead5d065ae5d72181fa26b93452bcdc13fe092
commit b3ead5d065ae5d72181fa26b93452bcdc13fe092
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 18:03:11 2022 -0500

    Release version 948 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=e7fa57d8628023a97451ff690a5906b70412f4a5
commit e7fa57d8628023a97451ff690a5906b70412f4a5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 17:42:26 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                    | 2 +-
 citadel/modules/crypto/serv_crypto.c | 2 +-
 libcitadel/lib/libcitadel.h          | 2 +-
 release_version.txt                  | 2 +-
 textclient/textclient.h              | 2 +-
 webcit/webcit.h                      | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288349</link><pubDate>Mon, 10 Jan 2022 17:37:57 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v947-4-g455a3523d</title><guid isPermaLink="false">2099288349@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  455a3523d385cf1fdf90fbc36ebc9a2edd17d1a1 (commit)
      from  e8e22dbfc4bf180318bff06ab70439b7df164132 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=455a3523d385cf1fdf90fbc36ebc9a2edd17d1a1
commit 455a3523d385cf1fdf90fbc36ebc9a2edd17d1a1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 17:37:52 2022 -0500

    ANGRY SCREED WITH CAPS LOCK ON

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.c | 12 ++++++++++--
 citadel/modules/crypto/serv_crypto.h |  3 +--
 2 files changed, 11 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288342</link><pubDate>Mon, 10 Jan 2022 16:58:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v947-3-ge8e22dbfc</title><guid isPermaLink="false">2099288342@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e8e22dbfc4bf180318bff06ab70439b7df164132 (commit)
      from  3e5deac478162f48344183c3541b1dae75ffa2aa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e8e22dbfc4bf180318bff06ab70439b7df164132
commit e8e22dbfc4bf180318bff06ab70439b7df164132
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 16:58:00 2022 -0500

    FFFFFFFFFFFFFFFFFUUUUUUUUUUUUUuu----------------

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288337</link><pubDate>Mon, 10 Jan 2022 16:39:12 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v947-2-g3e5deac47</title><guid isPermaLink="false">2099288337@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3e5deac478162f48344183c3541b1dae75ffa2aa (commit)
      from  fca450abae190d10bd3455bf42332e5b678d6640 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3e5deac478162f48344183c3541b1dae75ffa2aa
commit 3e5deac478162f48344183c3541b1dae75ffa2aa
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 16:37:57 2022 -0500

    Testing to see if SSLv23_server_method() is actually the one we want

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288330</link><pubDate>Mon, 10 Jan 2022 16:10:38 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v947-1-gfca450aba</title><guid isPermaLink="false">2099288330@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fca450abae190d10bd3455bf42332e5b678d6640 (commit)
      from  59aee5f74431740ff81c6562af434777bf631aa3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fca450abae190d10bd3455bf42332e5b678d6640
commit fca450abae190d10bd3455bf42332e5b678d6640
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 16:10:34 2022 -0500

    LONG STRING OF EXPLETIVES

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288323</link><pubDate>Mon, 10 Jan 2022 14:55:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v947 created. v947</title><guid isPermaLink="false">2099288323@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v947 has been created
        at  3f0fed1f1c4ef861e1548a4354aa01a193b50f95 (tag)
   tagging  59aee5f74431740ff81c6562af434777bf631aa3 (commit)
  replaces  v946
 tagged by  Art Cancro
        on  Mon Jan 10 14:54:59 2022 -0500

- Log -----------------------------------------------------------------
Version 947 release

Art Cancro (2):
      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.
      Release version 947 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288322</link><pubDate>Mon, 10 Jan 2022 14:55:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v946-2-g59aee5f74</title><guid isPermaLink="false">2099288322@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  59aee5f74431740ff81c6562af434777bf631aa3 (commit)
       via  6cff5cc155fd1d73eaf8576c03027e55ead724c6 (commit)
      from  f22cc3b999c56a6c70db54ec957cf315ccde86c8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=59aee5f74431740ff81c6562af434777bf631aa3
commit 59aee5f74431740ff81c6562af434777bf631aa3
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 14:54:58 2022 -0500

    Release version 947 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=6cff5cc155fd1d73eaf8576c03027e55ead724c6
commit 6cff5cc155fd1d73eaf8576c03027e55ead724c6
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 14:54:54 2022 -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.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                    |  2 +-
 citadel/modules/crypto/serv_crypto.c | 20 +++++++-------------
 citadel/modules/crypto/serv_crypto.h |  4 +++-
 libcitadel/lib/libcitadel.h          |  2 +-
 release_version.txt                  |  2 +-
 textclient/textclient.h              |  2 +-
 webcit/webcit.h                      |  2 +-
 7 files changed, 15 insertions(+), 19 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288309</link><pubDate>Mon, 10 Jan 2022 13:31:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v946 created. v946</title><guid isPermaLink="false">2099288309@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v946 has been created
        at  eaaea36f8d5f6bebdb1fe1b9c96242234f8bb9bd (tag)
   tagging  f22cc3b999c56a6c70db54ec957cf315ccde86c8 (commit)
  replaces  v945
 tagged by  Art Cancro
        on  Mon Jan 10 13:31:36 2022 -0500

- Log -----------------------------------------------------------------
Version 946 release

Art Cancro (4):
      Replaced all instances of SSLv23_server_method() with TLS_server_method() (thanks to zcw159357 for suggesting this)
      Unified the openssl library initialization code
      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)
      Release version 946 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288308</link><pubDate>Mon, 10 Jan 2022 13:31:44 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v945-4-gf22cc3b99</title><guid isPermaLink="false">2099288308@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f22cc3b999c56a6c70db54ec957cf315ccde86c8 (commit)
      from  3ebf6cfccebc68f252a46e68b9c94a1cc09c6fd3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f22cc3b999c56a6c70db54ec957cf315ccde86c8
commit f22cc3b999c56a6c70db54ec957cf315ccde86c8
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 13:31:36 2022 -0500

    Release version 946 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h           | 2 +-
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 textclient/textclient.h     | 2 +-
 webcit/webcit.h             | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288307</link><pubDate>Mon, 10 Jan 2022 13:31:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v945-3-g3ebf6cfcc</title><guid isPermaLink="false">2099288307@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3ebf6cfccebc68f252a46e68b9c94a1cc09c6fd3 (commit)
       via  41a68e93ee5d46eec3cf12f4614e53c1bac84e43 (commit)
       via  c3f4724c1d230b6ff86426702e9de9241518ebd6 (commit)
      from  7b32bbf795450e82a280429a2b3c3ecd85b2d1be (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3ebf6cfccebc68f252a46e68b9c94a1cc09c6fd3
commit 3ebf6cfccebc68f252a46e68b9c94a1cc09c6fd3
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 11:59:07 2022 -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)

http://code.citadel.org/?p=citadel.git&a=commit&h=41a68e93ee5d46eec3cf12f4614e53c1bac84e43
commit 41a68e93ee5d46eec3cf12f4614e53c1bac84e43
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 11:28:03 2022 -0500

    Unified the openssl library initialization code

http://code.citadel.org/?p=citadel.git&a=commit&h=c3f4724c1d230b6ff86426702e9de9241518ebd6
commit c3f4724c1d230b6ff86426702e9de9241518ebd6
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 10 11:16:43 2022 -0500

    Replaced all instances of SSLv23_server_method() with TLS_server_method()
    (thanks to zcw159357 for suggesting this)

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.c | 74 +++++++++++++++++-------------------
 citadel/modules/crypto/serv_crypto.h |  6 +--
 webcit-ng/tls.c                      |  8 ++--
 webcit/crypto.c                      | 12 +++---
 webcit/sysdep.c                      |  5 ---
 5 files changed, 45 insertions(+), 60 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288139</link><pubDate>Sat, 08 Jan 2022 16:32:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v945 created. v945</title><guid isPermaLink="false">2099288139@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v945 has been created
        at  45303b9a3c396a41dcf6e6d23320ce22ecf23518 (tag)
   tagging  7b32bbf795450e82a280429a2b3c3ecd85b2d1be (commit)
  replaces  v944
 tagged by  Art Cancro
        on  Sat Jan 8 16:32:09 2022 -0500

- Log -----------------------------------------------------------------
Version 945 release

Art Cancro (1):
      Release version 945 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288138</link><pubDate>Sat, 08 Jan 2022 16:32:35 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v944-1-g7b32bbf79</title><guid isPermaLink="false">2099288138@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7b32bbf795450e82a280429a2b3c3ecd85b2d1be (commit)
      from  e44a2985c3cb32fb232815368569dd22d6bf4095 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7b32bbf795450e82a280429a2b3c3ecd85b2d1be
commit 7b32bbf795450e82a280429a2b3c3ecd85b2d1be
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 8 16:32:09 2022 -0500

    Release version 945 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h           |  2 +-
 do-release.sh               | 12 ++++++++++++
 libcitadel/lib/libcitadel.h |  2 +-
 release_version.txt         |  2 +-
 textclient/textclient.h     |  2 +-
 webcit/webcit.h             |  2 +-
 6 files changed, 17 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288132</link><pubDate>Sat, 08 Jan 2022 16:18:22 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v944 created. v944</title><guid isPermaLink="false">2099288132@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v944 has been created
        at  40e26dd5f0fdff7bb1375581b1071ee0bdeb1159 (tag)
   tagging  e44a2985c3cb32fb232815368569dd22d6bf4095 (commit)
  replaces  v943
 tagged by  Art Cancro
        on  Sat Jan 8 16:18:09 2022 -0500

- Log -----------------------------------------------------------------
Version 944 release

Art Cancro (26):
      It's 2022 ... updating all of the copyright notices in webcit-ng
      randomString() is now always the same length and always begins with "ctdl_"
      The "reply" function in webcit-ng now correctly replaces the editor div with the final rendered version of the message that came back from the server. It looks nice.
      Set up a proper favicon.ico in both webcit-classic and webcit-ng with a version of the Citadel logo in it
      minor comment change
      Removed some comments
      ssl error handling
      Message date/time is now sent to the browser in unix timestamp format and converted to a displayable date/time in the local timezone by the browser.
      The current local date and time now displays in the message entry div.
      Cleaned up the editor-div-replacement thing
      ReplyQuoted works now.
      I went looking for something in the text client, and was reminded how absolutely rubbish my coding style was in the late 1980s.  I did a few bits of cleanup but most of that code ought to be rewritten. The good news is that unlike WebCit, I believe we can redo the text client in place over a period of time.
      the crufty code, it stings...
      More of me not being able to look at code without poking around changing everything to C99 style comments
      When checking to see whether we have to rebind a new key and/or certificate, the stored "previous value" is now the sum of the existing key *and* certificate modification times.  This causes a rebind to occur if either file's modification time is touched. It does not matter if this rolls over on 32-bit systems because we are only checking to see if the value changed, not for any particular date comparison.
      I was checking something in serv_user.c and just couldn't help myself -- style cleanup
      While hunting for an internet address bug, cleaning up more style.
      random acts of style cleanup
      ssl_ctx = SSL_CTX_new(SSLv23_server_method()) instead of using a temporary variable f or the server method.  (Changed in Citadel Server, WebCit Classic, and WebCit-NG)
      Removed the local implementation of snprintf() and vsnprintf() that we hacked in two decades ago to work around broken or missing system libraries.  Not needed anymore.
      removed some unused variables
      Significant cleanup of the code that generates a self-signed certificate.  There is no need to keep the CSR around so we don't do that anymore.  The remainder of the code contains only what is needed; the rest I had copied from OpenSSL example code 20 years ago and never looked at again.
      When a new certificate is installed, allocate a new ssl_ctx and bind to it; then wait a moment before freeing the old one to let any in-progress binds complete.
      New ctx change semantics in WebCit-classic
      New ctx change semantics in WebCit-NG
      Release version 944 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099288131</link><pubDate>Sat, 08 Jan 2022 16:18:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v943-26-ge44a2985c</title><guid isPermaLink="false">2099288131@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e44a2985c3cb32fb232815368569dd22d6bf4095 (commit)
       via  56bc6fc43cd875760437b7799cd47d4230351dbb (commit)
       via  2d3e9d753288b0ce7d6b725f7d6414907d0ef485 (commit)
       via  214f7cd80411cad5df0ae846ac6658d05baa56ef (commit)
       via  1d576031a65f6b1b8cc2195e21821857c1465953 (commit)
       via  af39420443861eed8d56b852d15410e09af0e9a6 (commit)
       via  dbac6fe2830f3ecacc09be5f3e722b5806fab4c7 (commit)
       via  b8cdf72394178327432dd541aefb8a9031e29c2a (commit)
      from  cb6c5c9591b156968d81d8ac35d90741f69e7ce7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e44a2985c3cb32fb232815368569dd22d6bf4095
commit e44a2985c3cb32fb232815368569dd22d6bf4095
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 8 16:18:08 2022 -0500

    Release version 944 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=56bc6fc43cd875760437b7799cd47d4230351dbb
commit 56bc6fc43cd875760437b7799cd47d4230351dbb
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 8 16:17:18 2022 -0500

    New ctx change semantics in WebCit-NG

http://code.citadel.org/?p=citadel.git&a=commit&h=2d3e9d753288b0ce7d6b725f7d6414907d0ef485
commit 2d3e9d753288b0ce7d6b725f7d6414907d0ef485
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 8 16:14:08 2022 -0500

    New ctx change semantics in WebCit-classic

http://code.citadel.org/?p=citadel.git&a=commit&h=214f7cd80411cad5df0ae846ac6658d05baa56ef
commit 214f7cd80411cad5df0ae846ac6658d05baa56ef
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 8 13:42:27 2022 -0500

    When a new certificate is installed, allocate a new ssl_ctx and bind to it; then wait a moment before freeing the old one to let any in-progress binds complete.

http://code.citadel.org/?p=citadel.git&a=commit&h=1d576031a65f6b1b8cc2195e21821857c1465953
commit 1d576031a65f6b1b8cc2195e21821857c1465953
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 8 13:30:23 2022 -0500

    Significant cleanup of the code that generates a self-signed certificate.  There is no need to keep the CSR around so we don't do that anymore.  The remainder of the code contains only what is needed; the rest I had copied from OpenSSL example code 20 years ago and never looked at again.

http://code.citadel.org/?p=citadel.git&a=commit&h=af39420443861eed8d56b852d15410e09af0e9a6
commit af39420443861eed8d56b852d15410e09af0e9a6
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 7 16:20:39 2022 -0500

    removed some unused variables

http://code.citadel.org/?p=citadel.git&a=commit&h=dbac6fe2830f3ecacc09be5f3e722b5806fab4c7
commit dbac6fe2830f3ecacc09be5f3e722b5806fab4c7
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 7 11:54:54 2022 -0500

    Removed the local implementation of snprintf() and vsnprintf() that we hacked in two decades ago to work around broken or missing system libraries.  Not needed anymore.

http://code.citadel.org/?p=citadel.git&a=commit&h=b8cdf72394178327432dd541aefb8a9031e29c2a
commit b8cdf72394178327432dd541aefb8a9031e29c2a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 7 11:38:19 2022 -0500

    ssl_ctx = SSL_CTX_new(SSLv23_server_method()) instead of using a temporary variable f or the server method.  (Changed in Citadel Server, WebCit Classic, and WebCit-NG)

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                    |   2 +-
 citadel/citadel_dirs.h               |   1 -
 citadel/modules/crypto/serv_crypto.c | 299 +++++++++++++++++------------------
 citadel/server.h                     |   3 +-
 citadel/snprintf.c                   |  79 ---------
 citadel/snprintf.h                   |  11 --
 libcitadel/lib/libcitadel.h          |   2 +-
 release_version.txt                  |   2 +-
 webcit-ng/tls.c                      |  45 +++---
 webcit/crypto.c                      |  71 +++------
 webcit/webcit.h                      |   2 +-
 11 files changed, 197 insertions(+), 320 deletions(-)
 delete mode 100644 citadel/snprintf.c
 delete mode 100644 citadel/snprintf.h


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287962</link><pubDate>Thu, 06 Jan 2022 17:23:00 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities annotated tag v943 created. v943</title><guid isPermaLink="false">2099287962@Uncensored</guid><description><![CDATA[
I guess all my problems are because of some incompatibility in the data 
format (or data structure) that my backup (now restored in Docker) does 
not have considered in this new version (Berkeley? data type/struct in C?).

On 1/5/22 15:09, Art Cancro wrote:
>
> After a lot of effort I am still unable to reproduce the problem you 
> are describing.    Are you able to watch the citserver log while you 
> change an account's email aliases?  I would like to see what it 
> "thinks" it's doing.
>
> On 1/5/22 14:40, Art Cancro wrote:
>>
>> Is this the correct summary of the problem?
>>
>> On 12/31/21 14:36, s3cr3to wrote:
>>> But sadly, the aliases are not preserved neither from the text 
>>> client, and even less from webcit; every time I edit a new alias; it 
>>> eliminates the previous ones: It go through the first alias and 
>>> places it as primary address, but it eliminates that 1st alias from 
>>> the aliases; and worse: does not preserve any new alias that is 
>>> identical to the primary email (even though it is no longer listed 
>>> in the text client or webcit).
>>
>> I want to focus on this specific problem: "When I edit an account's 
>> email addresses, some addresses do not stay saved." Would you say 
>> that is a good description?   You said a lot of things about old 
>> versions, text client and webcit, but I want to make sure I 
>> understand the real problem. 
>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287952</link><pubDate>Thu, 06 Jan 2022 17:18:48 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities annotated tag v943 created. v943</title><guid isPermaLink="false">2099287952@Uncensored</guid><description><![CDATA[
At the moment I am in an activity at my work, as soon as I can I will 
try to see the logs as you mention.
I guess syslog shows the information directly or from the bash of the 
citadel container.

On 1/5/22 15:09, Art Cancro wrote:
>
> After a lot of effort I am still unable to reproduce the problem you 
> are describing.    Are you able to watch the citserver log while you 
> change an account's email aliases?  I would like to see what it 
> "thinks" it's doing.
>
> On 1/5/22 14:40, Art Cancro wrote:
>>
>> Is this the correct summary of the problem?
>>
>> On 12/31/21 14:36, s3cr3to wrote:
>>> But sadly, the aliases are not preserved neither from the text 
>>> client, and even less from webcit; every time I edit a new alias; it 
>>> eliminates the previous ones: It go through the first alias and 
>>> places it as primary address, but it eliminates that 1st alias from 
>>> the aliases; and worse: does not preserve any new alias that is 
>>> identical to the primary email (even though it is no longer listed 
>>> in the text client or webcit).
>>
>> I want to focus on this specific problem: "When I edit an account's 
>> email addresses, some addresses do not stay saved." Would you say 
>> that is a good description?   You said a lot of things about old 
>> versions, text client and webcit, but I want to make sure I 
>> understand the real problem. 
>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287949</link><pubDate>Thu, 06 Jan 2022 17:13:17 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities annotated tag v943 created. v943</title><guid isPermaLink="false">2099287949@Uncensored</guid><description><![CDATA[
Yes it's correct Art.

On 1/5/22 12:40, Art Cancro wrote:
>
> Is this the correct summary of the problem?
>
> On 12/31/21 14:36, s3cr3to wrote:
>> But sadly, the aliases are not preserved neither from the text 
>> client, and even less from webcit; every time I edit a new alias; it 
>> eliminates the previous ones: It go through the first alias and 
>> places it as primary address, but it eliminates that 1st alias from 
>> the aliases; and worse: does not preserve any new alias that is 
>> identical to the primary email (even though it is no longer listed in 
>> the text client or webcit).
>
> I want to focus on this specific problem: "When I edit an account's 
> email addresses, some addresses do not stay saved." Would you say that 
> is a good description?   You said a lot of things about old versions, 
> text client and webcit, but I want to make sure I understand the real 
> problem.
>
>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287859</link><pubDate>Wed, 05 Jan 2022 23:41:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v943-18-gcb6c5c959</title><guid isPermaLink="false">2099287859@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cb6c5c9591b156968d81d8ac35d90741f69e7ce7 (commit)
       via  547a20bfefa1815d5bef48bc2a6b24cf38736c09 (commit)
       via  ed47669c2e35647dc288f9cfa0186565788b9ed1 (commit)
       via  8e09a2927df885bd83dd6361b6a70242069083ce (commit)
       via  9e24fd4e798bd6871d71531015b839d04c0dbd22 (commit)
      from  b54b3da07ed61e85c054f12a989f752507f7a6cd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cb6c5c9591b156968d81d8ac35d90741f69e7ce7
commit cb6c5c9591b156968d81d8ac35d90741f69e7ce7
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 5 23:41:41 2022 -0500

    random acts of style cleanup

http://code.citadel.org/?p=citadel.git&a=commit&h=547a20bfefa1815d5bef48bc2a6b24cf38736c09
commit 547a20bfefa1815d5bef48bc2a6b24cf38736c09
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 5 16:52:23 2022 -0500

    While hunting for an internet address bug, cleaning up more style.

http://code.citadel.org/?p=citadel.git&a=commit&h=ed47669c2e35647dc288f9cfa0186565788b9ed1
commit ed47669c2e35647dc288f9cfa0186565788b9ed1
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 5 16:10:06 2022 -0500

    I was checking something in serv_user.c and just couldn't help myself -- style cleanup

http://code.citadel.org/?p=citadel.git&a=commit&h=8e09a2927df885bd83dd6361b6a70242069083ce
commit 8e09a2927df885bd83dd6361b6a70242069083ce
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 5 13:49:17 2022 -0500

    When checking to see whether we have to rebind a new key and/or
    certificate, the stored "previous value" is now the sum of the
    existing key *and* certificate modification times.  This causes a
    rebind to occur if either file's modification time is touched.
    It does not matter if this rolls over on 32-bit systems because
    we are only checking to see if the value changed, not for any
    particular date comparison.

http://code.citadel.org/?p=citadel.git&a=commit&h=9e24fd4e798bd6871d71531015b839d04c0dbd22
commit 9e24fd4e798bd6871d71531015b839d04c0dbd22
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 4 09:49:35 2022 -0500

    More of me not being able to look at code without poking around changing everything to C99 style comments

-----------------------------------------------------------------------

Summary of changes:
 citadel/COPYING                        |   2 +-
 citadel/Makefile.in                    |   2 +-
 citadel/citadel_dirs.c                 |  14 +-
 citadel/citmail.c                      |  49 ++-----
 citadel/citserver.c                    |  67 ++++-----
 citadel/clientsocket.c                 | 136 +++++++----------
 citadel/config.c                       |  33 ++---
 citadel/context.c                      |  85 ++++-------
 citadel/contrib/getdoku.sh             |  52 -------
 citadel/euidindex.c                    |  96 +++++-------
 citadel/internet_addressing.c          |  15 +-
 citadel/modules/crypto/serv_crypto.c   |   8 +-
 citadel/modules/ctdlproto/serv_user.c  | 260 +++++++++++++--------------------
 citadel/modules/upgrade/serv_upgrade.c | 192 +++++++++---------------
 citadel/msgbase.c                      |  37 ++---
 citadel/netconfig.c                    |  57 +++-----
 citadel/room_ops.c                     | 194 ++++++++++--------------
 citadel/server_main.c                  |  72 ++++-----
 citadel/support.c                      |  31 ++--
 citadel/user_ops.c                     | 159 ++++++++------------
 webcit-ng/Makefile                     |   2 +-
 webcit-ng/static/js/main.js            |   7 +-
 webcit-ng/{ssl.c => tls.c}             |   7 +-
 webcit/crypto.c                        |   8 +-
 24 files changed, 574 insertions(+), 1011 deletions(-)
 delete mode 100755 citadel/contrib/getdoku.sh
 rename webcit-ng/{ssl.c => tls.c} (97%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287837</link><pubDate>Wed, 05 Jan 2022 17:09:05 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities annotated tag v943 created. v943</title><guid isPermaLink="false">2099287837@Uncensored</guid><description><![CDATA[
After a lot of effort I am still unable to reproduce the problem you are 
describing.    Are you able to watch the citserver log while you change 
an account's email aliases?  I would like to see what it "thinks" it's 
doing.

On 1/5/22 14:40, Art Cancro wrote:
>
> Is this the correct summary of the problem?
>
> On 12/31/21 14:36, s3cr3to wrote:
>> But sadly, the aliases are not preserved neither from the text 
>> client, and even less from webcit; every time I edit a new alias; it 
>> eliminates the previous ones: It go through the first alias and 
>> places it as primary address, but it eliminates that 1st alias from 
>> the aliases; and worse: does not preserve any new alias that is 
>> identical to the primary email (even though it is no longer listed in 
>> the text client or webcit).
>
> I want to focus on this specific problem: "When I edit an account's 
> email addresses, some addresses do not stay saved." Would you say that 
> is a good description?   You said a lot of things about old versions, 
> text client and webcit, but I want to make sure I understand the real 
> problem. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287820</link><pubDate>Wed, 05 Jan 2022 14:40:22 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities annotated tag v943 created. v943</title><guid isPermaLink="false">2099287820@Uncensored</guid><description><![CDATA[
Is this the correct summary of the problem?

On 12/31/21 14:36, s3cr3to wrote:
> But sadly, the aliases are not preserved neither from the text client, 
> and even less from webcit; every time I edit a new alias; it 
> eliminates the previous ones: It go through the first alias and places 
> it as primary address, but it eliminates that 1st alias from the 
> aliases; and worse: does not preserve any new alias that is identical 
> to the primary email (even though it is no longer listed in the text 
> client or webcit).

I want to focus on this specific problem: "When I edit an account's 
email addresses, some addresses do not stay saved." Would you say that 
is a good description?   You said a lot of things about old versions, 
text client and webcit, but I want to make sure I understand the real 
problem.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287653</link><pubDate>Mon, 03 Jan 2022 17:56:20 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v943-13-gb54b3da07</title><guid isPermaLink="false">2099287653@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b54b3da07ed61e85c054f12a989f752507f7a6cd (commit)
       via  659f9df00a54c841b8c3ba6619664029dfe92437 (commit)
       via  57622467a89225656104d31d167621300afa7732 (commit)
       via  2df6ecf6700b267596c15ccc4dbb53091f4d363b (commit)
      from  b0a620d6f195bd845a231c1b64017d95d146f3e1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b54b3da07ed61e85c054f12a989f752507f7a6cd
commit b54b3da07ed61e85c054f12a989f752507f7a6cd
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 3 17:56:01 2022 -0500

    the crufty code, it stings...

http://code.citadel.org/?p=citadel.git&a=commit&h=659f9df00a54c841b8c3ba6619664029dfe92437
commit 659f9df00a54c841b8c3ba6619664029dfe92437
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 3 17:33:19 2022 -0500

    I went looking for something in the text client, and was reminded
    how absolutely rubbish my coding style was in the late 1980s.  I did
    a few bits of cleanup but most of that code ought to be rewritten.
    The good news is that unlike WebCit, I believe we can redo the text
    client in place over a period of time.

http://code.citadel.org/?p=citadel.git&a=commit&h=57622467a89225656104d31d167621300afa7732
commit 57622467a89225656104d31d167621300afa7732
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 3 17:04:37 2022 -0500

    ReplyQuoted works now.

http://code.citadel.org/?p=citadel.git&a=commit&h=2df6ecf6700b267596c15ccc4dbb53091f4d363b
commit 2df6ecf6700b267596c15ccc4dbb53091f4d363b
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 3 16:47:43 2022 -0500

    Cleaned up the editor-div-replacement thing

-----------------------------------------------------------------------

Summary of changes:
 textclient/README.txt             |   2 +-
 textclient/citadel_ipc.c          | 268 +++++++++++++-------------------------
 textclient/messages.c             | 202 ++++++++++++++--------------
 textclient/textclient.h           |   2 -
 webcit-ng/static/css/webcit.css   |  33 +++++
 webcit-ng/static/js/view_forum.js |  33 ++---
 6 files changed, 245 insertions(+), 295 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287637</link><pubDate>Mon, 03 Jan 2022 15:21:36 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v943-9-gb0a620d6f</title><guid isPermaLink="false">2099287637@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b0a620d6f195bd845a231c1b64017d95d146f3e1 (commit)
       via  9bc6e22ca790e9ea0917a95a156306345f59e1e8 (commit)
       via  0d2b829009528b4128e35508500b2f07451cefca (commit)
       via  56706cb10c88d412303807456338e1bcdf3c1f9d (commit)
      from  ee4ba401ecf6af8d7488e6df3aa45203a8c7ebfe (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b0a620d6f195bd845a231c1b64017d95d146f3e1
commit b0a620d6f195bd845a231c1b64017d95d146f3e1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 3 15:21:00 2022 -0500

    The current local date and time now displays in the message entry div.

http://code.citadel.org/?p=citadel.git&a=commit&h=9bc6e22ca790e9ea0917a95a156306345f59e1e8
commit 9bc6e22ca790e9ea0917a95a156306345f59e1e8
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 3 15:13:44 2022 -0500

    Message date/time is now sent to the browser in unix timestamp format
    and converted to a displayable date/time in the local timezone by the
    browser.

http://code.citadel.org/?p=citadel.git&a=commit&h=0d2b829009528b4128e35508500b2f07451cefca
commit 0d2b829009528b4128e35508500b2f07451cefca
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 1 18:23:47 2022 -0500

    ssl error handling

http://code.citadel.org/?p=citadel.git&a=commit&h=56706cb10c88d412303807456338e1bcdf3c1f9d
commit 56706cb10c88d412303807456338e1bcdf3c1f9d
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 1 18:15:00 2022 -0500

    Removed some comments

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/forum_view.c            |  7 +------
 webcit-ng/ssl.c                   | 30 +-----------------------------
 webcit-ng/static/js/util.js       | 32 ++++++++++++++++++++++++++++++++
 webcit-ng/static/js/view_forum.js | 14 +++++++-------
 4 files changed, 41 insertions(+), 42 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287467</link><pubDate>Sat, 01 Jan 2022 17:50:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v943-5-gee4ba401e</title><guid isPermaLink="false">2099287467@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ee4ba401ecf6af8d7488e6df3aa45203a8c7ebfe (commit)
       via  03f8ea2b9c9ca63c0dfb47fb03b0a15c46e33294 (commit)
       via  d7f68b0dfe66ac64d03db972eed370392c400d55 (commit)
       via  65829aa92817c7bfd1346a59c0411d25344d5aec (commit)
       via  45d55c0f8fc2b7fb56409467f1d058103368531f (commit)
      from  34dbf6c32f8d2163784799aeaa0c039ba10f1417 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ee4ba401ecf6af8d7488e6df3aa45203a8c7ebfe
commit ee4ba401ecf6af8d7488e6df3aa45203a8c7ebfe
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 1 17:50:37 2022 -0500

    minor comment change

http://code.citadel.org/?p=citadel.git&a=commit&h=03f8ea2b9c9ca63c0dfb47fb03b0a15c46e33294
commit 03f8ea2b9c9ca63c0dfb47fb03b0a15c46e33294
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 1 17:32:03 2022 -0500

    Set up a proper favicon.ico in both webcit-classic and webcit-ng with a version of the Citadel logo in it

http://code.citadel.org/?p=citadel.git&a=commit&h=d7f68b0dfe66ac64d03db972eed370392c400d55
commit d7f68b0dfe66ac64d03db972eed370392c400d55
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 1 15:49:08 2022 -0500

    The "reply" function in webcit-ng now correctly replaces the editor div with
    the final rendered version of the message that came back from the server.
    It looks nice.

http://code.citadel.org/?p=citadel.git&a=commit&h=65829aa92817c7bfd1346a59c0411d25344d5aec
commit 65829aa92817c7bfd1346a59c0411d25344d5aec
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 1 15:31:31 2022 -0500

    randomString() is now always the same length and always begins with "ctdl_"

http://code.citadel.org/?p=citadel.git&a=commit&h=45d55c0f8fc2b7fb56409467f1d058103368531f
commit 45d55c0f8fc2b7fb56409467f1d058103368531f
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 1 15:20:21 2022 -0500

    It's 2022 ... updating all of the copyright notices in webcit-ng

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/admin_functions.c                    |   2 +-
 webcit-ng/caldav_reports.c                     |   2 +-
 webcit-ng/ctdl_commands.c                      |   2 +-
 webcit-ng/ctdlclient.c                         |   2 +-
 webcit-ng/ctdlfunctions.c                      |   2 +-
 webcit-ng/forum_view.c                         |   2 +-
 webcit-ng/html2html.c                          |   2 +-
 webcit-ng/http.c                               |   2 +-
 webcit-ng/main.c                               |   4 +-
 webcit-ng/messages.c                           |   2 +-
 webcit-ng/request.c                            |   5 +++
 webcit-ng/room_functions.c                     |   2 +-
 webcit-ng/static.c                             |   7 +++-
 webcit-ng/static/css/webcit.css                |   2 +-
 webcit-ng/static/{ => images}/citadel-logo.gif | Bin
 webcit-ng/static/images/favicon.ico            | Bin 0 -> 2238 bytes
 webcit-ng/static/{ => images}/throbber.gif     | Bin
 webcit-ng/static/index.html                    |   2 +-
 webcit-ng/static/js/main.js                    |   2 +-
 webcit-ng/static/js/util.js                    |  15 ++------
 webcit-ng/static/js/view_forum.js              |  51 +++++++++++++++++++------
 webcit-ng/static/js/views.js                   |   2 +-
 webcit-ng/tcp_sockets.c                        |   2 +-
 webcit-ng/text2html.c                          |   2 +-
 webcit-ng/user_functions.c                     |   5 +--
 webcit-ng/util.c                               |   2 +-
 webcit-ng/webcit.h                             |   2 +-
 webcit-ng/webserver.c                          |   2 +-
 webcit/static/favicon.ico                      | Bin 894 -> 2238 bytes
 29 files changed, 77 insertions(+), 48 deletions(-)
 rename webcit-ng/static/{ => images}/citadel-logo.gif (100%)
 create mode 100644 webcit-ng/static/images/favicon.ico
 rename webcit-ng/static/{ => images}/throbber.gif (100%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287343</link><pubDate>Fri, 31 Dec 2021 14:36:38 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities annotated tag v943 created. v943</title><guid isPermaLink="false">2099287343@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">In my current old version (debian) I
      need to run: </font><font face="Liberation Sans"><span
        style="font-family:monospace"><br>
      </span></font>
    <blockquote><font face="Liberation Sans"><span
          style="font-family:monospace">sendcommand IGAB</span></font><br>
      <font face="Liberation Sans"><span style="font-family:monospace"></span></font></blockquote>
    <font face="Liberation Sans"><span style="font-family:monospace">I
        don't know how often Citadel runs this command automatically. <br>
        But when I do it manually it appears almost instantaneously in
        the new contacts.<br>
        <br>
        And a new related situation arose this week:<br>
        When I make a new account and try to configure the mail client
        on Android; it can take many minutes (~30) to allow me to
        connect to that account; but if I run the command I can register
        it almost immediately.<br>
      </span><br>
    </font><br>
    Preventing this situation that I currently live, and due to the
    problem I have with the aliases (in Docker) I am looking for if
    using this command I can immediately notice the changes to the
    aliases that I add.<br>
    <br>
    But sadly, the aliases are not preserved neither from the text
    client, and even less from webcit; every time I edit a new alias; it
    eliminates the previous ones: It go through the first alias and
    places it as primary address, but it eliminates that 1st alias from
    the aliases; and worse: does not preserve any new alias that is
    identical to the primary email (even though it is no longer listed
    in the text client or webcit).<br>
    <br>
    This reference I borrowed from a friend who was troubleshooting a
    problem:<br>
    <blockquote><img
        src="cid:part1.71ewvuwd.iVugj1Iq@uncensored.citadel.org" alt=""><br>
      I think Sherlock is going to need a lot of pipes to find/fix this
      error in the aliases.</blockquote>
    <br>
    <br>
    <div class="moz-cite-prefix">On 12/30/21 16:56, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:61CE472F-7D2094C1@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 The sendcommand binary should be in /usr/local/citadel in the container's
filesystem. 
  
 But if you *need* sendcommand for something, I should probably know what
it is, so we can provide a better way to do it. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287233</link><pubDate>Thu, 30 Dec 2021 18:56:31 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities annotated tag v943 created. v943</title><guid isPermaLink="false">2099287233@Uncensored</guid><description><![CDATA[  
 The sendcommand binary should be in /usr/local/citadel in the container's
filesystem. 
  
 But if you *need* sendcommand for something, I should probably know what
it is, so we can provide a better way to do it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287205</link><pubDate>Thu, 30 Dec 2021 14:40:44 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities annotated tag v943 created. v943</title><guid isPermaLink="false">2099287205@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Hi Art (Here I go again)<br>
      <br>
      <b>But first, wishing you a great new year and a healthy+happy end
        of year.</b><br>
      <br>
      So. I upgrade my docker with this new version.<br>
      It seems that in this version the aliases do remain stored.<br>
      Although it leaves the first address as @em(hostname).domain.<br>
      And of course, here I can't edit it; so I decided to delete it and
      add it without the host; but apparently I can't add an address
      similar to the primary one I already deleted; except different
      ones. See attached images<br>
    </font>
    <blockquote><font face="Liberation Sans"><img
          src="cid:part1.5lE1BLSX.00f9263E@uncensored.citadel.org"
          alt=""><br>
        <img src="cid:part2.DNRd8xQ9.hdIflWN3@uncensored.citadel.org"
          alt=""><br>
        <br>
      </font></blockquote>
    <font face="Liberation Sans">One not related questions:<br>
      The <b>sendcommand</b> no longer exists in docker?<br>
      I look for the updated files in /usb/bin/ (inside the container)
      in December; hoping to find which that sendcommand. But I didn't
      find anything.<br>
    </font>
    <blockquote><span style="font-family:monospace"><span
          style="color:#000000;background-color:#ffffff;">root@citadel:/#
          ls /usr/bin/ -l|grep Dec
        </span><br>
        lrwxrwxrwx 1 root root         25 Dec 28 11:34 aclocal -&gt;
        /etc/alternatives/aclocal
        <br>
        -rwxr-xr-x 1 root root      14768 Dec 25  2020 autoconf
        <br>
        -rwxr-xr-x 1 root root       8534 Dec 25  2020 autoheader
        <br>
        -rwxr-xr-x 1 root root      32669 Dec 25  2020 autom4te
        <br>
        lrwxrwxrwx 1 root root         26 Dec 28 11:34 automake -&gt;
        /etc/alternatives/automake
        <br>
        -rwxr-xr-x 1 root root      21161 Dec 25  2020 autoreconf
        <br>
        -rwxr-xr-x 1 root root      17130 Dec 25  2020 autoscan
        <br>
        -rwxr-xr-x 1 root root      33872 Dec 25  2020 autoupdate
        <br>
        lrwxrwxrwx 1 root root         21 Dec 20 00:00 awk -&gt;
        /etc/alternatives/awk
        <br>
        lrwxrwxrwx 1 root root         21 Dec 28 11:35 c89 -&gt;
        /etc/alternatives/c89
        <br>
        lrwxrwxrwx 1 root root         21 Dec 28 11:35 c99 -&gt;
        /etc/alternatives/c99
        <br>
        lrwxrwxrwx 1 root root         20 Dec 28 11:34 cc -&gt;
        /etc/alternatives/cc
        <br>
        -rwxr-xr-x 1 root root     238160 Dec 28 11:40 citadel
        <br>
        -rwxr-xr-x 1 root root      21394 Dec 14  2020
        deb-systemd-helper
        <br>
        -rwxr-xr-x 1 root root       4411 Dec 14  2020
        deb-systemd-invoke
        <br>
        -rwxr-xr-x 1 root root       1836 Dec 21  2020
        dh_autotools-dev_restoreconfig
        <br>
        -rwxr-xr-x 1 root root       1849 Dec 21  2020
        dh_autotools-dev_updateconfig
        <br>
        -rwxr-xr-x 1 root root       4128 Dec 25  2020 ifnames
        <br>
        lrwxrwxrwx 1 root root         22 Dec 20 00:00 nawk -&gt;
        /etc/alternatives/nawk
        <br>
        lrwxrwxrwx 1 root root         23 Dec 20 00:00 pager -&gt;
        /etc/alternatives/pager
        <br>
        lrwxrwxrwx 1 root root         21 Dec 28 11:34 rcp -&gt;
        /etc/alternatives/rcp
        <br>
        lrwxrwxrwx 1 root root         24 Dec 28 11:34 rlogin -&gt;
        /etc/alternatives/rlogin
        <br>
        lrwxrwxrwx 1 root root         21 Dec 28 11:34 rsh -&gt;
        /etc/alternatives/rsh
        <br>
        lrwxrwxrwx 1 root root         10 Dec 20 00:00 touch -&gt;
        /bin/touch
        <br>
        -rwxr-xr-x 1 root root        234 Dec 28  2018 xdg-user-dir
        <br>
        -rwxr-xr-x 1 root root      26696 Dec 28  2018
        xdg-user-dirs-update
        <br>
        lrwxrwxrwx 1 root root         22 Dec 28 11:34 yacc -&gt;
        /etc/alternatives/yacc
        <br>
        root@citadel:/# man citadel
        <br>
        bash: man: command not found
        <br>
        root@citadel:/# citadel --help
        <br>
        Attaching to server...
        <br>
        [--help:504]
        <br>
        Can't connect: Invalid argument
        <br>
        root@citadel:/# citadel -h
        <br>
        Attaching to server...
        <br>
        [-h:504]
        <br>
        Can't connect: Invalid argument<br>
      </span></blockquote>
    <font face="Liberation Sans">And one suggestion:<br>
      Using docker ps; I see that the </font><font face="Liberation
      Sans"><font face="Liberation Sans">container for</font>
      "portainer" show info about the Ports used; maybe for the citadel
      container will be a nice addition<br>
      <img src="cid:part3.1i0oEXwC.Kk3md1oO@uncensored.citadel.org"
        alt=""><br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 12/30/21 10:39, noreply wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1640885959.339645.21289.nullmailer@buildbox.citadel.org">
      <pre class="moz-quote-pre" wrap="">
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v943 has been created
        at  0fecb7481a5f97ca1c788cd5b360ac7a4c8cd3b3 (tag)
   tagging  34dbf6c32f8d2163784799aeaa0c039ba10f1417 (commit)
  replaces  v941
 tagged by  Art Cancro
        on  Thu Dec 30 12:38:21 2021 -0500

- Log -----------------------------------------------------------------
Version 943 release

Art Cancro (48):
      Changed the reject message to be identical to the one used by Mailman so we can steal their translations later
      When delivering mail from a mailing list room, it is not enough to set the Reply-To: header to the room's address; we must set the From: address too.  Doing otherwise annoys the recipient's DKIM validators.
      Display an alert if we cannot connect to Citadel Server, instead of leaving the user sitting there bewildered.
      Don't use \r\n with ctdl_printf() because it adds a \n on its own.  Only add \r when CRLF is needed.  Also some UI tweaks.
      Begin gathering references and message IDs for replies
      Change all instances of "URI" to "URL" because that's more sensible
      HTTP headers are shown in purple in the syslog
      http request headers are now an array instead of a linked list
      response headers now use an array instead of a linked list
      It's Friday night, Wesley is out, Sammi is not hungry, and Miss Melissa is asleep on the couch.  Instead of making dinner I added URL parameter parsing to the web server.  I didn't think we'd need it but I want to be able to transmit some parameters to ENT0 and this seems like a reasonable way to do it.
      How about that ... we're now correctly handling the reply-references and carrying over the subject, and Wes is on the way here with a burger for me.
      do-release.sh now generates more meaningful descriptions of tags
      beautiful
      new div name
      open the reply box with .append() instead of tweaking outerHTML
      Major change to the javascript forum view.  We now wait for all messages to be loaded before rendering them all in one shot.  Rendering works, opening the reply box works, saving a message works, but we still have to figure out how to render a message in the location where it was entered.  Or maybe that's not a good idea?  Also the scroll_to semantics are broken but we are in a better position to redo this in a simpler way.
      Append messages to the DOM tree as div elements instead of as text.  This preserves the document tree's integrity when a malformed message arrives.
      scroll_to works again
      Slowly becoming a good JavaScript developer.  :)    Don't pass around div names when we can actually pass around references to the divs themselves.  This should shave off a few cycles because we don't have to keep calling document.getElementById()
      If div names are random strings, they don't need to start with "ctdl_"
      New functions to activate and deactivate the Loading... modal
      serv_pop3.c: updated to latest style guidelines
      Removed SSL cleanup function.  Let the operating system do this for us.
      OpenSSL no longer requires thread locking callbacks.  REMOVED FROM CITSERVER
      OpenSSL no longer requires thread locking callbacks.  REMOVED FROM WEBCIT CLASSIC
      OpenSSL no longer requires thread locking callbacks.  REMOVED FROM WEBCIT-NG
      Removed more legacy cruft no longer needed when OpenSSL&gt;=v1.1
      Cleanup of crypto.c in wc-classic to prepare for certificate updates during runtime
      I need to make the static web server just a static web server.  I hate working in webcit classic because it's such a tangled mess.  The present commit just cleans up some old cruft; there is no actual change in functionality yet.  The next couple of commits will attempt to only cache the templates while using a regular file open for everything else.  There's no need to cache everything else because the operating system can do it better than we can.  KISS principle.  Coming soon to a webcit near you.
      Removed the epic editor from the tree.  Why was it even there?  It wasn't being used.
      Removed vestiges of the epic editor
      Finally removed the cached/hashed static directory stuff.  This should put us into a position to get the http-01 challenge working.
      Removed the obsolete 'setup' utility.  It is not used by any currently supported installation method. Removed the unfinished 'setup wizard'. Removed the unused 'tests' directory.
      Removed the unused 'selenium' directory
      BIG CHANGES: PAY ATTENTION 1. WebCit must now run on the same host as Citadel Server, which is how everyone runs it anyway. 2. WebCit now uses the SSL key and Certificate from the Citadel Server directory.
      Not sure what the point of that second call to SSL_accept() was for, but it was always failing, and removing it seems to be fine
      Citadel Server and WebCit (classic) now both reload the key and cert if the modification time of either one changes.  This should allow us to replace or renew the certificate during normal operation without restarting.
      Release version 942 generated by do-release.sh
      We have to push the changes *and* the tags
      setup was still in the makefile , oooops
      WebCit-NG: * Force webcit to be on the same host as citserver * Remove local keys directory, use the ones from citserver directory * Auto re-bind key and cert if either one changes * Support .well-known directory for static content, supporting HTTP-01
      Fucking hell.  We actually HAVE a "Allow non-subscribers to mail to this room" flag.  I was confused by the poor wording of this option in the text client, and screwed up the server's behavior when I rewrote the mailing list server.  It's fixed now, and once again has the correct behavior: anyone can email a room when the flag is set, and subscribers can email the room regardless of the flag.
      When delivering mailing list messages, populate the sending_room field of the recipient list.  This in turn populates the source_room directive in the SMTP delivery list, which we will use soon.
      Extend the source_room field all the way into the SMTP delivery loop. Tested adding SMTP headers directly into the outgoing message at the moment of transmission -- it worked really well.  Temporarily adding an "X-Citadel-Room:" header as a placeholder, but in the next couple of commits we will make it a "List-Unsubscribe:" header.
      listsub.c: style cleanup
      more idle style-cleanup work
      List-Unsubscribe: header is now being generated and is correct!
      Release version 943 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287185</link><pubDate>Thu, 30 Dec 2021 12:39:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v943 created. v943</title><guid isPermaLink="false">2099287185@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v943 has been created
        at  0fecb7481a5f97ca1c788cd5b360ac7a4c8cd3b3 (tag)
   tagging  34dbf6c32f8d2163784799aeaa0c039ba10f1417 (commit)
  replaces  v941
 tagged by  Art Cancro
        on  Thu Dec 30 12:38:21 2021 -0500

- Log -----------------------------------------------------------------
Version 943 release

Art Cancro (48):
      Changed the reject message to be identical to the one used by Mailman so we can steal their translations later
      When delivering mail from a mailing list room, it is not enough to set the Reply-To: header to the room's address; we must set the From: address too.  Doing otherwise annoys the recipient's DKIM validators.
      Display an alert if we cannot connect to Citadel Server, instead of leaving the user sitting there bewildered.
      Don't use \r\n with ctdl_printf() because it adds a \n on its own.  Only add \r when CRLF is needed.  Also some UI tweaks.
      Begin gathering references and message IDs for replies
      Change all instances of "URI" to "URL" because that's more sensible
      HTTP headers are shown in purple in the syslog
      http request headers are now an array instead of a linked list
      response headers now use an array instead of a linked list
      It's Friday night, Wesley is out, Sammi is not hungry, and Miss Melissa is asleep on the couch.  Instead of making dinner I added URL parameter parsing to the web server.  I didn't think we'd need it but I want to be able to transmit some parameters to ENT0 and this seems like a reasonable way to do it.
      How about that ... we're now correctly handling the reply-references and carrying over the subject, and Wes is on the way here with a burger for me.
      do-release.sh now generates more meaningful descriptions of tags
      beautiful
      new div name
      open the reply box with .append() instead of tweaking outerHTML
      Major change to the javascript forum view.  We now wait for all messages to be loaded before rendering them all in one shot.  Rendering works, opening the reply box works, saving a message works, but we still have to figure out how to render a message in the location where it was entered.  Or maybe that's not a good idea?  Also the scroll_to semantics are broken but we are in a better position to redo this in a simpler way.
      Append messages to the DOM tree as div elements instead of as text.  This preserves the document tree's integrity when a malformed message arrives.
      scroll_to works again
      Slowly becoming a good JavaScript developer.  :)    Don't pass around div names when we can actually pass around references to the divs themselves.  This should shave off a few cycles because we don't have to keep calling document.getElementById()
      If div names are random strings, they don't need to start with "ctdl_"
      New functions to activate and deactivate the Loading... modal
      serv_pop3.c: updated to latest style guidelines
      Removed SSL cleanup function.  Let the operating system do this for us.
      OpenSSL no longer requires thread locking callbacks.  REMOVED FROM CITSERVER
      OpenSSL no longer requires thread locking callbacks.  REMOVED FROM WEBCIT CLASSIC
      OpenSSL no longer requires thread locking callbacks.  REMOVED FROM WEBCIT-NG
      Removed more legacy cruft no longer needed when OpenSSL>=v1.1
      Cleanup of crypto.c in wc-classic to prepare for certificate updates during runtime
      I need to make the static web server just a static web server.  I hate working in webcit classic because it's such a tangled mess.  The present commit just cleans up some old cruft; there is no actual change in functionality yet.  The next couple of commits will attempt to only cache the templates while using a regular file open for everything else.  There's no need to cache everything else because the operating system can do it better than we can.  KISS principle.  Coming soon to a webcit near you.
      Removed the epic editor from the tree.  Why was it even there?  It wasn't being used.
      Removed vestiges of the epic editor
      Finally removed the cached/hashed static directory stuff.  This should put us into a position to get the http-01 challenge working.
      Removed the obsolete 'setup' utility.  It is not used by any currently supported installation method. Removed the unfinished 'setup wizard'. Removed the unused 'tests' directory.
      Removed the unused 'selenium' directory
      BIG CHANGES: PAY ATTENTION 1. WebCit must now run on the same host as Citadel Server, which is how everyone runs it anyway. 2. WebCit now uses the SSL key and Certificate from the Citadel Server directory.
      Not sure what the point of that second call to SSL_accept() was for, but it was always failing, and removing it seems to be fine
      Citadel Server and WebCit (classic) now both reload the key and cert if the modification time of either one changes.  This should allow us to replace or renew the certificate during normal operation without restarting.
      Release version 942 generated by do-release.sh
      We have to push the changes *and* the tags
      setup was still in the makefile , oooops
      WebCit-NG: * Force webcit to be on the same host as citserver * Remove local keys directory, use the ones from citserver directory * Auto re-bind key and cert if either one changes * Support .well-known directory for static content, supporting HTTP-01
      Fucking hell.  We actually HAVE a "Allow non-subscribers to mail to this room" flag.  I was confused by the poor wording of this option in the text client, and screwed up the server's behavior when I rewrote the mailing list server.  It's fixed now, and once again has the correct behavior: anyone can email a room when the flag is set, and subscribers can email the room regardless of the flag.
      When delivering mailing list messages, populate the sending_room field of the recipient list.  This in turn populates the source_room directive in the SMTP delivery list, which we will use soon.
      Extend the source_room field all the way into the SMTP delivery loop. Tested adding SMTP headers directly into the outgoing message at the moment of transmission -- it worked really well.  Temporarily adding an "X-Citadel-Room:" header as a placeholder, but in the next couple of commits we will make it a "List-Unsubscribe:" header.
      listsub.c: style cleanup
      more idle style-cleanup work
      List-Unsubscribe: header is now being generated and is correct!
      Release version 943 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287184</link><pubDate>Thu, 30 Dec 2021 12:39:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-48-g34dbf6c32</title><guid isPermaLink="false">2099287184@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  34dbf6c32f8d2163784799aeaa0c039ba10f1417 (commit)
       via  3bb79ddafcaf2407173223816312c6e6ce2ee5a8 (commit)
       via  1565ead95bdbdd998350363a27f2b57945f86b28 (commit)
       via  a8800744f21d4cebd56bd74bbad900b4aca364bb (commit)
      from  3f8ef06df26a03df520327829bec929bae472c7b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=34dbf6c32f8d2163784799aeaa0c039ba10f1417
commit 34dbf6c32f8d2163784799aeaa0c039ba10f1417
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 30 12:38:21 2021 -0500

    Release version 943 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=3bb79ddafcaf2407173223816312c6e6ce2ee5a8
commit 3bb79ddafcaf2407173223816312c6e6ce2ee5a8
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 30 12:38:11 2021 -0500

    List-Unsubscribe: header is now being generated and is correct!

http://code.citadel.org/?p=citadel.git&a=commit&h=1565ead95bdbdd998350363a27f2b57945f86b28
commit 1565ead95bdbdd998350363a27f2b57945f86b28
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 30 12:24:53 2021 -0500

    more idle style-cleanup work

http://code.citadel.org/?p=citadel.git&a=commit&h=a8800744f21d4cebd56bd74bbad900b4aca364bb
commit a8800744f21d4cebd56bd74bbad900b4aca364bb
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 30 12:13:13 2021 -0500

    listsub.c: style cleanup

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                      |   2 +-
 citadel/modules/smtp/serv_smtpclient.c |  12 +-
 libcitadel/lib/libcitadel.h            |   2 +-
 release_version.txt                    |   2 +-
 webcit/calendar.c                      | 272 +++++++++++++--------------------
 webcit/listsub.c                       |  67 ++++----
 webcit/webcit.h                        |   2 +-
 7 files changed, 151 insertions(+), 208 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099287074</link><pubDate>Wed, 29 Dec 2021 17:55:45 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-44-g3f8ef06df</title><guid isPermaLink="false">2099287074@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3f8ef06df26a03df520327829bec929bae472c7b (commit)
       via  5e6be359b17c74ae2b7ccd473c4315cfd7036fa0 (commit)
       via  c152a35075c5a2c7403e310309331fe7061fb60d (commit)
      from  02d9ac29a60e4d76d4f87a8fb155fbeb7f72e3f5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3f8ef06df26a03df520327829bec929bae472c7b
commit 3f8ef06df26a03df520327829bec929bae472c7b
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 29 17:53:59 2021 -0500

    Extend the source_room field all the way into the SMTP delivery loop.
    Tested adding SMTP headers directly into the outgoing message at the
    moment of transmission -- it worked really well.  Temporarily adding
    an "X-Citadel-Room:" header as a placeholder, but in the next couple
    of commits we will make it a "List-Unsubscribe:" header.

http://code.citadel.org/?p=citadel.git&a=commit&h=5e6be359b17c74ae2b7ccd473c4315cfd7036fa0
commit 5e6be359b17c74ae2b7ccd473c4315cfd7036fa0
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 29 14:47:34 2021 -0500

    When delivering mailing list messages, populate the sending_room
    field of the recipient list.  This in turn populates the source_room
    directive in the SMTP delivery list, which we will use soon.

http://code.citadel.org/?p=citadel.git&a=commit&h=c152a35075c5a2c7403e310309331fe7061fb60d
commit c152a35075c5a2c7403e310309331fe7061fb60d
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 29 11:28:48 2021 -0500

    Fucking hell.  We actually HAVE a "Allow non-subscribers to mail to
    this room" flag.  I was confused by the poor wording of this option
    in the text client, and screwed up the server's behavior when I
    rewrote the mailing list server.  It's fixed now, and once again
    has the correct behavior: anyone can email a room when the flag is
    set, and subscribers can email the room regardless of the flag.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c                  |  11 +-
 citadel/modules/listdeliver/serv_listdeliver.c |  63 ++++-----
 citadel/modules/smtp/serv_smtpclient.c         | 171 +++++++++++--------------
 textclient/rooms.c                             |  69 +++++-----
 4 files changed, 144 insertions(+), 170 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286863</link><pubDate>Tue, 28 Dec 2021 16:31:59 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-41-g02d9ac29a</title><guid isPermaLink="false">2099286863@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  02d9ac29a60e4d76d4f87a8fb155fbeb7f72e3f5 (commit)
      from  cbe80183a50f9301aee444d47dee11c115547f92 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=02d9ac29a60e4d76d4f87a8fb155fbeb7f72e3f5
commit 02d9ac29a60e4d76d4f87a8fb155fbeb7f72e3f5
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 28 16:31:53 2021 -0500

    WebCit-NG:
    * Force webcit to be on the same host as citserver
    * Remove local keys directory, use the ones from citserver directory
    * Auto re-bind key and cert if either one changes
    * Support .well-known directory for static content, supporting HTTP-01

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.h |   2 +-
 webcit-ng/ctdlclient.c               |  97 +-------------
 webcit-ng/http.c                     |   2 +-
 webcit-ng/main.c                     |  14 +-
 webcit-ng/request.c                  |  12 +-
 webcit-ng/ssl.c                      | 252 ++++++++---------------------------
 webcit-ng/static.c                   |  14 +-
 webcit-ng/webcit.h                   |  14 +-
 8 files changed, 97 insertions(+), 310 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286697</link><pubDate>Mon, 27 Dec 2021 17:49:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-40-gcbe80183a</title><guid isPermaLink="false">2099286697@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cbe80183a50f9301aee444d47dee11c115547f92 (commit)
      from  a3792fafb4d1e7ee64a82f01fcbc20a4f68df72b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cbe80183a50f9301aee444d47dee11c115547f92
commit cbe80183a50f9301aee444d47dee11c115547f92
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 27 17:49:01 2021 -0500

    setup was still in the makefile , oooops

-----------------------------------------------------------------------

Summary of changes:
 webcit/Makefile.in | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286691</link><pubDate>Mon, 27 Dec 2021 17:43:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-39-ga3792fafb</title><guid isPermaLink="false">2099286691@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a3792fafb4d1e7ee64a82f01fcbc20a4f68df72b (commit)
      from  ab602f319b5211f37228ebe3c223e1e693075ac8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a3792fafb4d1e7ee64a82f01fcbc20a4f68df72b
commit a3792fafb4d1e7ee64a82f01fcbc20a4f68df72b
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 27 17:43:02 2021 -0500

    We have to push the changes *and* the tags

-----------------------------------------------------------------------

Summary of changes:
 do-release.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286690</link><pubDate>Mon, 27 Dec 2021 17:41:12 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-38-gab602f319</title><guid isPermaLink="false">2099286690@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ab602f319b5211f37228ebe3c223e1e693075ac8 (commit)
       via  ab376f8217b148b8d0896a31e6a2502100f134ac (commit)
      from  6085834c9009a4188ba009ec7585af0491622159 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ab602f319b5211f37228ebe3c223e1e693075ac8
commit ab602f319b5211f37228ebe3c223e1e693075ac8
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 27 17:40:40 2021 -0500

    Release version 942 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=ab376f8217b148b8d0896a31e6a2502100f134ac
commit ab376f8217b148b8d0896a31e6a2502100f134ac
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 27 17:30:09 2021 -0500

    Citadel Server and WebCit (classic) now both reload the key and cert if the modification time of either one changes.  This should allow us to replace or renew the certificate during normal operation without restarting.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                    |  2 +-
 citadel/modules/crypto/serv_crypto.c | 25 +++++++++++++++
 libcitadel/lib/libcitadel.h          |  2 +-
 release_version.txt                  |  2 +-
 webcit/crypto.c                      | 61 ++++++++++++++++++++++++++++--------
 webcit/serv_func.c                   |  3 --
 webcit/webcit.h                      |  2 +-
 7 files changed, 77 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286678</link><pubDate>Mon, 27 Dec 2021 15:52:01 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-36-g6085834c9</title><guid isPermaLink="false">2099286678@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6085834c9009a4188ba009ec7585af0491622159 (commit)
      from  04d035f266fd84b2b081ad3bc37547bb68c6dce8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6085834c9009a4188ba009ec7585af0491622159
commit 6085834c9009a4188ba009ec7585af0491622159
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 27 15:51:58 2021 -0500

    Not sure what the point of that second call to SSL_accept() was for, but it was always failing, and removing it seems to be fine

-----------------------------------------------------------------------

Summary of changes:
 webcit/crypto.c | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286677</link><pubDate>Mon, 27 Dec 2021 15:49:43 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-35-g04d035f26</title><guid isPermaLink="false">2099286677@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  04d035f266fd84b2b081ad3bc37547bb68c6dce8 (commit)
      from  08aa0de3a41a54daeefe15c7df10c5a1397cc879 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=04d035f266fd84b2b081ad3bc37547bb68c6dce8
commit 04d035f266fd84b2b081ad3bc37547bb68c6dce8
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 27 15:49:38 2021 -0500

    BIG CHANGES: PAY ATTENTION
    1. WebCit must now run on the same host as Citadel Server, which is how everyone runs it anyway.
    2. WebCit now uses the SSL key and Certificate from the Citadel Server directory.

-----------------------------------------------------------------------

Summary of changes:
 webcit/Makefile.in                  |   6 +-
 webcit/auth.c                       |   5 +-
 webcit/crypto.c                     | 278 ++----------------------------------
 webcit/serv_func.c                  | 120 +++++++---------
 webcit/{tcp_sockets.c => sockets.c} | 269 ++++++++--------------------------
 webcit/{tcp_sockets.h => sockets.h} |   4 +-
 webcit/sysdep.c                     |  18 ---
 webcit/webcit.h                     |  27 ++--
 webcit/webserver.c                  |  35 ++---
 9 files changed, 154 insertions(+), 608 deletions(-)
 rename webcit/{tcp_sockets.c => sockets.c} (83%)
 rename webcit/{tcp_sockets.h => sockets.h} (96%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286661</link><pubDate>Mon, 27 Dec 2021 14:32:01 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-34-g08aa0de3a</title><guid isPermaLink="false">2099286661@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  08aa0de3a41a54daeefe15c7df10c5a1397cc879 (commit)
      from  669ff8aba0ce98da1fa9787b4917969cc6fc1e25 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=08aa0de3a41a54daeefe15c7df10c5a1397cc879
commit 08aa0de3a41a54daeefe15c7df10c5a1397cc879
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 27 14:31:57 2021 -0500

    Removed the unused 'selenium' directory

-----------------------------------------------------------------------

Summary of changes:
 webcit/selenium/ChangeIdentity          | 107 ----------------
 webcit/selenium/LoginEditcontactLogout  | 212 --------------------------------
 webcit/selenium/LoginLogOut             |  52 --------
 webcit/selenium/LoginNoteseditingLogout | 117 ------------------
 webcit/selenium/Tasks                   | 127 -------------------
 webcit/selenium/login_out               |  47 -------
 webcit/selenium/webcit                  |  18 ---
 7 files changed, 680 deletions(-)
 delete mode 100644 webcit/selenium/ChangeIdentity
 delete mode 100644 webcit/selenium/LoginEditcontactLogout
 delete mode 100644 webcit/selenium/LoginLogOut
 delete mode 100644 webcit/selenium/LoginNoteseditingLogout
 delete mode 100644 webcit/selenium/Tasks
 delete mode 100644 webcit/selenium/login_out
 delete mode 100644 webcit/selenium/webcit


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286658</link><pubDate>Mon, 27 Dec 2021 14:27:12 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-33-g669ff8aba</title><guid isPermaLink="false">2099286658@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  669ff8aba0ce98da1fa9787b4917969cc6fc1e25 (commit)
      from  316f01d07e6e7b5f50e5b6f210ebd6098a1a4fb2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=669ff8aba0ce98da1fa9787b4917969cc6fc1e25
commit 669ff8aba0ce98da1fa9787b4917969cc6fc1e25
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 27 14:27:08 2021 -0500

    Removed the obsolete 'setup' utility.  It is not used by any currently supported installation method.
    Removed the unfinished 'setup wizard'.
    Removed the unused 'tests' directory.

-----------------------------------------------------------------------

Summary of changes:
 webcit/Makefile.in         |  12 +-
 webcit/auth.c              |  38 +--
 webcit/configure.ac        |   2 +-
 webcit/setup.c             | 765 ---------------------------------------------
 webcit/setup_wizard.c      |  53 ----
 webcit/tests/.gitignore    |   4 -
 webcit/tests/Makefile.in   | 139 --------
 webcit/tests/test_main.c   | 232 --------------
 webcit/tests/test_tools.c  | 322 -------------------
 webcit/tests/webcit_test.h |  15 -
 webcit/webcit.h            |   2 -
 webcit/webserver.c         |  34 +-
 12 files changed, 18 insertions(+), 1600 deletions(-)
 delete mode 100644 webcit/setup.c
 delete mode 100644 webcit/setup_wizard.c
 delete mode 100644 webcit/tests/.gitignore
 delete mode 100644 webcit/tests/Makefile.in
 delete mode 100644 webcit/tests/test_main.c
 delete mode 100644 webcit/tests/test_tools.c
 delete mode 100644 webcit/tests/webcit_test.h


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286639</link><pubDate>Mon, 27 Dec 2021 11:28:53 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. v941-32-g316f01d07</title><guid isPermaLink="false">2099286639@Uncensored</guid><description><![CDATA[  
 For those of you following along ... the reason I am enduring all of this
extreme frustration of working with the WebCit Classic code base -- which
has been rendered unmaintainable by bloody acres of hash tables and callback
functions -- is because I want to make it work with the ACME HTTP-01 challenge
so people can use Let's Encrypt certificates. 
  
 I was planning on waiting for WebCit-NG for this, but apparently it can't
wait. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286634</link><pubDate>Mon, 27 Dec 2021 11:09:16 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-32-g316f01d07</title><guid isPermaLink="false">2099286634@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  316f01d07e6e7b5f50e5b6f210ebd6098a1a4fb2 (commit)
      from  4dd41898a66f8a6e45825a7c51d2734d285b7339 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=316f01d07e6e7b5f50e5b6f210ebd6098a1a4fb2
commit 316f01d07e6e7b5f50e5b6f210ebd6098a1a4fb2
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 27 11:09:11 2021 -0500

    Finally removed the cached/hashed static directory stuff.  This should put us into a position to get the http-01 challenge working.

-----------------------------------------------------------------------

Summary of changes:
 webcit/context_loop.c |  33 ++++----
 webcit/static.c       | 226 +++++---------------------------------------------
 webcit/webcit.c       |  35 ++++----
 3 files changed, 53 insertions(+), 241 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286564</link><pubDate>Sun, 26 Dec 2021 10:54:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-31-g4dd41898a</title><guid isPermaLink="false">2099286564@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4dd41898a66f8a6e45825a7c51d2734d285b7339 (commit)
      from  855073983438f28a7672b39a679da6b5bac541e9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4dd41898a66f8a6e45825a7c51d2734d285b7339
commit 4dd41898a66f8a6e45825a7c51d2734d285b7339
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 26 10:54:02 2021 -0500

    Removed vestiges of the epic editor

-----------------------------------------------------------------------

Summary of changes:
 webcit/Makefile.in  | 14 +-------------
 webcit/configure.ac |  3 ---
 webcit/static.c     |  1 -
 3 files changed, 1 insertion(+), 17 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286563</link><pubDate>Sun, 26 Dec 2021 10:53:43 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-30-g855073983</title><guid isPermaLink="false">2099286563@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  855073983438f28a7672b39a679da6b5bac541e9 (commit)
      from  3c1ebe35ca680369335a5440bc96785178c61a33 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=855073983438f28a7672b39a679da6b5bac541e9
commit 855073983438f28a7672b39a679da6b5bac541e9
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 26 10:49:33 2021 -0500

    Removed the epic editor from the tree.  Why was it even there?  It wasn't being used.

-----------------------------------------------------------------------

Summary of changes:
 webcit/epic/js/epiceditor.js                | 2899 ---------------------------
 webcit/epic/js/epiceditor.min.js            |    5 -
 webcit/epic/themes/base/epiceditor.css      |   70 -
 webcit/epic/themes/editor/epic-dark.css     |   13 -
 webcit/epic/themes/editor/epic-light.css    |   12 -
 webcit/epic/themes/preview/bartik.css       |  167 --
 webcit/epic/themes/preview/github.css       |  368 ----
 webcit/epic/themes/preview/preview-dark.css |  121 --
 webcit/static.c                             |    2 +-
 webcit/subst.c                              |   70 +-
 10 files changed, 20 insertions(+), 3707 deletions(-)
 delete mode 100644 webcit/epic/js/epiceditor.js
 delete mode 100644 webcit/epic/js/epiceditor.min.js
 delete mode 100644 webcit/epic/themes/base/epiceditor.css
 delete mode 100644 webcit/epic/themes/editor/epic-dark.css
 delete mode 100644 webcit/epic/themes/editor/epic-light.css
 delete mode 100644 webcit/epic/themes/preview/bartik.css
 delete mode 100644 webcit/epic/themes/preview/github.css
 delete mode 100644 webcit/epic/themes/preview/preview-dark.css


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286283</link><pubDate>Wed, 22 Dec 2021 16:46:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-29-g3c1ebe35c</title><guid isPermaLink="false">2099286283@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3c1ebe35ca680369335a5440bc96785178c61a33 (commit)
      from  b68b70e7a354aa2b3e550569514d303847e6379f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3c1ebe35ca680369335a5440bc96785178c61a33
commit 3c1ebe35ca680369335a5440bc96785178c61a33
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 22 16:46:50 2021 -0500

    I need to make the static web server just a static web server.  I hate working in webcit classic because it's such a tangled mess.  The present commit just cleans up some old cruft; there is no actual change in functionality yet.  The next couple of commits will attempt to only cache the templates while using a regular file open for everything else.  There's no need to cache everything else because the operating system can do it better than we can.  KISS principle.  Coming soon to a webcit near you.

-----------------------------------------------------------------------

Summary of changes:
 webcit/static.c | 148 +++++++++++++++-----------------------------------------
 webcit/subst.c  | 119 ++++++++++++---------------------------------
 2 files changed, 70 insertions(+), 197 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286168</link><pubDate>Tue, 21 Dec 2021 13:45:40 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-28-gb68b70e7a</title><guid isPermaLink="false">2099286168@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b68b70e7a354aa2b3e550569514d303847e6379f (commit)
      from  b60c9fb6b757b9544ab8e376a9d188cf2c6c4d59 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b68b70e7a354aa2b3e550569514d303847e6379f
commit b68b70e7a354aa2b3e550569514d303847e6379f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 21 13:45:33 2021 -0500

    Cleanup of crypto.c in wc-classic to prepare for certificate updates during runtime

-----------------------------------------------------------------------

Summary of changes:
 webcit/crypto.c | 289 ++++++++++++++++++++++----------------------------------
 1 file changed, 115 insertions(+), 174 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286164</link><pubDate>Tue, 21 Dec 2021 13:35:35 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-27-gb60c9fb6b</title><guid isPermaLink="false">2099286164@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b60c9fb6b757b9544ab8e376a9d188cf2c6c4d59 (commit)
      from  3bae1a68010d05f3b13141ea266af92f16a094db (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b60c9fb6b757b9544ab8e376a9d188cf2c6c4d59
commit b60c9fb6b757b9544ab8e376a9d188cf2c6c4d59
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 21 13:35:27 2021 -0500

    Removed more legacy cruft no longer needed when OpenSSL>=v1.1

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.c | 58 +++++++++++++++++++++---------------
 1 file changed, 34 insertions(+), 24 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286080</link><pubDate>Mon, 20 Dec 2021 15:50:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-26-g3bae1a680</title><guid isPermaLink="false">2099286080@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3bae1a68010d05f3b13141ea266af92f16a094db (commit)
       via  3bfc4076f3c0d461a84cc39fc2641f31bc948549 (commit)
      from  82476782085dd770dc7b15f5d3e1d6b81ee924dc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3bae1a68010d05f3b13141ea266af92f16a094db
commit 3bae1a68010d05f3b13141ea266af92f16a094db
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 20 15:50:00 2021 -0500

    OpenSSL no longer requires thread locking callbacks.  REMOVED FROM WEBCIT-NG

http://code.citadel.org/?p=citadel.git&a=commit&h=3bfc4076f3c0d461a84cc39fc2641f31bc948549
commit 3bfc4076f3c0d461a84cc39fc2641f31bc948549
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 20 15:47:01 2021 -0500

    OpenSSL no longer requires thread locking callbacks.  REMOVED FROM WEBCIT CLASSIC

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/ssl.c | 41 -----------------------------------------
 webcit/crypto.c | 56 ++------------------------------------------------------
 2 files changed, 2 insertions(+), 95 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099286075</link><pubDate>Mon, 20 Dec 2021 15:42:59 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-24-g824767820</title><guid isPermaLink="false">2099286075@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  82476782085dd770dc7b15f5d3e1d6b81ee924dc (commit)
      from  fbfe0f78c4705c67449c08a7b8be897a3e39e3d8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=82476782085dd770dc7b15f5d3e1d6b81ee924dc
commit 82476782085dd770dc7b15f5d3e1d6b81ee924dc
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 20 15:42:51 2021 -0500

    OpenSSL no longer requires thread locking callbacks.  REMOVED FROM CITSERVER

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.c | 37 ------------------------------------
 citadel/modules/crypto/serv_crypto.h |  1 -
 2 files changed, 38 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285997</link><pubDate>Sun, 19 Dec 2021 17:39:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-23-gfbfe0f78c</title><guid isPermaLink="false">2099285997@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fbfe0f78c4705c67449c08a7b8be897a3e39e3d8 (commit)
      from  7850326b60752df57374eb0b58aae78c28b30998 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fbfe0f78c4705c67449c08a7b8be897a3e39e3d8
commit fbfe0f78c4705c67449c08a7b8be897a3e39e3d8
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 19 17:39:01 2021 -0500

    Removed SSL cleanup function.  Let the operating system do this for us.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.c | 117 +++++++++++++----------------------
 citadel/modules/crypto/serv_crypto.h |   1 -
 citadel/sysdep.c                     |   5 +-
 3 files changed, 44 insertions(+), 79 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285991</link><pubDate>Sun, 19 Dec 2021 16:58:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-22-g7850326b6</title><guid isPermaLink="false">2099285991@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7850326b60752df57374eb0b58aae78c28b30998 (commit)
      from  3730457c3df1d3603602e8390f67bde108041be9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7850326b60752df57374eb0b58aae78c28b30998
commit 7850326b60752df57374eb0b58aae78c28b30998
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 19 16:58:01 2021 -0500

    serv_pop3.c: updated to latest style guidelines

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/pop3/serv_pop3.c | 256 +++++++++++++++------------------------
 1 file changed, 98 insertions(+), 158 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285609</link><pubDate>Wed, 15 Dec 2021 17:36:20 +0500</pubDate><title>Why cookie expires before the day of creation?</title><guid isPermaLink="false">2099285609@Uncensored</guid><description><![CDATA[<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Hi Art<br>
    <br>
    (Today I was playing the the Docker and I found that I can use a
    letsencrypt in the /citade-data/keys WOW!)<br>
    <br>
    <br>
    Then, it occurred to me to review the cookies, trying to remember a
    security problem that someone reported.<br>
    <br>
    It strikes me that one of the cookies has an expiration date one day
    before its creation.<br>
    Maybe it has a reason to be, or maybe it is a bug or potential
    problem.<br>
    <br>
    I attach the image.<br>
    Is it ok for me to write the issues I find here or send it to the
    issue tracker room?<br>
    <br>
    In this case I sent it to both.<br>
    <br>
    <img moz-do-not-send="false"
      src="cid:part1.J0Xuqs1Z.UgDtqwDg@uncensored.citadel.org" alt=""
      width="850" height="409" border="1"><br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285510</link><pubDate>Wed, 15 Dec 2021 00:03:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-21-g3730457c3</title><guid isPermaLink="false">2099285510@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3730457c3df1d3603602e8390f67bde108041be9 (commit)
      from  d35ee78bb9e5860f6591043758859018863fd3f8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3730457c3df1d3603602e8390f67bde108041be9
commit 3730457c3df1d3603602e8390f67bde108041be9
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 15 00:03:15 2021 -0500

    New functions to activate and deactivate the Loading... modal

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html       |  9 +++++++++
 webcit-ng/static/js/main.js       | 15 +++++++++++++++
 webcit-ng/static/js/view_forum.js |  6 +++---
 3 files changed, 27 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285485</link><pubDate>Tue, 14 Dec 2021 19:31:24 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-20-gd35ee78bb</title><guid isPermaLink="false">2099285485@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d35ee78bb9e5860f6591043758859018863fd3f8 (commit)
      from  c754091815d49fe46e8590f556e80e389c784e67 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d35ee78bb9e5860f6591043758859018863fd3f8
commit d35ee78bb9e5860f6591043758859018863fd3f8
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 14 19:31:21 2021 -0500

    If div names are random strings, they don't need to start with "ctdl_"

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285480</link><pubDate>Tue, 14 Dec 2021 19:14:53 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-19-gc75409181</title><guid isPermaLink="false">2099285480@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c754091815d49fe46e8590f556e80e389c784e67 (commit)
      from  7a8632a272ec1969110c5eabfc564e8575ab42e9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c754091815d49fe46e8590f556e80e389c784e67
commit c754091815d49fe46e8590f556e80e389c784e67
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 14 19:14:51 2021 -0500

    Slowly becoming a good JavaScript developer.  :)    Don't pass around div names when we can actually pass around references to the divs themselves.  This should shave off a few cycles because we don't have to keep calling document.getElementById()

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285470</link><pubDate>Tue, 14 Dec 2021 18:23:42 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-18-g7a8632a27</title><guid isPermaLink="false">2099285470@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7a8632a272ec1969110c5eabfc564e8575ab42e9 (commit)
      from  1431f977a7d140340fbc705653e9cc9545a7f005 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7a8632a272ec1969110c5eabfc564e8575ab42e9
commit 7a8632a272ec1969110c5eabfc564e8575ab42e9
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 14 18:23:39 2021 -0500

    scroll_to works again

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285454</link><pubDate>Tue, 14 Dec 2021 17:48:35 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-17-g1431f977a</title><guid isPermaLink="false">2099285454@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1431f977a7d140340fbc705653e9cc9545a7f005 (commit)
      from  52e23096ff3ed8d989cb100715082329704b003d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1431f977a7d140340fbc705653e9cc9545a7f005
commit 1431f977a7d140340fbc705653e9cc9545a7f005
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 14 17:48:31 2021 -0500

    Append messages to the DOM tree as div elements instead of as text.  This preserves the document tree's integrity when a malformed message arrives.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 120 +++++++++++++++++++++-----------------
 1 file changed, 65 insertions(+), 55 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285436</link><pubDate>Tue, 14 Dec 2021 16:17:57 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-16-g52e23096f</title><guid isPermaLink="false">2099285436@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  52e23096ff3ed8d989cb100715082329704b003d (commit)
      from  96877f3404aff55f81a2046b374154518a8d1cf9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=52e23096ff3ed8d989cb100715082329704b003d
commit 52e23096ff3ed8d989cb100715082329704b003d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Dec 14 16:17:53 2021 -0500

    Major change to the javascript forum view.  We now wait for all messages to be loaded before rendering them all in one shot.  Rendering works, opening the reply box works, saving a message works, but we still have to figure out how to render a message in the location where it was entered.  Or maybe that's not a good idea?  Also the scroll_to semantics are broken but we are in a better position to redo this in a simpler way.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/forum_view.c            |  11 ---
 webcit-ng/static/js/main.js       |  52 -----------
 webcit-ng/static/js/util.js       |  49 ++++++++++
 webcit-ng/static/js/view_forum.js | 192 +++++++++++++++++++++-----------------
 4 files changed, 154 insertions(+), 150 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285320</link><pubDate>Mon, 13 Dec 2021 15:18:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-15-g96877f340</title><guid isPermaLink="false">2099285320@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  96877f3404aff55f81a2046b374154518a8d1cf9 (commit)
      from  b0f3c8d0484eeb5e68787f1710a4114c57528402 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=96877f3404aff55f81a2046b374154518a8d1cf9
commit 96877f3404aff55f81a2046b374154518a8d1cf9
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 13 15:18:54 2021 -0500

    open the reply box with .append() instead of tweaking outerHTML

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285312</link><pubDate>Mon, 13 Dec 2021 14:25:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-14-gb0f3c8d04</title><guid isPermaLink="false">2099285312@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b0f3c8d0484eeb5e68787f1710a4114c57528402 (commit)
      from  68074ec11eceea188110b226206756056ea5a097 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b0f3c8d0484eeb5e68787f1710a4114c57528402
commit b0f3c8d0484eeb5e68787f1710a4114c57528402
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 13 14:25:48 2021 -0500

    new div name

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285239</link><pubDate>Sun, 12 Dec 2021 20:10:37 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-13-g68074ec11</title><guid isPermaLink="false">2099285239@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  68074ec11eceea188110b226206756056ea5a097 (commit)
      from  2f106883492e170d2630165a84b5a1c37afa000f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=68074ec11eceea188110b226206756056ea5a097
commit 68074ec11eceea188110b226206756056ea5a097
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 12 20:10:35 2021 -0500

    beautiful

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/http.c                  | 22 ++++++++++++++--------
 webcit-ng/main.c                  |  1 -
 webcit-ng/request.c               | 14 ++++++--------
 webcit-ng/static.c                |  1 -
 webcit-ng/static/js/view_forum.js | 12 ++----------
 5 files changed, 22 insertions(+), 28 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285233</link><pubDate>Sun, 12 Dec 2021 19:40:47 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-12-g2f1068834</title><guid isPermaLink="false">2099285233@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2f106883492e170d2630165a84b5a1c37afa000f (commit)
      from  c4f05a8d084dbee4a2dd526e5febe39964e90428 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2f106883492e170d2630165a84b5a1c37afa000f
commit 2f106883492e170d2630165a84b5a1c37afa000f
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 12 19:40:44 2021 -0500

    do-release.sh now generates more meaningful descriptions of tags

-----------------------------------------------------------------------

Summary of changes:
 do-release.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285072</link><pubDate>Fri, 10 Dec 2021 21:11:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-11-gc4f05a8d0</title><guid isPermaLink="false">2099285072@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c4f05a8d084dbee4a2dd526e5febe39964e90428 (commit)
      from  bf8be95f4a07ce4d1a6d9f60025d621b01193e6c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c4f05a8d084dbee4a2dd526e5febe39964e90428
commit c4f05a8d084dbee4a2dd526e5febe39964e90428
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 10 21:11:13 2021 -0500

    How about that ... we're now correctly handling the reply-references and carrying over the subject, and Wes is on the way here with a burger for me.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/http.c                  | 18 ++++++++++++++++++
 webcit-ng/messages.c              |  8 +++++++-
 webcit-ng/static/js/view_forum.js | 16 +++++++++++++---
 webcit-ng/webcit.h                |  1 +
 4 files changed, 39 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285065</link><pubDate>Fri, 10 Dec 2021 20:19:45 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-10-gbf8be95f4</title><guid isPermaLink="false">2099285065@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  bf8be95f4a07ce4d1a6d9f60025d621b01193e6c (commit)
      from  e61c1077fea987c579fff6a9d9fea9a7038a39f6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=bf8be95f4a07ce4d1a6d9f60025d621b01193e6c
commit bf8be95f4a07ce4d1a6d9f60025d621b01193e6c
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 10 20:19:42 2021 -0500

    It's Friday night, Wesley is out, Sammi is not hungry, and Miss Melissa is asleep on the couch.  Instead of making dinner I added URL parameter parsing to the web server.  I didn't think we'd need it but I want to be able to transmit some parameters to ENT0 and this seems like a reasonable way to do it.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/http.c   | 26 ++++++++++++++++++++++++++
 webcit-ng/webcit.h |  1 +
 2 files changed, 27 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285059</link><pubDate>Fri, 10 Dec 2021 19:04:14 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-9-ge61c1077f</title><guid isPermaLink="false">2099285059@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e61c1077fea987c579fff6a9d9fea9a7038a39f6 (commit)
      from  5607aa8d535835103e0794f1d2190dcb4c1d1df8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e61c1077fea987c579fff6a9d9fea9a7038a39f6
commit e61c1077fea987c579fff6a9d9fea9a7038a39f6
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 10 19:04:13 2021 -0500

    response headers now use an array instead of a linked list

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/http.c   | 48 ++++++++++++++++++++++++------------------------
 webcit-ng/webcit.h |  8 +-------
 2 files changed, 25 insertions(+), 31 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285055</link><pubDate>Fri, 10 Dec 2021 18:51:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-8-g5607aa8d5</title><guid isPermaLink="false">2099285055@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5607aa8d535835103e0794f1d2190dcb4c1d1df8 (commit)
      from  d72252a86385d3d417d65d79e09f6cfa544aa47a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5607aa8d535835103e0794f1d2190dcb4c1d1df8
commit 5607aa8d535835103e0794f1d2190dcb4c1d1df8
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 10 18:51:53 2021 -0500

    http request headers are now an array instead of a linked list

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/http.c   | 46 ++++++++++++++++++++++++++--------------------
 webcit-ng/webcit.h |  7 ++++++-
 2 files changed, 32 insertions(+), 21 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285051</link><pubDate>Fri, 10 Dec 2021 18:31:37 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-7-gd72252a86</title><guid isPermaLink="false">2099285051@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d72252a86385d3d417d65d79e09f6cfa544aa47a (commit)
      from  05137ad46ee7304defa152b5cfe23bed4fe16d0c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d72252a86385d3d417d65d79e09f6cfa544aa47a
commit d72252a86385d3d417d65d79e09f6cfa544aa47a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 10 18:31:36 2021 -0500

    HTTP headers are shown in purple in the syslog

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/http.c   | 12 ++++++------
 webcit-ng/webcit.h | 10 +++++-----
 2 files changed, 11 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285044</link><pubDate>Fri, 10 Dec 2021 18:22:30 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-6-g05137ad46</title><guid isPermaLink="false">2099285044@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  05137ad46ee7304defa152b5cfe23bed4fe16d0c (commit)
      from  6eb210875770e7463daa7eddb9bf0fc3ecccec37 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=05137ad46ee7304defa152b5cfe23bed4fe16d0c
commit 05137ad46ee7304defa152b5cfe23bed4fe16d0c
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 10 18:22:28 2021 -0500

    Change all instances of "URI" to "URL" because that's more sensible

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.txt        |  2 +-
 webcit-ng/admin_functions.c |  6 +++---
 webcit-ng/api.txt           |  2 +-
 webcit-ng/ctdl_commands.c   |  2 +-
 webcit-ng/http.c            | 12 ++++++------
 webcit-ng/request.c         | 22 +++++++++++-----------
 webcit-ng/room_functions.c  | 16 ++++++++--------
 webcit-ng/static.c          |  2 +-
 webcit-ng/user_functions.c  | 12 ++++++------
 webcit-ng/webcit.h          |  2 +-
 10 files changed, 39 insertions(+), 39 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285042</link><pubDate>Fri, 10 Dec 2021 18:15:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-5-g6eb210875</title><guid isPermaLink="false">2099285042@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6eb210875770e7463daa7eddb9bf0fc3ecccec37 (commit)
      from  72b5921b7e5044ee306261289482126476ba5ecf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6eb210875770e7463daa7eddb9bf0fc3ecccec37
commit 6eb210875770e7463daa7eddb9bf0fc3ecccec37
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 10 18:15:43 2021 -0500

    Begin gathering references and message IDs for replies

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/forum_view.c            |  6 ++++++
 webcit-ng/messages.c              |  8 +++++---
 webcit-ng/static/js/view_forum.js | 40 +++++++++++++++++++++++++++++++--------
 3 files changed, 43 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099285006</link><pubDate>Fri, 10 Dec 2021 10:32:39 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-4-g72b5921b7</title><guid isPermaLink="false">2099285006@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  72b5921b7e5044ee306261289482126476ba5ecf (commit)
      from  67a5baf0e30a0c913bc89f116cfe07d4ae32b3e4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=72b5921b7e5044ee306261289482126476ba5ecf
commit 72b5921b7e5044ee306261289482126476ba5ecf
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 10 10:32:37 2021 -0500

    Don't use \r\n with ctdl_printf() because it adds a \n on its own.  Only add \r when CRLF is needed.  Also some UI tweaks.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/messages.c              |  7 ++++---
 webcit-ng/static/css/webcit.css   | 12 ++++++++----
 webcit-ng/static/index.html       | 14 ++++++--------
 webcit-ng/static/js/view_forum.js |  4 ++--
 4 files changed, 20 insertions(+), 17 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099284941</link><pubDate>Thu, 09 Dec 2021 18:20:39 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-3-g67a5baf0e</title><guid isPermaLink="false">2099284941@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  67a5baf0e30a0c913bc89f116cfe07d4ae32b3e4 (commit)
      from  7d0163dfe9ebad059ffe3c0169bc6998253f5fbf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=67a5baf0e30a0c913bc89f116cfe07d4ae32b3e4
commit 67a5baf0e30a0c913bc89f116cfe07d4ae32b3e4
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 9 18:20:36 2021 -0500

    Display an alert if we cannot connect to Citadel Server, instead of leaving the user sitting there bewildered.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/main.js | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099284928</link><pubDate>Thu, 09 Dec 2021 17:48:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v942 created. v942</title><guid isPermaLink="false">2099284928@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v942 has been created
        at  0e6e211d43337c7f36831c5e105af527402d5a91 (tag)
   tagging  3622b4484ac83c46bf87d96987739a40c93234e0 (commit)
  replaces  v941
 tagged by  Art Cancro
        on  Thu Dec 9 17:48:22 2021 -0500

- Log -----------------------------------------------------------------
942

Art Cancro (3):
      Changed the reject message to be identical to the one used by Mailman so we can steal their translations later
      When delivering mail from a mailing list room, it is not enough to set the Reply-To: header to the room's address; we must set the From: address too.  Doing otherwise annoys the recipient's DKIM validators.
      Release version 942 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099284927</link><pubDate>Thu, 09 Dec 2021 17:43:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-2-g7d0163dfe</title><guid isPermaLink="false">2099284927@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7d0163dfe9ebad059ffe3c0169bc6998253f5fbf (commit)
      from  c1be388208adea8b1700bfa42ea777f6f33beee8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7d0163dfe9ebad059ffe3c0169bc6998253f5fbf
commit 7d0163dfe9ebad059ffe3c0169bc6998253f5fbf
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 9 17:43:17 2021 -0500

    When delivering mail from a mailing list room, it is not enough to set the Reply-To: header to the room's address; we must set the From: address too.  Doing otherwise annoys the recipient's DKIM validators.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listdeliver/serv_listdeliver.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283860</link><pubDate>Mon, 29 Nov 2021 15:45:16 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v941-1-gc1be38820</title><guid isPermaLink="false">2099283860@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c1be388208adea8b1700bfa42ea777f6f33beee8 (commit)
       via  843a57e7e729af628bc3781231f1f2e62bf01129 (commit)
      from  281661c01e4a7562c9579a950036f82dbc7c04d4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c1be388208adea8b1700bfa42ea777f6f33beee8
commit c1be388208adea8b1700bfa42ea777f6f33beee8
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 29 15:45:14 2021 -0500

    Changed the reject message to be identical to the one used by Mailman so we can steal their translations later

http://code.citadel.org/?p=citadel.git&a=commit&h=843a57e7e729af628bc3781231f1f2e62bf01129
commit 843a57e7e729af628bc3781231f1f2e62bf01129
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 29 14:24:14 2021 -0500

    Release version 941 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                | 2 +-
 citadel/modules/smtp/serv_smtp.c | 2 +-
 libcitadel/lib/libcitadel.h      | 2 +-
 release_version.txt              | 2 +-
 webcit/webcit.h                  | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283844</link><pubDate>Mon, 29 Nov 2021 14:24:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v941 created. v941</title><guid isPermaLink="false">2099283844@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v941 has been created
        at  5ecab2bdaab43af9094627b6d426a342f97e6dc1 (tag)
   tagging  843a57e7e729af628bc3781231f1f2e62bf01129 (commit)
  replaces  v940
 tagged by  Art Cancro
        on  Mon Nov 29 14:24:14 2021 -0500

- Log -----------------------------------------------------------------
941

Art Cancro (31):
      fujobi
      Intermediate commit: open a new div beneath the existing one when Reply or ReplyQuoted is selected
      more work on the reply box
      replybox adornments
      save/cancel
      Hot damn!  I just discovered scrollIntoView()
      how about that scroll?
      Fixed the vertical float issue by specifying the height of the text div and letting the rest wrap around as it wants to.
      content editable window with focus and cursor
      Got it working, now it's pretty
      Wow!  Posting a message to the server worked on the first try, even using the existing DAV operation and no new C code.  That was a pleasant surprise.
      Detect whether the save operation succeeded by checking the response status of the XHR transaction.  Also made the default Citadel server dev.citadel.org instead of uncensored.citadel.org because I am posting a lot of test messages.
      Handle posting errors a little more elegantly.
      Moved the remaining else blocks
      Permit the Content-Transfer-Encoding: header to be forwarded from an HTTP transaction to a post on a Citadel server.  This isn't typical for HTTP but we need it.
      Revert previous commit because it didn't work.  Furthermore, remove the content-length header from the PUT operation because the browser wants to do that on its own.
      Save messages as multipart/mixed with the HTML component in base64 encoding.  We probably should rethink this because now we're double-base64-encoding inline images.
      Post messages in quoted-printable instead of base64, just like WebCit Classic does.  This avoids double-base64-encoding of inline images.
      Prettied up the qp encoder function a bit.
      Placed the bold/italic/list/link buttons in the editor.  (They don't work yet.)
      split utility function out into a separate util.js
      bold, italic, and list buttons now work.
      Link entry in the editor now works.  The example code at https://www.thatsoftwaredude.com/content/8912/create-a-basic-text-editor-in-javascript was a bit naive because it assumes the URL is already known at the moment the user presses the Link button.  We open a box for URL entry, but when the user clicks into that box the original selection disappears.  So we have to save the selection range in hidden fields so we know where to replace the text.
      Capture the new message number from the etag of the post transaction
      make a note that we have to retain the reply message number
      Made the RBL evaluation conditional cleaner by assuming short-circuit evaluation.
      Another win for short circuit evaluation
      Updated the comments in do-release.sh
      Cleaned up another set of conditionals in the SMTP server.
      Mail to a mailing list room must be from a subscriber (or a logged in user) otherwise incoming message is rejected.
      Release version 941 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283843</link><pubDate>Mon, 29 Nov 2021 14:24:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v940-30-g281661c01</title><guid isPermaLink="false">2099283843@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  281661c01e4a7562c9579a950036f82dbc7c04d4 (commit)
      from  0f36c303808d7c3713db27c2fa9e2fd4f9c3eb6a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=281661c01e4a7562c9579a950036f82dbc7c04d4
commit 281661c01e4a7562c9579a950036f82dbc7c04d4
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 29 14:24:06 2021 -0500

    Mail to a mailing list room must be from a subscriber (or a logged in user) otherwise incoming message is rejected.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c    | 33 +++++++++++++++++++++++++++++++--
 citadel/internet_addressing.h    |  1 +
 citadel/modules/smtp/serv_smtp.c | 10 ++++++++++
 3 files changed, 42 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283813</link><pubDate>Mon, 29 Nov 2021 10:43:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v940-29-g0f36c3038</title><guid isPermaLink="false">2099283813@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0f36c303808d7c3713db27c2fa9e2fd4f9c3eb6a (commit)
      from  e9d1d0ea55f31b68f3da054bf3aa1f79986a23cd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0f36c303808d7c3713db27c2fa9e2fd4f9c3eb6a
commit 0f36c303808d7c3713db27c2fa9e2fd4f9c3eb6a
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 29 10:43:14 2021 -0500

    Cleaned up another set of conditionals in the SMTP server.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/smtp/serv_smtp.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283809</link><pubDate>Mon, 29 Nov 2021 10:31:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v940-28-ge9d1d0ea5</title><guid isPermaLink="false">2099283809@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e9d1d0ea55f31b68f3da054bf3aa1f79986a23cd (commit)
      from  c85fbae2cd83bf0c8434f409ff3a4a9e694d03fc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e9d1d0ea55f31b68f3da054bf3aa1f79986a23cd
commit e9d1d0ea55f31b68f3da054bf3aa1f79986a23cd
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 29 10:31:50 2021 -0500

    Updated the comments in do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 do-release.sh | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283759</link><pubDate>Sun, 28 Nov 2021 19:47:22 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v940-27-gc85fbae2c</title><guid isPermaLink="false">2099283759@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c85fbae2cd83bf0c8434f409ff3a4a9e694d03fc (commit)
      from  36636aca981342ccd3f0cd956855839de72610b5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c85fbae2cd83bf0c8434f409ff3a4a9e694d03fc
commit c85fbae2cd83bf0c8434f409ff3a4a9e694d03fc
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 28 19:47:20 2021 -0500

    Another win for short circuit evaluation

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/smtp/serv_smtp.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283754</link><pubDate>Sun, 28 Nov 2021 19:25:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. v940-26-g36636aca9</title><guid isPermaLink="false">2099283754@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  36636aca981342ccd3f0cd956855839de72610b5 (commit)
      from  0ce18ff3e03c06b1d9a949108197489a3995deac (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=36636aca981342ccd3f0cd956855839de72610b5
commit 36636aca981342ccd3f0cd956855839de72610b5
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 28 19:25:55 2021 -0500

    Made the RBL evaluation conditional cleaner by assuming short-circuit evaluation.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/smtp/serv_smtp.c | 90 +++++++++++++++++++---------------------
 do-release.sh                    |  2 +-
 2 files changed, 43 insertions(+), 49 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283591</link><pubDate>Fri, 26 Nov 2021 16:27:16 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v940 created. v940</title><guid isPermaLink="false">2099283591@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v940 has been created
        at  445aed32f422ee00656c2a141157491c1011edef (tag)
   tagging  8fb8284127acb8635728d0e19de41d0dec768101 (commit)
  replaces  v939
 tagged by  Art Cancro
        on  Mon Nov 15 18:56:35 2021 -0500

- Log -----------------------------------------------------------------
940

Art Cancro (26):
      Added -Wno-format-truncation to the CFLAGS to make it shut up about calls to snprintf(), which are ALREADY BOUNDS CHECKED so it really needs to lighten up, Francis.
      Did a little more style updating.  Realized that I started this thing in 2018 and really ought to get my act together and finish it.
      more boring style cleanup
      Tweaked the CSS on the forum view.  Gave it a little more contrast between messages and rounded corners.
      Put the site name and room name in the top header bar
      backslashes are fun
      Finished converting all the comments in webcit-ng to C99 style
      Poking around in the text client to determine whether we can remove dependency on libcitadel.
      Suppress format-truncation warnings because they are WRONG
      Changing signal handlers to the correct type eliminates the last of the warning messages
      Use overflow:hidden style to keep the user avatar photo from breaking through the rounded corner of the container.
      Tuned up the CSS for message board view.  It looks pretty good now.
      Add subject to json output
      Display the subject line -- only if present
      Added CSS style for the Loading Messages, Older Posts, Newer Posts divs
      Tinkering with the headers some more
      When sending MSGS commands, unescape the command being sent to the server
      The buttons now look like buttons, the reply button has a nice reply icon in it, and they change color when you hover over them.
      Reply/ReplyAll/Delete buttons are pretty now
      nip and tuck
      Split the forum view into a separate .js file.  We will do this for all views.
      notes
      increased the margin around the message reading boxes
      Removed the 'old threaded view save for reference' code from the tree.  It's still in the git history if we need it, and JWZ is still a self-righteous asshole.
      Removed the remaining code where LDAP was optional.
      Release version 940 generated by do-release.sh

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283590</link><pubDate>Fri, 26 Nov 2021 16:27:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities annotated tag v939 created. v939</title><guid isPermaLink="false">2099283590@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The annotated tag, v939 has been created
        at  21fab2381ad699d641065fa787ad8cfa3cb8faf1 (tag)
   tagging  60d08101d83f832a39d2c75520321331caf7356c (commit)
  replaces  Release_902
 tagged by  Art Cancro
        on  Wed Sep 22 15:49:55 2021 -0400

- Log -----------------------------------------------------------------
939

Art Cancro (699):
      textclient: don't try to stat citadel.config; it doesn't exist anymore.
      connection debug on text client
      ignore -p when called from telnetd
      Fixed a null pointer comparison
      * Hillary Clinton is obviously sick right now.  I hope she dies.
      removed all of the gnu autofoo crap from ctdlsh
      Added a simple Makefile for ctdlsh
      Started working on a ctdlsh command framework to show and manipulate the server configuration.
      a little more work on our autotools-free Makefile
      ctdlsh can now get and set server configuration varia bles
      hot help for config command in ctdlsh
      Added a simple configure script that is superior to gnu autotools
      configure script
      .gitignore
      Removed traces of another build that leaked into git master
      ctdlsh configure script is now awesomer than gnu autotools.
      Simple concurrency lock to prevent multiple citservers running at the same time
      Version number to 903 for distribution
      Let Berkeley DB remove old database logs on its own, using the DB_LOG_AUTO_REMOVE flag instead of cdb_cull_logs(). The latter will be removed completely once we are confident this works well.
      Sanitizing inputs on auth.c
      Change banner to 2017
      Add hashes of message id and references to msgs commands with headers
      Introduce new MSGS mode for threads to avoid breaking old webcit subject lines
      Finished up headers mode 1 vs 9, also change vertical bars in subject to hyphens so it doesnt screw up the protocol
      oops, I left a debug printf in there that I shouldn't have.
      Remove the vCard module's attempt to create a netconfig file in the obsolete format for the Global Address Book room.  Increment version number to 906 for immediate release.
      Fixed a syntax error introduced by the previous commit.  Maybe the Russians did it!  HAHAHAHA
      Fixed an oops in the setup program that was causing the system user to be reset to root on subsequent runs.
      New function StrBufDecodeQP() to decode a quoted-printable StrBuf in-place without reallocation
      ctdlsh can now run in interactive mode or accept a single command on the command line
      cosmetic cleanup
      Move back to single threaded structure for rss feed puller
      Parser fix
      parser
      More work on the simplified parser
      Completed the greatly-simplified RSS feed reader
      Ignore namespace, this is a naive parser, this fixes Atom feeds
      Parse date format correctly in Atom feeds
      One blank line between sections of code, two blanks between functions.
      quickie header file change
      minor cosmetic changes
      logging changes
      Accept the 'content' tag OR the 'summary' tag for Atom feeds.
      citserver version to 907
      style cleanup
      style cleanup
      style cleanup
      style cleanup
      style cleanup
      More style cleanup ... preparing to streamline the pop3 client
      spell 'yahoo' correctly
      Suppress stray display of contact names over address book tabs.  Still need to fix the tabs
      style cleanup , we have wide screens now
      Isolated the bug (but haven't fixed it yet)
      blah
      found the bug!  fixed it!
      IMAP server: fix spurious 'incorrect number of parameters' message when login fails
      Don't force_room=Contacts in the vCard edit template
      holy crap did I break this badly by reformatting it, I think that the module entry point scanner parser thing was looking for stuff to be formatted in a particular way, and I broke it so the build broke and bad things happened ... reverted most of it and cleaned up a couple of things , it builds now but I have to do all of the testing again to make sure there were no other side effects ... this is all going away in webcit-ng
      Eager-zero and compress CDB_USETABLE records to save disk space.
      Playing around with the pop3 client
      Skeletonize pop3client for easy_curl rewrite
      foo
      Try pop3s first, then pop3
      Try POP3S first, then POP3 if it fails.  Always ignore the certificate because that's a false sense of security and I don't feel like adding the complexity required to make the user specify their preference on every single connection.  Also ran some tests to confirm that once libcurl opens a POP3 connection it stays open for the remaining commands, which is good because we don't want the message numbers to get out of sequence.
      parse uidl list
      queue-then-do
      antiexpire 0 for pop3
      antiexpire 0 for rss
      antiexpire 0 for rss
      Completed the new simplified pop3client.
      Merge branch 'easy_pop3'
      Moving the interval selection to a different place
      Removed race condition from CheckIfAlreadySeen()
      Coding style cleanup in textclient/routines2.c
      This is really just me playing around with git
      move webcit-ng into a directory of master
      webcit-ng
      80 column screens are so 20th century
      pop3: style cleanup
      Removed some defines no longer in use
      New ctdlsh command "mailq" to show the outbound SMTP queue
      fixed off-by-one error in previous commit
      New SMTP client implementation makes libcurl do all the work.
      If the administrator specifies a smart-host as an smtp:// or smtps:// URI, allow that.
      Remove example queue message from comments
      ooooohh pretty!
      database.c: update to new logging standard
      Updated more modules to the new logging standard
      msgbase.c updated to new logging standard
      Updated more modules to the new logging standard
      Updated more modules to the new logging standard
      Updated more modules to the new logging convention
      As far as I can tell this module was never linked into the system
      updated modules/network/*.c to new logging standard
      updated serv_networkclient.c to new logging standard
      Updated XMPP server to new logging standard
      more moving to new logging standard
      These hooks are not needed when running single threaded
      cleanup
      Indents are 8 characters wide and are expressed as a tab character. Anyone who disagrees is LITERALLY Hitler.
      Initial version of new room sharing poller.  I don't really like this because it resembles a Gen 1 poller more than a Gen 3 poller, but this is going to be an intermediate step.
      Remove obsolete client config option
      Remove the netout consolidation phase.  We are going to leave it as multiple files and send them all
      Revert "Remove the netout consolidation phase.  We are going to leave it as multiple files and send them all"
      Completed the rewrite of the network poller.  Again I'm not terribly happy with this one.  All of the Gen 3 pollers have libcurl do all the work, but this one doesn't.  I intend to replace IGnet protocol completely with something else (probably NNTP or IGnet-over-SMTP) in the not too distant future.
      Fixed a bug reported by bennabiy, certain IMAP FETCH operations were outputting a stray newline to the client which should have been captured into redirect_buffer
      bug
      fix double-free when there are multiple mxes
      Converted two more .c files to new logging standard
      Honor retry time
      CONF LOADVAL and CONF STOREVAL to handle configuration variables with length greater than 1 KB
      Fixed BPB bug: GNET command cuts off at 1024 characters
      prune dead code
      Moar cleanup
      More syslog and style cleanup
      moar syslog
      Transmit the proper host name (set from c_fqdn) in EHLO command when we talk to a remote mail server.  We are using the poorly documented libcurl syntax for this:  smtp://mx_host/ehlo_host
      version 910
      imap_output_copyuid_response() now accepts an IMAP session context passed up the stack instead of grabbing it from the thread context.
      Fix output of UID COPY operation
      Deleted some system banners that are no longer referenced
      New data format for internet addresses, convert old vcard format to new for version 912
      Completed the code to insert each email address for each user into the directory index.
      At login time, copy prefer email addresses for user to the cs_inet_email fields in the context record
      Removed some vestiges of the old logging system
      Implemented the use of %m as a shortcut for %s and strerror(errno) in all syslog() calls.
      -x MaxLogLevel
      webcit to version 912 and require citadel server 912
      Do not allow "directory" domains to be configured in the text client.
      Starting to work on the inetcfg_backend stuff
      syntax cleanup
      syntax cleanup
      Internally, "directory" domains are now treated like "localhost" domains.
      text client <.A>ide <S>ysconfig <I>nternet , when encountering a "directory" domain, substitutes "localhost"
      WebCit (classic) now loads obsolete "directory" domains as "localhost" domains
      small cleanup of serv_user.c before I work on it
      AGEA and ASEA server commands to get and set a user's email addresses
      more progress on email address editing in the text client
      Completed initial version of text client admin edit of user email addresses
      Experiment with DB->compact() to reduce the size of database files on disk when possible. Commented out while we test it.
      Editing of account email addresses using the new server commands in WebCit-classic. This completes the transition.
      Log a warning message if housekeeping has not run in more than 5 minutes
      Run db->compact() to shrink DB files on disk after an auto-purger run, only if the undocumented configuration option c_shrink_db_files is set to nonzero.
      CURUSESSL_TRY for outbound SMTP (currently commented out)
      New config option 'c_smtpclient_try_starttls' if nonzero outbound SMTP attempts STARTTLS if offered
      Remove code which creates or references the 'bitbucket' directory.  We haven't used that in ages.
      Moved the remaining help files for the text client out of the server and into the text client.
      Removed remaining bits of funambol config from server
      Removed remnants of dspam module config
      Applied patch sent by Chris West to fix Debian bug 859789 (compatibility with libssl)
      Merge branch 'master' of ssh://git.citadel.org:/appl/gitroot/citadel
      started working on code for extracting email addresses from ldap
      Copy email addresses from LDAP
      LDAP search
      grml
      test get display name and uid from ldap , show in log
      libical_errors_are_fatal is now opaque.  Change to a call to icalerror_set_errors_are_fatal()
      try to work with libical1 and libical2
      remove syntax error
      same fix in webcit
      remove DH parameter stuff that isn't needed and doesn't work with newer openssl
      Started prepping for the move from LDAP Access to LDAP Sync
      CDB_OPENID is now CDB_EXTAUTH
      More prep for turning openid table into generic external auth
      DAV: getcontenttype tag belongs inside prop tag (thanks bravegnu)
      LOCK HER UP
      Refactored CtdlGetUser() API
      Remove unused parameter
      Change the become_user parameter of create_user() to an enum, to make calling code easier to read
      Internal API change, create_user() now expects to be given a uid
      wtf, people?  we indent with tabs not spaces.
      Repurposed an old upgrade module for upcoming index pass for uids
      More use of %m instead of strerror(errno)
      combined single utility function for deriving display name from ldap search result
      combined single utility function for deriving UID from ldap search result
      more moving towards ldap sync ... lots of refactoring
      Index by UID
      Internal version number to 913 to activate UID indexing at all sites
      getuserbyuid() now uses the extauth index, so we can do ldap sync
      fix indentation
      All functions which connect and bind to LDAP using the Bind DN now flow through a single function instead of duplicating all that code four times.
      ctdlsh: don't crash on the mailq command if the queue is empty.
      A little more work on the LDAP Sync
      fixed a memory leak
      Synchronization of LDAP users to Citadel is now complete, including email addresses.  FIXME: need to make the email piece a site-configurable setting.
      New site setting c_ldap_sync_email_addrs to toggle synchronization of email addresses from LDAP to Citadel.
      Remove comment about site configurable setting in a place where we already made it a site configurable setting.
      minor cosmetic cleanups
      remove installation system references to obsolete openldap directory
      minor style cleanups
      * oldver is the version number of Citadel Server which was active on the previous run of the program, learned from the system configuration.  * If we are running a new Citadel Server for the first time, oldver will be 0.  * We keep this value around for the entire duration of the program run because we'll need it during several stages of startup.
      serv_upgrade.c now has pre- and post- startup sections.  The import of email addresses from vcards to the user configuration records has to take place after serv_inetcfg is initialized.  Also versioned everything at 914 for new release.
      When a server port number is unset (value 0) , don't just warn in the log ... set it to the default value.
      removed some declarations that are no longer used
      Reordered the locking and setting of user email addresses to avoid a race condition right after an upgrade if a user logs in
      OpenLDAP is now a required dependency.  We will be removing all optional dependencies to avoid build variabilty hell.
      version 915 specifies libical2 for debian dependencies
      replace deprecated readdir_r() with readdir()
      More work on replace deprecated readdir_r()
      configure.ac blah
      serv_crypto.c: minor style cleanups before we try to make it work with openssl 1.1
      More work on using the OpenSSL 1.1 API
      It's 2018 here in the civilized world.  Changed the copyright banners of both Citadel Server and WebCit to read 2018 as the copyright date.  Also included in citserver the 'full' GPL disclaimer, right next to the words 'open source software' just to piss off Richard Stallman and other communists.
      citserver updated to openssl 1.1 API
      More OpenSSL 1.1 update
      openssl 1.1 in client
      Version 916 tag everything for release
      webcit-ng openssl 1.1 compatibility
      no more help directory or notify_about_newmail.js
      releaseversion.sh simplified to handle integer version numbers
      releaseversion.sh simplified to handle integer version numbers
      sdfjsdklfjsdlkfjds
      sdfl;mshdfsaldhfiusdhkasdsds
      libcitadel/configure.in: extract version number from libcitadel.h
      citadel/configure.in extract version number from source code
      completed the auto versioning m4 macros
      fixed a syntax error
      create package-version.txt in each dir during bootstrap
      MAKE WEBCIT GREAT AGAIN!
      Ended the use of the CC macro in rbl_check() , made the address to check a calling parameter
      moved a close-paren onto the next line.  HK Rowling is a big yeasty cunt.
      began work on a theme change
      need an awesome slider
      removed IGnet functions from text client
      began removing IGnet from the server
      aagh
      Revert "aagh"
      Revert "began removing IGnet from the server"
      More orderly this time.  Removed serv_networkclient.c module.
      removed node display and network parameters from text client
      Removed netfilterlist module
      Removed spoolin processing
      scraping the bits away
      network_usetable() no longer needed
      whittling away the ignet pieces...
      whittle whittle whittle
      whittle whittle whittle
      more trimming away of ignet stuffs
      whittle whittle
      more whittling away ... plus memory leak tests
      Semi-permanent implementation of memory leak checking
      Removed all references to network/spoolout/ directory
      Started removing eNodename references
      war on eNodeName
      Hide obsolete server functions from webcit UI
      A little more work on the threaded view
      tabs not spaces
      Added a few spaces
      Fix call to daemon() to make it not change the working directory
      initial work on flat view
      Starting to pull some rendering out of the C code and put it back in JS
      track c_lastseen so we can use it in read operations
      disabled server-side message sequencing code
      initial work on inline rendering setup
      reshufflize the parameters to room renderers
      foo
      older and newer
      I think we finally have the older/newer messages buttons functioning properly.
      javascript
      moved the renderer down to its own (currently empty) function
      do we need the inner div?
      inner div not needed anymore
      wowzers!  we can survive a server problem now.  put the original div text back if there's an error.
      Got it!  Temporarily working with the server-side C renderer
      ok, that's all for today. this was fun.
      Style and cruft
      skeleton code for json render
      html render replaced by json render in the C server.  next needs to be the json-to-html in the client side...
      JSON render complete!
      Began moving style to a proper style sheet.
      Style, baby!
      scroll to
      async
      css tuning
      Removed some more ignet cruft
      more removal of ignet cruft
      more removal of ignet cruft
      more removal of ignet cruft
      ssl.c - change style
      ssl.c - change style
      Fix error in Makefile.in , patch submitted by Adrian Bunk
      libical3 compatibility , patches submitted by Adrian Bunk
      Renderers cleanup part 1
      Renderers cleanup part 2
      Ultra-simplification of the build system for the text client. Eliminated the use of GNU Autotools because Richard Stallman is a communist who hates America.  Now we use "conf-IG-ure" , a new build system which is patriotic and has screeching eagles and American flags and Bibles and guns and can win at NASCAR without even trying.
      bootstrap script merely creates package-version.txt , nothing else
      Deal with text/x-markdown in the text client by displaying it as plain text.
      Capture the actual SMTP response from the server, ugly hack using libcurl debug
      get_ical_data.sh is now run at compile time
      Removed obsolete mkdirs from Makefile
      fixed makefile to not try to install stuff that is not there anymore
      remove unused trace function
      change to db-open flags
      textclient: OpenSSL detection in conf-IG-ure
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      Rewrote mimepart() as view_or_download_mimepart() which uses the DLAT server command to load attachments from the server as one big happy object instead of chunking it.  Hopefully this will take care of the problems people have been having downloading attachments.
      webcit version 921
      richard stallman is a communist jerk ... donald trump is the most awesome leader EVER
      fixed an error in one of the log messages
      b0rk d0rk aaak
      tweaked old docs
      The "c_smtpclient_use_starttls" configuration option has been replaced with a new "c_smtpclient_disable_starttls" option, making the attempt of encryption for outbound SMTP connections the default.
      indent -kr -i8 auth.c
      indent -kr -i8 md5.c
      indent -kr -i132 citserver.c
      indent
      indent -kr -i8 -l132 on everything in textclient
      indent -kr -i8 -l132 on everything in webcit-ng
      database.c cleanup
      added more diagnostic messages to mmnext sanity checks
      sanity check diagnostic mode
      more diags
      more diags
      database_cleanup.sh backs up cdb.0d but doesn't restore it! OMFG THIS IS GOING TO CAUSE A CATACLYSMIC CHAIN REACTION THAT RIPS APART THE ENTIRE SPACE-TIME CONTINUUM!!!!!1 Fixed.
      tuning the index cache
      Removed vestiges of .Known Shared command
      struct MetaData has an unused member "mimetype" that doesn't appear to be used anywhere (other than import/export, which doesn't count).  Removed this element from import/export and renamed the member to "unused_field_1" in preparation for removing it.
      msgbase.c style cleanup
      Removed the unused field (mimetype) from struct MetaData
      The new server API no longer uses upload_type.  Removed it from CitContext.
      random documentation updates
      cleaned up some compiler warnings
      RSS feed reader now accepts <creator> as a substitute for <author> if the latter is not present.
      quick comment change
      AdjRefCount() now runs synchronously, eliminating the refcount_adjustments.dat queue file. This is the last piece of server state not kept in the database, except for files/ and keys/ Increment version to 922
      cleaned up some compiler warnings
      New file user_functions.c contains skeleton code for the /ctdl/u/... calls
      object_in_user() is a master function which calls slave functions fetch_user_bio() and fetch_user_photo().  Fuck political correctness.
      I will not bow to the demands of social justice warriors.  Die, fuckers.
      /ctdl/u/username/userpic is now complete
      begin work on displaying avatars next to messages
      html_to_ascii() , removed unused option do_citaformat
      Found the correct JavaScript incantation to display a FontAwesome character in place of a user avatar if the latter is not found.
      html_to_ascii() - removed display of italics like /this/, bold like *this*, and underline like _this_.  It was too distracting.
      Starting to look into why we still have 'Purge this vCard' messages ... there's an entire section of code that needs to get cleaned up now that we don't have the networker anymore.
      Removed the chunked-io stuff from libcitadel.  Nothing was using it and it isn't written portably.  We need to be better about making stuff work outside of Linux now that the kernel has been taken over by far-left social justice communists like C. Emkhe.
      Citadel Server and libcitadel version 922
      Removed ical_dezonify() from the citserver build ... it isn't used anymore
      80 columns is so 20 century
      minor style cleanup
      Removed the "base64" utility program.  We've been doing base64 with a library function for many years now.
      Removed the standalone "msgform" utility.  It isn't needed anymore.
      Removed the stress tester source file ... this is also obsolete Removed the developers.txt file ... this isn't used anymore
      Deleted more obsolete files.  The objective is to reduce sprawl.  Ideally we would have a single binary.
      more minor style cleanups
      removed more old stuff
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      Suppress 'message 0 appears to be corrupted' log messages
      As per RFC3920 section 7, if an XMPP client does not specify a resource ID, generate one.
      Generate a synthetic user@host for XMPP JID if the user does not have an Internet email address.
      populate cs_inet_email with a default generated address ... we need it for XMPP
      If we have to generate an XMPP resource name, make it a simple integer cs_pid and not a giant UUID.
      xmpp non sasl authenticate does not need the resource name
      comment change
      Auto-generate email address at login if user does not have one , also save it to the user record and the index properly using the correct function call.  The form of the generated address has also changed.
      version 924
      Address generator is moved into internet_addressing.c because that's where it belongs!  Also I'm going to enhance it later.
      Auto-generated email address is now derived from the screen name.  Fall back to other methods if that address already exists.
      Removed the 'master user' feature ... if we still need this we'll find another way
      cosmetic cleanup of files in xmpp directory
      Removed the obsolete netproc hooks from the vcard module
      Changed the year in the copyright banner(s) to 2019.
      removed old script
      One more field in the xml-vcard
      What was I thinking?  The style experiment in views.js looked horrible.  Put it back the way it was before.
      Links for older and newer blocks of messages in the BBS view have been centered, changed to _("Older posts") and _("Newer posts") (which were both in the .po file already) and centered.  Also I added some adorable little FA arrow icons to them.  SQUEEEEEEEE!
      Cleaned up some messy rendering in the bbs view.
      Trim SMTP responses down to one line when putting them into bounce records.  Also put that in a separate function.
      Removed the obsolete MSG3 command.
      cleaned a few things up in messages.c ... geez this is such old code
      Removed the MRTG module.  No one is using this anymore.
      Reject url_keys of invalid size instead of crashing
      The battle against bit rot continues! * Removed support for Berkeley DB versions older than 5.0 * Removed the "public_clients" configuration file and code which uses it * Removed all remaining code that references "mail.aliases"
      Do not check for DB_H definition anymore.
      doco fix
      Removed the <.W>holist <R>oomname and <.W>holist <H>ostname commands from the text client
      removed user/host/room masquerade from both clients
      more work on removing masqueraded user/room/host names
      fix to previous commit
      Version 925 release
      Started working on march mode!
      march mode list is loaded and works, now just need to filter it
      a little closer to the march list
      march_list functionality is complete!
      mild change to navbar
      Rooms with new messages boldface in room list
      Indents are 8 positions, NEVER 4, and are comprised of tabs, not spaces.  Anyone who believes otherwise is a racist.
      ungoto/skip/goto ui taking shape...
      Orthodontic adjustments (moved some braces around)
      Accept the origin host as indicated by the client, if the connection is from 127.0.0.1 or ::1 (or on a local socket, as before)
      <E>nter-message command in the text client now warns the user that this creates a top level blog post instead of a comment.
      Removing things that depend on sysvinit.  It's a systemd world now.
      Moved makeuserkey() and cutuserkey() from user_ops.h to user_ops.c
      Added header to user_ops.h
      Renamed cutuserkey() to cutusername().  Function has nothing to do with keys.
      Modified the behavior of ForEachUser() to do the two phase load/perform cycle as part of the function, since so many callbacks were implementing this anyway.
      People who disagree with me are always wrong and need to die.
      Initialize TSD key earlier in the startup process.  Newer Linux/Linux distributions were beginning to crash on an uninitialized key.
      Server restart via command no longer requires running as a daemon , uses execv() to restart.
      Server restart via command no longer requires running as a daemon , uses execv() to restart.
      testing AC_SEARCH_LIBS(gettext, intl libintl)
      reversed previous change
      ctdl_tcp_server and ctdl_uds_server improved handling of error conditions in places like getprotobyname() which normally never throw an error, but in container universe it's a new game.
      minor changes
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      oops
      Mark Zuckerberg is the Hitler of our era
      there it is ... found a stray endif
      Removed a lot of legacy cruft out of the setup utility.  Eventually I want to remove this utility entirely.
      Removed all of the SYS_ user contexts, they aren't needed anymore
      cleanup
      Removed md5.c and md5.h because the APOP implementation which used it is no longer part of Citadel Server
      The index key for user records now omits non-alphanumeric characters, in addition to the previous behavior of converting to lower case.
      ForEachUser() now uses a linked list
      ForEachUser() linked list , keep track of last item so we don't have to traverse backwards
      Removed the fixnss() step from setup.  I don't think it's needed anymore.  Moving towards eliminating setup entirely.
      fix_other_mtas() is old news
      cosmetic cleanup to serv_virus.c
      On the first run of the server on an empty database, create a default administrator account.  This should eliminate the need to run setup on most systems.
      Real zombies are undead, not the kind you see on TV.
      moving towards the new autocompleter
      do nothing with blank lines, exit on EOF
      do nothing with blank lines, exit on EOF
      playing around with readline
      The user principal identity is now used as the JID in all XMPP protocol stanzas.
      Suppress output of inline HTML styles when converting to plain text
      Applied patch sent by Vijay Kumar to correct SMTP dot de-stuffing
      Shamlessly slapped a 2020 copyright date on all startup banners.
      cleaned up some spacing while admiring how clean this code is
      'Network User' is now 'Normal User'
      Fixed a bug in username key usage that was causing email aliases to disappear
      Removed some leftover dependencies on message fields which no longer exist
      Code cleanup.  Added template conditional for suppressing email fields in a vcard edit.
      When editing a vCard, suppress the email fields from being displayed when editing an account's vCard
      ZZMerge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      Removed all mail filtering options except the rules editor in WebCit
      Remove managesieve framework because we are removing sieve
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      it now builds but does not do inbox filtering
      module 'sieve' is renamed to 'inboxrules'
      Handling is now to the point where user accounts requiring potential inbox processing are brought to the handler's attention.
      Please substitute this comment with whatever you feel like reading right now.
      work on serialization schtuffs
      shift around the order of the functions because we're going to remove some duplicated effort
      ok, we're actually at the point now where we can fetch some inbox messages and process them.
      Next step for inbox rules processing: retrieve each message in the room using a CtdlForEachMessage() callback with the MSGS_GT operator for maximum allowance of the API to do the hard part instead of writing the comparison code ourselves.  Really, that work was already done, so why do it again?  Duplication of effort is necessary.  For that matter, why does Google insist on maintaining their own email and forums software when they could just use Citadel?  Citadel is way better than anything Google or Microsoft have ever produced.  And don't get me started about Facebook.  Facebook is the absolute worst thing to ever happen to the universe and it should be shut down.
      Richard Stallman is a pinko commie bastard.
      minor formatting
      Removed support for 'before read hooks' because there is no such thing.
      More chiseling away at the replacement inbox filter.
      more work on the inboxrules module.  don't run this in production.  it isn't finished.
      more inbox filter testing, and yes the build is still broken
      Removed BSD style curly braces from serv_expire.c and database.c ... Warren embarrassed me into doing it
      war on BSD style curly braces
      CM_SetField() and CM_SetAsField() now accept -1 as a length to have the function measure the field for the caller.
      Make use of the functionality provided in the preceding commit
      serv_rssclient.c: RFC2047-encode fields where needed
      msgbase.c: some of the field conversion buffer fields were too small, increased them from 100 bytes to 1024 bytes to handle messages converted from RFC822 or RSS.
      Fixed an edge case that could crash the server from a malformed message
      filled out some of the field comparison code
      Field comparison code is functionally complete
      Implemented the 'stop' final action
      fleshed out the actions in pseudocode
      Implemented keep_message flag to determine whether to keep or delete the copy of a message that is still in the inbox after rules processing
      Completed the code for the 'reject' action
      Decided not to attempt normalizing the parameters to action functions
      meaningless shuffle of parentheses
      When appropriate, delete the message from the inbox after processing rules.
      Action functions will return a keep or delete instruction
      Completed the 'fileinto' action
      There is no tabs vs. spaces debate.  There are only tab users and communists.
      completed the 'redirect' action
      inbox_do_reject() does not need to return a value, the message is always deleted
      This may be the completion of the rewrite bits.  Need to test more.
      Removed unused RSEN server command
      New field in user record "lastproc_inboxrules" which keeps track of the most recent message processed by the inbox rules filter, since we're now going to make the ruleset something that is only written to when the user changes it.
      Record the 'last message processed' in the user record instead of in the inbox config message.  This eliminates any need to rewrite the config
      Implemented the 'vacation' action
      Send a hash of an auto-response to the use table.  This keeps us from spamming the same correspondent with an auto-reply over and over.
      Just a little bit less debug logging
      When comparing the sender, compare both the name and address.
      Removed extra references to thread keys that are not extern
      fix to auto generated messages from inbox handler
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      Ugh.  The sloppiness of the code in the text client really reflects how bad I was at this 30+ years ago.
      In the text client - fixed the logic for determining whether to display the email address of a message author next to their display name.  Since we ALWAYS include at least a UPN now, we were getting superfluous displays of them.  Must fix the same thing in webcit next.
      Removed from WebCit Classic all code which handles display of legacy CitaNet node information.  Citadel Server doesn't generate these anymore so there's no point in displaying them.  Still need to remove them from the templates.   This is leading somewhere, so bear with me...
      missed a few
      Removed 'node' and 'hnode' items from the templates.
      Changed the display logic for message author.  New conditional COND:MAIL:LOCAL which activates if we believe a message originated locally.  This currently only detects c_fqdn and we need to modify it to handle all local domains.  If a message originated locally then we display the user name by itself with a link to their profile.  If a message originated somewhere else we display the user name and email address.
      The 'N' (Node) field in the message database has been resurrected, this time as a flag to indicate that a message originated on the local system, as opposed to an inbound email or some other nonlocal source.  This field is not populated yet.  If old messages with CitaNet remote nodes are discovered by the new code, the desired behavior should still work (suppress display of RFC822 email addresses)
      Removed an unused parameter from CtdlSubmitMsg().  Why was it even there?
      Reverted my work on the 'originated locally' field.  I found a much simpler way to do it.
      The server now uses its own knowledge of local domains to set or clear the 'locl' field.  This field gives the client a hint about whether the message originated locally.
      Handle display of local and nonlocal messages correctly in text client
      WebCit now handles the 'local message' flag correctly.
      fixed error: 'for' loop initial declarations are only allowed in C99 or C11 mode
      more of that
      Rewrote ctdl_startup() using fetch/await
      Rewrote ctdl_startup() using fetch/await
      Richard Stallman is a communist and an asshole.
      Replaced all XHR in main.js with fetch/await
      No more XHR in views.js
      the dreaded style cleanup
      more style cleanup ... ugh
      more sorting out of the headers
      more sorting out of the headers
      Fixed mini_2047_decode() in textclient.  It ... actually works now.
      Moved the defunct server-side renderer into another file to keep as a reference.
      More distancing of our project from Richard Marx Stallman's linguistic communism
      Removed a test in html2html() that would cause it to go null every time.
      Removed chdir() from setup.c - this program requires no run directory.
      Removed calls to chdir() from citserver.  Not needed, and we are trying to make the program relocatable.
      XMPP Mortuary blocks are now tagged with the user they represent, so if they delete their config room we know who is responsible.
      Moved the appimage project into the main tree
      appimage supervisor is functionally complete
      Remove install directories after build
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      add readme
      trying to figure out why webcit doesn't chdir properly when run from appimage
      Update config.guess and config.sub.  Fix chdir() and -h in webcit
      More fine tuning of the AppImage
      Build citadel server and webcit in temp directories.  This allows the builder to enjoy a persistent /usr/local/citadel on the build host.
      Removed an old debugging harness
      More work on the appimage
      Eliminated all destructor hooks.  The operating system can clean this up for us better than we can.
      No more cleanup hooks.  The OS can reclaim memory better than we can.  We want to get to the database close as soon as possible.
      cleanup
      troubleshooting the appimage
      ctdlvisor is now more sensible about how it stops its child processes.
      working on the options
      more appimage stuff related to installation
      -c option to citserver to only check for binary compatibility
      compatibility tests
      Moved most of the command line logic to the shell script
      look at me , i am a build monkey , see what I can type
      more diagnostics
      ulimit -c unlimited
      Officially declare war on LHFS
      war on lhfs
      don't run this, it's broken
      war on lfhs continues ... what a mess
      stable now but there are GIANT PIECES MISSING
      pop3 retrieval working again
      holy crap there is some old cruft in here I have to rewrite!
      All of the old network modules are now completely gone.  Unfortunately this includes the parts that handled mailing lists, so that has to be put back in.
      sendcommand now uses the new directory semantics
      setup now uses the new directory semantics
      citmail now uses the new directory semantics
      ctdlmigrate now uses the new directory semantics
      New listdeliver module (skeleton)
      Work on the new mailing list engine
      mkinstalldirs needs to be executable
      more work on the new listdeliver module
      listdeliver modules continued
      remove typedef from struct recptypes
      syntax cleanup internet_addressing.c
      serv_smtp.c: don't cache the client context
      Don't cache this pointer either, it doesn't save enough CPU cycles to be worth the confusion
      When I don't have the time or focus to deep code, I spend time doing style cleanup and coding standards
      fixed a spelling error
      Removed the register/callback stuff from serv_smtp.c , it added more complexity than it saved
      Added an elastic string buffer class to libcitadel.  Why do I have a feeling I'm going to regret this.
      Use the new elastic array class to queue the list of rooms to be swept for mailing list activity
      Fixed a bug in the startup sanity checks.  When it had to make a fix it was trying to do so during an open cursor.  Refactored those functions.
      Filter out zero-length MX records
      Write lastsent back to netconfig after sending list messages
      /* We used to wait for all threads to exit.  Fuck that.  The only thing important is that the databases are * cleanly unmounted.  After that, exit the whole program.
      For messages delivered to a mailing list, add the room name to the subject line, and Reply-to: to the address of the list.
      Delivery of messages to mailing list recipients is complete.
      getmx() now uses our array class
      more work on listsub
      stuff
      Generate subscription/unsubscription confirmation emails
      Renamed SUBS command to LSUB and changed its parameters.  Subscription Type no longer applies because it never worked right anyway.  There will now be only one variety of list subscription, and you will like it.  Am I making myself clear?  Also updated the version of citadel/libcitadel/webcit to 931 across the board, because we changed everything.
      Fixed an omitted 'break' statement in RFC822 output that was causing multiple To: lines to appear.  This was a significant enough bug that I also released it as an out-of-repo patch to Easy Install.
      Mention in the AppImage docs that we are building the x64 version on ubuntu 16 now.
      appimage updates
      build changes
      931
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      fix build name
      Finished the installer
      There can be only two.
      Fixed a bug in StrBufReadBLOBBuffered() that would make the read go into an infinite loop if the client closed the connection during transmission.
      In the XML export, move the 100% progress tag inside the final closing tag.
      remove_any_whitespace_to_the_left_or_right_of_at_symbol() is awesomized and no longer throws a compiler warning
      moved utils directory files into the root
      removed StartLibCitadel()
      regretting my brief fling with BSD style braces
      ctdlmigrate now uses a direct socket connection to the local server instead of sendcommand.  Also removed the use of buffered I/O from serv_migrate.c because it was locking up.
      move braces
      ctdlmigrate: changed flow of program to avoid gotos, changed SSH to fork()
      Polishing up ctdlmigrate with lots of ANSI color and box drawing characters because non-ANSI terminals are extinct and now unix people finally get to have the same fun DOS weenies had 40 years ago.
      Added a comma after each msgnum exported.  The parser was globbing them all together when it was just a newline.  This unfortunately resets the oldest-compatible-export version to the current version, but it wasn't working anyway.
      Removed obsolete portions of the tree
      fix a c99 compile bug
      ctdlmigrate: exit cleanly when a signal is received, tell the user the exit code
      Simplified disable_housekeeping
      ctdlmigrate: use libreadline for prompts
      When exporting a message, write to the client 10 KB at a time.
      Fixed an incorrect box drawing character
      Large migrations over SSH continue failing despite the addition of keepalives in the control channel.  Permitting export over TCP to see if it fares better on our own protocol.
      My current love affair is with C++ style comments.  Will it last?
      formatting
      updated config.guess in libcitadel
      Various changes to appimage.  Removed some old docs.
      add some db_ utils to the appimage dir
      updated database_cleanup.sh
      Removed the comments about RMS being an asshole communist.  I don't want anyone to think that I am part of the fascist 'MeToo' movement.  My objection to RMS is that he is a far-left asshole communist, not that other far-left asshole communists want to cancel him.
      Added 'database_cleanup' to the AppImage
      Added more exit points to build_appimage.sh so we know where it failed
      Removed help text in database_cleanup.sh which suggested that the intermediate dump files could be anywhere other than /tmp.
      Removed test_binary_compatibility() from ctdlvisor.c because we don't do it that way anymore.
      try to sense the architecture better
      more cpu detect
      working on ctdlmigrate in the appimage
      Removed exit code definitions that are no longer used
      Fixed .Help SUMMARY
      Updated the boilerplate on each file
      Cleaning up the code in the text client a bit
      Remove support for the old inline paging mode ... geez, we've only had extended paging for 21 years
      Assume the server supports the QNOP command, do not test for it, this is another command we've supported for 20 years
      Save the text client!
      Display stack trace on caught signal.  Also do this on segv now.
      New server option -b to specify the name of a file to which backtrace should be written if the server crashes.
      Add backtrace to the appimage
      Removed the backtrace stuff.  It wasn't producing traces that were useful.
      Added undocumented mount and debug modes to the appimage
      arrgh
      ZZMerge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      Try to use the published excludelist for libraries in the appimage
      Toying around with more boilerplate.  Epstein didn't kill himself.
      here have code
      fixed a bug with ctdlmigrate running in appimage
      Include libexpat with the appimage, do not exclude it
      random boilerplate
      2021-06-02 03:45 from jmb100770 Subject: Re: 500 No such user on AUTH LOGIN I encountered this same authentication problem with version 931 built via easy-install.  I think the problem is with citadel/modules/smtp/serv_smtp.c where smtp_get_user(5) is called in smtp_command_loop.  From this context, the offset parameter 5 should be replaced by zero (0).  I modified the easy-install script to work with a patched copy of the tarball and the resulting build seems to work correctly.
      remove libz from excludelist
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      test commit
      version.sh
      Getting ready for a new do-release.sh script
      ZZ
      Release version 932 generated by do-release.sh
      appimage filename now uses ../release_version.txt instead of the timestamp
      armhf aarch64
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      began making the client AppImage-aware
      add the ability to run the client from the appimage
      ARCH needs to be set to 'arm' for 32-bit
      appimage improvements to installation
      cleanup
      run-client.sh script
      This is it, I figured out how to create a client link
      A bit of prep work to bring back the global alias table.  This time I want to be able to expand aliases to multiple recipients, so it will be a bit more complex.  This commit enhances validate_recipients() to read the recipient list into an array before processing.
      Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
      Reworked validate_recipients() and expand_aliases() in preparation for expanding aliases into multiple recipients
      Expansion of aliases is working.  Still need to restore the behavior of underscores in room aliases, and handle infinite aliasing loops.
      Do not expand aliases once we get past the original length of the recipient array.  This prevents endless aliasing loops.
      Slightly better logic for preventing endless aliasing loops
      The overhaul of recipient parsing code is complete.  We can now handle a global alias table.  Now I just have to write that :)
      misc cleanup
      Added a delete element method to the array class in libcitadel.
      CtdlGetSysConfig() and CtdlPutSysConfig() now have the ability to store large configuration items as message texts in the Local System Configuration room by saving their message numbers as items in the regular configuration database.  This eliminates the last place where we did 'Delete all other messages in this room which have the same MIME type' and that ability has therefore been removed from the code.  There is enough code remaining to read configurations saved the old way, but they are upgraded the first time they are read.
      CONF LOADVAL and CONF STOREVAL are deprecated and probably safe to remove.
      Initial version of global alias table is in place.  But it seems to have a Heisenbug.
      This completes the server portion of the Global Alias table.
      Abandoned the AppImage
      Remove APPDIR support in database_cleanup.sh
      Removed a bit of diagnostic code no longer needed
      Removed the WebCit tab for 'push email' since the server doesn't do that anymore.  Replaced it with a 'Global email aliases' tab.
      Skeleton code for the Global Email Aliases tab.  To hell with the existing template engine.  We are switching to the design pattern used in WebCit-NG and hopefully I won't have to rewrite this thing again.
      made it async using fetch/await
      Fine tuning the design pattern
      Additional work on the alias table.  This is taking longer than it ought to because I am using it to prototype a design pattern for WebCit-NG.  Also began removing some of the cached session stuff.
      Trivial commit to test automated builds
      another trivial commit to test builds
      Moved the global email aliases editing screen to its own page to avoid having to mess with the multi tab form.
      CtdlPutSysConfig() don't delete the old copy of the config until after the new one has been written.  This eliminates data loss if the server is stopped in between.
      do_generic now supports a return_to variable, so it can be used by commands which just want to do generic citadel server stuff.
      When a client of any protocol handler sends a command to initiate SSL/TLS on a connection that is already using encryption, throw a clean error instead of crashing.
      Finished the WebCit screen for the Global Alias Table.
      Do not attempt to search for database records of length 0.
      Well, it doesn't crash anymore, but it also doesn't work at all. Is that an improvement?
      Saving my place while we try something...
      I got the bug to stop biting me, and even made the code more beautiful in the process.
      Now it also works when receiving messages over SMTP.  Still need to eliminate dupes.
      validate_recipients() now strips out duplicate recipients ... probably some 15 years after I wrote the FIXME comment saying to do that.
      Release version 933 generated by do-release.sh
      Release version 934 generated by do-release.sh
      Release version 935 generated by do-release.sh
      Release version 936 generated by do-release.sh
      Release version 937 generated by do-release.sh
      Fixed some rendering problems in webcit that resulted from the removal of VIEW_WIKIMD from the header file
      Release version 938 generated by do-release.sh
      Release version 939 generated by do-release.sh

root (6):
      Removed the superfluous function fmt_date() in libcitadel since it just calls strftime() anyway.  Converted the two client calls in textclient to strftime()
      silenced a silly little compiler warning
      removed some old cruft
      input type="date" here will allow datepicker.js to be eliminated and should fall back to type="text" in the few remaining browsers that don't support it.
      This wraps up the ctdlmigrate fixes.
      Fixed a bug in the new aliasing code that broke mail to rooms with spaces in their names.

-----------------------------------------------------------------------


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283521</link><pubDate>Fri, 26 Nov 2021 00:54:16 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-756-g0ce18ff3e</title><guid isPermaLink="false">2099283521@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0ce18ff3e03c06b1d9a949108197489a3995deac (commit)
      from  b7c5fd2a7854ee503b880119a8cd9500958376b1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0ce18ff3e03c06b1d9a949108197489a3995deac
commit 0ce18ff3e03c06b1d9a949108197489a3995deac
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 26 00:54:14 2021 -0500

    make a note that we have to retain the reply message number

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 2 ++
 1 file changed, 2 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283516</link><pubDate>Fri, 26 Nov 2021 00:51:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-755-gb7c5fd2a7</title><guid isPermaLink="false">2099283516@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b7c5fd2a7854ee503b880119a8cd9500958376b1 (commit)
      from  6f0e26168da5d0c4f8115c67f68d87a1c879a76c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b7c5fd2a7854ee503b880119a8cd9500958376b1
commit b7c5fd2a7854ee503b880119a8cd9500958376b1
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 26 00:51:12 2021 -0500

    Capture the new message number from the etag of the post transaction

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283514</link><pubDate>Fri, 26 Nov 2021 00:39:06 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-754-g6f0e26168</title><guid isPermaLink="false">2099283514@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6f0e26168da5d0c4f8115c67f68d87a1c879a76c (commit)
      from  b72d201c04f87e2a29f7cfcdd29dff2644aec84e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6f0e26168da5d0c4f8115c67f68d87a1c879a76c
commit 6f0e26168da5d0c4f8115c67f68d87a1c879a76c
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 26 00:39:04 2021 -0500

    Link entry in the editor now works.  The example code at https://www.thatsoftwaredude.com/content/8912/create-a-basic-text-editor-in-javascript was a bit naive because it assumes the URL is already known at the moment the user presses the Link button.  We open a box for URL entry, but when the user clicks into that box the original selection disappears.  So we have to save the selection range in hidden fields so we know where to replace the text.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css   |  1 +
 webcit-ng/static/js/view_forum.js | 58 +++++++++++++++++++++++++++++++++++----
 2 files changed, 53 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283479</link><pubDate>Thu, 25 Nov 2021 15:36:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-753-gb72d201c0</title><guid isPermaLink="false">2099283479@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b72d201c04f87e2a29f7cfcdd29dff2644aec84e (commit)
      from  01faceefeb71ba860b3cd976978f7ae44e6bcf62 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b72d201c04f87e2a29f7cfcdd29dff2644aec84e
commit b72d201c04f87e2a29f7cfcdd29dff2644aec84e
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Nov 25 15:36:03 2021 -0500

    bold, italic, and list buttons now work.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 37 +++++++++++++++++++++++++------------
 1 file changed, 25 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283365</link><pubDate>Wed, 24 Nov 2021 15:05:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-752-g01faceefe</title><guid isPermaLink="false">2099283365@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  01faceefeb71ba860b3cd976978f7ae44e6bcf62 (commit)
      from  341035a8842e8ff75fc6e47fbf53e6fd431c4c6f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=01faceefeb71ba860b3cd976978f7ae44e6bcf62
commit 01faceefeb71ba860b3cd976978f7ae44e6bcf62
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 24 15:05:42 2021 -0500

    split utility function out into a separate util.js

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html       |  1 +
 webcit-ng/static/js/util.js       | 44 +++++++++++++++++++++++++++++++++++++++
 webcit-ng/static/js/view_forum.js | 32 ----------------------------
 3 files changed, 45 insertions(+), 32 deletions(-)
 create mode 100644 webcit-ng/static/js/util.js


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283348</link><pubDate>Wed, 24 Nov 2021 12:54:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-751-g341035a88</title><guid isPermaLink="false">2099283348@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  341035a8842e8ff75fc6e47fbf53e6fd431c4c6f (commit)
      from  cbfc7cad8d29b9fe44e1ff9cb2e167ba08a1dbc3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=341035a8842e8ff75fc6e47fbf53e6fd431c4c6f
commit 341035a8842e8ff75fc6e47fbf53e6fd431c4c6f
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 24 12:54:24 2021 -0500

    Placed the bold/italic/list/link buttons in the editor.  (They don't work yet.)

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 27 +++++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283343</link><pubDate>Wed, 24 Nov 2021 11:51:54 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-750-gcbfc7cad8</title><guid isPermaLink="false">2099283343@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cbfc7cad8d29b9fe44e1ff9cb2e167ba08a1dbc3 (commit)
      from  ce92c698dc879cec834c95f04092678d56f87a81 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cbfc7cad8d29b9fe44e1ff9cb2e167ba08a1dbc3
commit cbfc7cad8d29b9fe44e1ff9cb2e167ba08a1dbc3
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 24 11:51:51 2021 -0500

    Prettied up the qp encoder function a bit.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283292</link><pubDate>Wed, 24 Nov 2021 00:47:17 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-749-gce92c698d</title><guid isPermaLink="false">2099283292@Uncensored</guid><description><![CDATA[  
 What a fun evening of hacking!   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283291</link><pubDate>Wed, 24 Nov 2021 00:42:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-749-gce92c698d</title><guid isPermaLink="false">2099283291@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ce92c698dc879cec834c95f04092678d56f87a81 (commit)
      from  4b8f1659c5fe4fc9852dd83fbef7d22a6e3fb273 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ce92c698dc879cec834c95f04092678d56f87a81
commit ce92c698dc879cec834c95f04092678d56f87a81
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 24 00:42:08 2021 -0500

    Post messages in quoted-printable instead of base64, just like WebCit Classic does.  This avoids double-base64-encoding of inline images.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 54 ++++++++++++++++++++++++++++++---------
 1 file changed, 42 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283288</link><pubDate>Wed, 24 Nov 2021 00:27:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-748-g4b8f1659c</title><guid isPermaLink="false">2099283288@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4b8f1659c5fe4fc9852dd83fbef7d22a6e3fb273 (commit)
      from  95a87d0707f365eac4c9c14367bed933ecfd18a6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4b8f1659c5fe4fc9852dd83fbef7d22a6e3fb273
commit 4b8f1659c5fe4fc9852dd83fbef7d22a6e3fb273
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 24 00:27:13 2021 -0500

    Save messages as multipart/mixed with the HTML component in base64 encoding.  We probably should rethink this because now we're double-base64-encoding inline images.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283282</link><pubDate>Tue, 23 Nov 2021 23:53:02 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-747-g95a87d070</title><guid isPermaLink="false">2099283282@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  95a87d0707f365eac4c9c14367bed933ecfd18a6 (commit)
      from  79d9077c56219ee91f190c72918972239bafa69b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=95a87d0707f365eac4c9c14367bed933ecfd18a6
commit 95a87d0707f365eac4c9c14367bed933ecfd18a6
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 23 23:53:00 2021 -0500

    Revert previous commit because it didn't work.  Furthermore, remove the content-length header from the PUT operation because the browser wants to do that on its own.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/messages.c              | 7 -------
 webcit-ng/static/js/view_forum.js | 9 ---------
 2 files changed, 16 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283281</link><pubDate>Tue, 23 Nov 2021 23:48:38 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-746-g79d9077c5</title><guid isPermaLink="false">2099283281@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  79d9077c56219ee91f190c72918972239bafa69b (commit)
      from  3063427564f6fd6d8844ac1cb5e7092320f76173 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=79d9077c56219ee91f190c72918972239bafa69b
commit 79d9077c56219ee91f190c72918972239bafa69b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 23 23:48:36 2021 -0500

    Permit the Content-Transfer-Encoding: header to be forwarded from an HTTP transaction to a post on a Citadel server.  This isn't typical for HTTP but we need it.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/messages.c | 7 +++++++
 1 file changed, 7 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283278</link><pubDate>Tue, 23 Nov 2021 23:44:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-745-g306342756</title><guid isPermaLink="false">2099283278@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3063427564f6fd6d8844ac1cb5e7092320f76173 (commit)
      from  2b5107a5be4fb8234014c71187336190237ba19c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3063427564f6fd6d8844ac1cb5e7092320f76173
commit 3063427564f6fd6d8844ac1cb5e7092320f76173
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 23 23:44:04 2021 -0500

    Moved the remaining else blocks

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/admin_functions.c       |  2 +-
 webcit-ng/api.txt                 |  2 +-
 webcit-ng/caldav_reports.c        | 14 +++++++++-----
 webcit-ng/ctdl_commands.c         |  5 +++--
 webcit-ng/ctdlclient.c            | 14 +++++++++-----
 webcit-ng/ctdlfunctions.c         |  5 +++--
 webcit-ng/forum_view.c            |  5 +++--
 webcit-ng/html2html.c             | 15 ++++++++++-----
 webcit-ng/http.c                  |  2 +-
 webcit-ng/main.c                  |  2 +-
 webcit-ng/messages.c              | 25 ++++++++++++++++---------
 webcit-ng/room_functions.c        |  3 ++-
 webcit-ng/ssl.c                   |  2 +-
 webcit-ng/static.c                |  2 +-
 webcit-ng/static/js/view_forum.js |  9 ++++++++-
 webcit-ng/tcp_sockets.c           |  2 +-
 webcit-ng/user_functions.c        |  5 +++--
 webcit-ng/util.c                  |  2 +-
 webcit-ng/webserver.c             |  2 +-
 19 files changed, 75 insertions(+), 43 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283268</link><pubDate>Tue, 23 Nov 2021 20:09:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-744-g2b5107a5b</title><guid isPermaLink="false">2099283268@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2b5107a5be4fb8234014c71187336190237ba19c (commit)
      from  ba3b1b68c897a567e5de87f621d8121b7a14530f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2b5107a5be4fb8234014c71187336190237ba19c
commit 2b5107a5be4fb8234014c71187336190237ba19c
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 23 20:09:23 2021 -0500

    Handle posting errors a little more elegantly.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/messages.c              |  2 +-
 webcit-ng/static/js/view_forum.js | 15 +++++++--------
 2 files changed, 8 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283262</link><pubDate>Tue, 23 Nov 2021 19:57:09 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-743-gba3b1b68c</title><guid isPermaLink="false">2099283262@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ba3b1b68c897a567e5de87f621d8121b7a14530f (commit)
      from  88f5e004e01b9942db384ebdaf4c26b55b1afd48 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ba3b1b68c897a567e5de87f621d8121b7a14530f
commit ba3b1b68c897a567e5de87f621d8121b7a14530f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 23 19:57:07 2021 -0500

    Detect whether the save operation succeeded by checking the response status of the XHR transaction.  Also made the default Citadel server dev.citadel.org instead of uncensored.citadel.org because I am posting a lot of test messages.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/api.txt                 |  1 +
 webcit-ng/static/js/view_forum.js | 16 +++++++++++-----
 webcit-ng/webcit.h                |  2 +-
 3 files changed, 13 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283250</link><pubDate>Tue, 23 Nov 2021 19:04:32 +0500</pubDate><title>Message #2099283250</title><guid isPermaLink="false">2099283250@Uncensored</guid><description><![CDATA[

<html><body><b>This message is being posted with WebCit-NG!</b><div><br></div><div>There's a lot of stuff to be cleaned up, of course, but the basic framework is in place.&nbsp; I can't believe it was so easy to write my own editor.&nbsp; The "contenteditable" attribute made it a no-brainer.&nbsp; This was so much easier than trying to decide which third-party editor to integrate.&nbsp; In fact, it's easy enough that I can write and maintain separate editors for forum rooms and mailbox rooms.</div><div><br></div><div>That'll be a good thing, actually.&nbsp; Right now I'm working on the forum view, and it encourages the desired style of discourse by making the editor box appear directly below the message to which you are replying, just like it does in text mode and on non-Citadel forums.&nbsp; For a mailbox room, it'll clear the screen and display a big empty window with a lot of editor and attachment options.</div><div><br></div><div>I am <i>so</i>&nbsp;jazzed!</div></body></html>

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283245</link><pubDate>Tue, 23 Nov 2021 18:41:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-742-g88f5e004e</title><guid isPermaLink="false">2099283245@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  88f5e004e01b9942db384ebdaf4c26b55b1afd48 (commit)
      from  c994a997c95509a5c43b0f7b0e97e720f6e84c95 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=88f5e004e01b9942db384ebdaf4c26b55b1afd48
commit 88f5e004e01b9942db384ebdaf4c26b55b1afd48
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 23 18:41:11 2021 -0500

    Wow!  Posting a message to the server worked on the first try, even using the existing DAV operation and no new C code.  That was a pleasant surprise.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/api.txt                 |  3 +++
 webcit-ng/static/js/view_forum.js | 33 +++++++++++++++++++++++++++++----
 2 files changed, 32 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283232</link><pubDate>Tue, 23 Nov 2021 16:24:53 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-741-gc994a997c</title><guid isPermaLink="false">2099283232@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c994a997c95509a5c43b0f7b0e97e720f6e84c95 (commit)
       via  1bdbdb234926764fd9097f3621f878f749e6b4c7 (commit)
      from  1690fc3533d5f02ae18b28b841e6f645e8927365 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c994a997c95509a5c43b0f7b0e97e720f6e84c95
commit c994a997c95509a5c43b0f7b0e97e720f6e84c95
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 23 16:24:50 2021 -0500

    Got it working, now it's pretty

http://code.citadel.org/?p=citadel.git&a=commit&h=1bdbdb234926764fd9097f3621f878f749e6b4c7
commit 1bdbdb234926764fd9097f3621f878f749e6b4c7
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 23 16:13:48 2021 -0500

    content editable window with focus and cursor

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/http.c                  | 2 +-
 webcit-ng/static/js/view_forum.js | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283142</link><pubDate>Mon, 22 Nov 2021 19:22:59 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-739-g1690fc353</title><guid isPermaLink="false">2099283142@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1690fc3533d5f02ae18b28b841e6f645e8927365 (commit)
      from  eb9cce8bffde727202142066ad442c408bbc8815 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1690fc3533d5f02ae18b28b841e6f645e8927365
commit 1690fc3533d5f02ae18b28b841e6f645e8927365
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 22 19:22:57 2021 -0500

    Fixed the vertical float issue by specifying the height of the text div and letting the rest wrap around as it wants to.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283064</link><pubDate>Sun, 21 Nov 2021 17:43:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-738-geb9cce8bf</title><guid isPermaLink="false">2099283064@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  eb9cce8bffde727202142066ad442c408bbc8815 (commit)
      from  a1e13ee5e7875ea212b7533743cc9691d0e0b840 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=eb9cce8bffde727202142066ad442c408bbc8815
commit eb9cce8bffde727202142066ad442c408bbc8815
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 21 17:43:48 2021 -0500

    how about that scroll?

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099283000</link><pubDate>Sat, 20 Nov 2021 17:09:55 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-737-ga1e13ee5e</title><guid isPermaLink="false">2099283000@Uncensored</guid><description><![CDATA[  
 Every time I discover something like this -- in this case, scrollIntoView()
-- it affirms that I made the right choice building a new WebCit from scratch.
 Web development is such a different beast than it was when I started WebCit
25 years ago.  The browser has so many things built-in that weren't there
before. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099282999</link><pubDate>Sat, 20 Nov 2021 17:03:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-737-ga1e13ee5e</title><guid isPermaLink="false">2099282999@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a1e13ee5e7875ea212b7533743cc9691d0e0b840 (commit)
      from  7ed87729ff553ddfb62f6b220207f1249e39e01a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a1e13ee5e7875ea212b7533743cc9691d0e0b840
commit a1e13ee5e7875ea212b7533743cc9691d0e0b840
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 20 17:03:56 2021 -0500

    Hot damn!  I just discovered scrollIntoView()

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099282715</link><pubDate>Wed, 17 Nov 2021 21:10:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-736-g7ed87729f</title><guid isPermaLink="false">2099282715@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7ed87729ff553ddfb62f6b220207f1249e39e01a (commit)
      from  6423ac82a46355743760d561e57be80bfdde4acb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7ed87729ff553ddfb62f6b220207f1249e39e01a
commit 7ed87729ff553ddfb62f6b220207f1249e39e01a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 17 21:10:12 2021 -0500

    save/cancel

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099282710</link><pubDate>Wed, 17 Nov 2021 20:30:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-735-g6423ac82a</title><guid isPermaLink="false">2099282710@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6423ac82a46355743760d561e57be80bfdde4acb (commit)
      from  0c4622061708be8b14d280788ce7cbf63742b0da (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6423ac82a46355743760d561e57be80bfdde4acb
commit 6423ac82a46355743760d561e57be80bfdde4acb
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 17 20:30:10 2021 -0500

    replybox adornments

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 41 +++++++++++++++++++++++++++++++++------
 1 file changed, 35 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099282709</link><pubDate>Wed, 17 Nov 2021 20:25:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-734-g0c4622061</title><guid isPermaLink="false">2099282709@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0c4622061708be8b14d280788ce7cbf63742b0da (commit)
      from  b7d0ce7239d02e06419e75e773e45a7d3082fbf5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0c4622061708be8b14d280788ce7cbf63742b0da
commit 0c4622061708be8b14d280788ce7cbf63742b0da
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 17 20:25:23 2021 -0500

     more work on the reply box

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099282701</link><pubDate>Wed, 17 Nov 2021 20:15:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-733-gb7d0ce723</title><guid isPermaLink="false">2099282701@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b7d0ce7239d02e06419e75e773e45a7d3082fbf5 (commit)
      from  b3a9ebe76379fc17893ff722b29be862c049f107 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b7d0ce7239d02e06419e75e773e45a7d3082fbf5
commit b7d0ce7239d02e06419e75e773e45a7d3082fbf5
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 17 20:15:04 2021 -0500

    Intermediate commit: open a new div beneath the existing one when Reply or ReplyQuoted is selected

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099282688</link><pubDate>Wed, 17 Nov 2021 18:04:33 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-732-gb3a9ebe76</title><guid isPermaLink="false">2099282688@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b3a9ebe76379fc17893ff722b29be862c049f107 (commit)
      from  8fb8284127acb8635728d0e19de41d0dec768101 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b3a9ebe76379fc17893ff722b29be862c049f107
commit b3a9ebe76379fc17893ff722b29be862c049f107
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 17 18:04:30 2021 -0500

    fujobi

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099282497</link><pubDate>Mon, 15 Nov 2021 18:56:40 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-731-g8fb828412</title><guid isPermaLink="false">2099282497@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8fb8284127acb8635728d0e19de41d0dec768101 (commit)
       via  24d1e719dd6b40e0eb4153b928b758abb17863a1 (commit)
      from  63e88e1b13b6270cfb73504e7b3ee825c343db09 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8fb8284127acb8635728d0e19de41d0dec768101
commit 8fb8284127acb8635728d0e19de41d0dec768101
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 15 18:56:35 2021 -0500

    Release version 940 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=24d1e719dd6b40e0eb4153b928b758abb17863a1
commit 24d1e719dd6b40e0eb4153b928b758abb17863a1
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 15 18:56:29 2021 -0500

    Removed the remaining code where LDAP was optional.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                        |  2 +-
 citadel/config.c                         |  9 ---------
 citadel/control.c                        |  8 --------
 citadel/housekeeping.c                   |  3 +--
 citadel/ldap.c                           | 31 +++++++++++++------------------
 citadel/modules/ctdlproto/serv_session.c |  5 -----
 citadel/modules/vcard/serv_vcard.c       |  8 ++------
 citadel/user_ops.c                       | 30 +++++++++++-------------------
 libcitadel/lib/libcitadel.h              |  2 +-
 release_version.txt                      |  2 +-
 webcit/webcit.h                          |  2 +-
 11 files changed, 31 insertions(+), 71 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099282383</link><pubDate>Sun, 14 Nov 2021 18:34:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-729-g63e88e1b1</title><guid isPermaLink="false">2099282383@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  63e88e1b13b6270cfb73504e7b3ee825c343db09 (commit)
      from  7d792329d2f040bf67c85a88e0543298677b38bd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=63e88e1b13b6270cfb73504e7b3ee825c343db09
commit 63e88e1b13b6270cfb73504e7b3ee825c343db09
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 14 18:34:32 2021 -0500

    Removed the 'old threaded view save for reference' code from the tree.  It's still in the git history if we need it, and JWZ is still a self-righteous asshole.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/old_threaded_view_save_for_reference.c | 286 -----------------------
 webcit-ng/room_functions.c                       |  25 +-
 2 files changed, 13 insertions(+), 298 deletions(-)
 delete mode 100644 webcit-ng/old_threaded_view_save_for_reference.c


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099282380</link><pubDate>Sun, 14 Nov 2021 18:28:40 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-728-g7d792329d</title><guid isPermaLink="false">2099282380@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7d792329d2f040bf67c85a88e0543298677b38bd (commit)
      from  3ab49048c1abad38ef9dc77c14297ff22ccef7b3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7d792329d2f040bf67c85a88e0543298677b38bd
commit 7d792329d2f040bf67c85a88e0543298677b38bd
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 14 18:28:35 2021 -0500

    increased the margin around the message reading boxes

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281738</link><pubDate>Sat, 06 Nov 2021 16:55:39 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-727-g3ab49048c</title><guid isPermaLink="false">2099281738@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3ab49048c1abad38ef9dc77c14297ff22ccef7b3 (commit)
      from  f7f764f8afba409aae2a6c026d2ab76033bc378d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3ab49048c1abad38ef9dc77c14297ff22ccef7b3
commit 3ab49048c1abad38ef9dc77c14297ff22ccef7b3
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 6 16:55:37 2021 -0400

    notes

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/view_forum.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281737</link><pubDate>Sat, 06 Nov 2021 16:56:41 +0500</pubDate><title>webcit-ng and having the hard parts done for me already</title><guid isPermaLink="false">2099281737@Uncensored</guid><description><![CDATA[  
 One thing that continues to delight me while developing webcit-ng is how
many of the common tasks are now built in to the typical web browser environment,
or have been made easy in some other way. 
  
 For example, Font Awesome [https://fontawesome.com] eliminates most of our
icon needs.  I haven't brought in a single graphical icon yet because they
have so many of them. 
  
 As previously mentioned, W3CSS [https://www.w3schools.com/w3css] is such
a wonderfully lightweight yet good-looking framework that takes care of most
of the difficult parts, just by including it. 
  
 And now, look at this ... [https://www.thatsoftwaredude.com/content/8912/create-a-basic-text-editor-in-javascript]
... I started looking to figure out what to do for a rich text editor in 2021,
and found that most of the hard stuff is already built in to the browser now.

  
 In other words ... development of webcit-ng is as much of a pleasure as development
of webcit-classic is painful. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281734</link><pubDate>Sat, 06 Nov 2021 16:43:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-726-gf7f764f8a</title><guid isPermaLink="false">2099281734@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f7f764f8afba409aae2a6c026d2ab76033bc378d (commit)
      from  2da227930ecabafd75563bd29adc287116245b34 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f7f764f8afba409aae2a6c026d2ab76033bc378d
commit f7f764f8afba409aae2a6c026d2ab76033bc378d
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 6 16:43:05 2021 -0400

    Split the forum view into a separate .js file.  We will do this for all views.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/index.html                     |  13 +-
 webcit-ng/static/js/{views.js => view_forum.js} |  40 +-----
 webcit-ng/static/js/views.js                    | 171 +-----------------------
 3 files changed, 12 insertions(+), 212 deletions(-)
 copy webcit-ng/static/js/{views.js => view_forum.js} (83%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281729</link><pubDate>Sat, 06 Nov 2021 16:07:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-725-g2da227930</title><guid isPermaLink="false">2099281729@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2da227930ecabafd75563bd29adc287116245b34 (commit)
      from  e64f731c0967c74dbfb676ffa687b5fa15cefaac (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2da227930ecabafd75563bd29adc287116245b34
commit 2da227930ecabafd75563bd29adc287116245b34
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 6 16:07:02 2021 -0400

    nip and tuck

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/text2html.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281728</link><pubDate>Sat, 06 Nov 2021 16:05:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-724-ge64f731c0</title><guid isPermaLink="false">2099281728@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e64f731c0967c74dbfb676ffa687b5fa15cefaac (commit)
      from  0f2cd1eb06e1340320826ae0b8af9b5d9d1e3642 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e64f731c0967c74dbfb676ffa687b5fa15cefaac
commit e64f731c0967c74dbfb676ffa687b5fa15cefaac
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 6 16:05:13 2021 -0400

    Reply/ReplyAll/Delete buttons are pretty now

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css |  6 ++++--
 webcit-ng/static/js/views.js    | 18 ++++++++++++++----
 2 files changed, 18 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281660</link><pubDate>Fri, 05 Nov 2021 19:41:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-723-g0f2cd1eb0</title><guid isPermaLink="false">2099281660@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0f2cd1eb06e1340320826ae0b8af9b5d9d1e3642 (commit)
      from  58856c806bc8dc40bc2b8a3ea6c4e820c82eb62e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0f2cd1eb06e1340320826ae0b8af9b5d9d1e3642
commit 0f2cd1eb06e1340320826ae0b8af9b5d9d1e3642
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 5 19:41:04 2021 -0400

    The buttons now look like buttons, the reply button has a nice reply icon in it, and they change color when you hover over them.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 20 +++++++++++++++++---
 webcit-ng/static/js/views.js    |  9 ++++++---
 2 files changed, 23 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281653</link><pubDate>Fri, 05 Nov 2021 17:54:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-722-g58856c806</title><guid isPermaLink="false">2099281653@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  58856c806bc8dc40bc2b8a3ea6c4e820c82eb62e (commit)
      from  d65771d5fdc89cb7303e2494e2e722ad37d70ab8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=58856c806bc8dc40bc2b8a3ea6c4e820c82eb62e
commit 58856c806bc8dc40bc2b8a3ea6c4e820c82eb62e
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 5 17:54:06 2021 -0400

    When sending MSGS commands, unescape the command being sent to the server

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/room_functions.c   | 10 ++++------
 webcit-ng/static/js/views.js |  7 -------
 2 files changed, 4 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281650</link><pubDate>Fri, 05 Nov 2021 17:40:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-721-gd65771d5f</title><guid isPermaLink="false">2099281650@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d65771d5fdc89cb7303e2494e2e722ad37d70ab8 (commit)
      from  cade47ff4cd54c44a0568d627fa9271092ead125 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d65771d5fdc89cb7303e2494e2e722ad37d70ab8
commit d65771d5fdc89cb7303e2494e2e722ad37d70ab8
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 5 17:40:25 2021 -0400

    Tinkering with the headers some more

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 2 ++
 webcit-ng/static/js/views.js    | 4 ++++
 2 files changed, 6 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281647</link><pubDate>Fri, 05 Nov 2021 17:32:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-720-gcade47ff4</title><guid isPermaLink="false">2099281647@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cade47ff4cd54c44a0568d627fa9271092ead125 (commit)
      from  9be5365aefa7e046d9d809c1a819e2f3d5afc764 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cade47ff4cd54c44a0568d627fa9271092ead125
commit cade47ff4cd54c44a0568d627fa9271092ead125
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 5 17:32:45 2021 -0400

    Added CSS style for the Loading Messages, Older Posts, Newer Posts divs

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 16 +++++++++++++---
 webcit-ng/static/js/views.js    |  6 +++---
 2 files changed, 16 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281235</link><pubDate>Mon, 01 Nov 2021 09:38:17 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-719-g9be5365ae</title><guid isPermaLink="false">2099281235@Uncensored</guid><description><![CDATA[Is everyone enjoying the commit log?  Hehe 
  
 WebCit-NG is front and center again :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281232</link><pubDate>Mon, 01 Nov 2021 09:27:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-719-g9be5365ae</title><guid isPermaLink="false">2099281232@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9be5365aefa7e046d9d809c1a819e2f3d5afc764 (commit)
      from  f48fb8f91809604e65fde881169c4be595d02b89 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9be5365aefa7e046d9d809c1a819e2f3d5afc764
commit 9be5365aefa7e046d9d809c1a819e2f3d5afc764
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Nov 1 09:27:30 2021 -0400

    Display the subject line -- only if present

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/views.js | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281121</link><pubDate>Sat, 30 Oct 2021 16:29:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-718-gf48fb8f91</title><guid isPermaLink="false">2099281121@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f48fb8f91809604e65fde881169c4be595d02b89 (commit)
      from  d0e938bc3b85404d4514ad243775715d9b0e70b4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f48fb8f91809604e65fde881169c4be595d02b89
commit f48fb8f91809604e65fde881169c4be595d02b89
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 30 16:29:06 2021 -0400

    Add subject to json output

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/forum_view.c | 3 +++
 1 file changed, 3 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281118</link><pubDate>Sat, 30 Oct 2021 16:14:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-717-gd0e938bc3</title><guid isPermaLink="false">2099281118@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d0e938bc3b85404d4514ad243775715d9b0e70b4 (commit)
      from  889b7f359f3d582c4ef5d48f803fd02346cfbe89 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d0e938bc3b85404d4514ad243775715d9b0e70b4
commit d0e938bc3b85404d4514ad243775715d9b0e70b4
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 30 16:14:53 2021 -0400

    Tuned up the CSS for message board view.  It looks pretty good now.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css | 28 +++++++++++++++++++++++++++-
 webcit-ng/static/js/views.js    | 12 ++++++++++--
 2 files changed, 37 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099281114</link><pubDate>Sat, 30 Oct 2021 15:42:42 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-716-g889b7f359</title><guid isPermaLink="false">2099281114@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  889b7f359f3d582c4ef5d48f803fd02346cfbe89 (commit)
      from  0baa56636a742d04298646099681d1dfa838d668 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=889b7f359f3d582c4ef5d48f803fd02346cfbe89
commit 889b7f359f3d582c4ef5d48f803fd02346cfbe89
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Oct 30 15:42:39 2021 -0400

    Use overflow:hidden style to keep the user avatar photo from breaking through the rounded corner of the container.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/css/webcit.css |  2 ++
 webcit-ng/static/js/views.js    | 31 +++++++++++++++----------------
 2 files changed, 17 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099280684</link><pubDate>Mon, 25 Oct 2021 13:25:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-715-g0baa56636</title><guid isPermaLink="false">2099280684@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0baa56636a742d04298646099681d1dfa838d668 (commit)
      from  07a0e0310760cfe65a7347dc303958f34774f11d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0baa56636a742d04298646099681d1dfa838d668
commit 0baa56636a742d04298646099681d1dfa838d668
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 25 13:25:17 2021 -0400

    Changing signal handlers to the correct type eliminates the last of the warning messages

-----------------------------------------------------------------------

Summary of changes:
 textclient/screen.c     | 2 +-
 textclient/textclient.h | 5 +----
 2 files changed, 2 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099280680</link><pubDate>Mon, 25 Oct 2021 13:21:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-714-g07a0e0310</title><guid isPermaLink="false">2099280680@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  07a0e0310760cfe65a7347dc303958f34774f11d (commit)
      from  708a4113e7eb4965230821890d750fb44a166aac (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=07a0e0310760cfe65a7347dc303958f34774f11d
commit 07a0e0310760cfe65a7347dc303958f34774f11d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 25 13:21:47 2021 -0400

    Suppress format-truncation warnings because they are WRONG

-----------------------------------------------------------------------

Summary of changes:
 textclient/configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099280425</link><pubDate>Thu, 21 Oct 2021 22:37:50 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-713-g708a4113e</title><guid isPermaLink="false">2099280425@Uncensored</guid><description><![CDATA[   
 Ooooh, yeah that's right; mail to rooms with spaces in the name, working
again now  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099280399</link><pubDate>Thu, 21 Oct 2021 16:06:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-713-g708a4113e</title><guid isPermaLink="false">2099280399@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  708a4113e7eb4965230821890d750fb44a166aac (commit)
      from  d8fd1a37421513f5c7bfa6ce61daeb3d1dc774e8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=708a4113e7eb4965230821890d750fb44a166aac
commit 708a4113e7eb4965230821890d750fb44a166aac
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 21 16:06:13 2021 -0400

    Poking around in the text client to determine whether we can remove dependency on libcitadel.

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c     |  2 +-
 textclient/citadel_ipc.c | 16 ++++++++--------
 textclient/client_chat.c |  2 +-
 textclient/messages.c    | 12 ++++++------
 textclient/rooms.c       | 10 +++++-----
 textclient/routines2.c   | 20 ++++++++++----------
 6 files changed, 31 insertions(+), 31 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099278239</link><pubDate>Thu, 23 Sep 2021 09:17:06 +0500</pubDate><title>Message #2099278239</title><guid isPermaLink="false">2099278239@Uncensored</guid><description><![CDATA[  
 All righty then!  Citadel 939 is now available for download in all three
channels (source tarballs, Easy Install, and Docker). 
  
 It has "the fix" 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099278172</link><pubDate>Wed, 22 Sep 2021 13:52:56 +0500</pubDate><title>Message #2099278172</title><guid isPermaLink="false">2099278172@Uncensored</guid><description><![CDATA[Ok, I have fixed the bug, but the commit has not shown up here, because of
the bug  :) 
  
 I will let you know when the downloads are updated. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099278154</link><pubDate>Wed, 22 Sep 2021 10:38:13 +0500</pubDate><title>Message #2099278154</title><guid isPermaLink="false">2099278154@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks to you</p>
<p>Basically that is the problem.</p>
<p><br />The other weird effects seem to be related to the Firefox cache (which I periodically clear) or to the SSL certificate (see image); I had to clear it and create an exception.</p>
<p>Note: When I click "View Certificate", Firefox shows a blank screen. Strange, isn't it?</p>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhcAAAHRCAIAAABW4gwrAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nOydd2AURRfA32y7mt4LCQkdQu9VepcmvQkKSFVEQFBRkA8QREC6IkgRBaRKB5EemrTQe0nvl+TqlpnvjwshQHIkIaHI/NDL7s7szLvdZN68NzNvUNVa9SHPMAgwyXt2CoVCofzHYbKO1CzWC0rmMYf1goKezOoiyB9UivTWii9RPAqFQqG81nD2H54acWSlByaZ/f5saF1fQ8fQeEAw7UyJDJHLymqRmVLO5v/VuzkpvHS8WXhFAlMoL5sypUs5SBUER38Louio16XVah2kmkwmB6mSJDtIJQQ7SFVrNA5SZYclMwxykCrLioNUABBUjh6X1WJxfLsDVGq1o3odvyabzUGq49dkNBodpDp+IPfu33eQ+qbAAYDA4pEVHrQvlhhlVLvVulnTO81JkE/Fu2L8xK+LiJn7yZpm5ZL7lIyef6k4JoDB0e8ThUKhUP7zMAAQrLNUcs6IMahckOTOSRcSnKIM6qh0lVVhHmUinmqRRSTZwiOZNPFJecc3paZXWgHqe79fn/f79SnMb0DJhZo1q3t5euZ2SqFQKIUCAwBaFhMJllwJ6nyg2tDwCuNOl72cqK+kz2jsleLCywDAMWRQaNSOxv+29Uk0m1k9loeVeDgoJErHPsd6fQq7Cnn9FYm7m9vc2TN3/bVl+c+LeYeGcL7o3bN7g3p1C6u05zJ61EhPT4/cTt9oPNw9Jn/9pSDwjrM1bFBvwx+rnZ2cXo5UFMrbCQMAJomVbQhjMIiZf5a/3QuwicwXZe68HxQNACJmDse7axUlTJsRk64yW9hg3hzAW4O1+XBiZlcez1UkU6dM2rfrr11/bflz3ZoJ4z/zcC/M5m/7lj/r1KnlIEOXzh0tFkv7Tu+NnfCl5NCvnS9q1qge4O//7PXhQweXKlnCflyp
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Sep 21 2021 04:57:32 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Confirmed! I reproduced the problem on a test machine. I am able to send email to a room that has no spaces in its name ("room1") but not to a room with spaces ("Citadel Development"). <br /><br />Does that sound like the problem you have been having? I'm going to fix that next. Thanks for the bug report. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099278077</link><pubDate>Tue, 21 Sep 2021 16:57:32 +0500</pubDate><title>Message #2099278077</title><guid isPermaLink="false">2099278077@Uncensored</guid><description><![CDATA[Confirmed!  I reproduced the problem on a test machine.  I am able to send
email to a room that has no spaces in its name ("room1") but not to a room
with spaces ("Citadel Development"). 
  
 Does that sound like the problem you have been having?  I'm going to fix
that next.  Thanks for the bug report. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099278065</link><pubDate>Tue, 21 Sep 2021 15:36:04 +0500</pubDate><title>Message #2099278065</title><guid isPermaLink="false">2099278065@Uncensored</guid><description><![CDATA[<html><body>

<p>Good hunting.</p>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAABpCAIAAAA4OtMRAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO19aZRcR5XmdyPey5dLZWXtKqlKW0mWbO0S8gLyGC+AjS2wDTYeG0zTPUyzdUM32zBDN9PTG3SD2WkGMANtm8UDbRsbvHUbYxvZlmxZKu3WrlpUS1ZWVu5vi7jz42VmZZVKllRV8pkffKeOTma8iHjxvrxx740bN57orh+8TERCCCEEEYGF1loIAYCZpZRE5DmegOm5qlSyi8VCNjN8oufgbx59QPl2Q2OiPlZPTOlUKpsZAueFKGl2iAVAAGMiuFyiMRmnlrw2DAAgAgAQACICwLrcTzgSsUtOTefq7G9hULlfMDMzE6j8gSggi5l9rTzbGxgYDoesfD7HWu3bs1flxxCSYwN9aG6rr2+IRUzPDpecIjMTSfBkOqaJkEXt7dCaB05CqUqpQGXQQJkaZgYgpDRNUylll0ogCoVCYKG0p3w1ReenI4WJAChm1gAghGYwg1lrgLRSvu/nioXsaN60zGwu+5tfP1zMjRTyw1ZdxCmNQahs+mQ+M2IYhoBvSva0BqspxQTAOUmEWLXauPIaSAGAS0X/8ce450TNdZqKGu3YpaDYsizHtgGqVjxbUirdMjMCAQGgtWZmrVkpZdt2LpfrG+zt7e1NDiZz+dFCLuU7Oe2OAJ4h2Vee1gZUiKT2VQnwIAm+Hv89pwVj8zvFkqWRhqa56zZq3+vdtgXvuNH7yT0YG5tclcYf2jRNZvY8D8yu6wpJgDAM4Tre2d9aaLAGaRATmKDBGgwSDGJAM3u+b7t2Nj926Mj+w3t3pEf63ULKsjgcFVIUlcqYsEPSl7KkVIG5BNKgKWVVnyImuuZvAuRlbxJLlrYsX7Huzj8Jtbc5YbNpw0ZIabz12ikZISIiEMF1HKWUlARi1r40CNCuWzp7RgAYzFyVcyKqCktZ71Y+
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Sep 21 2021 03:20:09 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I think this is the problem: <br /><br />Sep 21 15:18:18 prod citserver[515]: msgbase: no such room &lt;citadel_development&gt; <br /><br />It looks like the underscore is not being stripped from the room name before it goes to look for the room to post in. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099278060</link><pubDate>Tue, 21 Sep 2021 15:20:09 +0500</pubDate><title>Message #2099278060</title><guid isPermaLink="false">2099278060@Uncensored</guid><description><![CDATA[  
 I think this is the problem: 
  
 Sep 21 15:18:18 prod citserver[515]: msgbase: no such room <citadel_development>

  
 It looks like the underscore is not being stripped from the room name before
it goes to look for the room to post in. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099278045</link><pubDate>Tue, 21 Sep 2021 14:37:20 +0500</pubDate><title>Message #2099278045</title><guid isPermaLink="false">2099278045@Uncensored</guid><description><![CDATA[  
 I think I was finally able to reproduce your problem: 
  
 1. Start up Thunderbird, connected using SMTP/IMAP to Uncensored 
 2. Write a message, with the following recipients: 
    noreply@citadel.org, room_citadel_development@uncensored.citadel.org 
 3. The message is accepted but is NOT posted to Citadel Development. 
  
 Can you reproduce? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099277811</link><pubDate>Sun, 19 Sep 2021 16:08:10 +0500</pubDate><title>Re: Citadel 938</title><guid isPermaLink="false">2099277811@Uncensored</guid><description><![CDATA[<html><body>

<p>Test sept-19, 2:07PM... using Firefox.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Fri Sep 17 2021 08:46:41 PM EDT</span> <span>from <a href="do_template?template=user_show?who=s3cr3to">s3cr3to</a> </span> <span class="message_subject">Subject: Re: Citadel 938</span></div>
<div class="message_content">
<p>(I don't see the Test #1 arrive yet)</p>
<p>Test #2, But now I see the message below displayed correctly; I wonder why was the cause (I delete firefox Cache way before my test #1 today)</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Sep 11 2021 04:34:10 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Citadel 938</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />All righty then! Uncensored is now running Citadel 938, and we're now coming up on 48 hours without a crash. We had been getting server crashes almost daily because some random idiot would scan our ports for vulnerabilities, and attempting to start TLS on an already-encrypted port would crash the server. <br />With that bug fixed, I'm looking for some long uptimes now. <br /><br />(Anyone on WebCit wouldn't have noticed this, because WebCit just re-establishes broken server connections, unlike the text client which will end the session.) <br /><br />Citadel 938 also includes the new Global Alias Table, which currently can be modified only from WebCit. <br /><br />This version is now available via source tarballs, through Easy Install, and in the Docker container. I personally recommend the Docker container as it is our easiest install ever.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099277672</link><pubDate>Fri, 17 Sep 2021 20:46:41 +0500</pubDate><title>Re: Citadel 938</title><guid isPermaLink="false">2099277672@Uncensored</guid><description><![CDATA[<html><body>

<p>(I don't see the Test #1 arrive yet)</p>
<p>Test #2, But now I see the message below displayed correctly; I wonder why was the cause (I delete firefox Cache way before my test #1 today)</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Sep 11 2021 04:34:10 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Citadel 938</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />All righty then! Uncensored is now running Citadel 938, and we're now coming up on 48 hours without a crash. We had been getting server crashes almost daily because some random idiot would scan our ports for vulnerabilities, and attempting to start TLS on an already-encrypted port would crash the server. <br />With that bug fixed, I'm looking for some long uptimes now. <br /><br />(Anyone on WebCit wouldn't have noticed this, because WebCit just re-establishes broken server connections, unlike the text client which will end the session.) <br /><br />Citadel 938 also includes the new Global Alias Table, which currently can be modified only from WebCit. <br /><br />This version is now available via source tarballs, through Easy Install, and in the Docker container. I personally recommend the Docker container as it is our easiest install ever. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099277185</link><pubDate>Sat, 11 Sep 2021 16:34:10 +0500</pubDate><title>Citadel 938</title><guid isPermaLink="false">2099277185@Uncensored</guid><description><![CDATA[  
 All righty then!  Uncensored is now running Citadel 938, and we're now coming
up on 48 hours without a crash.  We had been getting server crashes almost
daily because some random idiot would scan our ports for vulnerabilities,
and attempting to start TLS on an already-encrypted port would crash the server.
 With that bug fixed, I'm looking for some long uptimes now. 
  
 (Anyone on WebCit wouldn't have noticed this, because WebCit just re-establishes
broken server connections, unlike the text client which will end the session.)

  
 Citadel 938 also includes the new Global Alias Table, which currently can
be modified only from WebCit. 
  
 This version is now available via source tarballs, through Easy Install,
and in the Docker container.  I personally recommend the Docker container
as it is our easiest install ever. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099277050</link><pubDate>Thu, 09 Sep 2021 17:22:41 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-703-ge18f917e9</title><guid isPermaLink="false">2099277050@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e18f917e9db1b3ed555c0ec91bb3939589aaff2c (commit)
       via  f96531920cc5f52c9dbeecfd39bd67365f1cc1bc (commit)
      from  f57b9b592d2fa60092078c387fd1675360f8098d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e18f917e9db1b3ed555c0ec91bb3939589aaff2c
commit e18f917e9db1b3ed555c0ec91bb3939589aaff2c
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 9 21:22:36 2021 +0000

    Release version 938 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=f96531920cc5f52c9dbeecfd39bd67365f1cc1bc
commit f96531920cc5f52c9dbeecfd39bd67365f1cc1bc
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 9 21:22:33 2021 +0000

    Fixed some rendering problems in webcit that resulted from the removal of VIEW_WIKIMD from the header file

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                     |  2 +-
 libcitadel/lib/libcitadel.h           |  2 +-
 release_version.txt                   |  2 +-
 webcit/static/t/navbar.html           | 31 -------------------------------
 webcit/static/t/room/create.html      |  4 ----
 webcit/static/t/room/create_blog.html |  1 -
 webcit/static/t/view_message.html     |  2 +-
 webcit/static/t/viewomatic.html       |  4 ----
 webcit/webcit.h                       |  2 +-
 9 files changed, 5 insertions(+), 45 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099277046</link><pubDate>Thu, 09 Sep 2021 17:04:18 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-701-gf57b9b592</title><guid isPermaLink="false">2099277046@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f57b9b592d2fa60092078c387fd1675360f8098d (commit)
       via  6a6e51e64721f9f8ea88272d75a6a25ea6223543 (commit)
      from  0ecb8d74fc3ec33eb5277a7c26949bb7ee9256aa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f57b9b592d2fa60092078c387fd1675360f8098d
commit f57b9b592d2fa60092078c387fd1675360f8098d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 9 21:04:10 2021 +0000

    Release version 937 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=6a6e51e64721f9f8ea88272d75a6a25ea6223543
commit 6a6e51e64721f9f8ea88272d75a6a25ea6223543
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 9 21:03:47 2021 +0000

    Release version 936 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h             |  2 +-
 citadel/internet_addressing.c | 15 ++++++++++-----
 do-release.sh                 |  1 +
 libcitadel/lib/libcitadel.h   |  2 +-
 release_version.txt           |  2 +-
 webcit/webcit.h               |  2 +-
 6 files changed, 15 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099277020</link><pubDate>Thu, 09 Sep 2021 13:26:56 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-699-g0ecb8d74f</title><guid isPermaLink="false">2099277020@Uncensored</guid><description><![CDATA[  
 Citadel 935 is now available via Easy Install, and by tomorrow it will be
available on Docker Hub. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099277004</link><pubDate>Thu, 09 Sep 2021 10:18:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-699-g0ecb8d74f</title><guid isPermaLink="false">2099277004@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0ecb8d74fc3ec33eb5277a7c26949bb7ee9256aa (commit)
       via  befba57aa1f3b428ec308342ceed5cbac0a99d78 (commit)
       via  b3c22961614d5c2fafdfb00d6134b7163dedff40 (commit)
      from  5898ecd49119b05941abf09419d88c82df66c087 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0ecb8d74fc3ec33eb5277a7c26949bb7ee9256aa
commit 0ecb8d74fc3ec33eb5277a7c26949bb7ee9256aa
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 9 14:17:46 2021 +0000

    Release version 935 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=befba57aa1f3b428ec308342ceed5cbac0a99d78
commit befba57aa1f3b428ec308342ceed5cbac0a99d78
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 9 14:16:33 2021 +0000

    Release version 934 generated by do-release.sh

http://code.citadel.org/?p=citadel.git&a=commit&h=b3c22961614d5c2fafdfb00d6134b7163dedff40
commit b3c22961614d5c2fafdfb00d6134b7163dedff40
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 9 14:16:19 2021 +0000

    Release version 933 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h             | 2 +-
 citadel/internet_addressing.c | 5 +++--
 libcitadel/lib/libcitadel.h   | 2 +-
 release_version.txt           | 2 +-
 webcit/webcit.h               | 2 +-
 5 files changed, 7 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276966</link><pubDate>Wed, 08 Sep 2021 23:23:09 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-696-g5898ecd49</title><guid isPermaLink="false">2099276966@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5898ecd49119b05941abf09419d88c82df66c087 (commit)
      from  0f6f679972be3ad0f71f4d0f2d9439a670fb2c72 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5898ecd49119b05941abf09419d88c82df66c087
commit 5898ecd49119b05941abf09419d88c82df66c087
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 9 03:23:05 2021 +0000

    validate_recipients() now strips out duplicate recipients ... probably some 15 years after I wrote the FIXME comment saying to do that.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 255 +++++++++++++++++++-----------------------
 1 file changed, 115 insertions(+), 140 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276961</link><pubDate>Wed, 08 Sep 2021 22:48:53 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-694-ge8de1b7b5</title><guid isPermaLink="false">2099276961@Uncensored</guid><description><![CDATA[  
 Ok, it's working well now, just needs a few cosmetic cleanups and we'll be
ready to roll. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276960</link><pubDate>Wed, 08 Sep 2021 22:47:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-695-g0f6f67997</title><guid isPermaLink="false">2099276960@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0f6f679972be3ad0f71f4d0f2d9439a670fb2c72 (commit)
      from  e8de1b7b553cc11ae7f0a84dd02f3abc85bea761 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0f6f679972be3ad0f71f4d0f2d9439a670fb2c72
commit 0f6f679972be3ad0f71f4d0f2d9439a670fb2c72
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 9 02:47:12 2021 +0000

    Now it also works when receiving messages over SMTP.  Still need to eliminate dupes.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276937</link><pubDate>Wed, 08 Sep 2021 19:50:26 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-694-ge8de1b7b5</title><guid isPermaLink="false">2099276937@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e8de1b7b553cc11ae7f0a84dd02f3abc85bea761 (commit)
      from  24f7a7da2a52df3e90dbdfd310fc1f2780cd3caf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e8de1b7b553cc11ae7f0a84dd02f3abc85bea761
commit e8de1b7b553cc11ae7f0a84dd02f3abc85bea761
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 8 23:50:23 2021 +0000

    I got the bug to stop biting me, and even made the code more beautiful in the process.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 87 +++++++++++++++++++------------------------
 libcitadel/lib/tools.c        |  2 -
 2 files changed, 38 insertions(+), 51 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276867</link><pubDate>Wed, 08 Sep 2021 19:02:33 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-692-g1144dcb5c</title><guid isPermaLink="false">2099276867@Uncensored</guid><description><![CDATA[ >Or a new feature? (let's hope not)  
  
 I certainly hope not!  :) 
  
 It's the code in the server that implements expansion of addresses in the
global alias list.  When an address in the alias expansion is larger than
a certain number of characters (feels like around 30 or so) it clobbers *something*
in memory and then crashes on the *next* run. 
  
 I'm trying to get Valgrind to tell me what's wrong, but it doesn't crash
when running under Valgrind.  We've got ourselves a Heisenbug. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276853</link><pubDate>Wed, 08 Sep 2021 17:07:16 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-693-g24f7a7da2</title><guid isPermaLink="false">2099276853@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  24f7a7da2a52df3e90dbdfd310fc1f2780cd3caf (commit)
      from  1144dcb5c82e4360bc9dfd59d3125914ef5a4b6e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=24f7a7da2a52df3e90dbdfd310fc1f2780cd3caf
commit 24f7a7da2a52df3e90dbdfd310fc1f2780cd3caf
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 8 21:07:12 2021 +0000

    Saving my place while we try something...

-----------------------------------------------------------------------

Summary of changes:
 citadel/database_cleanup.sh               |  7 ++++
 citadel/internet_addressing.c             | 54 +++++++++++++------------------
 citadel/modules/ctdlproto/serv_messages.c |  8 -----
 citadel/modules/vcard/serv_vcard.c        |  2 +-
 libcitadel/lib/array.c                    | 10 ++++++
 5 files changed, 41 insertions(+), 40 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276846</link><pubDate>Wed, 08 Sep 2021 16:32:51 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-692-g1144dcb5c</title><guid isPermaLink="false">2099276846@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Or a new feature? (let's hope not)<br>
    <br>
    <div class="moz-cite-prefix">On 9/8/21 9:21 AM, noreply wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1631114500.876701.30492.nullmailer@buildbox.citadel.org">
      <pre class="moz-quote-pre" wrap="">
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1144dcb5c82e4360bc9dfd59d3125914ef5a4b6e (commit)
      from  2b5449a35c6ae9b76bee5bb1b2fe0f5e17393c38 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
<a class="moz-txt-link-freetext" href="http://code.citadel.org/?p=citadel.git&amp;a=commit&amp;h=1144dcb5c82e4360bc9dfd59d3125914ef5a4b6e">http://code.citadel.org/?p=citadel.git&amp;a=commit&amp;h=1144dcb5c82e4360bc9dfd59d3125914ef5a4b6e</a>
commit 1144dcb5c82e4360bc9dfd59d3125914ef5a4b6e
Author: Art Cancro <a class="moz-txt-link-rfc2396E" href="mailto:ajc@citadel.org">&lt;ajc@citadel.org&gt;</a>
Date:   Wed Sep 8 15:21:36 2021 +0000

    Well, it doesn't crash anymore, but it also doesn't work at all. Is that an improvement?

-----------------------------------------------------------------------

Summary of changes:
 citadel/database.c                 | 50 ++++++++++++++------------------
 citadel/internet_addressing.c      | 59 ++++++++++++++++++++++++--------------
 citadel/ipcdef.h                   |  1 -
 citadel/modules/vcard/serv_vcard.c |  2 +-
 citadel/room_ops.c                 | 10 +------
 citadel/room_ops.h                 |  2 +-
 6 files changed, 63 insertions(+), 61 deletions(-)


hooks/post-receive
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276767</link><pubDate>Wed, 08 Sep 2021 11:21:40 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-692-g1144dcb5c</title><guid isPermaLink="false">2099276767@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1144dcb5c82e4360bc9dfd59d3125914ef5a4b6e (commit)
      from  2b5449a35c6ae9b76bee5bb1b2fe0f5e17393c38 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1144dcb5c82e4360bc9dfd59d3125914ef5a4b6e
commit 1144dcb5c82e4360bc9dfd59d3125914ef5a4b6e
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 8 15:21:36 2021 +0000

    Well, it doesn't crash anymore, but it also doesn't work at all. Is that an improvement?

-----------------------------------------------------------------------

Summary of changes:
 citadel/database.c                 | 50 ++++++++++++++------------------
 citadel/internet_addressing.c      | 59 ++++++++++++++++++++++++--------------
 citadel/ipcdef.h                   |  1 -
 citadel/modules/vcard/serv_vcard.c |  2 +-
 citadel/room_ops.c                 | 10 +------
 citadel/room_ops.h                 |  2 +-
 6 files changed, 63 insertions(+), 61 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276693</link><pubDate>Tue, 07 Sep 2021 16:41:26 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-690-gd68abff5f</title><guid isPermaLink="false">2099276693@Uncensored</guid><description><![CDATA[ >Yippee-Ki-Yay My Friend!  
  
 There's one more bug to squash, a segfault that appears on certain address
combinations.  After that's fixed we will go straight to release. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276682</link><pubDate>Tue, 07 Sep 2021 14:42:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-691-g2b5449a35</title><guid isPermaLink="false">2099276682@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2b5449a35c6ae9b76bee5bb1b2fe0f5e17393c38 (commit)
      from  d68abff5fe1d3d42d1d3ac6ad612ecb68429b3db (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2b5449a35c6ae9b76bee5bb1b2fe0f5e17393c38
commit 2b5449a35c6ae9b76bee5bb1b2fe0f5e17393c38
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Sep 7 18:41:56 2021 +0000

    Do not attempt to search for database records of length 0.

-----------------------------------------------------------------------

Summary of changes:
 citadel/database.c                        |  16 ++-
 citadel/euidindex.c                       |   1 -
 citadel/internet_addressing.c             |   7 +-
 citadel/modules/ctdlproto/serv_messages.c | 205 +++++++++++++-----------------
 citadel/modules/wiki/serv_wiki.c          |  51 ++++----
 citadel/msgbase.c                         |   1 -
 citadel/room_ops.c                        |   4 +
 citadel/user_ops.c                        |   5 +-
 libcitadel/lib/libcitadel.h               |   1 -
 webcit/dav_propfind.c                     |   4 +-
 webcit/roomops.c                          |   1 -
 webcit/sitemap.c                          |   1 -
 webcit/wiki.c                             |  15 +--
 13 files changed, 136 insertions(+), 176 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276670</link><pubDate>Tue, 07 Sep 2021 12:26:44 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-690-gd68abff5f</title><guid isPermaLink="false">2099276670@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Yippee-Ki-Yay My Friend!<br>
      <a class="moz-txt-link-freetext" href="https://www.youtube-nocookie.com/embed/fxBOlLFz6NU">https://www.youtube-nocookie.com/embed/fxBOlLFz6NU</a><br>
    </font><br>
    <div class="moz-cite-prefix">On 9/6/21 4:21 PM, noreply wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1630966894.927975.15766.nullmailer@buildbox.citadel.org">
      <pre class="moz-quote-pre" wrap="">
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d68abff5fe1d3d42d1d3ac6ad612ecb68429b3db (commit)
      from  dbe7756e018c44096c92648cc382141730564088 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
<a class="moz-txt-link-freetext" href="http://code.citadel.org/?p=citadel.git&amp;a=commit&amp;h=d68abff5fe1d3d42d1d3ac6ad612ecb68429b3db">http://code.citadel.org/?p=citadel.git&amp;a=commit&amp;h=d68abff5fe1d3d42d1d3ac6ad612ecb68429b3db</a>
commit d68abff5fe1d3d42d1d3ac6ad612ecb68429b3db
Author: Art Cancro <a class="moz-txt-link-rfc2396E" href="mailto:ajc@citadel.org">&lt;ajc@citadel.org&gt;</a>
Date:   Mon Sep 6 22:21:29 2021 +0000

    Finished the WebCit screen for the Global Alias Table.

-----------------------------------------------------------------------

Summary of changes:
 webcit/mainmenu.c                         | 92 +++++++++++++++--------------
 webcit/serv_func.c                        | 97 ++++++++++++-------------------
 webcit/static/t/aide/display_aliases.html | 57 +++++++++++++-----
 webcit/webcit.c                           |  1 -
 4 files changed, 128 insertions(+), 119 deletions(-)


hooks/post-receive
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276620</link><pubDate>Mon, 06 Sep 2021 18:21:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-690-gd68abff5f</title><guid isPermaLink="false">2099276620@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d68abff5fe1d3d42d1d3ac6ad612ecb68429b3db (commit)
      from  dbe7756e018c44096c92648cc382141730564088 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d68abff5fe1d3d42d1d3ac6ad612ecb68429b3db
commit d68abff5fe1d3d42d1d3ac6ad612ecb68429b3db
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 6 22:21:29 2021 +0000

    Finished the WebCit screen for the Global Alias Table.

-----------------------------------------------------------------------

Summary of changes:
 webcit/mainmenu.c                         | 92 +++++++++++++++--------------
 webcit/serv_func.c                        | 97 ++++++++++++-------------------
 webcit/static/t/aide/display_aliases.html | 57 +++++++++++++-----
 webcit/webcit.c                           |  1 -
 4 files changed, 128 insertions(+), 119 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276572</link><pubDate>Mon, 06 Sep 2021 10:15:41 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-689-gdbe7756e0</title><guid isPermaLink="false">2099276572@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  dbe7756e018c44096c92648cc382141730564088 (commit)
      from  5b4b70e8e3298f102239217d49c1aff65cdd6fd3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=dbe7756e018c44096c92648cc382141730564088
commit dbe7756e018c44096c92648cc382141730564088
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Sep 6 14:15:38 2021 +0000

    When a client of any protocol handler sends a command to initiate SSL/TLS on a connection that is already using encryption, throw a clean error instead of crashing.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/crypto/serv_crypto.c      | 165 +++++++++++++-----------------
 webcit/mainmenu.c                         |   1 +
 webcit/static/t/aide/display_aliases.html |  11 +-
 3 files changed, 81 insertions(+), 96 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276468</link><pubDate>Sat, 04 Sep 2021 18:28:42 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-688-g5b4b70e8e</title><guid isPermaLink="false">2099276468@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5b4b70e8e3298f102239217d49c1aff65cdd6fd3 (commit)
      from  d5cf6384f56c834fba45703e84381b0d7fcfb303 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5b4b70e8e3298f102239217d49c1aff65cdd6fd3
commit 5b4b70e8e3298f102239217d49c1aff65cdd6fd3
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 4 22:28:39 2021 +0000

    do_generic now supports a return_to variable, so it can be used by commands which just want to do generic citadel server stuff.

-----------------------------------------------------------------------

Summary of changes:
 webcit/mainmenu.c | 71 +++++++++++++++++++++++++++++++++----------------------
 1 file changed, 43 insertions(+), 28 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276300</link><pubDate>Thu, 02 Sep 2021 23:55:42 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-687-gd5cf6384f</title><guid isPermaLink="false">2099276300@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d5cf6384f56c834fba45703e84381b0d7fcfb303 (commit)
      from  827024a4c5c69c847c55111c718e1c90c7a2a24c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d5cf6384f56c834fba45703e84381b0d7fcfb303
commit d5cf6384f56c834fba45703e84381b0d7fcfb303
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 3 03:55:37 2021 +0000

    CtdlPutSysConfig() don't delete the old copy of the config until after the new one has been written.  This eliminates data loss if the server is stopped in between.

-----------------------------------------------------------------------

Summary of changes:
 citadel/config.c | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276297</link><pubDate>Thu, 02 Sep 2021 23:45:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-686-g827024a4c</title><guid isPermaLink="false">2099276297@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  827024a4c5c69c847c55111c718e1c90c7a2a24c (commit)
      from  f89a4676e61d2af3c2bf2c203866227b3ef6df29 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=827024a4c5c69c847c55111c718e1c90c7a2a24c
commit 827024a4c5c69c847c55111c718e1c90c7a2a24c
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Sep 3 03:45:00 2021 +0000

    Moved the global email aliases editing screen to its own page to avoid having to mess with the multi tab form.

-----------------------------------------------------------------------

Summary of changes:
 webcit/siteconfig.c                                | 55 ++++++----------------
 .../tab_aliases.html => display_aliases.html}      | 24 +++++++---
 webcit/static/t/aide/display_sitewide_config.html  |  1 -
 webcit/static/t/aide/global_config.html            |  1 +
 4 files changed, 33 insertions(+), 48 deletions(-)
 rename webcit/static/t/aide/{siteconfig/tab_aliases.html => display_aliases.html} (71%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276091</link><pubDate>Tue, 31 Aug 2021 17:29:33 +0500</pubDate><title>Message #2099276091</title><guid isPermaLink="false">2099276091@Uncensored</guid><description><![CDATA[<html><body>

<p>I did not try any migration, but running the container seemed to work out well, with my incomplete testing.</p>
<blockquote>
<div class="message_header"><span>Mon Aug 30 2021 11:27:09 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Well this is interesting. I made a copy of the database for my production system (Uncensored) and am currently running it as a 32-bit container on a 64-bit system. Now I don't have to convert my database, and thanks to the magic of automatic cross-platform builds, I don't even have to work hard at it. <br /><br />Yum! <br /><br />This means that I can be in production on the new Docker-powered version that much sooner. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099276032</link><pubDate>Mon, 30 Aug 2021 23:27:09 +0500</pubDate><title>Message #2099276032</title><guid isPermaLink="false">2099276032@Uncensored</guid><description><![CDATA[  
 Well this is interesting.  I made a copy of the database for my production
system (Uncensored) and am currently running it as a 32-bit container on a
64-bit system.  Now I don't have to convert my database, and thanks to the
magic of automatic cross-platform builds, I don't even have to work hard at
it. 
  
 Yum! 
  
 This means that I can be in production on the new Docker-powered version
that much sooner. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275786</link><pubDate>Fri, 27 Aug 2021 14:13:47 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 171db44cf0f9ad686c2e0a77c30caadc181ee239</title><guid isPermaLink="false">2099275786@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  171db44cf0f9ad686c2e0a77c30caadc181ee239 (commit)
      from  f8944e3483bb27625c55ac6909b008e842d4675a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 171db44cf0f9ad686c2e0a77c30caadc181ee239
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 27 14:13:44 2021 -0400

    Added [-x log_level] to ctdlvisor, this gets passed to citserver and webcit

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile  |  6 +++---
 ctdlvisor.c | 23 +++++++++++++++--------
 2 files changed, 18 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275564</link><pubDate>Wed, 25 Aug 2021 15:57:50 +0500</pubDate><title>Re: [SCM] Configuration for building a Citadel container in Docker branch master updated. f8944e3483bb27625c55ac6909b008e842d4675a</title><guid isPermaLink="false">2099275564@Uncensored</guid><description><![CDATA[<html><body>

<p>For me, you just saying that plans had not changed was assurance enough :) </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275554</link><pubDate>Wed, 25 Aug 2021 14:11:31 +0500</pubDate><title>Re: [SCM] Configuration for building a Citadel container in Docker branch master updated. f8944e3483bb27625c55ac6909b008e842d4675a</title><guid isPermaLink="false">2099275554@Uncensored</guid><description><![CDATA[  
 The above is kind of a big deal  :) 
  
 This means that the code available in the Docker container is going to be
exactly the same as the code available through Easy Install.  You wanted assurance
that Easy Install isn't going away -- here it is.  It's all part of the same
build chain now: 
  
 1. I have a script called "push-easyinstall" that I use to tell the download
site to grab the latest git master (or some other tag if needed) and make
tarballs.  It also publishes MD5 summaries, which the Easy Install client
uses to detect whether it needs to do anything if someone is attempting an
upgrade. 
  
    (The above has been in place for many years now.) 
  
 2. A newly installed build host runs a nightly job which builds the container
and pushes it to Docker Hub.  Thanks to the magic of the Dockerfile ADD command,
there is a step which downloads the tarballs, but if they are the same
as they were yesterday, the container hash doesn't change from what was in
the cache, and the remaining build steps also use the cache.  Likewise for
pushing the image to Docker Hub: the client and server see the same image
with the same tag and the same hash, so it doesn't bother uploading anything
new. 
  
  
 I think the trendy kids refer to this as a CI/CD Pipeline. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275550</link><pubDate>Wed, 25 Aug 2021 14:02:41 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. f8944e3483bb27625c55ac6909b008e842d4675a</title><guid isPermaLink="false">2099275550@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  f8944e3483bb27625c55ac6909b008e842d4675a (commit)
      from  3373d614d6043c109d3372e8a4c080c03e7d25d7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f8944e3483bb27625c55ac6909b008e842d4675a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 25 14:02:37 2021 -0400

    Dockerfile now pulls Citadel code from the Easy Install tarballs instead of git master.

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275486</link><pubDate>Wed, 25 Aug 2021 00:19:22 +0500</pubDate><title>Re: New Docker Images</title><guid isPermaLink="false">2099275486@Uncensored</guid><description><![CDATA[The latest build has AMD64/i386/ARMv7 thanks to "buildx" which does all of
the cross-compiling for you.  This is very cool, and now I can use my Pi for
testing instead of keeping it tied up in the build pipeline.  buildx *does*
support 64-bit ARM, and originally I included it in the build.  Unfortunately
it is buggy and crashes the build, so I had to remove it. 
  
 I expect that in the future we will be able to add 64-bit ARM and even RISC-V
to the manifest. 
  
 The fact that it effortlessly builds 32-bit i386 binaries means that I might
be able to move Uncensored to the Docker image pretty soon, without having
to take many hours of downtime converting the database. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275462</link><pubDate>Tue, 24 Aug 2021 18:55:55 +0500</pubDate><title>Re: New Docker Images</title><guid isPermaLink="false">2099275462@Uncensored</guid><description><![CDATA[<html><body>

<p>Well the multi arch pull fails for 64bit as it cant find it in the manifest.  Sort of what i expected to be honest.  Unlike forcing a specific architecture during the pull where it just complains ( but runs ) here it says "screw you its not there" and hard stop.  ( in my case its "linux/arm64/v8" but would be different for other 64bit boards depending on the CPU revision. )</p>
<p>I realize you are not officially supporting us 64 bit ARM guys yet, but at least forcing the 32bit pull works, so unless you switch it over to only multi, might be worth adding it to the documentation. </p>
<blockquote>
<div class="message_header"><span>Mon Aug 23 2021 01:27:06 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: New Docker Images</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Might as well have this conversation here. <br /><br />First things first: I figured out how to do a "multiarch" build, so there will no longer be different tags for different architectures. "latest" now supports AMD64, i386, and ARMv7. I built a script to push nightly builds, so hopefully we've got a bit of a CI/CD pipeline started. <br /><br />So anyway, this means you can now test on any host by doing this: <br /><br />docker run -it --rm --network=host citadeldotorg/citadel <br /><br />The above command will run an instance of Citadel that is completely ephemeral; this means your database will cease to exist when it exits. Perfect for testing. <br />To run it persistently you have to mount a persistent volume as indicated on the web site. <br /><br />To check for a new version, just do: <br /><br />docker pull citadeldotorg/citadel <br /><br /><br />And there are no plans to discontinue Easy Install. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275456</link><pubDate>Tue, 24 Aug 2021 18:05:02 +0500</pubDate><title>Re: (running-docker-on-proxmox)</title><guid isPermaLink="false">2099275456@Uncensored</guid><description><![CDATA[<html><body>

<p>I heard of people trying to run docker on lxc.    Didn't work out too well for them. :) </p>
<blockquote>
<div class="message_header"><span>Tue Aug 24 2021 05:50:31 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: (running-docker-on-proxmox)</span></div>
<div class="message_content">
<blockquote cite="mid:61249815-7D206646@uncensored.citadel.org">
<p><span style="background-color: transparent; color: navy;">Yes, and it appears that the easiest way to do that is just to run an ordinary Ubuntu VM on your ProxMox cluster and then run Docker Engine on that.  Basically just bring up a clean OS build and then follow the instructions at </span><a style="background-color: transparent;" href="https://www.citadel.org/docker.html" target="webcit01">https://www.citadel.org/docker.html</a><span style="background-color: transparent; color: navy;"> to deploy Citadel.  It ought to be </span><em style="background-color: transparent; color: navy;">ridiculously</em><span style="background-color: transparent; color: navy;"> easy.</span></p>
</blockquote>
<p> </p>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275452</link><pubDate>Tue, 24 Aug 2021 17:50:31 +0500</pubDate><title>Re: (running-docker-on-proxmox)</title><guid isPermaLink="false">2099275452@Uncensored</guid><description><![CDATA[<html><body>

<blockquote cite="mid:61249815-7D206646@uncensored.citadel.org">
<p>I didn't pay a lot of attention, but doesn't Proxmox support Docker containers? Or is it just Kurbernettes - or whatever... </p>
</blockquote>
<p>Proxmox supports containers using LXC, not Docker.  It's still containers, but LXC containers are really more intended to be lightweight virtual machines that share a kernel.  Although that's technically the same thing, LXC tends to be used for permanently installed, long running virtual machine equivalents, where Docker is used for individual workloads that are sandboxed and often ephemeral in nature.</p>
<p>Kubernetes is a container orchestration engine.  It normally uses Docker as its container layer.</p>
<blockquote>
<p><br /> I understand the basic concept of these ideas, but it wasn't something on my radar. Is it something that I can easily test under Proxmox? That is supposed to be the advantage of containers, right? They're very simple to throw up? </p>
</blockquote>
<p>Yes, and it appears that the easiest way to do that is just to run an ordinary Ubuntu VM on your ProxMox cluster and then run Docker Engine on that.  Basically just bring up a clean OS build and then follow the instructions at <a href="https://www.citadel.org/docker.html">https://www.citadel.org/docker.html</a> to deploy Citadel.  It ought to be <em>ridiculously</em> easy.</p>
<p>Kubernetes (aka K8S) on the other hand, is <strong>not</strong> easy to install.  But unless you're building a cluster there is no need to go that route.  I'm trying to wrap my head around K8S because I need it for work.  And then you have to figure out your clustering strategy, your storage layer, your network layer, all of which are pluggable... oy.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275448</link><pubDate>Tue, 24 Aug 2021 17:44:35 +0500</pubDate><title>Message #2099275448</title><guid isPermaLink="false">2099275448@Uncensored</guid><description><![CDATA[<html><body>

<p>you can always run docker on the host, or in VMs ( a better idea I think ) , but last i looked, it could not manage them from their interface. I know people have asked for that..</p>
<p>Its all lxc ( which was being discussed elsewhere too..  lots of overlap )</p>
<blockquote>
<div class="message_header"><span>Tue Aug 24 2021 02:56:21 AM EDT</span> <span>from <a href="do_template?template=user_show?who=ParanoidDelusions">ParanoidDelusions</a> </span></div>
<div class="message_content">
<p>I didn't pay a lot of attention, but doesn't Proxmox support Docker containers? Or is it just Kurbernettes - or whatever... <br /><br />I understand the basic concept of these ideas, but it wasn't something on my radar. Is it something that I can easily test under Proxmox? That is supposed to be the advantage of containers, right? They're very simple to throw up? </p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275383</link><pubDate>Tue, 24 Aug 2021 11:16:13 +0500</pubDate><title>Re: New design pattern in WebCit</title><guid isPermaLink="false">2099275383@Uncensored</guid><description><![CDATA[
Glad to read the blog and be able to learn a lot.


On 8/12/21 8:06 PM, IGnatius T Foobar wrote:
>    
>   Do you guys find it helpful and/or interesting that I sort of blog the details
> of my development effort here?  I mostly do it to organize my thoughts but
> it would be nice to know that someone is reading it.
>    
>   WebCit Classic has a template engine that makes adding functionality even
> more difficult than the old days when we simply did server-side rendering
> of every page in raw C code.  It seemed like a good idea at the time but it
> made things really difficult to maintain.  That's why I try not to poke around
> in WebCit much ... it's not easy.
>    
>   So tonight I began a new design pattern called "to hell with the template
> engine".  I'm writing a configuration tab to edit the new Global Email Aliases
> list, and I figured out that I can leverage a bit of code I wrote some number
> of years ago to execute Citadel Server commands through an HTTP transaction.
>   So I'm just going to use the design
> pattern from WebCit-NG and do fetch/await right inside the browser.  Who knows
> ... maybe I can port these screens straight into WebCit-NG when the time comes.
>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275381</link><pubDate>Tue, 24 Aug 2021 11:13:56 +0500</pubDate><title>Re: (running-docker-on-proxmox)</title><guid isPermaLink="false">2099275381@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I go for run Docker in a VM, from:<br>
    </p>
    <p><a class="moz-txt-link-freetext" href="https://danthesalmon.com/running-docker-on-proxmox/">https://danthesalmon.com/running-docker-on-proxmox/</a></p>
    <blockquote>
      <p>"<i><b>Run Docker in an LXC container</b></i><i><br>
        </i><i>Security warning: This configuration offers very little,
          if any security to segment the contents of the container from
          the Proxmox host. This method should not be used in
          production.</i></p>
      <p><b><i>Run Docker in Proxmox</i></b><br>
        <i>Note: This method should not be used in a production
          environment. Like the LXC method, there is very little
          segmentation between the containers and the Proxmox host.
          Additionally, the docker daemon runs as the Proxmox root user
          which is a universally bad idea."</i></p>
    </blockquote>
    <p>One tutorial:
<a class="moz-txt-link-freetext" href="https://forum.proxmox.com/threads/tutorial-proxmox-with-docker-and-portainer.77275/">https://forum.proxmox.com/threads/tutorial-proxmox-with-docker-and-portainer.77275/</a><br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 8/24/21 12:56 AM, ParanoidDelusions
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:61249815-7D206646@uncensored.citadel.org">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>I didn't pay a lot of attention, but doesn't Proxmox support
        Docker containers? Or is it just Kurbernettes - or whatever... <br>
        <br>
        I understand the basic concept of these ideas, but it wasn't
        something on my radar. Is it something that I can easily test
        under Proxmox? That is supposed to be the advantage of
        containers, right? They're very simple to throw up? </p>
      <p> </p>
    </blockquote>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275334</link><pubDate>Tue, 24 Aug 2021 02:56:21 +0500</pubDate><title>Message #2099275334</title><guid isPermaLink="false">2099275334@Uncensored</guid><description><![CDATA[<html><body>

<p>I didn't pay a lot of attention, but doesn't Proxmox support Docker containers? Or is it just Kurbernettes - or whatever... <br /><br />I understand the basic concept of these ideas, but it wasn't something on my radar. Is it something that I can easily test under Proxmox? That is supposed to be the advantage of containers, right? They're very simple to throw up? </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275333</link><pubDate>Tue, 24 Aug 2021 02:53:56 +0500</pubDate><title>Re: New design pattern in WebCit</title><guid isPermaLink="false">2099275333@Uncensored</guid><description><![CDATA[<html><body>

<p>I read the posts. So, yes. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Aug 12 2021 22:06:57 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: New design pattern in WebCit</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Do you guys find it helpful and/or interesting that I sort of blog the details of my development effort here?</div>
</div>
</blockquote>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275306</link><pubDate>Mon, 23 Aug 2021 19:41:04 +0500</pubDate><title>Re: New Docker Images</title><guid isPermaLink="false">2099275306@Uncensored</guid><description><![CDATA[It's working exceptionally well, and I am seriously considering switching
from virtual machines to containers for all of my workloads.  They all run
on Linux anyway. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275286</link><pubDate>Mon, 23 Aug 2021 15:00:22 +0500</pubDate><title>Re: New Docker Images</title><guid isPermaLink="false">2099275286@Uncensored</guid><description><![CDATA[<html><body>

<p>Cool.  Makes it easier for our side of the fence. Ill try one of those pulls tomorrow. </p>
<blockquote>
<div class="message_header"><span>Mon Aug 23 2021 01:27:06 PM EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: New Docker Images</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br /><br />First things first: I figured out how to do a "multiarch" build, so there will no longer be different tags for different architectures.</div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275281</link><pubDate>Mon, 23 Aug 2021 13:27:06 +0500</pubDate><title>Re: New Docker Images</title><guid isPermaLink="false">2099275281@Uncensored</guid><description><![CDATA[Might as well have this conversation here.   
  
 First things first: I figured out how to do a "multiarch" build, so there
will no longer be different tags for different architectures.  "latest" now
supports AMD64, i386, and ARMv7.  I built a script to push nightly builds,
so hopefully we've got a bit of a CI/CD pipeline started. 
  
 So anyway, this means you can now test on any host by doing this: 
  
 docker run -it --rm --network=host citadeldotorg/citadel 
  
 The above command will run an instance of Citadel that is completely ephemeral;
this means your database will cease to exist when it exits.  Perfect for testing.
 To run it persistently you have to mount a persistent volume as indicated
on the web site. 
  
 To check for a new version, just do: 
  
 docker pull citadeldotorg/citadel 
  
  
 And there are no plans to discontinue Easy Install. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275259</link><pubDate>Mon, 23 Aug 2021 08:48:50 +0500</pubDate><title>New Docker Images</title><guid isPermaLink="false">2099275259@Uncensored</guid><description><![CDATA[<html><body>

<p>Not real sure where to put this .. its not really support, and i dont want to clutter up the announcement area.</p>
<p> </p>
<p>But early observations is that it works real well.  I setup docker on a 64bit arm just to test this out, and it installed and ran just fine. I did get a complaint about 32/64 bit architecture mismatch but i expected that.  And i expected it to run afterward, it did.   I dont pretend to have tested *everything* but i did do basics. Setup accounts, added removed rooms, sent mails around ( internal.. ) chat.. etc.   Not tried connecting from something like Thunderbird, yet. Will try that tomorrow. </p>
<p>Curious if there is a formal regression testing list that you guys use.  Perhaps if we all used that same ' testing plan' we would have more through testing of releases other than random ' i tested some stuff '? Just a thought. </p>
<p>I know this is the 'preferred route' going forward, but i do hope the plans didnt change about keeping easy install availble. That is still useful for people like on *bsd or new architectures, like RISC-V..  ( or just people who are not fans of docker )</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275198</link><pubDate>Sun, 22 Aug 2021 14:09:12 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 0abae9692fa30071aa4760c9dd905bdc169989fc</title><guid isPermaLink="false">2099275198@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  0abae9692fa30071aa4760c9dd905bdc169989fc (commit)
      from  42304ed7c99440e6329b9d438f796e6d279795aa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0abae9692fa30071aa4760c9dd905bdc169989fc
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 22 14:09:08 2021 -0400

    Changed the container base OS from debian:11-slim to debian:stable-slim

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275121</link><pubDate>Sat, 21 Aug 2021 19:12:30 +0500</pubDate><title>Message #2099275121</title><guid isPermaLink="false">2099275121@Uncensored</guid><description><![CDATA[  
 Citadel running in a container!  It's working pretty well now.  I had to
change the tag names because apparently Docker Hub doesn't differentiate by
architecture; a tag is a tag.  So we're using citadeldotorg/citadel:amd64
for x86, and citadeldotorg/citadel:armhf for ARM. 
  
 Hopefully we'll soon find out whether a 32-bit ARM container can run on a
64-bit ARM host. 
  
 I've got the Pi 3 that PD gave me set up to run nightly builds for ARM, and
another machine doing nightly builds for x86.  This is starting to turn into
a real CI/CD pipeline. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099275113</link><pubDate>Sat, 21 Aug 2021 17:30:07 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 42304ed7c99440e6329b9d438f796e6d279795aa</title><guid isPermaLink="false">2099275113@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  42304ed7c99440e6329b9d438f796e6d279795aa (commit)
      from  2388e3fe2ae9715cb37b9ba2400b63418d87c501 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 42304ed7c99440e6329b9d438f796e6d279795aa
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Aug 21 17:30:04 2021 -0400

    Switched from bitnami minideb to debian-slim, because the former is not available on ARM

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274578</link><pubDate>Sat, 14 Aug 2021 11:50:39 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-683-gad4801a14</title><guid isPermaLink="false">2099274578@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ad4801a14334e5e55f058445d13334c279804e37 (commit)
      from  1cb2a1c6efb4ff083970426b1acde2026f435a90 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ad4801a14334e5e55f058445d13334c279804e37
commit ad4801a14334e5e55f058445d13334c279804e37
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Aug 14 11:50:37 2021 -0400

    Additional work on the alias table.  This is taking longer than it ought to because I am using it to prototype a design pattern for WebCit-NG.  Also began removing some of the cached session stuff.

-----------------------------------------------------------------------

Summary of changes:
 webcit/po/webcit/create-pot.sh                   |   1 +
 webcit/siteconfig.c                              |  53 +++---
 webcit/sitemap.c                                 |   8 +-
 webcit/static.c                                  |  12 +-
 webcit/static/t/aide/siteconfig/tab_aliases.html |  34 +++-
 webcit/static/wclib.js                           |  43 +++--
 webcit/summary.c                                 |  14 +-
 webcit/sysdep.c                                  |   7 +-
 webcit/tasks.c                                   |  15 +-
 webcit/tcp_sockets.c                             | 213 +++++++++++------------
 webcit/useredit.c                                |   7 +-
 webcit/vcard_edit.c                              |  39 ++---
 webcit/who.c                                     |   3 +-
 webcit/wiki.c                                    |  14 +-
 14 files changed, 238 insertions(+), 225 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274577</link><pubDate>Sat, 14 Aug 2021 11:48:31 +0500</pubDate><title>Re: citadel.org git repository moving</title><guid isPermaLink="false">2099274577@Uncensored</guid><description><![CDATA[  
 The new location is:    git://git.citadel.org/citadel 
  
 And of course we still have the gitweb browser at:   https://code.citadel.org

  
 I have emailed the new SSH location to those who have write access. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274497</link><pubDate>Fri, 13 Aug 2021 12:56:19 +0500</pubDate><title>Re: citadel.org git repository moving</title><guid isPermaLink="false">2099274497@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <blockquote>
      <p><img src="cid:part1.E8F810B2.0967A84B@uncensored.citadel.org"
          alt=""></p>
    </blockquote>
    <div class="moz-cite-prefix">On 8/12/21 12:18 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:61156609-7D2062AA@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 In case anyone is tracking the Citadel git repository -- be advised that
I am moving it.  I am tired of maintaining an "/appl" hierarchy on my server;
this was done in the distant past before /opt and /usr/local came into widespread
standard use.  I may also move it to a different server ... haven't quite
decided yet. 
  
 And no, I will not use someone else's git repository.  Not now, not ever.
 It simply isn't needed. 
 
</pre>
    </blockquote>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274456</link><pubDate>Thu, 12 Aug 2021 22:06:57 +0500</pubDate><title>New design pattern in WebCit</title><guid isPermaLink="false">2099274456@Uncensored</guid><description><![CDATA[  
 Do you guys find it helpful and/or interesting that I sort of blog the details
of my development effort here?  I mostly do it to organize my thoughts but
it would be nice to know that someone is reading it. 
  
 WebCit Classic has a template engine that makes adding functionality even
more difficult than the old days when we simply did server-side rendering
of every page in raw C code.  It seemed like a good idea at the time but it
made things really difficult to maintain.  That's why I try not to poke around
in WebCit much ... it's not easy. 
  
 So tonight I began a new design pattern called "to hell with the template
engine".  I'm writing a configuration tab to edit the new Global Email Aliases
list, and I figured out that I can leverage a bit of code I wrote some number
of years ago to execute Citadel Server commands through an HTTP transaction.
 So I'm just going to use the design
pattern from WebCit-NG and do fetch/await right inside the browser.  Who knows
... maybe I can port these screens straight into WebCit-NG when the time comes.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274448</link><pubDate>Thu, 12 Aug 2021 20:46:42 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-682-g1cb2a1c6e</title><guid isPermaLink="false">2099274448@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1cb2a1c6efb4ff083970426b1acde2026f435a90 (commit)
      from  a5111751b970518d899a31a28834d4c4e46410c4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1cb2a1c6efb4ff083970426b1acde2026f435a90
commit 1cb2a1c6efb4ff083970426b1acde2026f435a90
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 12 20:46:38 2021 -0400

    Fine tuning the design pattern

-----------------------------------------------------------------------

Summary of changes:
 webcit/static/t/aide/siteconfig/tab_aliases.html | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274442</link><pubDate>Thu, 12 Aug 2021 20:38:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-681-ga5111751b</title><guid isPermaLink="false">2099274442@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a5111751b970518d899a31a28834d4c4e46410c4 (commit)
      from  31478abbe1742f7015a8a849e3623cafe377eb0c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a5111751b970518d899a31a28834d4c4e46410c4
commit a5111751b970518d899a31a28834d4c4e46410c4
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 12 20:38:21 2021 -0400

    made it async using fetch/await

-----------------------------------------------------------------------

Summary of changes:
 webcit/static/t/aide/siteconfig/tab_aliases.html | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274441</link><pubDate>Thu, 12 Aug 2021 20:26:02 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-680-g31478abbe</title><guid isPermaLink="false">2099274441@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  31478abbe1742f7015a8a849e3623cafe377eb0c (commit)
      from  b9343ff99d0a19d6418bf8ba953bdc4252ca5a07 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=31478abbe1742f7015a8a849e3623cafe377eb0c
commit 31478abbe1742f7015a8a849e3623cafe377eb0c
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 12 20:25:58 2021 -0400

    Skeleton code for the Global Email Aliases tab.  To hell with the existing template engine.  We are switching to the design pattern used in WebCit-NG and hopefully I won't have to rewrite this thing again.

-----------------------------------------------------------------------

Summary of changes:
 webcit/static/t/aide/siteconfig/tab_aliases.html | 30 +++++++++++++++++++++---
 webcit/webcit.c                                  |  6 ++---
 2 files changed, 30 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274431</link><pubDate>Thu, 12 Aug 2021 19:17:42 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-679-gb9343ff99</title><guid isPermaLink="false">2099274431@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b9343ff99d0a19d6418bf8ba953bdc4252ca5a07 (commit)
      from  8595afbaf14fe087fe8d38f620c0bfedfa1bdce2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b9343ff99d0a19d6418bf8ba953bdc4252ca5a07
commit b9343ff99d0a19d6418bf8ba953bdc4252ca5a07
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 12 19:17:38 2021 -0400

    Removed the WebCit tab for 'push email' since the server doesn't do that anymore.  Replaced it with a 'Global email aliases' tab.

-----------------------------------------------------------------------

Summary of changes:
 webcit/po/webcit/ar.po                            | 6189 ++++++++++----------
 webcit/po/webcit/bg.po                            | 4809 +++++++---------
 webcit/po/webcit/cs.po                            | 6187 ++++++++++----------
 webcit/po/webcit/da.po                            | 6186 ++++++++++----------
 webcit/po/webcit/de.po                            | 6110 ++++++++++----------
 webcit/po/webcit/el.po                            | 5004 +++++++---------
 webcit/po/webcit/en_GB.po                         | 6207 ++++++++++----------
 webcit/po/webcit/es.po                            | 6287 ++++++++++----------
 webcit/po/webcit/et.po                            | 6057 +++++++++-----------
 webcit/po/webcit/fi.po                            | 5444 ++++++++----------
 webcit/po/webcit/fr.po                            | 6281 ++++++++++----------
 webcit/po/webcit/he.po                            | 4724 +++++++--------
 webcit/po/webcit/hu.po                            | 5973 +++++++++----------
 webcit/po/webcit/it.po                            | 6284 ++++++++++----------
 webcit/po/webcit/kk.po                            | 4642 +++++++--------
 webcit/po/webcit/ko.po                            | 4642 +++++++--------
 webcit/po/webcit/nl.po                            | 6342 ++++++++++-----------
 webcit/po/webcit/pl.po                            | 6230 ++++++++++----------
 webcit/po/webcit/pt_BR.po                         | 6278 ++++++++++----------
 webcit/po/webcit/ro.po                            | 5397 ++++++++----------
 webcit/po/webcit/ru.po                            | 5578 +++++++++---------
 webcit/po/webcit/sl.po                            | 4642 +++++++--------
 webcit/po/webcit/sv.po                            | 4870 +++++++---------
 webcit/po/webcit/tr.po                            | 4674 +++++++--------
 webcit/po/webcit/webcit.pot                       | 4642 +++++++--------
 webcit/po/webcit/zh.po                            | 6117 ++++++++++----------
 webcit/static/t/aide/display_sitewide_config.html |    7 +-
 webcit/static/t/aide/siteconfig/tab_aliases.html  |    7 +
 webcit/webcit.h                                   |    2 +-
 29 files changed, 66785 insertions(+), 79027 deletions(-)
 create mode 100644 webcit/static/t/aide/siteconfig/tab_aliases.html


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274410</link><pubDate>Thu, 12 Aug 2021 14:18:49 +0500</pubDate><title>citadel.org git repository moving</title><guid isPermaLink="false">2099274410@Uncensored</guid><description><![CDATA[  
 In case anyone is tracking the Citadel git repository -- be advised that
I am moving it.  I am tired of maintaining an "/appl" hierarchy on my server;
this was done in the distant past before /opt and /usr/local came into widespread
standard use.  I may also move it to a different server ... haven't quite
decided yet. 
  
 And no, I will not use someone else's git repository.  Not now, not ever.
 It simply isn't needed. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274275</link><pubDate>Wed, 11 Aug 2021 00:04:46 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 2388e3fe2ae9715cb37b9ba2400b63418d87c501</title><guid isPermaLink="false">2099274275@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  2388e3fe2ae9715cb37b9ba2400b63418d87c501 (commit)
      from  72199c88dedef3f6c7a08d27bafb1e51f1e9458a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2388e3fe2ae9715cb37b9ba2400b63418d87c501
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 11 00:04:43 2021 -0400

    updated the run scripts

-----------------------------------------------------------------------

Summary of changes:
 citadel.service | 2 +-
 run-citadel.sh  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274269</link><pubDate>Tue, 10 Aug 2021 23:50:34 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 72199c88dedef3f6c7a08d27bafb1e51f1e9458a</title><guid isPermaLink="false">2099274269@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  72199c88dedef3f6c7a08d27bafb1e51f1e9458a (commit)
      from  31e3aaf0e8a28a9a5292d8bc9cace701dd5c2820 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 72199c88dedef3f6c7a08d27bafb1e51f1e9458a
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 10 23:50:30 2021 -0400

    Added a systemd unit file to the distribution

-----------------------------------------------------------------------

Summary of changes:
 citadel.service | 17 +++++++++++++++++
 run-citadel.sh  | 24 ++++++++----------------
 2 files changed, 25 insertions(+), 16 deletions(-)
 create mode 100644 citadel.service


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274260</link><pubDate>Tue, 10 Aug 2021 20:26:39 +0500</pubDate><title>Citadel in Docker</title><guid isPermaLink="false">2099274260@Uncensored</guid><description><![CDATA[  
 Try it! 
  
 [ https://www.citadel.org/docker.html ] 
  
 AMD/Intel 64-bit only for now.  ARM coming soon; I want to re-image my Pi
before I build it. 
  
 It is *ridiculously* easy.  Docker automates away the hard parts in a way
that the AppImage was very sloppy in attempting. 
  
 Oh, and if you want to test with a copy of your existing database, just copy
it over to /usr/local/citadel on the target host and run the container as
usual. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274217</link><pubDate>Tue, 10 Aug 2021 13:42:19 +0500</pubDate><title>Re: (no subject)</title><guid isPermaLink="false">2099274217@Uncensored</guid><description><![CDATA[ >Thank you very much for your work; at the moment I am out of the office,
  
 >I think for this week. (I need to finish a project by mid-September, I 
 
 >will try to escape my earring at night)  
 >  
 >As soon as I get it, I restore/cleanup the VM/Debian to test it.  
  
 Thanks.  So far, it is working *really* well.  You can launch it with a single
command.  I even had it working on Docker Desktop for Windows! 
  
 The container also has the Global Alias Table you were asking for.  But there
is no client to configure it yet, so if you want to use that, I'll have to
show you how to edit it manually. 
  
 I think this is going to be the real deal.  Containers are *everywhere* and
they run really well.  For those wanting to run Citadel on a Kubernetes cluster
(either in a public cloud or in a private hosting environment) it's going
to just snap right in, no virtual machine needed.  On a
private host, just run Docker and run Citadel. 
  
 By the way, I was mistaken about the upgrade process.  You have to do a "docker
pull" to look for an updated version, otherwise it sticks with the one you
already have. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274216</link><pubDate>Tue, 10 Aug 2021 13:36:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-678-g8595afbaf</title><guid isPermaLink="false">2099274216@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8595afbaf14fe087fe8d38f620c0bfedfa1bdce2 (commit)
      from  e74296dcc0179b87f560b6957320b495e19148c0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8595afbaf14fe087fe8d38f620c0bfedfa1bdce2
commit 8595afbaf14fe087fe8d38f620c0bfedfa1bdce2
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 10 13:36:10 2021 -0400

    Removed a bit of diagnostic code no longer needed

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 6 ------
 1 file changed, 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274209</link><pubDate>Tue, 10 Aug 2021 13:05:17 +0500</pubDate><title>Re: (no subject)</title><guid isPermaLink="false">2099274209@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Thank you very much for your work; at the moment I am out of the
      office, I think for this week. (I need to finish a project by
      mid-September, I will try to escape my earring at night)<br>
    </p>
    <p>As soon as I get it, I restore/cleanup the VM/Debian to test it.<br>
    </p>
    <div class="moz-cite-prefix">On 8/9/21 10:46 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:611204AF-7D2061AB@uncensored.citadel.org">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>All right people, grab your favorite 64-bit AMD/Intel Linux
        machine and try this.</p>
      <p>First, install Docker. (On a Debian or Ubuntu host it's "apt
        install docker.io")</p>
      <p>Then, do this:</p>
      <p><strong>docker run --name citadel -it --rm --network host
          --mount type=volume,source=citadel-data,target=/citadel-data
          citadeldotorg/citadel</strong></p>
      <p>You'll see it download, then start up the server (in the
        foreground).  Citadel and WebCit are up and running.  That's
        really all there is to it!</p>
      <p>Now if you want to play around with the options, you can
        download the "run-citadel.sh" script from <a
          href="https://tinyurl.com/yjvmgjg7" moz-do-not-send="true">https://tinyurl.com/yjvmgjg7</a>
        which does a few more things.  Let me explain what some of these
        options are:</p>
      <ul>
        <li>"-it" basically means "run it in the foreground"
          (interactively, on a tty).  You'll use this while testing,
          maybe not in production.</li>
        <li>"--rm" means "delete the container when it exits".  Yes, you
          want this.  It deletes the container, not the container <em>image</em>. 
          You don't want a bunch of dead containers lying around.</li>
        <li>"--network host" makes Docker bind the container's exposed
          ports directly to the host's network interface, so you don't
          have to map ports manually.</li>
        <li>Within the container, Citadel Server will look for a
          directory called "/citadel-data" for its persistent databases.<br>
          "--mount type=volume,source=citadel-data,target=/citadel-data"
          tells Docker to mount a native Docker volume to that mount
          point inside the container.  If you want to use an existing
          Citadel database, you could do "--mount
          type=bind,source=/usr/local/citadel,target=/citadel-data"
          instead.</li>
        <li>"citadeldotorg/citadel" is the repository and container
          name.  Theoretically, every time you run the above command, it
          ought to check for updates and download a newer version if it
          is available.  I haven't tried this yet but it ought to work.</li>
      </ul>
      <p>If you do not trust Docker Hub, you can go to <a
          href="https://code.citadel.org/?p=citadel-docker.git;a=summary"
          moz-do-not-send="true">https://code.citadel.org/?p=citadel-docker.git;a=summary</a>
        and build the container yourself, which isn't actually all that
        much more work because it pulls in all of the required bits on
        its own.  It's basically Easy Install with guaranteed system
        compatibility.</p>
      <p>Try it!  I'll have ARM images out soon.</p>
      <p> </p>
    </blockquote>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274155</link><pubDate>Tue, 10 Aug 2021 00:46:39 +0500</pubDate><title>Message #2099274155</title><guid isPermaLink="false">2099274155@Uncensored</guid><description><![CDATA[<html><body>

<p>All right people, grab your favorite 64-bit AMD/Intel Linux machine and try this.</p>
<p>First, install Docker. (On a Debian or Ubuntu host it's "apt install docker.io")</p>
<p>Then, do this:</p>
<p><strong>docker run --name citadel -it --rm --network host --mount type=volume,source=citadel-data,target=/citadel-data citadeldotorg/citadel</strong></p>
<p>You'll see it download, then start up the server (in the foreground).  Citadel and WebCit are up and running.  That's really all there is to it!</p>
<p>Now if you want to play around with the options, you can download the "run-citadel.sh" script from <a href="https://tinyurl.com/yjvmgjg7">https://tinyurl.com/yjvmgjg7</a> which does a few more things.  Let me explain what some of these options are:</p>
<ul>
<li>"-it" basically means "run it in the foreground" (interactively, on a tty).  You'll use this while testing, maybe not in production.</li>
<li>"--rm" means "delete the container when it exits".  Yes, you want this.  It deletes the container, not the container <em>image</em>.  You don't want a bunch of dead containers lying around.</li>
<li>"--network host" makes Docker bind the container's exposed ports directly to the host's network interface, so you don't have to map ports manually.</li>
<li>Within the container, Citadel Server will look for a directory called "/citadel-data" for its persistent databases.<br />"--mount type=volume,source=citadel-data,target=/citadel-data" tells Docker to mount a native Docker volume to that mount point inside the container.  If you want to use an existing Citadel database, you could do "--mount type=bind,source=/usr/local/citadel,target=/citadel-data" instead.</li>
<li>"citadeldotorg/citadel" is the repository and container name.  Theoretically, every time you run the above command, it ought to check for updates and download a newer version if it is available.  I haven't tried this yet but it ought to work.</li>
</ul>
<p>If you do not trust Docker Hub, you can go to <a href="https://code.citadel.org/?p=citadel-docker.git;a=summary">https://code.citadel.org/?p=citadel-docker.git;a=summary</a> and build the container yourself, which isn't actually all that much more work because it pulls in all of the required bits on its own.  It's basically Easy Install with guaranteed system compatibility.</p>
<p>Try it!  I'll have ARM images out soon.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274152</link><pubDate>Tue, 10 Aug 2021 00:00:24 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 31e3aaf0e8a28a9a5292d8bc9cace701dd5c2820</title><guid isPermaLink="false">2099274152@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  31e3aaf0e8a28a9a5292d8bc9cace701dd5c2820 (commit)
      from  4b5d8b077410ce978bf991726da5708bc7a817f5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 31e3aaf0e8a28a9a5292d8bc9cace701dd5c2820
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 10 00:00:20 2021 -0400

    Facts don't care about feelings.

-----------------------------------------------------------------------

Summary of changes:
 README.txt | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274114</link><pubDate>Mon, 09 Aug 2021 13:14:35 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 4b5d8b077410ce978bf991726da5708bc7a817f5</title><guid isPermaLink="false">2099274114@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  4b5d8b077410ce978bf991726da5708bc7a817f5 (commit)
      from  122893669b8b53e19775f79e11c3ac37af8f4062 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4b5d8b077410ce978bf991726da5708bc7a817f5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 9 13:14:32 2021 -0400

    Minor adjustments to the Dockerfile

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile | 5 ++++-
 README.txt | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274034</link><pubDate>Sun, 08 Aug 2021 15:37:17 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 122893669b8b53e19775f79e11c3ac37af8f4062</title><guid isPermaLink="false">2099274034@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  122893669b8b53e19775f79e11c3ac37af8f4062 (commit)
      from  b9994af643b6329f691d55290f5d9443674131ef (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 122893669b8b53e19775f79e11c3ac37af8f4062
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 8 15:37:11 2021 -0400

    Build our own local copy of Berkeley DB, because the one included with the system libs is too old.

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099274030</link><pubDate>Sun, 08 Aug 2021 15:32:43 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-677-ge74296dcc</title><guid isPermaLink="false">2099274030@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e74296dcc0179b87f560b6957320b495e19148c0 (commit)
      from  b4fbfa534369c2cc497031b715430bcd5ceb1348 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e74296dcc0179b87f560b6957320b495e19148c0
commit e74296dcc0179b87f560b6957320b495e19148c0
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 8 15:32:40 2021 -0400

    Remove APPDIR support in database_cleanup.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/database_cleanup.sh | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273957</link><pubDate>Sat, 07 Aug 2021 19:48:05 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. b9994af643b6329f691d55290f5d9443674131ef</title><guid isPermaLink="false">2099273957@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  b9994af643b6329f691d55290f5d9443674131ef (commit)
      from  f8943c6f2597101db46064435ef6a2af09cd0d79 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b9994af643b6329f691d55290f5d9443674131ef
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Aug 7 19:48:01 2021 -0400

    database cleanup mode

-----------------------------------------------------------------------

Summary of changes:
 ctdlvisor.c    | 19 ++++++++++++++++++-
 run-citadel.sh | 27 ++++++++++++++++++++-------
 2 files changed, 38 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273835</link><pubDate>Fri, 06 Aug 2021 15:23:35 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. f8943c6f2597101db46064435ef6a2af09cd0d79</title><guid isPermaLink="false">2099273835@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  f8943c6f2597101db46064435ef6a2af09cd0d79 (commit)
      from  468759f5d6d26de920f6be16f6776607f99dafe3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f8943c6f2597101db46064435ef6a2af09cd0d79
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Aug 6 15:23:31 2021 -0400

    Fleshing out the command line options for run-citadel.sh

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile     | 48 +++++++++++++++++++++++++++++--------------
 ctdlvisor.c    | 27 -------------------------
 run-citadel.sh | 64 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 3 files changed, 86 insertions(+), 53 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273827</link><pubDate>Fri, 06 Aug 2021 13:53:20 +0500</pubDate><title>Re: [SCM] Configuration for building a Citadel container in Docker branch master updated. 8bf0b0986137cdbd091b89fc74fba597acca8f47</title><guid isPermaLink="false">2099273827@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Thanks for the information.<br>
    </p>
    <p><img src="cid:part1.BA44873F.2B6A91A6@uncensored.citadel.org"
        alt=""></p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 8/5/21 6:27 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:610C81E4-7D20604E@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;* VM = OS + Docker + Citadel  
  
 Right.  It should be ridiculously easy.  I'm discovering a lot of interesting
things about Docker, which are helping to make things nice and slick: 
  
 --&gt; I discovered the "--network host" option.  This is insanely great, because
it makes the application in the container bind directly to the host's network
instead of requiring the host to proxy the ports on its own.  Since the Citadel
suite opens a LOT of ports, this is yuuuuuge. 
  
 --&gt; "--mount type=" for volumes is pretty cool.  This will allow new users
to take advantage of traditional Docker volumes, and upgraders to attach to
an existing Citadel database if they are, for example, moving up from Easy
Install. 
  
 --&gt; Since all of our data lives in the persistent volume, it appears to be
perfectly OK to run docker with the "--rm" flag, causing the container to
delete itself after it exits. 
  
 
 The strategy here is to ship the container itself, plus a nice little harness
script called "run-citadel.sh".  This sets up the environment and runs the
application in the container.  Docker experts can ignore the script and run
Citadel however they prefer, be it in a Kubernetes cluster or in a public
cloud or whatever.  I'll include options to "install" it on the host, starting
up at runtime by creating systemd unit files etc. 
  
 I also have a "migrate" mode already working, which was built as part of
the AppImage effort.  When you run the container in this mode it fires up
a server and goes into an interactive screen to migrate your data from an
existing Citadel server.  It's really really cool. 
  
 I can't quite explain it, but this just "feels" more solid than the previous
effort. 
 
</pre>
    </blockquote>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273806</link><pubDate>Thu, 05 Aug 2021 20:27:16 +0500</pubDate><title>Re: [SCM] Configuration for building a Citadel container in Docker branch master updated. 8bf0b0986137cdbd091b89fc74fba597acca8f47</title><guid isPermaLink="false">2099273806@Uncensored</guid><description><![CDATA[ >* VM = OS + Docker + Citadel  
  
 Right.  It should be ridiculously easy.  I'm discovering a lot of interesting
things about Docker, which are helping to make things nice and slick: 
  
 --> I discovered the "--network host" option.  This is insanely great, because
it makes the application in the container bind directly to the host's network
instead of requiring the host to proxy the ports on its own.  Since the Citadel
suite opens a LOT of ports, this is yuuuuuge. 
  
 --> "--mount type=" for volumes is pretty cool.  This will allow new users
to take advantage of traditional Docker volumes, and upgraders to attach to
an existing Citadel database if they are, for example, moving up from Easy
Install. 
  
 --> Since all of our data lives in the persistent volume, it appears to be
perfectly OK to run docker with the "--rm" flag, causing the container to
delete itself after it exits. 
  
 
 The strategy here is to ship the container itself, plus a nice little harness
script called "run-citadel.sh".  This sets up the environment and runs the
application in the container.  Docker experts can ignore the script and run
Citadel however they prefer, be it in a Kubernetes cluster or in a public
cloud or whatever.  I'll include options to "install" it on the host, starting
up at runtime by creating systemd unit files etc. 
  
 I also have a "migrate" mode already working, which was built as part of
the AppImage effort.  When you run the container in this mode it fires up
a server and goes into an interactive screen to migrate your data from an
existing Citadel server.  It's really really cool. 
  
 I can't quite explain it, but this just "feels" more solid than the previous
effort. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273799</link><pubDate>Thu, 05 Aug 2021 17:16:40 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 468759f5d6d26de920f6be16f6776607f99dafe3</title><guid isPermaLink="false">2099273799@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  468759f5d6d26de920f6be16f6776607f99dafe3 (commit)
      from  fda5b37d1404c736c457952aaf22115cf412b317 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 468759f5d6d26de920f6be16f6776607f99dafe3
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 5 17:16:35 2021 -0400

    The run-citadel.sh script is being turned into a runtime harness for the container.

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile     |  3 +++
 clean.sh       |  3 +++
 run-citadel.sh | 20 +++++++++++++++++++-
 3 files changed, 25 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273794</link><pubDate>Thu, 05 Aug 2021 15:29:39 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. fda5b37d1404c736c457952aaf22115cf412b317</title><guid isPermaLink="false">2099273794@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  fda5b37d1404c736c457952aaf22115cf412b317 (commit)
      from  8bf0b0986137cdbd091b89fc74fba597acca8f47 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fda5b37d1404c736c457952aaf22115cf412b317
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 5 15:29:36 2021 -0400

    I found the '--network host' option in Docker, so now we don't have to launch the container with each port mapped individually.

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile     |  2 +-
 ctdlvisor.c    | 12 ++++++------
 run-citadel.sh | 24 ++++++++++--------------
 3 files changed, 17 insertions(+), 21 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273779</link><pubDate>Thu, 05 Aug 2021 10:41:38 +0500</pubDate><title>Re: [SCM] Configuration for building a Citadel container in Docker branch master updated. 8bf0b0986137cdbd091b89fc74fba597acca8f47</title><guid isPermaLink="false">2099273779@Uncensored</guid><description><![CDATA[
* VM = OS + Docker + Citadel

On 8/4/21 11:47 PM, s3cr3to wrote:
> Year before I tried a little with Ubuntu; and a little using Synology 
> which allows using Docker. But I'm more interested in using a 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273771</link><pubDate>Thu, 05 Aug 2021 10:14:30 +0500</pubDate><title>Message #2099273771</title><guid isPermaLink="false">2099273771@Uncensored</guid><description><![CDATA[AppImage was intended to be used for desktop applications.  I tried it for
a server system and there were just too many things that broke.  We're using
Docker for *exactly* its intended purpose. 
  
 It shouldn't matter what kind of Linux you run a Docker container on.  That's
sort of the point.  If you can run Docker at all you should be able to run
any container that is available. 
  
 Don't worry about not being a Docker expert.  We're going to make it easy.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273744</link><pubDate>Thu, 05 Aug 2021 01:47:04 +0500</pubDate><title>Re: [SCM] Configuration for building a Citadel container in Docker branch master updated. 8bf0b0986137cdbd091b89fc74fba597acca8f47</title><guid isPermaLink="false">2099273744@Uncensored</guid><description><![CDATA[
So, I seem to remember that you use Ubuntu to develop Citadel;
Then... Should I use a VM with Ubuntu server to use Docker + Citadel?
I don't really know which is the right distribution for Docker.

2021 https://kuberty.io/blog/best-os-for-docker/
2021 https://medium.com/nerd-for-tech/look-docker-no-distro-5dc87d4deb00 
<- This gives me shivers, I only read it a little bit.
2017 https://containerjournal.com/features/os-best-docker-heres-decide/

Year before I tried a little with Ubuntu; and a little using Synology 
which allows using Docker. But I'm more interested in using a dedicated 
VM for Citadel.

Regards

On 8/4/21 11:12 PM, IGnatius T Foobar wrote:
>    
>   Lots of great progress tonight on the Docker container.  As expected, much
> of the work that went into the AppImage was reusable in Docker, and the Docker
> version is running quite well already.  It doesn't feel as "fragile" as the
> AppImage did, and I think it's going to serve us better in the long term.
>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273733</link><pubDate>Thu, 05 Aug 2021 01:32:44 +0500</pubDate><title>Message #2099273733</title><guid isPermaLink="false">2099273733@Uncensored</guid><description><![CDATA[<html><body>

<p>This is sad news. AppImage seemed like the solution for so many problems. I never had much luck, and I've had a lot of other fires burning so didn't get to test as much as I'd like to. <br /><br />But I've wanted to play around with docker. Maybe this will be my chance. </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273721</link><pubDate>Thu, 05 Aug 2021 01:12:54 +0500</pubDate><title>Re: [SCM] Configuration for building a Citadel container in Docker branch master updated. 8bf0b0986137cdbd091b89fc74fba597acca8f47</title><guid isPermaLink="false">2099273721@Uncensored</guid><description><![CDATA[  
 Lots of great progress tonight on the Docker container.  As expected, much
of the work that went into the AppImage was reusable in Docker, and the Docker
version is running quite well already.  It doesn't feel as "fragile" as the
AppImage did, and I think it's going to serve us better in the long term.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273720</link><pubDate>Thu, 05 Aug 2021 01:10:20 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-676-gb4fbfa534</title><guid isPermaLink="false">2099273720@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b4fbfa534369c2cc497031b715430bcd5ceb1348 (commit)
      from  3e3e503f9464c61bf8cefcb0551d42123db9fbf4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b4fbfa534369c2cc497031b715430bcd5ceb1348
commit b4fbfa534369c2cc497031b715430bcd5ceb1348
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 5 01:10:16 2021 -0400

    Abandoned the AppImage

-----------------------------------------------------------------------

Summary of changes:
 appimage/.gitignore                     |   2 -
 appimage/README.txt                     |  42 -----
 appimage/build_appimage.sh              | 110 ------------
 appimage/citadel.AppDir/.DirIcon        |   1 -
 appimage/citadel.AppDir/AppRun          | 258 ----------------------------
 appimage/citadel.AppDir/citadel.desktop |   8 -
 appimage/citadel.AppDir/citadel.png     | Bin 926 -> 0 bytes
 appimage/ctdlvisor.c                    | 286 --------------------------------
 appimage/excludelist                    | 225 -------------------------
 9 files changed, 932 deletions(-)
 delete mode 100644 appimage/.gitignore
 delete mode 100644 appimage/README.txt
 delete mode 100755 appimage/build_appimage.sh
 delete mode 120000 appimage/citadel.AppDir/.DirIcon
 delete mode 100755 appimage/citadel.AppDir/AppRun
 delete mode 100644 appimage/citadel.AppDir/citadel.desktop
 delete mode 100644 appimage/citadel.AppDir/citadel.png
 delete mode 100644 appimage/ctdlvisor.c
 delete mode 100644 appimage/excludelist


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273719</link><pubDate>Thu, 05 Aug 2021 01:09:44 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 8bf0b0986137cdbd091b89fc74fba597acca8f47</title><guid isPermaLink="false">2099273719@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  8bf0b0986137cdbd091b89fc74fba597acca8f47 (commit)
      from  2e8ed5d4963ca9cc2d86e70024543eabb99b238f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8bf0b0986137cdbd091b89fc74fba597acca8f47
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Aug 5 01:09:37 2021 -0400

    Revived this old project to run Citadel in a Docker container.  It uses 'ctdlvisor' from the ill-fated AppImage project, and appears to be running well now.

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile                |  14 +--
 README.txt                |   2 +-
 citadel-docker-startup.sh |  18 ---
 ctdlvisor.c               | 288 ++++++++++++++++++++++++++++++++++++++++++++++
 run-citadel.sh            |  25 +++-
 supervisor.conf           |  18 ---
 6 files changed, 316 insertions(+), 49 deletions(-)
 delete mode 100755 citadel-docker-startup.sh
 create mode 100644 ctdlvisor.c
 delete mode 100644 supervisor.conf


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273677</link><pubDate>Wed, 04 Aug 2021 16:45:22 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-675-g3e3e503f9</title><guid isPermaLink="false">2099273677@Uncensored</guid><description><![CDATA[ >So, do I stop my tests with the AppImage and wait for the thingy* in Docker?
 
  
 Let's put it on hold for now.  The goal is the same, but the package format
is different. 
  
 We've learned a lot over the last few months, and in developing the AppImage
we solved a LOT of problems that were making Docker problematic for us. 
  
 To be sure, I don't want to end up in a place where you have to become a
Docker expert to run Citadel.  The goal is to *hide* the complexity, not to
add more. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273660</link><pubDate>Wed, 04 Aug 2021 15:59:33 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-675-g3e3e503f9</title><guid isPermaLink="false">2099273660@Uncensored</guid><description><![CDATA[
So, do I stop my tests with the AppImage and wait for the thingy* in Docker?

*No disrespect intended.

On 8/3/21 4:29 PM, noreply wrote:
> This is an automated email from the git hooks/post-receive script. It was
> generated because a ref change was pushed to the repository containing
> the project "Citadel Server, WebCit, utilities".
>
> The branch, master has been updated
>         via  3e3e503f9464c61bf8cefcb0551d42123db9fbf4 (commit)
>        from  993d83d05304da06680a5c731533c6944f3d6fe9 (commit)
>
> Those revisions listed above that are new to this repository have
> not appeared on any other notification email; so we list those
> revisions in full, below.
>
> - Log -----------------------------------------------------------------
> http://code.citadel.org/?p=citadel.git&a=commit&h=3e3e503f9464c61bf8cefcb0551d42123db9fbf4
> commit 3e3e503f9464c61bf8cefcb0551d42123db9fbf4
> Author: Art Cancro <ajc@citadel.org>
> Date:   Tue Aug 3 18:29:09 2021 -0400
>
>      This completes the server portion of the Global Alias table.
>
> -----------------------------------------------------------------------
>
> Summary of changes:
>   citadel/internet_addressing.c | 12 ++++--------
>   1 file changed, 4 insertions(+), 8 deletions(-)
>
>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273657</link><pubDate>Wed, 04 Aug 2021 15:57:52 +0500</pubDate><title>Re: PIVOT</title><guid isPermaLink="false">2099273657@Uncensored</guid><description><![CDATA[
The "series of messages" leads to a sad unraveling.

Well, to a more complex one, I had stopped studying Docker as soon as I 
saw the AppImage, I will have to resume its study and use it.

To date, I had barely played with Docker; and like a good Alzheimer's 
trainee, I forgot about it in a matter of weeks.


On 8/3/21 1:28 PM, IGnatius T Foobar wrote:
>   
>    
>   So far, it seems that the distribution of Citadel as an AppImage has been
> a complete flop.  I had high hopes for a universal binary to work but it doesn't
> seem to want to work on any computer that isn't mine.
>    
>   This is not to say that all the work wasn't worth it.  We've phased out the
> LFHS build, we've removed a lot of legacy code, and for the AppImage we built
> "ctdlvisor" which can do a controlled run of all Citadel components.
>    
>   That means it would now be FAR easier to build a Docker version of Citadel
> than it was the last time I tried it, 22 months ago.  I am considering a pivot
> towards that strategy.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273654</link><pubDate>Wed, 04 Aug 2021 15:52:28 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-666-g60b2f3fa4</title><guid isPermaLink="false">2099273654@Uncensored</guid><description><![CDATA[
The only good thing about not seeing your emails for 3 weeks is that I 
am binge reading them.

WOW!

On 7/28/21 3:56 PM, IGnatius T Foobar wrote:
>    
>   s3cr3to: this is all towards your use case, so hold tight, it'll be ready
> soon!
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273652</link><pubDate>Wed, 04 Aug 2021 15:50:42 +0500</pubDate><title>Re: AppImage is now beta</title><guid isPermaLink="false">2099273652@Uncensored</guid><description><![CDATA[
Thank you Art, I will be looking forward to it.
At the moment, I am working from home on a rather complex project; but 
as soon as I know I will do my best to try it.


P.S. My Thunderbird client is not notifying me of these emails, I'm 
barely seeing them, and only because I found it very strange not knowing 
about the progress in the developer room.


On 7/16/21 5:58 PM, IGnatius T Foobar wrote:
>    
>   Ok, with the AppImage release now completed, my next task will be to add
> the global email alias table.  It won't be pretty, but it'll be accessible
> for those who need it.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273579</link><pubDate>Tue, 03 Aug 2021 18:29:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-675-g3e3e503f9</title><guid isPermaLink="false">2099273579@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3e3e503f9464c61bf8cefcb0551d42123db9fbf4 (commit)
      from  993d83d05304da06680a5c731533c6944f3d6fe9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3e3e503f9464c61bf8cefcb0551d42123db9fbf4
commit 3e3e503f9464c61bf8cefcb0551d42123db9fbf4
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 3 18:29:09 2021 -0400

    This completes the server portion of the Global Alias table.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273558</link><pubDate>Tue, 03 Aug 2021 15:28:55 +0500</pubDate><title>PIVOT</title><guid isPermaLink="false">2099273558@Uncensored</guid><description><![CDATA[ 
  
 So far, it seems that the distribution of Citadel as an AppImage has been
a complete flop.  I had high hopes for a universal binary to work but it doesn't
seem to want to work on any computer that isn't mine. 
  
 This is not to say that all the work wasn't worth it.  We've phased out the
LFHS build, we've removed a lot of legacy code, and for the AppImage we built
"ctdlvisor" which can do a controlled run of all Citadel components. 
  
 That means it would now be FAR easier to build a Docker version of Citadel
than it was the last time I tried it, 22 months ago.  I am considering a pivot
towards that strategy. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273557</link><pubDate>Tue, 03 Aug 2021 15:19:22 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-674-g993d83d05</title><guid isPermaLink="false">2099273557@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  993d83d05304da06680a5c731533c6944f3d6fe9 (commit)
      from  92fb8a9a1eeee45af0fa92e07df11bedd4a06a39 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=993d83d05304da06680a5c731533c6944f3d6fe9
commit 993d83d05304da06680a5c731533c6944f3d6fe9
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 3 15:19:17 2021 -0400

    Initial version of global alias table is in place.  But it seems to have a Heisenbug.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 39 +++++++++++++++++++++------------------
 libcitadel/lib/libcitadel.h   |  4 +++-
 2 files changed, 24 insertions(+), 19 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273402</link><pubDate>Sun, 01 Aug 2021 14:15:27 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-673-g92fb8a9a1</title><guid isPermaLink="false">2099273402@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  92fb8a9a1eeee45af0fa92e07df11bedd4a06a39 (commit)
      from  4708119cea3c8b38057650eeb9af7765d29a3054 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=92fb8a9a1eeee45af0fa92e07df11bedd4a06a39
commit 92fb8a9a1eeee45af0fa92e07df11bedd4a06a39
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 1 14:15:24 2021 -0400

    CONF LOADVAL and CONF STOREVAL are deprecated and probably safe to remove.

-----------------------------------------------------------------------

Summary of changes:
 citadel/control.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273399</link><pubDate>Sun, 01 Aug 2021 14:10:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-672-g4708119ce</title><guid isPermaLink="false">2099273399@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4708119cea3c8b38057650eeb9af7765d29a3054 (commit)
      from  8de23d32481fc85d2af106eabe6f6c3962d0dd28 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4708119cea3c8b38057650eeb9af7765d29a3054
commit 4708119cea3c8b38057650eeb9af7765d29a3054
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 1 14:10:29 2021 -0400

    CtdlGetSysConfig() and CtdlPutSysConfig() now have the ability to store large configuration items as message texts in the Local System Configuration room by saving their message numbers as items in the regular configuration database.  This eliminates the last place where we did 'Delete all other messages in this room which have the same MIME type' and that ability has therefore been removed from the code.  There is enough code remaining to read configurations saved the old way, but they are upgraded the first time they are read.

-----------------------------------------------------------------------

Summary of changes:
 citadel/config.c                         | 44 ++++++++++++++++++++++++--------
 citadel/modules/calendar/serv_calendar.c |  1 -
 citadel/modules/vcard/serv_vcard.c       |  1 -
 citadel/msgbase.c                        | 18 ++++---------
 citadel/msgbase.h                        |  3 +--
 textclient/tuiconfig.c                   | 31 ++++++++--------------
 6 files changed, 51 insertions(+), 47 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273357</link><pubDate>Sat, 31 Jul 2021 15:59:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-671-g8de23d324</title><guid isPermaLink="false">2099273357@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8de23d32481fc85d2af106eabe6f6c3962d0dd28 (commit)
      from  7202fdfff37c9518ff93bb65fd8d85956316ee71 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8de23d32481fc85d2af106eabe6f6c3962d0dd28
commit 8de23d32481fc85d2af106eabe6f6c3962d0dd28
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 31 15:59:54 2021 -0400

    Added a delete element method to the array class in libcitadel.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/array.c      | 25 ++++++++++++++++++++++++-
 libcitadel/lib/libcitadel.h |  1 +
 2 files changed, 25 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273351</link><pubDate>Sat, 31 Jul 2021 15:06:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-670-g7202fdfff</title><guid isPermaLink="false">2099273351@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7202fdfff37c9518ff93bb65fd8d85956316ee71 (commit)
      from  282433c341f322f78bee079b5821350a036db1a2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7202fdfff37c9518ff93bb65fd8d85956316ee71
commit 7202fdfff37c9518ff93bb65fd8d85956316ee71
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 31 15:06:10 2021 -0400

    misc cleanup

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                      | 45 +++++++---------------
 citadel/citadel_ldap.h                 | 24 ++++++------
 citadel/citserver.h                    | 23 +++++-------
 citadel/clientsocket.h                 | 24 ++++++------
 citadel/config.h                       | 69 +++++++++++++++-------------------
 citadel/modules/listsub/serv_listsub.c |  1 -
 citadel/room_ops.h                     | 13 ++-----
 citadel/sysconfig.h                    | 32 ++++++----------
 8 files changed, 92 insertions(+), 139 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273337</link><pubDate>Sat, 31 Jul 2021 11:04:56 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-669-g282433c34</title><guid isPermaLink="false">2099273337@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  282433c341f322f78bee079b5821350a036db1a2 (commit)
      from  835c8c9f3452cafb8fe8d8b97d6d6c5f469bcf32 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=282433c341f322f78bee079b5821350a036db1a2
commit 282433c341f322f78bee079b5821350a036db1a2
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 31 11:04:51 2021 -0400

    The overhaul of recipient parsing code is complete.  We can now handle a global alias table.  Now I just have to write that :)

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 80 ++++++++++++++++++++++++++-----------------
 1 file changed, 48 insertions(+), 32 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273280</link><pubDate>Fri, 30 Jul 2021 14:31:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-668-g835c8c9f3</title><guid isPermaLink="false">2099273280@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  835c8c9f3452cafb8fe8d8b97d6d6c5f469bcf32 (commit)
      from  0e64ac8ef87367118ac8ace6f77560642c8d813a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=835c8c9f3452cafb8fe8d8b97d6d6c5f469bcf32
commit 835c8c9f3452cafb8fe8d8b97d6d6c5f469bcf32
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 30 14:31:14 2021 -0400

    Slightly better logic for preventing endless aliasing loops

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 34 ++++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 14 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273200</link><pubDate>Thu, 29 Jul 2021 12:00:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-667-g0e64ac8ef</title><guid isPermaLink="false">2099273200@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0e64ac8ef87367118ac8ace6f77560642c8d813a (commit)
      from  60b2f3fa4451319136f52a7635da5c87869c9909 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0e64ac8ef87367118ac8ace6f77560642c8d813a
commit 0e64ac8ef87367118ac8ace6f77560642c8d813a
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 29 12:00:47 2021 -0400

    Do not expand aliases once we get past the original length of the recipient array.  This prevents endless aliasing loops.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273145</link><pubDate>Wed, 28 Jul 2021 17:56:12 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-666-g60b2f3fa4</title><guid isPermaLink="false">2099273145@Uncensored</guid><description><![CDATA[  
 s3cr3to: this is all towards your use case, so hold tight, it'll be ready
soon! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099273140</link><pubDate>Wed, 28 Jul 2021 17:35:30 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-666-g60b2f3fa4</title><guid isPermaLink="false">2099273140@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  60b2f3fa4451319136f52a7635da5c87869c9909 (commit)
      from  8d7cd043e07dfe4e0ae93befb667a2189e4b482d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=60b2f3fa4451319136f52a7635da5c87869c9909
commit 60b2f3fa4451319136f52a7635da5c87869c9909
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 28 17:35:26 2021 -0400

    Expansion of aliases is working.  Still need to restore the behavior of underscores in room aliases, and handle infinite aliasing loops.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 192 ++++++++++++++++++++++--------------------
 citadel/internet_addressing.h |   2 +-
 2 files changed, 100 insertions(+), 94 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099272810</link><pubDate>Sat, 24 Jul 2021 17:41:44 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-665-g8d7cd043e</title><guid isPermaLink="false">2099272810@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8d7cd043e07dfe4e0ae93befb667a2189e4b482d (commit)
      from  49249e6aed6e10077f2a4fe005a95469e9700d34 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8d7cd043e07dfe4e0ae93befb667a2189e4b482d
commit 8d7cd043e07dfe4e0ae93befb667a2189e4b482d
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 24 17:41:40 2021 -0400

    Reworked validate_recipients() and expand_aliases() in preparation for expanding aliases into multiple recipients

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h             |  9 ++-----
 citadel/internet_addressing.c | 58 +++++++++++++++++++++++++++----------------
 2 files changed, 39 insertions(+), 28 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099272282</link><pubDate>Sun, 18 Jul 2021 13:45:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-664-g49249e6ae</title><guid isPermaLink="false">2099272282@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  49249e6aed6e10077f2a4fe005a95469e9700d34 (commit)
       via  68c5cc783b518571f3ab1d25179a1bcf7015a7ce (commit)
      from  424aab92fd2d03060878e0a62aac870b716aa64a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=49249e6aed6e10077f2a4fe005a95469e9700d34
commit 49249e6aed6e10077f2a4fe005a95469e9700d34
Merge: 68c5cc783 424aab92f
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 18 13:45:38 2021 -0400

    Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit 424aab92fd2d03060878e0a62aac870b716aa64a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 16 18:17:43 2021 -0400

    This is it, I figured out how to create a client link

commit 54907db5216105aa13f7ef161092b1cb8fa225cd
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 16 17:59:00 2021 -0400

    run-client.sh script

commit a5b89af01e00b8e95937ac60502cff4a34a710de
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 16 17:03:55 2021 -0400

    cleanup

commit 3036fe2d1b3fd7d6135c46a4e8488b3f8ba3f0f9
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 11 19:08:48 2021 -0400

    appimage improvements to installation

commit 5a449b67ac261325202a69095a23239f76947f46
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 11 17:55:25 2021 -0400

    ARCH needs to be set to 'arm' for 32-bit

commit a84c6373b7ac54fa2dd25f1fb6a079b3741da2f7
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 7 17:22:30 2021 -0400

    add the ability to run the client from the appimage

commit 0e1c5fb91c45cb36a2d89615196a62c74f6c320c
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 7 17:17:10 2021 -0400

    began making the client AppImage-aware

http://code.citadel.org/?p=citadel.git&a=commit&h=68c5cc783b518571f3ab1d25179a1bcf7015a7ce
commit 68c5cc783b518571f3ab1d25179a1bcf7015a7ce
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 18 13:43:00 2021 -0400

    A bit of prep work to bring back the global alias table.  This time I want to be able to expand aliases to multiple recipients, so it will be a bit more complex.  This commit enhances validate_recipients() to read the recipient list into an array before processing.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099272149</link><pubDate>Fri, 16 Jul 2021 19:58:35 +0500</pubDate><title>Re: AppImage is now beta</title><guid isPermaLink="false">2099272149@Uncensored</guid><description><![CDATA[  
 Ok, with the AppImage release now completed, my next task will be to add
the global email alias table.  It won't be pretty, but it'll be accessible
for those who need it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099272136</link><pubDate>Fri, 16 Jul 2021 18:17:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-662-g424aab92f</title><guid isPermaLink="false">2099272136@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  424aab92fd2d03060878e0a62aac870b716aa64a (commit)
      from  54907db5216105aa13f7ef161092b1cb8fa225cd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=424aab92fd2d03060878e0a62aac870b716aa64a
commit 424aab92fd2d03060878e0a62aac870b716aa64a
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 16 18:17:43 2021 -0400

    This is it, I figured out how to create a client link

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/run-client.sh | 13 -------------
 appimage/ctdlvisor.c                  | 33 ++++++++++++++++++++++++++++++---
 2 files changed, 30 insertions(+), 16 deletions(-)
 delete mode 100755 appimage/citadel.AppDir/run-client.sh


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099272133</link><pubDate>Fri, 16 Jul 2021 17:59:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-661-g54907db52</title><guid isPermaLink="false">2099272133@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  54907db5216105aa13f7ef161092b1cb8fa225cd (commit)
      from  a5b89af01e00b8e95937ac60502cff4a34a710de (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=54907db5216105aa13f7ef161092b1cb8fa225cd
commit 54907db5216105aa13f7ef161092b1cb8fa225cd
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 16 17:59:00 2021 -0400

    run-client.sh script

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/run-client.sh | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100755 appimage/citadel.AppDir/run-client.sh


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099272129</link><pubDate>Fri, 16 Jul 2021 17:03:59 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-660-ga5b89af01</title><guid isPermaLink="false">2099272129@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a5b89af01e00b8e95937ac60502cff4a34a710de (commit)
      from  3036fe2d1b3fd7d6135c46a4e8488b3f8ba3f0f9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a5b89af01e00b8e95937ac60502cff4a34a710de
commit a5b89af01e00b8e95937ac60502cff4a34a710de
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 16 17:03:55 2021 -0400

    cleanup

-----------------------------------------------------------------------

Summary of changes:
 appimage/README.txt            |  6 +++---
 appimage/citadel.AppDir/AppRun | 13 ++-----------
 2 files changed, 5 insertions(+), 14 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099271765</link><pubDate>Mon, 12 Jul 2021 12:22:47 +0500</pubDate><title>Re: AppImage is now beta</title><guid isPermaLink="false">2099271765@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Sorry I was not very clear.<br>
      Currently on the server in production (deb install), I have
      several accounts with many aliases.<br>
    </font>
    <blockquote><font face="Liberation Sans"><img
          src="cid:part1.2CCA739D.ECF9F1C3@uncensored.citadel.org"
          alt=""></font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
    </font><font face="Liberation Sans"><font face="Liberation Sans">So,
        if I would really like to have the version that preserves all
        these aliases (from the old style) as in the V-card.</font><br>
      <br>
      But, if they are going to be lost; then I will need to make a
      prior listing so that I can manually capture the aliases as you
      mentioned on </font><font face="Liberation Sans">the global alias
      table.<br>
      With this feature, I will be able to prepare the pre-definitive
      migration or do more tests. <br>
      <br>
      And then, I'll wait until you mention that it's ready to pass it
      on for production.<br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 7/12/21 9:29 AM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60EC5FE4-7D205843@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;I assume that restoring the backup will preserve the ones that are   
 &gt;currently there, am I correct?  
  
 What do you mean by "currently there"? 
  
 If you're talking about aliases that were in the user account already, with
the limited amount of space, then yes, those will be preserved across an upgrade.

  
 If you're talking about the old style aliases that were in the vCard and
got cut off during the phaseout of vCard-borne aliases, they will continue
to be cut off at the same length. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099271747</link><pubDate>Mon, 12 Jul 2021 11:29:40 +0500</pubDate><title>Re: AppImage is now beta</title><guid isPermaLink="false">2099271747@Uncensored</guid><description><![CDATA[ >I assume that restoring the backup will preserve the ones that are   
 >currently there, am I correct?  
  
 What do you mean by "currently there"? 
  
 If you're talking about aliases that were in the user account already, with
the limited amount of space, then yes, those will be preserved across an upgrade.

  
 If you're talking about the old style aliases that were in the vCard and
got cut off during the phaseout of vCard-borne aliases, they will continue
to be cut off at the same length. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099271735</link><pubDate>Mon, 12 Jul 2021 10:43:51 +0500</pubDate><title>Re: AppImage is now beta</title><guid isPermaLink="false">2099271735@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Good day Art<br>
      I was out of the office last week. I could not see the mails in
      "Development", something happens with my Thunderbird at home.<br>
      <br>
      Yes the global alias table works for me if with that I manage to
      place all the aliases we handle. <br>
      I assume that restoring the backup will preserve the ones that are
      currently there, am I correct?<br>
      <br>
      Best regards<br>
    </font><br>
    <div class="moz-cite-prefix">On 7/4/21 2:27 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60E219C3-7D2055D1@uncensored.citadel.org">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>The absence of the text client is definitely still something
        that is missing from the appimage.  I'm trying to figure out
        what happens when the same AppImage is called multiple times on
        the same host.  Does it consume more memory or does it share? 
        If it shares, I could add a calling mode that simply executes
        the client.  That would be very useful.  I could also add a
        telnet server to it, and just have it open up port 23, but that
        omits SSH so we'd have to do the other thing as well.</p>
      <p>As for email aliases...   It will not be easy to expand the
        number of addresses for each user, due to the way the user
        record is stored.  However, we could bring back the global alias
        table (formerly known as mail.aliases which you had to edit by
        hand).  Would that work for you?  I have been meaning to do that
        but I don't want to deal with writing a UI for it in WebCit.  If
        we re-added the global alias table, and I gave you an
        undocumented method to use it, would that take care of your
        needs for now?</p>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099271678</link><pubDate>Sun, 11 Jul 2021 19:08:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-659-g3036fe2d1</title><guid isPermaLink="false">2099271678@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3036fe2d1b3fd7d6135c46a4e8488b3f8ba3f0f9 (commit)
      from  5a449b67ac261325202a69095a23239f76947f46 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3036fe2d1b3fd7d6135c46a4e8488b3f8ba3f0f9
commit 3036fe2d1b3fd7d6135c46a4e8488b3f8ba3f0f9
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 11 19:08:48 2021 -0400

    appimage improvements to installation

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/AppRun | 51 +++++++++++++++++++++++++++++++++---------
 1 file changed, 41 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099271669</link><pubDate>Sun, 11 Jul 2021 17:55:29 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-658-g5a449b67a</title><guid isPermaLink="false">2099271669@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5a449b67ac261325202a69095a23239f76947f46 (commit)
      from  a84c6373b7ac54fa2dd25f1fb6a079b3741da2f7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5a449b67ac261325202a69095a23239f76947f46
commit 5a449b67ac261325202a69095a23239f76947f46
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 11 17:55:25 2021 -0400

    ARCH needs to be set to 'arm' for 32-bit

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099271361</link><pubDate>Wed, 07 Jul 2021 17:22:33 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-657-ga84c6373b</title><guid isPermaLink="false">2099271361@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a84c6373b7ac54fa2dd25f1fb6a079b3741da2f7 (commit)
      from  0e1c5fb91c45cb36a2d89615196a62c74f6c320c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a84c6373b7ac54fa2dd25f1fb6a079b3741da2f7
commit a84c6373b7ac54fa2dd25f1fb6a079b3741da2f7
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 7 17:22:30 2021 -0400

    add the ability to run the client from the appimage

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/AppRun | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099271360</link><pubDate>Wed, 07 Jul 2021 17:17:20 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-656-g0e1c5fb91</title><guid isPermaLink="false">2099271360@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0e1c5fb91c45cb36a2d89615196a62c74f6c320c (commit)
      from  3ad568a2b76a63f74d6e697ef51abb2c9ae4d28e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0e1c5fb91c45cb36a2d89615196a62c74f6c320c
commit 0e1c5fb91c45cb36a2d89615196a62c74f6c320c
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jul 7 17:17:10 2021 -0400

    began making the client AppImage-aware

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 7 ++++++-
 textclient/commands.c      | 4 ++++
 2 files changed, 10 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099271212</link><pubDate>Mon, 05 Jul 2021 23:49:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-655-g3ad568a2b</title><guid isPermaLink="false">2099271212@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3ad568a2b76a63f74d6e697ef51abb2c9ae4d28e (commit)
       via  7b2f9badf759c61d665cfd5d326c9252c29d78ee (commit)
      from  07a9d31133354277dc5f9dbf642aa1040a7da76f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3ad568a2b76a63f74d6e697ef51abb2c9ae4d28e
commit 3ad568a2b76a63f74d6e697ef51abb2c9ae4d28e
Merge: 7b2f9badf 07a9d3113
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 5 23:48:44 2021 -0400

    Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit 07a9d31133354277dc5f9dbf642aa1040a7da76f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 14 19:55:22 2021 -0400

    armhf aarch64

http://code.citadel.org/?p=citadel.git&a=commit&h=7b2f9badf759c61d665cfd5d326c9252c29d78ee
commit 7b2f9badf759c61d665cfd5d326c9252c29d78ee
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 14 18:41:54 2021 -0400

    appimage filename now uses ../release_version.txt instead of the timestamp

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099271121</link><pubDate>Sun, 04 Jul 2021 16:27:47 +0500</pubDate><title>Re: AppImage is now beta</title><guid isPermaLink="false">2099271121@Uncensored</guid><description><![CDATA[<html><body>

<p>The absence of the text client is definitely still something that is missing from the appimage.  I'm trying to figure out what happens when the same AppImage is called multiple times on the same host.  Does it consume more memory or does it share?  If it shares, I could add a calling mode that simply executes the client.  That would be very useful.  I could also add a telnet server to it, and just have it open up port 23, but that omits SSH so we'd have to do the other thing as well.</p>
<p>As for email aliases...   It will not be easy to expand the number of addresses for each user, due to the way the user record is stored.  However, we could bring back the global alias table (formerly known as mail.aliases which you had to edit by hand).  Would that work for you?  I have been meaning to do that but I don't want to deal with writing a UI for it in WebCit.  If we re-added the global alias table, and I gave you an undocumented method to use it, would that take care of your needs for now?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099270918</link><pubDate>Thu, 01 Jul 2021 11:17:39 +0500</pubDate><title>Re: AppImage is now beta</title><guid isPermaLink="false">2099270918@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Greetings Art, hope you are well.<br>
      <br>
      Although I have not been able to do much testing, I have a couple
      of questions:<br>
      <br>
      1. Do you plan to increase the amount of aliases to support per
      mail account? This is so far the only detail that stops me from
      migrating my server to the current one.<br>
      <br>
      2. How will the Citadel client be used from the terminal? I
      believe it is necessary to troubleshoot, adjust settings and
      review more complex problems. </font><font face="Liberation Sans"><font
        face="Liberation Sans">(As when you indicated how to adjust
        parameters in the auto-purger.) </font><br>
      <br>
      I have other details pending but it doesn't have much to do with
      the AppImage but with the server, the vm and the redirection from
      my firewall.<br>
      <br>
      Regards</font><br>
    <br>
    <div class="moz-cite-prefix">On 5/21/21 12:31 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60A7FC9B-7D204191@uncensored.citadel.org">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>All right, I'm satisfied at this point that the AppImage is, at
        least, beta quality, and I am linking it from the download page.</p>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099269378</link><pubDate>Mon, 14 Jun 2021 19:55:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-653-g07a9d3113</title><guid isPermaLink="false">2099269378@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  07a9d31133354277dc5f9dbf642aa1040a7da76f (commit)
      from  71f06c155fe24e273437baa9a71156035c68a877 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=07a9d31133354277dc5f9dbf642aa1040a7da76f
commit 07a9d31133354277dc5f9dbf642aa1040a7da76f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 14 19:55:22 2021 -0400

    armhf aarch64

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099269368</link><pubDate>Mon, 14 Jun 2021 18:35:33 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-652-g71f06c155</title><guid isPermaLink="false">2099269368@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  71f06c155fe24e273437baa9a71156035c68a877 (commit)
      from  c8b54365fdd975d416e1c89133f85eec14b338ff (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=71f06c155fe24e273437baa9a71156035c68a877
commit 71f06c155fe24e273437baa9a71156035c68a877
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 14 18:35:25 2021 -0400

    Release version 932 generated by do-release.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h           | 2 +-
 do-release.sh               | 2 +-
 libcitadel/lib/libcitadel.h | 2 +-
 release_version.txt         | 2 +-
 webcit/webcit.h             | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099269367</link><pubDate>Mon, 14 Jun 2021 18:35:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-651-gc8b54365f</title><guid isPermaLink="false">2099269367@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c8b54365fdd975d416e1c89133f85eec14b338ff (commit)
      from  4d1ba1b573a6350ca3717af1edecb34108abdbf5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c8b54365fdd975d416e1c89133f85eec14b338ff
commit c8b54365fdd975d416e1c89133f85eec14b338ff
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 14 18:34:54 2021 -0400

    ZZ

-----------------------------------------------------------------------

Summary of changes:
 do-release.sh | 6 ++++++
 1 file changed, 6 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099269364</link><pubDate>Mon, 14 Jun 2021 18:30:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-650-g4d1ba1b57</title><guid isPermaLink="false">2099269364@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4d1ba1b573a6350ca3717af1edecb34108abdbf5 (commit)
      from  d44fd81cebed606c21a7192f0beb4c13243cfe78 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4d1ba1b573a6350ca3717af1edecb34108abdbf5
commit 4d1ba1b573a6350ca3717af1edecb34108abdbf5
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jun 14 18:30:45 2021 -0400

    Getting ready for a new do-release.sh script

-----------------------------------------------------------------------

Summary of changes:
 do-release.sh               | 64 +++++++++++++++++++++++++++++++++++++++++++++
 libcitadel/lib/libcitadel.h |  2 +-
 release_version.txt         |  1 +
 version.sh                  | 10 -------
 4 files changed, 66 insertions(+), 11 deletions(-)
 create mode 100755 do-release.sh
 create mode 100644 release_version.txt
 delete mode 100755 version.sh


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099269213</link><pubDate>Sat, 12 Jun 2021 15:02:44 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-649-gd44fd81ce</title><guid isPermaLink="false">2099269213@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d44fd81cebed606c21a7192f0beb4c13243cfe78 (commit)
      from  9024ab8bcf9a6d0db76a7b019029764cedefa73d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d44fd81cebed606c21a7192f0beb4c13243cfe78
commit d44fd81cebed606c21a7192f0beb4c13243cfe78
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 12 15:02:40 2021 -0400

    version.sh

-----------------------------------------------------------------------

Summary of changes:
 version.sh | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100755 version.sh


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099269209</link><pubDate>Sat, 12 Jun 2021 13:52:53 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-648-g9024ab8bc</title><guid isPermaLink="false">2099269209@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9024ab8bcf9a6d0db76a7b019029764cedefa73d (commit)
      from  468a3c5fd24722c9c1b2d0fabcdeb3ad5a7efecd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9024ab8bcf9a6d0db76a7b019029764cedefa73d
commit 9024ab8bcf9a6d0db76a7b019029764cedefa73d
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 12 13:52:48 2021 -0400

    test commit

-----------------------------------------------------------------------

Summary of changes:
 appimage/README.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099269202</link><pubDate>Sat, 12 Jun 2021 12:21:42 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-647-g468a3c5fd</title><guid isPermaLink="false">2099269202@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  468a3c5fd24722c9c1b2d0fabcdeb3ad5a7efecd (commit)
       via  227c43a78394d957fda061f46c5cd46d4cb117ad (commit)
      from  4397e5ac9918708106a00cd2bde21c46ece9e191 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=468a3c5fd24722c9c1b2d0fabcdeb3ad5a7efecd
commit 468a3c5fd24722c9c1b2d0fabcdeb3ad5a7efecd
Merge: 227c43a78 4397e5ac9
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 12 12:20:53 2021 -0400

    Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit 4397e5ac9918708106a00cd2bde21c46ece9e191
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 9 16:29:03 2021 -0400

    remove libz from excludelist

http://code.citadel.org/?p=citadel.git&a=commit&h=227c43a78394d957fda061f46c5cd46d4cb117ad
commit 227c43a78394d957fda061f46c5cd46d4cb117ad
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jun 5 15:51:49 2021 -0400

    2021-06-02 03:45 from jmb100770
    Subject: Re: 500 No such user on AUTH LOGIN
    I encountered this same authentication problem with version 931 built via easy-install.  I think the problem is with
    citadel/modules/smtp/serv_smtp.c where smtp_get_user(5) is called in smtp_command_loop.  From this context, the offset
    parameter 5 should be replaced by zero (0).  I modified the easy-install script to work with a patched copy of the tarball and
    the resulting build seems to work correctly.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/smtp/serv_smtp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099268950</link><pubDate>Wed, 09 Jun 2021 16:29:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-645-g4397e5ac9</title><guid isPermaLink="false">2099268950@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4397e5ac9918708106a00cd2bde21c46ece9e191 (commit)
      from  100b6a90d5ea460fc62e648311ebf3fad965c139 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4397e5ac9918708106a00cd2bde21c46ece9e191
commit 4397e5ac9918708106a00cd2bde21c46ece9e191
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jun 9 16:29:03 2021 -0400

    remove libz from excludelist

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh     | 19 ++++++++++++++++++-
 appimage/citadel.AppDir/AppRun |  6 ++++++
 appimage/excludelist           |  4 ++--
 3 files changed, 26 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099267864</link><pubDate>Fri, 04 Jun 2021 19:53:21 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-644-g100b6a90d</title><guid isPermaLink="false">2099267864@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  100b6a90d5ea460fc62e648311ebf3fad965c139 (commit)
      from  329acbc25bbca6319aff583db5c5d43a64e74f32 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=100b6a90d5ea460fc62e648311ebf3fad965c139
commit 100b6a90d5ea460fc62e648311ebf3fad965c139
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jun 4 19:53:18 2021 -0400

    random boilerplate

-----------------------------------------------------------------------

Summary of changes:
 citadel/config.c  | 21 ++++++++-------------
 citadel/context.c | 23 +++++++++--------------
 citadel/control.c | 21 ++++++++-------------
 3 files changed, 25 insertions(+), 40 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099266485</link><pubDate>Wed, 26 May 2021 20:07:02 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-643-g329acbc25</title><guid isPermaLink="false">2099266485@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  329acbc25bbca6319aff583db5c5d43a64e74f32 (commit)
      from  8779ae0fd227b721c5244857956f578fc4af2149 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=329acbc25bbca6319aff583db5c5d43a64e74f32
commit 329acbc25bbca6319aff583db5c5d43a64e74f32
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 26 20:06:56 2021 -0400

    Include libexpat with the appimage, do not exclude it

-----------------------------------------------------------------------

Summary of changes:
 appimage/excludelist | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099266483</link><pubDate>Wed, 26 May 2021 19:58:01 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-642-g8779ae0fd</title><guid isPermaLink="false">2099266483@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8779ae0fd227b721c5244857956f578fc4af2149 (commit)
      from  9da7df2a2446ccf5e1e286df65ba1e32bdfe0521 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8779ae0fd227b721c5244857956f578fc4af2149
commit 8779ae0fd227b721c5244857956f578fc4af2149
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 26 19:57:57 2021 -0400

    fixed a bug with ctdlmigrate running in appimage

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/AppRun |  2 +-
 appimage/ctdlvisor.c           | 15 ++++-----------
 2 files changed, 5 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099266466</link><pubDate>Wed, 26 May 2021 18:59:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-641-g9da7df2a2</title><guid isPermaLink="false">2099266466@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9da7df2a2446ccf5e1e286df65ba1e32bdfe0521 (commit)
      from  de8a29ba5870a337d54c2ca012ae8be75437b721 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9da7df2a2446ccf5e1e286df65ba1e32bdfe0521
commit 9da7df2a2446ccf5e1e286df65ba1e32bdfe0521
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 26 18:59:44 2021 -0400

    here have code

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel_dirs.c | 21 ++++++++-------------
 citadel/citmail.c      | 10 +++-------
 citadel/citserver.c    | 20 +++++++-------------
 citadel/clientsocket.c | 26 ++++++++++----------------
 4 files changed, 28 insertions(+), 49 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099266097</link><pubDate>Sun, 23 May 2021 17:52:09 +0500</pubDate><title>Re: AppImage is now beta</title><guid isPermaLink="false">2099266097@Uncensored</guid><description><![CDATA[Tell you what ... since your bug reports tend to be good quality and well
triaged, I'm going to just give you access to the "Citadel Issue Tracker"
wiki room.  In the distant past we had general bug reporting, but it quickly
filled up with poorly researched/reported bugs, and with feature requests,
so we ended it.  Go ahead and put your reports in this one. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099266000</link><pubDate>Sat, 22 May 2021 12:53:17 +0500</pubDate><title>Re: AppImage is now beta</title><guid isPermaLink="false">2099266000@Uncensored</guid><description><![CDATA[
Congratulations!

So, now I can test it and report bugs or missing features in Citadel? 
(and what may be wrong with the App).

I'm too chatty when reporting bugs, do you have a special bug report 
form to use to make it easier for you to follow up?


On 5/21/21 12:31 PM, IGnatius T Foobar wrote:
>
> All right, I'm satisfied at this point that the AppImage is, at least, 
> beta quality, and I am linking it from the download page.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265937</link><pubDate>Fri, 21 May 2021 14:31:55 +0500</pubDate><title>AppImage is now beta</title><guid isPermaLink="false">2099265937@Uncensored</guid><description><![CDATA[<html><body>

<p>All right, I'm satisfied at this point that the AppImage is, at least, beta quality, and I am linking it from the download page.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265922</link><pubDate>Fri, 21 May 2021 12:24:17 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265922@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Good day,<br>
      <br>
      Just a small observation with the year 2020.<br>
      <br>
    </font>
    <blockquote><font face="monospace">May 21 10:18:55 em2
        webcit[27474]: <font color="#ef691f"><b>WebCit 931</b></font><br>
        May 21 10:18:55 em2 <b>webcit</b>[27474]: Copyright (C) 1996-<u><font
            color="#ef691f"><b>2020</b></font></u> by the citadel.org
        team<br>
        ...<br>
        May 21 10:18:55 em2 citserver: *** Citadel server engine ***<br>
        May 21 10:18:55 em2 citserver: Version 931 (build 726b170) ***<br>
        May 21 10:18:55 em2 citserver: Copyright (C) 1987-2021 by the
        Citadel development team.<br>
      </font></blockquote>
    <br>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265835</link><pubDate>Thu, 20 May 2021 16:02:39 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265835@Uncensored</guid><description><![CDATA[ >Is there any way to list the size of the mailboxes of each account and 
 
 >maybe including the size of their folders?  
  
 Not inside of Citadel.  You could probably find an IMAP tool that does that.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265748</link><pubDate>Thu, 20 May 2021 12:29:12 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265748@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Greetings Art.<br>
      <br>
      Is there any way to list the size of the mailboxes of each account
      and maybe including the size of their folders?<br>
      <br>
      I can't figure out where there is 71GB of space, of course it is
      possible that there are huge junk files. And in most of the
      mailboxes I set a time in months to delete old messages.</font><br>
    <br>
    <div class="moz-cite-prefix">On 5/20/21 9:02 AM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60A67A1D-7D2040CB@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">Excellent.  It's too bad that Berkeley DB needs that kind of tuning.  Perhaps
someday when 32-bit systems are a distant memory we will move to LMDB. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265739</link><pubDate>Thu, 20 May 2021 11:02:53 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265739@Uncensored</guid><description><![CDATA[Excellent.  It's too bad that Berkeley DB needs that kind of tuning.  Perhaps
someday when 32-bit systems are a distant memory we will move to LMDB. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265729</link><pubDate>Thu, 20 May 2021 10:14:59 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265729@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">It works!<br>
      <br>
      Compacted from 91G to 71G<br>
      <br>
      <img src="cid:part1.C59A4A0A.69D1A566@uncensored.citadel.org"
        alt=""><br>
      <br>
      From 4PM to 6:26pm<br>
    </font>
    <blockquote><font face="monospace">May 19 15:00:08 em2
        citserver[1694]: db: compacting database 8<br>
        ...<br>
        May 19 18:26:13 em2 citserver[1694]: housekeeping: WARNING:
        housekeeping loop has not run for 206 minutes.  Is something
        stuck?<br>
        May 19 18:26:14 em2 citserver[1694]: housekeeping: WARNING:
        housekeeping loop has not run for 206 minutes.  Is something
        stuck?<br>
        May 19 18:26:14 em2 citserver[1694]: housekeeping: WARNING:
        housekeeping loop has not run for 206 minutes.  Is something
        stuck?<br>
        May 19 18:26:14 em2 citserver[1694]: db: compacting database 9<br>
        May 19 18:26:14 em2 citserver[1694]: db: compacting database 10<br>
        May 19 18:26:14 em2 citserver[1694]: db: compacting database 11<br>
        May 19 18:26:14 em2 citserver[1694]: db: compacting database 12<br>
        May 19 18:26:14 em2 citserver[1694]: db: compacting database 13<br>
        <b>May 19 18:26:14 em2 citserver[1694]: db: cdb_compact()
          finished</b><b><br>
        </b><b>May 19 18:26:14 em2 citserver[1694]: Auto-purger:
          finished.</b><br>
        May 19 18:26:14 em2 citserver[1694]: original_brk=11fe000,
        current_brk=29f5000, addl=25128960<br>
        May 19 18:26:15 em2 citserver[1694]: pop3client: scan started<br>
        May 19 18:26:15 em2 citserver[1694]: pop3client: processing
        started<br>
        May 19 18:26:15 em2 citserver[1694]: pop3client: ended<br>
        May 19 18:26:15 em2 citserver[1694]: listdeliver: sweep started<br>
        May 19 18:26:15 em2 citserver[1694]: listdeliver: ended<br>
        May 19 18:26:15 em2 citserver[1694]: smtpclient: start queue run<br>
        May 19 18:26:15 em2 citserver[1694]: smtpclient: end queue run<br>
        May 19 18:26:15 em2 citserver[1694]: rssclient: started<br>
        May 19 18:26:15 em2 citserver[1694]: rssclient: ended<br>
        May 19 18:26:15 em2 citserver[1694]: db: -- checkpoint --</font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
    </font><br>
    <div class="moz-cite-prefix">On 5/19/21 2:56 PM, s3cr3to wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:2f02d58b-dba2-3d63-cdb1-f335241c8997@uncensored.citadel.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <font face="Liberation Sans">OK, I'll try with this values.<br>
        <br>
      </font><font face="Liberation Sans"><font face="Liberation Sans">The
          <b>first 3</b> are from my server in production.<br>
          And I will try with the <font color="#ef691f"><b>double</b></font>
          in "</font></font><font face="Liberation Sans"><font
          face="Liberation Sans"><font face="monospace">set_cachesize</font>"
          of what is suggested in the document.<br>
        </font></font>
      <blockquote><font face="monospace"># cat
          /usr/local/citadel/data/DB_CONFIG<br>
          <br>
          <b>set_lk_max_locks 4000</b><b><br>
          </b><b>set_lk_max_lockers 4000</b><b><br>
          </b><b>set_lk_max_objects 4000</b><br>
          #<br>
          # Set the database in memory cache size.<br>
          #<br>
          #set_cachesize   0   52428800   0<br>
          set_cachesize   0   <font color="#ef691f"><b>104857600</b></font>  
          0</font><br>
      </blockquote>
      <font face="Liberation Sans"><br>
      </font><br>
      <div class="moz-cite-prefix">On 5/19/21 12:05 PM, IGnatius T
        Foobar wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:60A55372-7D204047@uncensored.citadel.org">
        <pre class="moz-quote-pre" wrap=""> &gt;    *May 17 14:21:06 em2 citserver[25444]: db: BDB3017 unable to  
 &gt;    allocate space from the buffer cache*  
 &gt;    *May 17 14:21:06 em2 citserver[25444]: db: compact: Cannot allocate
 
 &gt;    memory*  
  
 You didn't recover any disk space because it crashed.  This means we have
to put some limits into the auto-purger to make it take "smaller bites" and
maybe just run a few times. 
  
 However, if it's running out of buffer cache, you can put a file called DB_CONFIG
into your data directory to tune Berkeley DB, and one of the options is indeed
buffer cache sizes.  Read <a class="moz-txt-link-freetext" href="https://www.openldap.org/faq/data/cache/1072.html" moz-do-not-send="true">https://www.openldap.org/faq/data/cache/1072.html</a>
to learn more. 
  
 Once again, however, this does not appear to be a problem specific to the
AppImage distribution.  I think I am going to release it with beta status
so we can have more testers. 
 
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265630</link><pubDate>Wed, 19 May 2021 16:56:55 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265630@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">OK, I'll try with this values.<br>
      <br>
    </font><font face="Liberation Sans"><font face="Liberation Sans">The
        <b>first 3</b> are from my server in production.<br>
        And I will try with the <font color="#ef691f"><b>double</b></font>
        in "</font></font><font face="Liberation Sans"><font
        face="Liberation Sans"><font face="monospace">set_cachesize</font>"
        of what is suggested in the document.<br>
      </font></font>
    <blockquote><font face="monospace"># cat
        /usr/local/citadel/data/DB_CONFIG<br>
        <br>
        <b>set_lk_max_locks 4000</b><b><br>
        </b><b>set_lk_max_lockers 4000</b><b><br>
        </b><b>set_lk_max_objects 4000</b><br>
        #<br>
        # Set the database in memory cache size.<br>
        #<br>
        #set_cachesize   0   52428800   0<br>
        set_cachesize   0   <font color="#ef691f"><b>104857600</b></font>  
        0</font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
    </font><br>
    <div class="moz-cite-prefix">On 5/19/21 12:05 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60A55372-7D204047@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;    *May 17 14:21:06 em2 citserver[25444]: db: BDB3017 unable to  
 &gt;    allocate space from the buffer cache*  
 &gt;    *May 17 14:21:06 em2 citserver[25444]: db: compact: Cannot allocate
 
 &gt;    memory*  
  
 You didn't recover any disk space because it crashed.  This means we have
to put some limits into the auto-purger to make it take "smaller bites" and
maybe just run a few times. 
  
 However, if it's running out of buffer cache, you can put a file called DB_CONFIG
into your data directory to tune Berkeley DB, and one of the options is indeed
buffer cache sizes.  Read <a class="moz-txt-link-freetext" href="https://www.openldap.org/faq/data/cache/1072.html">https://www.openldap.org/faq/data/cache/1072.html</a>
to learn more. 
  
 Once again, however, this does not appear to be a problem specific to the
AppImage distribution.  I think I am going to release it with beta status
so we can have more testers. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265625</link><pubDate>Wed, 19 May 2021 16:20:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-640-gde8a29ba5</title><guid isPermaLink="false">2099265625@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  de8a29ba5870a337d54c2ca012ae8be75437b721 (commit)
      from  086b81cf5feff29d057afbb4353210eca71edac2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=de8a29ba5870a337d54c2ca012ae8be75437b721
commit de8a29ba5870a337d54c2ca012ae8be75437b721
Author: Art Cancro <ajc@citadel.org>
Date:   Wed May 19 16:20:14 2021 -0400

    Toying around with more boilerplate.  Epstein didn't kill himself.

-----------------------------------------------------------------------

Summary of changes:
 citadel/auth.c   | 10 +++-------
 citadel/chkpw.c  | 17 ++++++-----------
 citadel/chkpwd.c | 23 +++++++++--------------
 3 files changed, 18 insertions(+), 32 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265607</link><pubDate>Wed, 19 May 2021 14:05:38 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265607@Uncensored</guid><description><![CDATA[ >    *May 17 14:21:06 em2 citserver[25444]: db: BDB3017 unable to  
 >    allocate space from the buffer cache*  
 >    *May 17 14:21:06 em2 citserver[25444]: db: compact: Cannot allocate
 
 >    memory*  
  
 You didn't recover any disk space because it crashed.  This means we have
to put some limits into the auto-purger to make it take "smaller bites" and
maybe just run a few times. 
  
 However, if it's running out of buffer cache, you can put a file called DB_CONFIG
into your data directory to tune Berkeley DB, and one of the options is indeed
buffer cache sizes.  Read https://www.openldap.org/faq/data/cache/1072.html
to learn more. 
  
 Once again, however, this does not appear to be a problem specific to the
AppImage distribution.  I think I am going to release it with beta status
so we can have more testers. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265592</link><pubDate>Wed, 19 May 2021 12:38:08 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265592@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    The process is finished, but I don't see any improvement in space.<br>
    Sorry for the storm of messages I send; where I write the results
    that showed the progress.<br>
    <br>
    In the last messages, I document how it marks a memory error:<br>
    <blockquote><font face="Liberation Sans"><font face="monospace">May
          17 13:28:38 em2 citserver[25444]: db: compacting database 7</font></font><br>
      <font face="Liberation Sans"><font face="monospace"><font
            color="#ef691f"><b>May 17 13:28:38 em2 citserver[25444]: db:
              compacting database 8</b></font></font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:38 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 42 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:38 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 42 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:03 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 94 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">...</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:05 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 94 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 94 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 94 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace"><font
            color="#ef691f"><b>May 17 14:21:06 em2 citserver[25444]: db:
              BDB3017 unable to allocate space from the buffer cache</b></font></font></font><br>
      <font face="Liberation Sans"><font face="monospace"><font
            color="#ef691f"><b>May 17 14:21:06 em2 citserver[25444]: db:
              compact: Cannot allocate memory</b></font></font></font><br>
    </blockquote>
    Today it was run again at 8:00am with the same results and messages.<br>
    <br>
    <div class="moz-cite-prefix">On 5/19/21 9:46 AM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60A532D4-7D204030@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;I'll let it run another +4 hours, which is about how long it took to do
  
 &gt;the cleanup process.  
  
 Did it finish?  The warning about the housekeeping loop is normal if you're
doing a big purge, because the purge runs inside the housekeeping loop so
it won't start another one. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265584</link><pubDate>Wed, 19 May 2021 11:46:28 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265584@Uncensored</guid><description><![CDATA[ >I'll let it run another +4 hours, which is about how long it took to do
  
 >the cleanup process.  
  
 Did it finish?  The warning about the housekeeping loop is normal if you're
doing a big purge, because the purge runs inside the housekeeping loop so
it won't start another one. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265370</link><pubDate>Mon, 17 May 2021 16:41:05 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265370@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">It seems that the 4GB of RAM in the VM
      was insufficient?<br>
    </font>
    <blockquote><font face="Liberation Sans"><font face="monospace">May
          17 13:28:37 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 42 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace"><b>May 17
            13:28:37 em2 citserver[25444]: db: BDB3017 unable to
            allocate space from the buffer cache</b></font></font><br>
      <font face="Liberation Sans"><font face="monospace"><b>May 17
            13:28:37 em2 citserver[25444]: db: compact: Cannot allocate
            memory</b></font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:37 em2 citserver[25444]: db: compacting database 1</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:37 em2 citserver[25444]: db: compacting database 2</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:37 em2 citserver[25444]: db: compacting database 3</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:37 em2 citserver[25444]: db: compacting database 4</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:38 em2 citserver[25444]: db: compacting database 5</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:38 em2 citserver[25444]: db: compacting database 6</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:38 em2 citserver[25444]: db: compacting database 7</font></font><br>
      <font face="Liberation Sans"><font face="monospace"><font
            color="#ef691f"><b>May 17 13:28:38 em2 citserver[25444]: db:
              compacting database 8</b></font></font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:38 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 42 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          13:28:38 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 42 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:03 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 94 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">...</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:05 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 94 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 94 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: housekeeping: WARNING:
          housekeeping loop has not run for 94 minutes.  Is something
          stuck?</font></font><br>
      <font face="Liberation Sans"><font face="monospace"><font
            color="#ef691f"><b>May 17 14:21:06 em2 citserver[25444]: db:
              BDB3017 unable to allocate space from the buffer cache</b></font></font></font><br>
      <font face="Liberation Sans"><font face="monospace"><font
            color="#ef691f"><b>May 17 14:21:06 em2 citserver[25444]: db:
              compact: Cannot allocate memory</b></font></font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: db: compacting database 9</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: db: compacting database 10</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: db: compacting database 11</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: db: compacting database 12</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: db: compacting database 13</font></font><br>
      <b><font face="Liberation Sans"><font face="monospace">May 17
            14:21:06 em2 citserver[25444]: db: cdb_compact() finished</font></font></b><b><br>
      </b><b><font face="Liberation Sans"><font face="monospace">May 17
            14:21:06 em2 citserver[25444]: Auto-purger: finished.</font></font></b><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:06 em2 citserver[25444]: original_brk=1e01000,
          current_brk=1e01000, addl=0</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:07 em2 citserver[25444]: pop3client: scan started</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:07 em2 citserver[25444]: pop3client: processing started</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:07 em2 citserver[25444]: pop3client: ended</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:07 em2 citserver[25444]: listdeliver: sweep started</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:07 em2 citserver[25444]: listdeliver: ended</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:07 em2 citserver[25444]: smtpclient: start queue run</font></font><br>
      <font face="Liberation Sans"><font face="monospace">May 17
          14:21:07 em2 citserver[25444]: smtpclient: end queue run</font></font><br>
    </blockquote>
    <br>
    <br>
    <div class="moz-cite-prefix">On 5/17/21 1:53 PM, s3cr3to wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1df8bc91-e670-b7f4-bd6d-3238f85f2bd2@uncensored.citadel.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <br>
      I'll let it run another +4 hours, which is about how long it took
      to do the cleanup process.<br>
      Or is really something stuck? I just hope the syslog file doesn't
      grow too large.<br>
      <br>
      <img src="cid:part1.FBFD7438.9568727F@uncensored.citadel.org"
        alt="" class=""><br>
      <br>
      <br>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265356</link><pubDate>Mon, 17 May 2021 15:53:46 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265356@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    I'll let it run another +4 hours, which is about how long it took to
    do the cleanup process.<br>
    Or is really something stuck? I just hope the syslog file doesn't
    grow too large.<br>
    <br>
    <img src="cid:part1.F24EB3AC.176D4F88@uncensored.citadel.org" alt=""><br>
    <br>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265351</link><pubDate>Mon, 17 May 2021 14:57:34 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265351@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">I waited for the time I programmed the
      auto-purger, and it did not activate, at this point I decided to
      stop the App and ran it again; with this I see that it started to
      perform the deletion process.:<br>
      <br>
      <img moz-do-not-send="false"
        src="cid:part1.5ADF23A0.0EFB4471@uncensored.citadel.org" alt=""
        width="763" height="508" border="1"><br>
      <br>
      Now I see a warning in the syslog, I guess it will be normal due
      to the intense load of deleting several MB/GB of messages.<br>
      <img src="cid:part2.A469C1BC.729B3436@uncensored.citadel.org"
        alt=""><br>
      <br>
    </font>I'll leave it running hopefully it will finish in a few hours
    with no problem.<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 5/17/21 11:14 AM, s3cr3to wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:ae05606f-d821-25e7-e748-dae5c217bbdf@uncensored.citadel.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <font face="Liberation Sans">Done. Now I will wait for the
        auto-purger process, I already set it up at 12pm.<br>
        <br>
        One more question:<br>
        Is it possible to get a listing with the size of each
        mailbox/account?<br>
        It would be very useful to know this information.<br>
        <br>
      </font><br>
      <div class="moz-cite-prefix">On 5/15/21 2:33 PM, IGnatius T Foobar
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:60A03026-7D203E27@uncensored.citadel.org">
        <pre class="moz-quote-pre" wrap=""> &gt;*Question #1*. How can I configure that option using the AppImage?  
 &gt;I'm very curious to see what size the DB will be at when I do a big   
 &gt;purge on some mailboxes that I'm sure are no longer checked.  
  
 You can telnet to port 504 and log in as an administrator. 
  
 The command you want is "CONF PUTVAL|c_shrink_db_files|1" 
  
 Here is a sample session in which I log in to my development system, check
the current value (it's empty), set the value to "1", and then check it again.

  
  
 ajc@pegasus:~$ telnet dev.citadel.org 504 
 Trying 72.0.224.92... 
 Connected to dev.citadel.org. 
 Escape character is '^]'. 
 200 dev.citadel.org Citadel server ready. 
 user admin 
 300 Password required for admin 
 pass my_password 
 200 admin|6|4|6|11824|1|1619985268 
 CONF getval|c_shrink_db_files 
 500 | 
 CONF putval|c_shrink_db_files|1 
 200 setting 'c_shrink_db_files' to '1' 
 CONF getval|c_shrink_db_files 
 200 1| 
 quit 
 200 Goodbye. 
  
 
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265336</link><pubDate>Mon, 17 May 2021 13:14:29 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265336@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Done. Now I will wait for the
      auto-purger process, I already set it up at 12pm.<br>
      <br>
      One more question:<br>
      Is it possible to get a listing with the size of each
      mailbox/account?<br>
      It would be very useful to know this information.<br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 5/15/21 2:33 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60A03026-7D203E27@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;*Question #1*. How can I configure that option using the AppImage?  
 &gt;I'm very curious to see what size the DB will be at when I do a big   
 &gt;purge on some mailboxes that I'm sure are no longer checked.  
  
 You can telnet to port 504 and log in as an administrator. 
  
 The command you want is "CONF PUTVAL|c_shrink_db_files|1" 
  
 Here is a sample session in which I log in to my development system, check
the current value (it's empty), set the value to "1", and then check it again.

  
  
 ajc@pegasus:~$ telnet dev.citadel.org 504 
 Trying 72.0.224.92... 
 Connected to dev.citadel.org. 
 Escape character is '^]'. 
 200 dev.citadel.org Citadel server ready. 
 user admin 
 300 Password required for admin 
 pass my_password 
 200 admin|6|4|6|11824|1|1619985268 
 CONF getval|c_shrink_db_files 
 500 | 
 CONF putval|c_shrink_db_files|1 
 200 setting 'c_shrink_db_files' to '1' 
 CONF getval|c_shrink_db_files 
 200 1| 
 quit 
 200 Goodbye. 
  
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265256</link><pubDate>Mon, 17 May 2021 00:58:21 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265256@Uncensored</guid><description><![CDATA[<html><body>

<p>I'm wondering if the process of moving from an already fully allocated VM to one on a local thinpool, if you'll be able to step that VM back from full allocation to dynamic. <br /><br /><br /></p>
<blockquote>
<div class="message_header"><span>Sun May 16 2021 15:45:01 EDT</span> <span>from <a href="do_template?template=user_show?who=s3cr3to">s3cr3to</a> </span> <span class="message_subject">Subject: Re: citadel-1620778956-x86_64.appimage -- looks like it's working?</span></div>
<div class="message_content"><tt>On 5/15/21 2:39 PM, IGnatius T Foobar wrote:</tt><br />
<blockquote><tt>You *could* use database_cleanup.sh to recover disk space on an older server.</tt></blockquote>
<tt>I seem to remember a post where you mentioned that it was not possible </tt><br /> <tt>to do this in my current version.</tt><br />
<blockquote><tt>I'm not sure what your VM storage looks like, but on my VMs we use thin provisioned</tt><br /> <tt>disks and set all of the filesystem options in the guest to return freed blocks</tt><br /> <tt>back to the host system.</tt><br /> <tt></tt></blockquote>
<tt>My VMs are on a NAS that prevents the use of thin provisioned.</tt><br /> <tt></tt><br /> <tt>I am preparing a strategy to get the VM created with only the required </tt><br /> <tt>space. I think that locally I will be able to use "thin provisioned disks".</tt><br /> <tt></tt><br /> <tt>More or less the steps are:</tt><br /> <tt>Create bridged VM, compact the DB, and move to the final VM when it is </tt><br /> <tt>already possible.</tt><br /> <tt>In the meantime I want to practice that trick to get the smallest VM </tt><br /> <tt>size possible.</tt><br /> </div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265203</link><pubDate>Sun, 16 May 2021 15:45:01 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265203@Uncensored</guid><description><![CDATA[

On 5/15/21 2:39 PM, IGnatius T Foobar wrote:
>   You *could* use database_cleanup.sh to recover disk space on an older server.
I seem to remember a post where you mentioned that it was not possible 
to do this in my current version.
> I'm not sure what your VM storage looks like, but on my VMs we use thin provisioned
> disks and set all of the filesystem options in the guest to return freed blocks
> back to the host system.

My VMs are on a NAS that prevents the use of thin provisioned.

I am preparing a strategy to get the VM created with only the required 
space. I think that locally I will be able to use "thin provisioned disks".

More or less the steps are:
Create bridged VM, compact the DB, and move to the final VM when it is 
already possible.
In the meantime I want to practice that trick to get the smallest VM 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265158</link><pubDate>Sun, 16 May 2021 09:40:37 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265158@Uncensored</guid><description><![CDATA[<html><body>

<p>According to Proxmox, just because you've returned freed blocks back to the host system doesn't mean you'll see an increase in your available space in your thinpool. I think it has to do with "largest contiguous blocks" of free space. <br /><br />But I think the bottom line is that you may free space, but not SEE it as recovered in the management console. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat May 15 2021 16:39:48 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: citadel-1620778956-x86_64.appimage -- looks like it's working?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I'm not sure what your VM storage looks like, but on my VMs we use thin provisioned disks and set all of the filesystem options in the guest to return freed blocks back to the host system. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265064</link><pubDate>Sat, 15 May 2021 16:39:48 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265064@Uncensored</guid><description><![CDATA[ >*Question #2*: Will the reduced DB still be compatible with my current 
 
 >8.17 version in production? It would be great to have the downsized DB 
 
 >for future migration.  
  
 No.  Citadel databases are never backward compatible.  Once you start up
thew new version of the server with the old database, it will perform upgrades
on the database, making it incompatible with any previous version.  We also
set a configuration key indicating the newest version of Citadel Server that
has written to the database, ensuring that no one accidentally attempts to
open it with an older version. 
  
 You *could* use database_cleanup.sh to recover disk space on an older server.

  
 I'm not sure what your VM storage looks like, but on my VMs we use thin provisioned
disks and set all of the filesystem options in the guest to return freed blocks
back to the host system. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265063</link><pubDate>Sat, 15 May 2021 16:33:42 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265063@Uncensored</guid><description><![CDATA[ >*Question #1*. How can I configure that option using the AppImage?  
 >I'm very curious to see what size the DB will be at when I do a big   
 >purge on some mailboxes that I'm sure are no longer checked.  
  
 You can telnet to port 504 and log in as an administrator. 
  
 The command you want is "CONF PUTVAL|c_shrink_db_files|1" 
  
 Here is a sample session in which I log in to my development system, check
the current value (it's empty), set the value to "1", and then check it again.

  
  
 ajc@pegasus:~$ telnet dev.citadel.org 504 
 Trying 72.0.224.92... 
 Connected to dev.citadel.org. 
 Escape character is '^]'. 
 200 dev.citadel.org Citadel server ready. 
 user admin 
 300 Password required for admin 
 pass my_password 
 200 admin|6|4|6|11824|1|1619985268 
 CONF getval|c_shrink_db_files 
 500 | 
 CONF putval|c_shrink_db_files|1 
 200 setting 'c_shrink_db_files' to '1' 
 CONF getval|c_shrink_db_files 
 200 1| 
 quit 
 200 Goodbye. 
  
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265053</link><pubDate>Sat, 15 May 2021 14:57:31 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265053@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    <div class="moz-cite-prefix">On 5/15/21 12:03 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60A00CD7-7D203E05@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">But right now we are looking for problems specific to the AppImage distribution.  Can
you confirm that the AppImage is running properly, and it isn't showing any
problems that aren't problems with Citadel in general? 
 
</pre>
    </blockquote>
    <p>Like these two things?<br>
    </p>
    <p>With option "database_cleanup" it doesn't seem to find a library:</p>
    <p><font face="Liberation Sans">Warning #3 says to do first:<br>
      </font> </p>
    <blockquote><font face="monospace">WARNING #3:<br>
          Please try "cd /usr/local/citadel/data;
        /tmp/.mount_citadehub75P/usr/bin/db_recover -c" first. Run
        citserver afterwards to<br>
          revalidate whether its fixed or not, No news might be good
        news. Use this<br>
          tool only if that one fails to fix your problem.</font><br>
    </blockquote>
    <font face="Liberation Sans">And this is what comes out:<br>
    </font>
    <blockquote><font face="monospace"># cd /usr/local/citadel/data;
        /tmp/.mount_citadehub75P/usr/bin/db_recover -c<br>
        /tmp/.mount_citadehub75P/usr/bin/db_recover: <b>error while
          loading shared libraries: libdb-6.2.so: cannot open shared
          object file: No such file or directory</b><br>
        # /tmp/.mount_citadehub75P/usr/bin/db_recover -c<br>
        /tmp/.mount_citadehub75P/usr/bin/db_recover: <b>error while
          loading shared libraries: libdb-6.2.so: cannot open shared
          object file: No such file or directory</b></font></blockquote>
    <p><br>
    </p>
    <br>
    At some point in the future when the AppImage is installed, how will
    the sendcommand be used?<br>
    I don't know if the error is because something is missing in the
    AppImage or because of my lack of knowledge on how to use it.<br>
    <br>
    <blockquote>
      <p><font face="monospace">#
          /tmp/.mount_citadeTB3iEQ/usr/local/citadel/sendcommand -h
          /usr/local/citadel IGAB<br>
          sendcommand: started (pid=14599) connecting to Citadel server
          with data directory /usr/local/citadel<br>
          200 test.server.com Citadel server ADMIN CONNECTION ready.<br>
          IGAB<br>
          <b>530 Unrecognized or unsupported command</b>.<br>
          sendcommand: processing ended.</font></p>
    </blockquote>
    <p><br>
    </p>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265048</link><pubDate>Sat, 15 May 2021 14:45:17 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265048@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Thank you Art</p>
    you can set the hidden server configuration key called
    "c_shrink_db_files"
    <blockquote type="cite"
      cite="mid:60A00FCF-7D203E0A@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">to any value other than 0.  This will cause the nightly auto-purger run to
shrink the database files on disk after it has completed its work. </pre>
    </blockquote>
    <b>Question #1</b>. How can I configure that option using the
    AppImage?<br>
    I'm very curious to see what size the DB will be at when I do a big
    purge on some mailboxes that I'm sure are no longer checked.<br>
    <blockquote type="cite"
      cite="mid:60A00FCF-7D203E0A@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 So why would you *not* want to do this?  The short answer is that if you are making
differential backups, using either "rsync" or a disk snapshot, your backups
will consume more disk space because everything got moved around and your
backup won't be able to say "that disk block is the same as it was last time"
for many blocks. 
 
</pre>
    </blockquote>
    At this time I am not doing snapshots or final backups, I only do
    them so I don't have to reinstall if some test fails and I am left
    with something unusable as a result.<br>
    <p>When everything is in production the backups will now be
      diferential (using then Proxmox Backup Server) without the need to
      reduce the DB.</p>
    I am very interested in reducing the DB size, to achieve this:<br>
    Take a backup of my DB in production.<br>
    And using the AppImage on my own machine reduce the DB, this before
    taking it to the server in production or testing (in the future).
    With this known the real size that I need to assign to my VM<br>
    <b>Question #2</b>: Will the reduced DB still be compatible with my
    current 8.17 version in production? It would be great to have the
    downsized DB for future migration.
    <p>Once I know the actual size of the DB I will be able to plan the
      most appropriate size for this VM.<br>
      It is easier to increase the VM disk size in Proxmox as it grows
      and not to allocate excess space in the VM due to the actual DB
      size.<br>
    </p>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265034</link><pubDate>Sat, 15 May 2021 14:15:43 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265034@Uncensored</guid><description><![CDATA[ >I remembered database_cleanup and wanted to try it after copying my   
 >backup to the corresponding directory.  
  
 Are you running database_cleanup because your db is corrupted?  Or are you
running it in an attempt to recover unused disk space? 
  
  
 Please read this knowledge base entry: 
  
    https://www.citadel.org/disk_space.html 
  
 The disk space in your database that is "unused" will eventually be used
for *new* data.  When you delete a bunch of messages, your database will not
shrink on disk, but it will stop growing until all of that recovered space
has been used. 
  
 Normally you should just leave it alone.  But if it is really bothering you,
you can set the hidden server configuration key called "c_shrink_db_files"
to any value other than 0.  This will cause the nightly auto-purger run to
shrink the database files on disk after it has completed its work. 
  
 So why
would you *not* want to do this?  The short answer is that if you are making
differential backups, using either "rsync" or a disk snapshot, your backups
will consume more disk space because everything got moved around and your
backup won't be able to say "that disk block is the same as it was last time"
for many blocks. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265029</link><pubDate>Sat, 15 May 2021 14:03:03 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265029@Uncensored</guid><description><![CDATA[ >  * In the alias section, I don't think I can place all my aliases, it 

 >    seems to be limited to 512 characters, currently I have 779 and  
 >    increasing, of course, I need to debug some aliases.  
  
 If I am reading this correctly, you need more space for an account's aliases
than the system is providing.  This seems to be a problem with Citadel itself,
and not with the AppImage distribution. 
  
 We'll work on that for sure.  You might need to remind me later.  But right
now we are looking for problems specific to the AppImage distribution.  Can
you confirm that the AppImage is running properly, and it isn't showing any
problems that aren't problems with Citadel in general? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265028</link><pubDate>Sat, 15 May 2021 13:59:23 +0500</pubDate><title>Message #2099265028</title><guid isPermaLink="false">2099265028@Uncensored</guid><description><![CDATA[ >Ok. Give me a little framework on what you want me to test and how.   
  
 The ideal test is this: 
  
 Start with a fresh 64-bit Linux VM.  Don't bother installing the development
tools -- you won't need them. 
  
 Copy over your database /usr/local/citadel/data to the VM.  If you're set
up for email then you might want to block outbound port 25, but if you're
not running email then this doesn't apply to you. 
  
 Download the AppImage from https://www.citadel.org/appimage.html and follow
the instructions on that page.  If there are instructions missing I'd like
to update that page rather than walk you through it here, since others will
need the same instructions. 
  
 It's supposed to be "yes, that easy" so try to be as n00b as you can  :)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099265017</link><pubDate>Sat, 15 May 2021 12:23:16 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099265017@Uncensored</guid><description><![CDATA[
As I commented in private messages.
Everything seems to indicate that the amount of characters in the 
aliases causes my password to fail.
And it seems that using too many characters when recording the aliases 
causes the App to crash.

Regards

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264825</link><pubDate>Thu, 13 May 2021 16:55:32 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099264825@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">I remembered database_cleanup and
      wanted to try it after copying my backup to the corresponding
      directory.<br>
      (This is before testing with the "run" parameter)<br>
      <br>
      I did what warning #3 says to do first.<br>
      <br>
    </font>
    <blockquote><font face="monospace">WARNING #3:<br>
          Please try "cd /usr/local/citadel/data;
        /tmp/.mount_citadehub75P/usr/bin/db_recover -c" first. Run
        citserver afterwards to<br>
          revalidate whether its fixed or not, No news might be good
        news. Use this<br>
          tool only if that one fails to fix your problem.</font><br>
    </blockquote>
    <font face="Liberation Sans">And this is what comes out:<br>
    </font>
    <blockquote><font face="monospace"># cd /usr/local/citadel/data;
        /tmp/.mount_citadehub75P/usr/bin/db_recover -c<br>
        /tmp/.mount_citadehub75P/usr/bin/db_recover: error while loading
        shared libraries: libdb-6.2.so: cannot open shared object file:
        No such file or directory<br>
        # /tmp/.mount_citadehub75P/usr/bin/db_recover -c<br>
        /tmp/.mount_citadehub75P/usr/bin/db_recover: error while loading
        shared libraries: libdb-6.2.so: cannot open shared object file:
        No such file or directory</font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
      Then I immediately tried "run".<br>
    </font>
    <ul>
      <li><font face="Liberation Sans">The first thing I tried was to
          edit the domain to use the test domain: It worked.</font></li>
      <li><font face="Liberation Sans">I immediately checked my current
          account, and I don't see anywhere the aliases I have assigned.</font></li>
      <ul>
        <li><font face="Liberation Sans"><img
              src="cid:part1.FCD22074.6997FB98@uncensored.citadel.org"
              alt=""></font></li>
      </ul>
      <li><font face="Liberation Sans">I try to use the IGAB command,
          but: it works?</font></li>
      <ul>
        <li><font face="Liberation Sans">#
            /tmp/.mount_citadeTB3iEQ/usr/local/citadel/sendcommand
            --help<br>
            /tmp/.mount_citadeTB3iEQ/usr/local/citadel/sendcommand:
            invalid option -- '-'<br>
            sendcommand: usage: sendcommand [-h server_dir] [-w
            watchdog_timeout]<br>
            # /tmp/.mount_citadeTB3iEQ/usr/local/citadel/sendcommand
            IGAB<br>
            sendcommand: started (pid=14584) connecting to Citadel
            server with data directory /tmp/citadel-build-28954<br>
            sendcommand: /tmp/citadel-build-28954: No such file or
            directory<br>
            # /tmp/.mount_citadeTB3iEQ/usr/local/citadel/sendcommand<br>
            sendcommand: started (pid=14585) connecting to Citadel
            server with data directory /tmp/citadel-build-28954<br>
            sendcommand: /tmp/citadel-build-28954: No such file or
            directory<br>
            <br>
            <b>This seems to be the correct way, but:</b><br>
            # /tmp/.mount_citadeTB3iEQ/usr/local/citadel/sendcommand -h
            /usr/local/citadel IGAB<br>
            sendcommand: started (pid=14599) connecting to Citadel
            server with data directory /usr/local/citadel<br>
            200 test.yemadorada.com.mx Citadel server ADMIN CONNECTION
            ready.<br>
            IGAB<br>
            530 Unrecognized or unsupported command.<br>
            sendcommand: processing ended.<br>
          </font><br>
        </li>
      </ul>
      <li><font face="Liberation Sans">In the alias section, I don't
          think I can place all my aliases, it seems to be limited to
          512 characters, currently I have 779 and increasing, of
          course, I need to debug some aliases.</font></li>
      <li><font face="Liberation Sans">As you know, my current server is
          "@em" and this test server is "@test".<br>
          When trying to send mail to @em, I get the message that
          sys1@em (both are on both servers) is invalid and the mail is
          not sent.<br>
          Solved removing all my alias and adding new ones, restarting
          the @test server and using new alias on @em, I got @test to
          send it without conflict.<br>
          <b>BUT BIG ISSUE:</b><br>
          Now that I managed to edit all the aliases in @test of my sys1
          account (administrator) the following happens:<br>
          It no longer lets me log in with sys1 account, I edit the
          account change the password and still doesn't work, I try in
          Chrome and Firefox.<br>
          No, I can't login with that account from another browser
          either. Using an incorrect password, the appropriate message
          is displayed.<br>
          And yes, I can login with other accounts. </font><font
          face="Liberation Sans">This last issue is a real killjoy.</font></li>
      <li><font face="Liberation Sans">I wonder what else I could do to
          reset my password and gain access.<br>
          <br>
        </font></li>
    </ul>
    <font face="Liberation Sans">Thank you for reading.<br>
      <br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 5/12/21 5:34 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:609C660A-7D203CBC@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;Yes! it's working: Sending and receiving external mail.  
 &gt;  
 &gt;Can I delete the /usr/local/citadel folder to copy my backup and test  

 &gt;the migration?  
  
 Awesome!  Yes, go ahead and delete anything you want.  I am finished testing
on your system.  Thank you for making it available. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264760</link><pubDate>Thu, 13 May 2021 10:48:46 +0500</pubDate><title>Message #2099264760</title><guid isPermaLink="false">2099264760@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok. Give me a little framework on what you want me to test and how. <br /><br />I've got a perfect lab setup now to easily create a clone of my production server and see how feasible it would be to go the an AppImage upgrade... I've just been out of it for a while working on a lot of other fires - so I'm kind of out of the loop of what you want tested. Pretty sure I can easily test on ARM on the Pi400 against a production copy at this point - too. There was a lot for me to learn about Citadel and Linux before I could get to this point, and a lot of other things going on while I was trying to get to this point, unfortunately - so I'm a little late to the game. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Wed May 12 2021 19:33:37 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>When you say "might be the one"...  </blockquote>
<br />...I mean it might be the one that fixes the issues s3cr3to was experiencing. <br />And it did! <br /><br />I'd like to see more testing before a production release, and there might be a few more packaging features to throw in to make the whole thing more manageable. But I would say we're definitely on our way there now, with the crash problems apparently solved. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264700</link><pubDate>Wed, 12 May 2021 19:34:34 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099264700@Uncensored</guid><description><![CDATA[ >Yes! it's working: Sending and receiving external mail.  
 >  
 >Can I delete the /usr/local/citadel folder to copy my backup and test  

 >the migration?  
  
 Awesome!  Yes, go ahead and delete anything you want.  I am finished testing
on your system.  Thank you for making it available. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264699</link><pubDate>Wed, 12 May 2021 19:33:37 +0500</pubDate><title>Message #2099264699</title><guid isPermaLink="false">2099264699@Uncensored</guid><description><![CDATA[ >When you say "might be the one"...   
  
 ...I mean it might be the one that fixes the issues s3cr3to was experiencing.
 And it did! 
  
 I'd like to see more testing before a production release, and there might
be a few more packaging features to throw in to make the whole thing more
manageable.  But I would say we're definitely on our way there now, with the
crash problems apparently solved. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264621</link><pubDate>Wed, 12 May 2021 12:17:24 +0500</pubDate><title>Re: citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099264621@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Art<br>
      <br>
      Yes! it's working: Sending and receiving external mail.<br>
    </font><br>
    <font face="Liberation Sans"><font face="Liberation Sans">Can I
        delete the /usr/local/citadel folder to copy my backup and test
        the migration?<br>
        <br>
        I guess I will have to re-edit my production domain and  in the
        configuration to be able to do tests<br>
        <br>
        I guess, after restoring I will have to edit the domain in
        production to use the test domain, but:<br>
      </font></font>
    <blockquote><font face="Liberation Sans"><font face="Liberation
          Sans"><img
            src="cid:part1.2EE4E38B.DBD9E704@uncensored.citadel.org"
            alt=""><br>
          It works, I can add more comma separated aliases.<br>
        </font></font></blockquote>
    <font face="Liberation Sans"><font face="Liberation Sans"><br>
      </font></font>
    <blockquote><b>Mail sent</b><font face="monospace"><br>
        Return-Path: <a class="moz-txt-link-abbreviated" href="mailto:t2@citadeltest.com">t2@citadeltest.com</a><br>
        To: <a class="moz-txt-link-abbreviated" href="mailto:z123citadel@goodserver.com">z123citadel@goodserver.com</a><br>
        Date: Wed, 12 May 2021 09:11:13 -0600<br>
        Subject: 1<br>
        Message-ID: <a class="moz-txt-link-rfc2396E" href="mailto:609BF011-0000002B@test.citadeltest.com">&lt;609BF011-0000002B@test.citadeltest.com&gt;</a><br>
        From: "abc" <a class="moz-txt-link-rfc2396E" href="mailto:t2@citadeltest.com">&lt;t2@citadeltest.com&gt;</a><br>
        Received: from test.citadeltest.com (customer-x-y-z-30.edited
        [x.y.z.30])<br>
            by em.goodserver.com; Wed, 12 May 2021 09:11:35 -0600<br>
        MIME-Version: 1.0<br>
        X-Mailer: WebCit 931<br>
        Content-type: multipart/alternative;
        boundary="Citadel--Multipart--test.citadeltest.com--1691--0006"<br>
        <br>
        <br>
        This is a multipart message in MIME format.<br>
        <br>
        --Citadel--Multipart--test.citadeltest.com--1691--0006<br>
        Content-type: text/plain; charset=utf-8<br>
        Content-Transfer-Encoding: quoted-printable<br>
        <br>
        1=0A<br>
        <br>
        --Citadel--Multipart--test.citadeltest.com--1691--0006<br>
        Content-type: text/html; charset=utf-8<br>
        Content-Transfer-Encoding: quoted-printable<br>
        <br>
        &lt;html&gt;&lt;body&gt;<br>
        <br>
        &lt;p&gt;1&lt;/p&gt;<br>
        &lt;/body&gt;&lt;/html&gt;<br>
        <br>
        --Citadel--Multipart--test.citadeltest.com--1691--0006--</font><br>
      <br>
      <b>Mail received</b><br>
      <font face="monospace">Return-Path: <a class="moz-txt-link-abbreviated" href="mailto:mine@goodserver.com">mine@goodserver.com</a><br>
        Date: Wed, 12 May 2021 10:04:38 -0600<br>
        To: abc <a class="moz-txt-link-rfc2396E" href="mailto:t2@citadeltest.com">&lt;t2@citadeltest.com&gt;</a><br>
        References: <a class="moz-txt-link-rfc2396E" href="mailto:609BF011-0000002B@test.citadeltest.com">&lt;609BF011-0000002B@test.citadeltest.com&gt;</a><br>
        Envelope-To: <a class="moz-txt-link-abbreviated" href="mailto:t2@citadeltest.com">t2@citadeltest.com</a><br>
        Subject: Re: 1<br>
        Message-ID:
        <a class="moz-txt-link-rfc2396E" href="mailto:f515baea-3f81-1af4-454f-2226c7566499@goodserver.com">&lt;f515baea-3f81-1af4-454f-2226c7566499@goodserver.com&gt;</a><br>
        From: "Mine" <a class="moz-txt-link-rfc2396E" href="mailto:mine@goodserver.com">&lt;mine@goodserver.com&gt;</a><br>
        Received: from em.goodserver.com (em.goodserver.com [x.y.z.21])<br>
            by test.citadeltest.com; Wed, 12 May 2021 10:04:40 -0600<br>
        Received: from [a.b.c.22] (customer-x-y-z-30.edited [x.y.z.30])
        [x.y.z.30])<br>
            by em.goodserver.com; Wed, 12 May 2021 10:04:38 -0600<br>
        Organization: Company<br>
        User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0)
        Gecko/20100101<br>
         Thunderbird/78.10.1<br>
        MIME-Version: 1.0<br>
        Content-Type: multipart/alternative;<br>
         boundary="------------192DA7A731C2E54AAFB68A12"<br>
        Content-Language: en-US</font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
      <br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 5/11/21 6:31 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:609B21F4-7D203BF8@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">    
 This might be the one!   
    
 [ <a class="moz-txt-link-freetext" href="http://easyinstall.citadel.org/citadel-1620778956-x86_64.appimage">http://easyinstall.citadel.org/citadel-1620778956-x86_64.appimage</a> ]   
    
 s3cr3to -- it's already installed on your VM, because I tested it there.
 Give it a try.  Also be aware that you can now invoke the appimage with "debug"
instead of "run" -- it will only run citserver (not webcit) but it will run
in the foreground with maximum debug logging level to the console.   
    
 I won't be bold enough to say "this is it, we got it" but on the test system
it made libcurl calls to both HTTP and SMTP without crashing.  Let's see if
this is the one!   
    
 And now for the technical discussion: I found a published list of libraries
which they suggest *not* packaging into an AppImage.  This was of course very
helpful.  I modified the build script to look for each library in this list,
and exclude them if found.  And it worked a treat on the very first try. 
 
  
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264537</link><pubDate>Wed, 12 May 2021 00:31:53 +0500</pubDate><title>Message #2099264537</title><guid isPermaLink="false">2099264537@Uncensored</guid><description><![CDATA[<html><body>

<p>When you say "might be the one"... <br /><br />Do you mean an official release candidate? Like, general distribution? </p>
<p>Or just a fix to the current issues? </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264504</link><pubDate>Tue, 11 May 2021 20:31:48 +0500</pubDate><title>citadel-1620778956-x86_64.appimage -- looks like it&#39;s working?</title><guid isPermaLink="false">2099264504@Uncensored</guid><description><![CDATA[    
 This might be the one!   
    
 [ http://easyinstall.citadel.org/citadel-1620778956-x86_64.appimage ]   
    
 s3cr3to -- it's already installed on your VM, because I tested it there.
 Give it a try.  Also be aware that you can now invoke the appimage with "debug"
instead of "run" -- it will only run citserver (not webcit) but it will run
in the foreground with maximum debug logging level to the console.   
    
 I won't be bold enough to say "this is it, we got it" but on the test system
it made libcurl calls to both HTTP and SMTP without crashing.  Let's see if
this is the one!   
    
 And now for the technical discussion: I found a published list of libraries
which they suggest *not* packaging into an AppImage.  This was of course very
helpful.  I modified the build script to look for each library in this list,
and exclude them if found.  And it worked a treat on the very first try. 
 
  
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264497</link><pubDate>Tue, 11 May 2021 20:21:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-639-g086b81cf5</title><guid isPermaLink="false">2099264497@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  086b81cf5feff29d057afbb4353210eca71edac2 (commit)
      from  35837c94bf87af75c35e8ceb1f1c55cc967e21aa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=086b81cf5feff29d057afbb4353210eca71edac2
commit 086b81cf5feff29d057afbb4353210eca71edac2
Author: Art Cancro <ajc@citadel.org>
Date:   Tue May 11 20:21:06 2021 -0400

    Try to use the published excludelist for libraries in the appimage

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh     |  16 ++-
 appimage/citadel.AppDir/AppRun |   4 +-
 appimage/excludelist           | 225 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 237 insertions(+), 8 deletions(-)
 create mode 100644 appimage/excludelist


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264267</link><pubDate>Mon, 10 May 2021 09:25:25 +0500</pubDate><title>Re: AppImage testing</title><guid isPermaLink="false">2099264267@Uncensored</guid><description><![CDATA[  
 I'm away on business travel this week, so there won't be a lot going on with
Citadel for a few days.  Keep that VM running if you are able, and I will
poke in and test things when I can. 
  
 We have determined that the main problem, as suspected, is that the server
crashes whenever it makes a call to libcurl.  It doesn't have to be while
sending email; it could be RSS fetching, POP3 fetching, anything that invokes
libcurl makes the server crash.   This also means it's easier to test; just
configure a room to pick up an RSS feed and watch it go. 
  
 We'll get this.  It's just going to take some figuring out.  Probably a custom
build of libcurl in the AppImage or something like that. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264122</link><pubDate>Sat, 08 May 2021 19:19:23 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-638-g35837c94b</title><guid isPermaLink="false">2099264122@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  35837c94bf87af75c35e8ceb1f1c55cc967e21aa (commit)
       via  61821d8de88d86558bd0fde7138952bfb538e466 (commit)
      from  a4889715724de08aca6ff61df5250b5b74e43a1c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=35837c94bf87af75c35e8ceb1f1c55cc967e21aa
commit 35837c94bf87af75c35e8ceb1f1c55cc967e21aa
Merge: 61821d8de a48897157
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 8 19:19:16 2021 -0400

    ZZMerge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit a4889715724de08aca6ff61df5250b5b74e43a1c
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 8 18:37:38 2021 -0400

    Added undocumented mount and debug modes to the appimage

http://code.citadel.org/?p=citadel.git&a=commit&h=61821d8de88d86558bd0fde7138952bfb538e466
commit 61821d8de88d86558bd0fde7138952bfb538e466
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 8 19:19:04 2021 -0400

    arrgh

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264119</link><pubDate>Sat, 08 May 2021 19:06:42 +0500</pubDate><title>AppImage testing</title><guid isPermaLink="false">2099264119@Uncensored</guid><description><![CDATA[<html><body>

<p>@s3cr3to</p>
<p>We're making progress.  I was unable to get the debugger working from within the AppImage, but I was able to run some other tests.</p>
<p>For example, even on a fresh database with no email sent, I found that if I set up an RSS feed, it would also crash when it goes to pull that feed.  This means it's having problems with libcurl.  We do both of those functions with libcurl.  So let's see what local libraries are being used:</p>
<pre>root@em2:/tmp/.mount_citade5J89SS/usr/local/citadel# ldd ./citserver  | grep -v mount
linux-vdso.so.1 (0x00007ffd6c7f1000)
libresolv.so.2 =&gt; /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f05e23ab000)
libpthread.so.0 =&gt; /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f05e1aba000)
libc.so.6 =&gt; /lib/x86_64-linux-gnu/libc.so.6 (0x00007f05e0be6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f05e23cc000)
</pre>
<p>Sure enough ... libresolv is being loaded from the host system, not from the AppImage.  So it looks like there's a conflict somewhere that needs to be "resolved" (heh).    Working on it now...</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264115</link><pubDate>Sat, 08 May 2021 18:37:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-636-ga48897157</title><guid isPermaLink="false">2099264115@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a4889715724de08aca6ff61df5250b5b74e43a1c (commit)
      from  726b17052194381cb213317808ccba1f41194285 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a4889715724de08aca6ff61df5250b5b74e43a1c
commit a4889715724de08aca6ff61df5250b5b74e43a1c
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 8 18:37:38 2021 -0400

    Added undocumented mount and debug modes to the appimage

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh     |  4 ++--
 appimage/citadel.AppDir/AppRun | 15 +++++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264112</link><pubDate>Sat, 08 May 2021 18:24:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-635-g726b17052</title><guid isPermaLink="false">2099264112@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  726b17052194381cb213317808ccba1f41194285 (commit)
      from  2bcc04fb3970e08d95704cd67ca6c3d30d9c9ea0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=726b17052194381cb213317808ccba1f41194285
commit 726b17052194381cb213317808ccba1f41194285
Author: Art Cancro <ajc@citadel.org>
Date:   Sat May 8 18:24:12 2021 -0400

    Removed the backtrace stuff.  It wasn't producing traces that were useful.

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c  |  4 +---
 citadel/citserver.c   |  1 -
 citadel/citserver.h   |  1 -
 citadel/server_main.c |  6 +-----
 citadel/sysdep.c      | 29 +----------------------------
 5 files changed, 3 insertions(+), 38 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099264001</link><pubDate>Fri, 07 May 2021 17:34:31 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099264001@Uncensored</guid><description><![CDATA[Oh ... I should have thought of that.  Instead of sending the VM, you can
just let me log in to it remotely.  Why didn't I think of that? 
  
 That will be fine, and I will make an effort to give it a try this weekend.

  
 I will probably do something like this: mount the AppImage by hand, jump
into it and set the PATH and LD_LIBRARY_PATH, then run citserver inside the
debugger. 
  
 If necessary, may I download a new version of the AppImage, or do you have
bandwidth restrictions? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263990</link><pubDate>Fri, 07 May 2021 15:20:31 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263990@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Hi Art<br>
      <br>
      In a following private mail, I will send you the data of this VM
      so you can try it (of course, it is with "run") for sure if you
      try to send mails from it it will fail.<br>
      If you let me know, I could leave it installed (with install) for
      further testing.<br>
      <br>
      I managed to get the DMZ working (more or less) and I can now
      access the VM from the Internet; I even configured my DNS to have
      one of our domains.<br>
      And finally I managed to send mails from the console using my
      production mail, for some strange reason if I try using Thundebird
      or webcit I get this message "DNS server returned answer with no
      data".<br>
      <br>
    </font>Notes:<br>
    <ul>
      <li><b><a class="moz-txt-link-abbreviated" href="mailto:xyz@good.server.com">xyz@good.server.com</a></b> is edited, I use my real email for
        testing.</li>
      <li><b><a class="moz-txt-link-abbreviated" href="mailto:admin@test.citadel.com">admin@test.citadel.com</a></b> is edited, it was a real domain
        fqdn.<br>
      </li>
    </ul>
    <font face="Liberation Sans"><font face="Liberation Sans"><font
          face="monospace"><font face="Liberation Sans">Here is the
            result of my successful test.</font></font></font></font>
    <blockquote><font face="Liberation Sans"><font face="monospace"><span
            class="postbody"><span style="font-weight: bold"><span
                style="color: darkblue">Checking the SMTP server</span></span></span>
          (from my Citadel mail server using root)<br>
          <br>
          #telnet xxx.yyy.zzz.27 25<br>
          <br>
          helo xyz.</font></font><font face="Liberation Sans"><font
          face="monospace"><font face="Liberation Sans"><font
              face="monospace">good.server.com</font></font><br>
          mail from: <a class="moz-txt-link-abbreviated" href="mailto:xyz@good.server.com">xyz@good.server.com</a><br>
          rcpt to: <a class="moz-txt-link-abbreviated" href="mailto:admin@test.citadel.com">admin@test.citadel.com</a><br>
          <br>
          data<br>
          <br>
          Date: 7 May 21 12:57:00<br>
          Subject: test email from SMTP #2<br>
          This is a test mail from the SMTP server</font><br>
        .</font><br>
    </blockquote>
    <font face="Liberation Sans">The Syslog<br>
    </font>
    <blockquote><font face="monospace">May  7 12:58:04 em2
        citserver[560]: sysdep: new client socket 39<br>
        May  7 12:58:04 em2 citserver[560]: context: session (SMTP-MTA)
        started from good.server.com (xxx.yyy.zzz.21) uid=-1<br>
        May  7 12:58:25 em2 citserver[560]: [abc(2)] NOOP<br>
        May  7 12:58:25 em2 citserver[560]: [admin(1)] NOOP<br>
        May  7 12:58:28 em2 citserver[560]: serv_smtp: client sent
        command &lt;helo xyz.</font><font face="monospace"><font
          face="Liberation Sans"><font face="monospace"><font
              face="Liberation Sans"><font face="monospace">good.server.com</font></font></font></font>&gt;<br>
        May  7 12:58:43 em2 citserver[560]: smtpclient: start queue run<br>
        May  7 12:58:43 em2 citserver[560]: smtpclient: end queue run<br>
        May  7 12:58:43 em2 citserver[560]: rssclient: polling interval
        not yet reached; last run was 14m14s ago<br>
        May  7 12:58:43 em2 citserver[560]: db: -- checkpoint --<br>
        May  7 12:58:43 em2 citserver[560]: original_brk=130f000,
        current_brk=130f000, addl=0<br>
        May  7 12:58:46 em2 citserver[560]: serv_smtp: client sent
        command &lt;mail from: <a class="moz-txt-link-abbreviated" href="mailto:xyz@good.server.com">xyz@good.server.com</a>&gt;<br>
        May  7 12:58:46 em2 citserver[560]: serv_smtp: claimed envelope
        sender is 'from: <a class="moz-txt-link-abbreviated" href="mailto:xyz@good.server.com">xyz@good.server.com</a>' == 'from: xyz' @ '</font><font
        face="monospace"><font face="Liberation Sans"><font
            face="monospace"><font face="Liberation Sans"><font
                face="monospace">good.server.com</font></font></font></font>'
        ('from: xyz')<br>
        May  7 12:58:54 em2 citserver[560]: serv_smtp: client sent
        command &lt;rcpt to: <a class="moz-txt-link-abbreviated" href="mailto:admin@test.citadel.com">admin@test.citadel.com</a>&gt;<br>
        May  7 12:58:54 em2 citserver[560]: rbl: xxx.yyy.zzz.21
        [0.000040] none found<br>
        May  7 12:58:54 em2 citserver[560]: internet_addressing:
        evaluating recipient #0: <a class="moz-txt-link-abbreviated" href="mailto:admin@test.citadel.com">admin@test.citadel.com</a><br>
        May  7 12:58:54 em2 citserver[560]: internet_addressing:
        directory key is <a class="moz-txt-link-rfc2396E" href="mailto:admin@test.citadel.com">&lt;admin@test.citadel.com&gt;</a><br>
        May  7 12:58:54 em2 citserver[560]: internet_addressing:
        <a class="moz-txt-link-abbreviated" href="mailto:admin@test.citadel.com">admin@test.citadel.com</a> is being forwarded to admin<br>
        May  7 12:58:54 em2 citserver[560]: internet_addressing:
        validate_recipients() = 1 local, 0 room, 0 SMTP, 0 error<br>
        May  7 12:58:55 em2 citserver[560]: [abc(2)] NOOP<br>
        May  7 12:58:55 em2 citserver[560]: [admin(1)] NOOP<br>
        May  7 12:58:59 em2 citserver[560]: serv_smtp: client sent
        command &lt;data&gt;<br>
        May  7 12:59:16 em2 citserver[560]: serv_smtp: converting
        message...<br>
        May  7 12:59:16 em2 citserver[560]: internet_addressing:
        evaluating recipient #0: <a class="moz-txt-link-abbreviated" href="mailto:admin@test.citadel.com">admin@test.citadel.com</a><br>
        May  7 12:59:16 em2 citserver[560]: internet_addressing:
        directory key is <a class="moz-txt-link-rfc2396E" href="mailto:admin@test.citadel.com">&lt;admin@test.citadel.com&gt;</a><br>
        May  7 12:59:16 em2 citserver[560]: internet_addressing:
        <a class="moz-txt-link-abbreviated" href="mailto:admin@test.citadel.com">admin@test.citadel.com</a> is being forwarded to admin<br>
        May  7 12:59:16 em2 citserver[560]: internet_addressing:
        validate_recipients() = 1 local, 0 room, 0 SMTP, 0 error<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: CtdlSubmitMsg()
        called<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: selected room<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: final selection:
        Sent Items ()<br>
        May  7 12:59:16 em2 citserver[560]: room_ops:  : 0 new of 0
        total messages, oldest=0, newest=0<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: performing
        before-save hooks<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: saving to disk<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: creating metadata
        record<br>
        May  7 12:59:16 em2 citserver[560]: msgbase:
        CtdlOutputPreLoadedMsg(TheMessage=not null, 1, 0, 0, 1<br>
        May  7 12:59:16 em2 citserver[560]: internet_addressing:
        qp_encode_email_addrs <a class="moz-txt-link-rfc2396E" href="mailto:admin@test.citadel.com">&lt;admin@test.citadel.com&gt;</a><br>
        May  7 12:59:16 em2 citserver[560]: msgbase: storing pointers<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: updating user<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: delivering private
        local mail to &lt;admin&gt;<br>
        May  7 12:59:16 em2 citserver[560]: msgbase:
        CtdlSaveMsgPointersInRoom(room=0000000001.Mail, num_msgs=1,
        repl=0, suppress_rca=0)<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: 1 unique messages
        to be merged<br>
        May  7 12:59:16 em2 citserver[560]: msgbase:
        CtdlSaveMsgPointerInRoom() skips repl checks<br>
        May  7 12:59:16 em2 citserver[560]: extensions: performing room
        hooks for &lt;0000000001.Mail&gt;<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: AdjRefCount() msg
        12 ref count delta +1, is now 1<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: performing
        after-save hooks<br>
        May  7 12:59:16 em2 citserver[560]: msgbase: returning to
        original room<br>
        May  7 12:59:16 em2 citserver[560]: 12: from=&lt;from:
        <a class="moz-txt-link-abbreviated" href="mailto:xyz@good.server.com">xyz@good.server.com</a>&gt;, nrcpts=1, relay=good.server.com
        [xxx.yyy.zzz.21], stat=250 Message accepted.#015<br>
        May  7 12:59:16 em2 citserver[560]: user_ops: 1 maps to admin<br>
        May  7 12:59:19 em2 citserver[560]: serv_smtp: client sent
        command &lt;Quit&gt;<br>
        May  7 12:59:19 em2 citserver[560]: context:
        dead_session_purge() purging session 21, reason=2<br>
        May  7 12:59:19 em2 citserver[560]: context:
        RemoveContext(SMTP-MTA) session 21<br>
        May  7 12:59:19 em2 citserver[560]: user_ops: CtdlUserLogout()
        logging out &lt;(not logged in)&gt; from session 21<br>
        May  7 12:59:19 em2 citserver[560]: xmpp: xmpp_queue_event(1, )<br>
        May  7 12:59:19 em2 citserver[560]: Performing SMTP cleanup hook<br>
        May  7 12:59:19 em2 citserver[560]: sysdep: closing socket 39<br>
        May  7 12:59:19 em2 citserver[560]: context: [ 21]SRV[SMTP-MTA]
        Session ended.<br>
        May  7 12:59:19 em2 citserver[560]: context: done with
        RemoveContext()<br>
        May  7 12:59:25 em2 citserver[560]: [abc(2)] NOOP<br>
        May  7 12:59:25 em2 citserver[560]: [admin(1)] NOOP<br>
        May  7 12:59:44 em2 citserver[560]: listdeliver: sweep started<br>
        May  7 12:59:44 em2 citserver[560]: listdeliver: ended<br>
        May  7 12:59:44 em2 citserver[560]: smtpclient: start queue run<br>
        May  7 12:59:44 em2 citserver[560]: smtpclient: end queue run<br>
        May  7 12:59:44 em2 citserver[560]: rssclient: started<br>
        May  7 12:59:44 em2 citserver[560]: rssclient: ended<br>
        May  7 12:59:44 em2 citserver[560]: db: -- checkpoint --<br>
        May  7 12:59:44 em2 citserver[560]: original_brk=130f000,
        current_brk=130f000, addl=0<br>
        May  7 12:59:55 em2 citserver[560]: [abc(2)] NOOP<br>
        May  7 12:59:55 em2 citserver[560]: [admin(1)] NOOP</font><br>
    </blockquote>
    <font face="Liberation Sans">The email arrives but I can't read
      directly on webcit<br>
    </font>
    <blockquote><img moz-do-not-send="false"
        src="cid:part1.95C28A9A.8E5D37C0@uncensored.citadel.org" alt=""
        width="768" height="304" border="1"><br>
    </blockquote>
    <font face="Liberation Sans"><br>
      <br>
      Regards<br>
    </font><br>
    <div class="moz-cite-prefix">On 5/2/21 3:20 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:608F178E-7D2036C3@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 Check <a class="moz-txt-link-freetext" href="https://www.citadel.org/appimage.html">https://www.citadel.org/appimage.html</a> for new AppImage builds. 
  
 This one doesn't *fix* any server crashes, but when the server does crash
it will save a backtrace in /tmp that you can upload here, so we can figure
out what's going wrong. 
  
 Hopefully.  :) 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263979</link><pubDate>Fri, 07 May 2021 14:31:23 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263979@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Thank you Paranoid!<br>
      <br>
      Actually my problem is that I made the VM very large (500Gb); and
      although I cloned it I expected it to reduce in size when cloning,
      it did not.<br>
      I have previously pulled the VM from Proxmox as an emergency
      backup. <br>
      <br>
      I will have to make the VM again with a smaller size and learn how
      to increase the size of the partition from Linux; increasing the
      size is easy in Proxmox, but only once I did it already inside
      from a VM.<br>
      <br>
      Regards<br>
    </font><br>
    <div class="moz-cite-prefix">On 5/6/21 8:56 AM, ParanoidDelusions
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:609403BA-7D20393B@uncensored.citadel.org">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>This is pretty trivial to do... I was able to clone the whole
        VM to a NAS, then copy it to a different PVE node - and I'm sure
        I'm not as good at this as you are. <br>
        <br>
        I can figure out exactly how I did it, if you run into problems,
        and document it here. </p>
      <p> </p>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263803</link><pubDate>Thu, 06 May 2021 10:56:58 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263803@Uncensored</guid><description><![CDATA[<html><body>

<p>This is pretty trivial to do... I was able to clone the whole VM to a NAS, then copy it to a different PVE node - and I'm sure I'm not as good at this as you are. <br /><br />I can figure out exactly how I did it, if you run into problems, and document it here. </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263733</link><pubDate>Wed, 05 May 2021 18:01:23 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263733@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">I need to learn how to clone the VM the
      current snapshot and see if I can get it out of storage (NAS).<br>
      I guess it would work for you with the selected Format.<br>
      I would also have to try to upload it where you indicate at night.<br>
      Or devise some way to do so, due to certain restrictions on my
      side.<br>
      <br>
      <br>
      <img src="cid:part1.B39A213E.FF66F296@uncensored.citadel.org"
        alt=""><br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 5/5/21 2:18 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6092FDA9-7D2038E8@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">Dammit.  It's showing the backtrace of an idle thread, not the thread that
crashed. 
  
 I don't suppose you have enough bandwidth to simply upload the entire VM?

 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263720</link><pubDate>Wed, 05 May 2021 16:18:49 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263720@Uncensored</guid><description><![CDATA[Dammit.  It's showing the backtrace of an idle thread, not the thread that
crashed. 
  
 I don't suppose you have enough bandwidth to simply upload the entire VM?

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263716</link><pubDate>Wed, 05 May 2021 16:07:07 +0500</pubDate><title>Message #2099263716</title><guid isPermaLink="false">2099263716@Uncensored</guid><description><![CDATA[<html><body>

<p>Something strange going on in the LAST page of this room. <br /><br /><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB38AAAQUCAYAAAB5+tMaAAAgAElEQVR4Aey9B5getbk97tz//eXeC4QSEgiEYsBAaEkgkEsCJKRcCCSBVEIn2Nhg7FBMB4MBg00MbhhMb+4V9967jXHFva+97oW1d9d1vef/vJrRjKRv5mv7fdt85nlmp0h69eroSKNvzkpTB9yIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSgxiNQp8aXgAUgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABUPwlCXKKQFlZGfbtP4CSvXuxp6QUu4tLuBMDcoAcIAfIAXKAHCAHyAFygBwgB8gBcoAcIAfIAXKAHCAHyAFygByoFhwQ7UI0DNEyRNPgRgRqGwIUf2tbjVZReQ4cPESxlw/uavHg5j8c8B8uyAFygBwgB8gBcoAcIAfIAXKAHCAHyAFygBwgB8gBcoAcIAfS5YCIwaJxcCMCtQUBir+1pSarqBwHDx1CMWf41lzRc09xzfWdYjvrjhwgB8gBcoAcIAfIAXKAHCAHyAFygBwgB8gBcoAcIAfIgdrFgSp8Zy1ah2ge3IhATUeA4m9Nr8Eq9F86wXT/c4bxquF/We2phj5xoMY2RQ6QA+QAOUAOkAPkADlADpAD5AA5QA6QA+QAOUAOkAPkwJHNgSp+d33oEJeCrkLpKW9Zl5UdxJbCFZg8phd6vv8C2r7cGG+2fQodX22GsYO6omDNYpSV1Q7xn+Jv3mhUuw1L50dBl+IpOUAOkAPkADlADpAD5AA5QA6QA+QAOUAOkAPkADlADpAD5AA5QA7UNg5wBnDt0bjKy8tRsPYrvPjkHbjxV5fh/Hqn4sJ6p+N3V12OO
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263674</link><pubDate>Wed, 05 May 2021 11:03:54 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263674@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">I don't know if it is useful:<br>
      <br>
    </font>
    <blockquote><font face="Liberation Sans"><font face="monospace"># ls
          -l /lib/x86_64-linux-gnu/libc.so.6</font></font><br>
      <font face="Liberation Sans"><font face="monospace">lrwxrwxrwx 1
          root root 12 May  1  2019 /lib/x86_64-linux-gnu/libc.so.6
          -&gt; libc-2.28.so</font></font><br>
    </blockquote>
    <br>
    <div class="moz-cite-prefix">On 5/5/21 8:58 AM, s3cr3to wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:f9feca0d-9796-7d01-ec79-0dec5783247c@uncensored.citadel.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><b>citserver-backtrace.487</b>:</p>
      <style type="text/css">p, li { white-space: pre-wrap; }</style><br>
      <blockquote><font face="monospace">/lib/x86_64-linux-gnu/libc.so.6(+0x37840)
          [0x7f88a4c77840]</font><br>
        <font face="monospace">/lib/x86_64-linux-gnu/libc.so.6(nanosleep+0x40)
          [0x7f88a4d06720]</font><br>
        <font face="monospace">/lib/x86_64-linux-gnu/libc.so.6(usleep+0x44)
          [0x7f88a4d31874]</font><br>
        <font face="monospace">citserver(go_threading+0x3a) [0x43267a]</font><br>
        <font face="monospace">citserver(main+0x500) [0x417870]</font><br>
        <font face="monospace">/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb)
          [0x7f88a4c6409b]</font><br>
        <font face="monospace">citserver(_start+0x29) [0x417ae9]</font><br>
      </blockquote>
      <br>
      ...<br>
      <blockquote><font face="monospace">#
          ./citadel-1619988875-x86_64.appimage run<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadeSVGmnd/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_citadeSVGmnd/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_citadeSVGmnd<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: citserver running on pid=544<br>
          ctdlvisor: webcit (HTTP) running on pid=545<br>
          ctdlvisor: webcit (HTTPS) running on pid=546<br>
          ctdlvisor: executing
          /tmp/.mount_citadeSVGmnd/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_citadeSVGmnd/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: executing
          /tmp/.mount_citadeSVGmnd/usr/local/webcit/webcit<br>
          ctdlvisor: pid=544 exited, status=139, exitcode=0<br>
          ctdlvisor: citserver crashed on signal 11<br>
          ctdlvisor: citserver running on pid=567<br>
          ctdlvisor: executing
          /tmp/.mount_citadeSVGmnd/usr/local/citadel/citserver with data
          directory /usr/local/citadel</font><br>
      </blockquote>
      <br>
      <br>
      <br>
      <br>
      <div class="moz-cite-prefix">On 5/4/21 12:46 PM, IGnatius T Foobar
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:609196A3-7D203811@uncensored.citadel.org">
        <pre class="moz-quote-pre" wrap="">Ok, good.  Now look in /tmp and see if there are any files in /tmp that begin
with "citserver-backtrace".  Please post their contents or upload them somewhere.

 
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263669</link><pubDate>Wed, 05 May 2021 10:58:52 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263669@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
</p>
    <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><b>citserver-backtrace.487</b>:</p>
    <style type="text/css">p, li { white-space: pre-wrap; }</style><br>
    <blockquote><font face="monospace">/lib/x86_64-linux-gnu/libc.so.6(+0x37840)
        [0x7f88a4c77840]</font><br>
      <font face="monospace">/lib/x86_64-linux-gnu/libc.so.6(nanosleep+0x40)
        [0x7f88a4d06720]</font><br>
      <font face="monospace">/lib/x86_64-linux-gnu/libc.so.6(usleep+0x44)
        [0x7f88a4d31874]</font><br>
      <font face="monospace">citserver(go_threading+0x3a) [0x43267a]</font><br>
      <font face="monospace">citserver(main+0x500) [0x417870]</font><br>
      <font face="monospace">/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb)
        [0x7f88a4c6409b]</font><br>
      <font face="monospace">citserver(_start+0x29) [0x417ae9]</font><br>
    </blockquote>
    <br>
    ...<br>
    <blockquote><font face="monospace">#
        ./citadel-1619988875-x86_64.appimage run<br>
        ctdlvisor: Welcome to the Citadel System, brought to you using
        AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadeSVGmnd/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_citadeSVGmnd/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_citadeSVGmnd<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: citserver running on pid=544<br>
        ctdlvisor: webcit (HTTP) running on pid=545<br>
        ctdlvisor: webcit (HTTPS) running on pid=546<br>
        ctdlvisor: executing
        /tmp/.mount_citadeSVGmnd/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_citadeSVGmnd/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: executing
        /tmp/.mount_citadeSVGmnd/usr/local/webcit/webcit<br>
        ctdlvisor: pid=544 exited, status=139, exitcode=0<br>
        ctdlvisor: citserver crashed on signal 11<br>
        ctdlvisor: citserver running on pid=567<br>
        ctdlvisor: executing
        /tmp/.mount_citadeSVGmnd/usr/local/citadel/citserver with data
        directory /usr/local/citadel</font><br>
    </blockquote>
    <br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 5/4/21 12:46 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:609196A3-7D203811@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">Ok, good.  Now look in /tmp and see if there are any files in /tmp that begin
with "citserver-backtrace".  Please post their contents or upload them somewhere.

 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263505</link><pubDate>Tue, 04 May 2021 14:46:59 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263505@Uncensored</guid><description><![CDATA[Ok, good.  Now look in /tmp and see if there are any files in /tmp that begin
with "citserver-backtrace".  Please post their contents or upload them somewhere.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263500</link><pubDate>Tue, 04 May 2021 14:30:47 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263500@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">After a reboot it can't run<br>
      <br>
    </font>
    <blockquote>As root:<br>
      <font face="Liberation Sans"><font face="monospace"><font
            face="Liberation Sans"><font face="monospace"># uptime<br>
              12:25:29 up 0 min,  2 users,  load average: 0.00, 0.00,
              0.00<br>
              <br>
            </font></font># ls -l</font></font><br>
      <font face="Liberation Sans"><font face="monospace">total 10392</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rwxr-xr-x 1
          root root 10641384 May  2 15:05
          citadel-1619988875-x86_64.appimage</font></font><br>
      <font face="Liberation Sans"><font face="monospace"><br>
          # ./citadel-1619988875-x86_64.appimage run</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          Welcome to the Citadel System, brought to you using AppImage.</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          LD_LIBRARY_PATH = /tmp/.mount_citadewfMrsn/usr/lib</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:           
          PATH = /tmp/.mount_citadewfMrsn/usr/bin</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:         
          APPDIR = /tmp/.mount_citadewfMrsn</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor: 
          data directory = /usr/local/citadel</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:      
          HTTP port = 80</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:     
          HTTPS port = 443</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          citserver running on pid=424</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          webcit (HTTP) running on pid=425</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          webcit (HTTPS) running on pid=426</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          executing /tmp/.mount_citadewfMrsn/usr/local/webcit/webcit</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          executing /tmp/.mount_citadewfMrsn/usr/local/webcit/webcit</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          executing /tmp/.mount_citadewfMrsn/usr/local/citadel/citserver
          with data directory /usr/local/citadel</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          pid=424 exited, status=26880, exitcode=105</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          citserver exited intentionally - ending AppImage session</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          pid=425 exited, status=15, exitcode=0</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          pid=426 exited, status=15, exitcode=0</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          pid=-1 exited, status=15, exitcode=0</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          exit code 105<br>
          <br>
          <br>
        </font></font>As administrador with sudo:<font face="Liberation
        Sans"><font face="monospace"><br>
          $ sudo ./citadel-1619988875-x86_64.appimage run<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citade9UHd8d/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_citade9UHd8d/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_citade9UHd8d<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: citserver running on pid=413<br>
          ctdlvisor: executing
          /tmp/.mount_citade9UHd8d/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: webcit (HTTP) running on pid=414<br>
          ctdlvisor: executing
          /tmp/.mount_citade9UHd8d/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_citade9UHd8d/usr/local/webcit/webcit<br>
          ctdlvisor: webcit (HTTPS) running on pid=415<br>
          ctdlvisor: pid=413 exited, status=26880, exitcode=105<br>
          ctdlvisor: citserver exited intentionally - ending AppImage
          session<br>
          ctdlvisor: pid=414 exited, status=15, exitcode=0<br>
          ctdlvisor: pid=415 exited, status=15, exitcode=0<br>
          ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
          ctdlvisor: exit code 105<br>
          <br>
        </font></font></blockquote>
    <font face="Liberation Sans">I had to delete the entire directory to
      be able to use it again.<br>
      <br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 5/4/21 12:23 PM, s3cr3to wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:45df6c15-7c91-50ac-4653-f72ad43f631b@uncensored.citadel.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <font face="Liberation Sans">When trying to send an external mail
        the app crashes.; then I try to run the app again and it does
        not start.<br>
        <br>
      </font>
      <blockquote><font face="monospace">./citadel-1619988875-x86_64.appimage
          run<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadee2euCe/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_citadee2euCe/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_citadee2euCe<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: citserver running on pid=559<br>
          ctdlvisor: webcit (HTTP) running on pid=560<br>
          ctdlvisor: executing
          /tmp/.mount_citadee2euCe/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: webcit (HTTPS) running on pid=561<br>
          ctdlvisor: executing
          /tmp/.mount_citadee2euCe/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_citadee2euCe/usr/local/webcit/webcit<br>
          ctdlvisor: pid=559 exited, status=139, exitcode=0<br>
          ctdlvisor: citserver crashed on signal 11<br>
          ctdlvisor: citserver running on pid=577<br>
          ctdlvisor: executing
          /tmp/.mount_citadee2euCe/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: pid=577 exited, status=26880, exitcode=105<br>
          ctdlvisor: citserver exited intentionally - ending AppImage
          session<br>
          ctdlvisor: pid=560 exited, status=15, exitcode=0<br>
          ctdlvisor: pid=561 exited, status=15, exitcode=0<br>
          ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
          ctdlvisor: exit code 105</font><br>
        <br>
        <b>:: I try to run the app again and it does not start.</b><br>
        <br>
        <font face="monospace"># ./citadel-1619988875-x86_64.appimage
          run<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadeY1BsAm/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_citadeY1BsAm/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_citadeY1BsAm<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: citserver running on pid=585<br>
          ctdlvisor: webcit (HTTP) running on pid=586<br>
          ctdlvisor: executing
          /tmp/.mount_citadeY1BsAm/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: webcit (HTTPS) running on pid=587<br>
          ctdlvisor: executing
          /tmp/.mount_citadeY1BsAm/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_citadeY1BsAm/usr/local/webcit/webcit<br>
          ctdlvisor: pid=585 exited, status=26880, exitcode=105<br>
          ctdlvisor: citserver exited intentionally - ending AppImage
          session<br>
          ctdlvisor: pid=586 exited, status=15, exitcode=0<br>
          ctdlvisor: pid=587 exited, status=15, exitcode=0<br>
          ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
          ctdlvisor: exit code 105<br>
          <br>
          # ./citadel-1619988875-x86_64.appimage run<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadexElO0t/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_citadexElO0t/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_citadexElO0t<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: citserver running on pid=595<br>
          ctdlvisor: executing
          /tmp/.mount_citadexElO0t/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: webcit (HTTP) running on pid=596<br>
          ctdlvisor: webcit (HTTPS) running on pid=597<br>
          ctdlvisor: executing
          /tmp/.mount_citadexElO0t/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_citadexElO0t/usr/local/webcit/webcit<br>
          ctdlvisor: pid=595 exited, status=26880, exitcode=105<br>
          ctdlvisor: citserver exited intentionally - ending AppImage
          session<br>
          ctdlvisor: pid=596 exited, status=15, exitcode=0<br>
          ctdlvisor: pid=597 exited, status=15, exitcode=0<br>
          ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
          ctdlvisor: exit code 105<br>
        </font></blockquote>
      <font face="monospace"><br>
        I have already checked that it is not running.<br>
      </font>
      <blockquote><font face="monospace"># ls -la /usr/local/citadel<br>
          total 3284<br>
          drwxr-xr-x  6 root root    4096 May  4 12:17 .<br>
          drwxr-xr-x 11 root root    4096 Apr 14 14:06 ..<br>
          srwx------  1 root root       0 May  4 12:14
          citadel-admin.socket<br>
          -rw-rw-rw-  1 root root       0 May  4 12:18 citadel.lock<br>
          srwxrwsrwx  1 root root       0 May  4 12:14 citadel.socket<br>
          -rw-------  1 root root 5980160 May  4 12:17 core<br>
          drwx------  2 root root    4096 May  4 12:14 data<br>
          drwx------  2 root root    4096 May  4 12:14 files<br>
          drwx------  2 root root    4096 May  4 12:14 keys<br>
          srwxrwsrwx  1 root root       0 May  4 12:14 lmtp.socket<br>
          srwxrwsrwx  1 root root       0 May  4 12:14
          lmtp-unfiltered.socket<br>
          drwx------  2 root root    4096 May  4 12:14 messages<br>
          <br>
          # ps -eaf|grep cit<br>
          root       602   512  0 12:21 pts/0    00:00:00 grep cit<br>
          <br>
          # ./citadel-1619988875-x86_64.appimage test<br>
          /tmp/.mount_citademu6Kac/usr/local/citadel/citserver: binary
          compatibility confirmed<br>
          <br>
        </font></blockquote>
      <font face="Liberation Sans"><br>
      </font><br>
      <div class="moz-cite-prefix">On 5/2/21 3:20 PM, IGnatius T Foobar
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:608F178E-7D2036C3@uncensored.citadel.org">
        <pre class="moz-quote-pre" wrap="">  
 Check <a class="moz-txt-link-freetext" href="https://www.citadel.org/appimage.html" moz-do-not-send="true">https://www.citadel.org/appimage.html</a> for new AppImage builds. 
  
 This one doesn't *fix* any server crashes, but when the server does crash
it will save a backtrace in /tmp that you can upload here, so we can figure
out what's going wrong. 
  
 Hopefully.  :) 
 
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263496</link><pubDate>Tue, 04 May 2021 14:23:37 +0500</pubDate><title>Re: May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263496@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">When trying to send an external mail
      the app crashes.; then I try to run the app again and it does not
      start.<br>
      <br>
    </font>
    <blockquote><font face="monospace">./citadel-1619988875-x86_64.appimage
        run<br>
        ctdlvisor: Welcome to the Citadel System, brought to you using
        AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadee2euCe/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_citadee2euCe/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_citadee2euCe<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: citserver running on pid=559<br>
        ctdlvisor: webcit (HTTP) running on pid=560<br>
        ctdlvisor: executing
        /tmp/.mount_citadee2euCe/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: webcit (HTTPS) running on pid=561<br>
        ctdlvisor: executing
        /tmp/.mount_citadee2euCe/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_citadee2euCe/usr/local/webcit/webcit<br>
        ctdlvisor: pid=559 exited, status=139, exitcode=0<br>
        ctdlvisor: citserver crashed on signal 11<br>
        ctdlvisor: citserver running on pid=577<br>
        ctdlvisor: executing
        /tmp/.mount_citadee2euCe/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: pid=577 exited, status=26880, exitcode=105<br>
        ctdlvisor: citserver exited intentionally - ending AppImage
        session<br>
        ctdlvisor: pid=560 exited, status=15, exitcode=0<br>
        ctdlvisor: pid=561 exited, status=15, exitcode=0<br>
        ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
        ctdlvisor: exit code 105</font><br>
      <br>
      <b>:: I try to run the app again and it does not start.</b><br>
      <br>
      <font face="monospace"># ./citadel-1619988875-x86_64.appimage run<br>
        ctdlvisor: Welcome to the Citadel System, brought to you using
        AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadeY1BsAm/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_citadeY1BsAm/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_citadeY1BsAm<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: citserver running on pid=585<br>
        ctdlvisor: webcit (HTTP) running on pid=586<br>
        ctdlvisor: executing
        /tmp/.mount_citadeY1BsAm/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: webcit (HTTPS) running on pid=587<br>
        ctdlvisor: executing
        /tmp/.mount_citadeY1BsAm/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_citadeY1BsAm/usr/local/webcit/webcit<br>
        ctdlvisor: pid=585 exited, status=26880, exitcode=105<br>
        ctdlvisor: citserver exited intentionally - ending AppImage
        session<br>
        ctdlvisor: pid=586 exited, status=15, exitcode=0<br>
        ctdlvisor: pid=587 exited, status=15, exitcode=0<br>
        ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
        ctdlvisor: exit code 105<br>
        <br>
        # ./citadel-1619988875-x86_64.appimage run<br>
        ctdlvisor: Welcome to the Citadel System, brought to you using
        AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadexElO0t/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_citadexElO0t/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_citadexElO0t<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: citserver running on pid=595<br>
        ctdlvisor: executing
        /tmp/.mount_citadexElO0t/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: webcit (HTTP) running on pid=596<br>
        ctdlvisor: webcit (HTTPS) running on pid=597<br>
        ctdlvisor: executing
        /tmp/.mount_citadexElO0t/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_citadexElO0t/usr/local/webcit/webcit<br>
        ctdlvisor: pid=595 exited, status=26880, exitcode=105<br>
        ctdlvisor: citserver exited intentionally - ending AppImage
        session<br>
        ctdlvisor: pid=596 exited, status=15, exitcode=0<br>
        ctdlvisor: pid=597 exited, status=15, exitcode=0<br>
        ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
        ctdlvisor: exit code 105<br>
      </font></blockquote>
    <font face="monospace"><br>
      I have already checked that it is not running.<br>
    </font>
    <blockquote><font face="monospace"># ls -la /usr/local/citadel<br>
        total 3284<br>
        drwxr-xr-x  6 root root    4096 May  4 12:17 .<br>
        drwxr-xr-x 11 root root    4096 Apr 14 14:06 ..<br>
        srwx------  1 root root       0 May  4 12:14
        citadel-admin.socket<br>
        -rw-rw-rw-  1 root root       0 May  4 12:18 citadel.lock<br>
        srwxrwsrwx  1 root root       0 May  4 12:14 citadel.socket<br>
        -rw-------  1 root root 5980160 May  4 12:17 core<br>
        drwx------  2 root root    4096 May  4 12:14 data<br>
        drwx------  2 root root    4096 May  4 12:14 files<br>
        drwx------  2 root root    4096 May  4 12:14 keys<br>
        srwxrwsrwx  1 root root       0 May  4 12:14 lmtp.socket<br>
        srwxrwsrwx  1 root root       0 May  4 12:14
        lmtp-unfiltered.socket<br>
        drwx------  2 root root    4096 May  4 12:14 messages<br>
        <br>
        # ps -eaf|grep cit<br>
        root       602   512  0 12:21 pts/0    00:00:00 grep cit<br>
        <br>
        # ./citadel-1619988875-x86_64.appimage test<br>
        /tmp/.mount_citademu6Kac/usr/local/citadel/citserver: binary
        compatibility confirmed<br>
        <br>
      </font></blockquote>
    <font face="Liberation Sans"><br>
    </font><br>
    <div class="moz-cite-prefix">On 5/2/21 3:20 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:608F178E-7D2036C3@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 Check <a class="moz-txt-link-freetext" href="https://www.citadel.org/appimage.html">https://www.citadel.org/appimage.html</a> for new AppImage builds. 
  
 This one doesn't *fix* any server crashes, but when the server does crash
it will save a backtrace in /tmp that you can upload here, so we can figure
out what's going wrong. 
  
 Hopefully.  :) 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263171</link><pubDate>Sun, 02 May 2021 17:20:14 +0500</pubDate><title>May 2 - new AppImage uploaded</title><guid isPermaLink="false">2099263171@Uncensored</guid><description><![CDATA[  
 Check https://www.citadel.org/appimage.html for new AppImage builds. 
  
 This one doesn't *fix* any server crashes, but when the server does crash
it will save a backtrace in /tmp that you can upload here, so we can figure
out what's going wrong. 
  
 Hopefully.  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263162</link><pubDate>Sun, 02 May 2021 16:43:45 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-634-g2bcc04fb3</title><guid isPermaLink="false">2099263162@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2bcc04fb3970e08d95704cd67ca6c3d30d9c9ea0 (commit)
      from  6e9fd5f635b9eccd27c91f22b4d8690279e6c20d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2bcc04fb3970e08d95704cd67ca6c3d30d9c9ea0
commit 2bcc04fb3970e08d95704cd67ca6c3d30d9c9ea0
Author: Art Cancro <ajc@citadel.org>
Date:   Sun May 2 16:43:41 2021 -0400

    Add backtrace to the appimage

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263159</link><pubDate>Sun, 02 May 2021 16:25:23 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-633-g6e9fd5f63</title><guid isPermaLink="false">2099263159@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6e9fd5f635b9eccd27c91f22b4d8690279e6c20d (commit)
      from  9862647b1a86bf542b4d2f5a139d944f2e2ad02d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6e9fd5f635b9eccd27c91f22b4d8690279e6c20d
commit 6e9fd5f635b9eccd27c91f22b4d8690279e6c20d
Author: Art Cancro <ajc@citadel.org>
Date:   Sun May 2 16:25:21 2021 -0400

    New server option -b to specify the name of a file to which backtrace should be written if the server crashes.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citserver.c   |  1 +
 citadel/citserver.h   |  1 +
 citadel/server_main.c | 33 ++++++++++++++++++---------------
 citadel/sysdep.c      | 12 ++++++++++++
 4 files changed, 32 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099263156</link><pubDate>Sun, 02 May 2021 16:03:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-632-g9862647b1</title><guid isPermaLink="false">2099263156@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9862647b1a86bf542b4d2f5a139d944f2e2ad02d (commit)
      from  e0258a233ad97497b9bfa27442549e12cd84a36b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9862647b1a86bf542b4d2f5a139d944f2e2ad02d
commit 9862647b1a86bf542b4d2f5a139d944f2e2ad02d
Author: Art Cancro <ajc@citadel.org>
Date:   Sun May 2 16:02:42 2021 -0400

    Display stack trace on caught signal.  Also do this on segv now.

-----------------------------------------------------------------------

Summary of changes:
 citadel/sysdep.c | 354 +++++++++++++++++++++++--------------------------------
 1 file changed, 147 insertions(+), 207 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099262844</link><pubDate>Fri, 30 Apr 2021 14:22:29 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099262844@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Thank you for the heads up.<br>
      <br>
      I am also setting up my virtualization environment so I can do
      full testing.<br>
      <br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 4/30/21 8:41 AM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:608C1732-7D20355F@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">Just a heads up to mention that crash reporting (particularly in AppImage
builds) is still the #1 priority.  The previous bunch of commits were just
some brainless sweeping of the floor to keep me occupied while multitasking.

 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099262815</link><pubDate>Fri, 30 Apr 2021 10:41:54 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099262815@Uncensored</guid><description><![CDATA[Just a heads up to mention that crash reporting (particularly in AppImage
builds) is still the #1 priority.  The previous bunch of commits were just
some brainless sweeping of the floor to keep me occupied while multitasking.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099262266</link><pubDate>Tue, 27 Apr 2021 18:31:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-631-ge0258a233</title><guid isPermaLink="false">2099262266@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e0258a233ad97497b9bfa27442549e12cd84a36b (commit)
      from  defbf0ec0505989b8e6b714ffd8de9792b465398 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e0258a233ad97497b9bfa27442549e12cd84a36b
commit e0258a233ad97497b9bfa27442549e12cd84a36b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 27 18:31:55 2021 -0400

    Save the text client!

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel.c    | 123 +++++++++++++++++------------------
 textclient/md5.c        |  30 ++++-----
 textclient/messages.c   |  16 +++--
 textclient/routines2.c  |  39 +++++------
 textclient/textclient.h | 167 +++++++++++++++---------------------------------
 5 files changed, 153 insertions(+), 222 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099262219</link><pubDate>Tue, 27 Apr 2021 18:06:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-630-gdefbf0ec0</title><guid isPermaLink="false">2099262219@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  defbf0ec0505989b8e6b714ffd8de9792b465398 (commit)
      from  a9be394c2df9fcfa94b3b9c3e398c81ac4f20206 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=defbf0ec0505989b8e6b714ffd8de9792b465398
commit defbf0ec0505989b8e6b714ffd8de9792b465398
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 27 18:06:44 2021 -0400

    Assume the server supports the QNOP command, do not test for it, this is another command we've supported for 20 years

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c | 3 ---
 textclient/commands.c    | 6 ++----
 textclient/textclient.h  | 1 -
 3 files changed, 2 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099262218</link><pubDate>Tue, 27 Apr 2021 18:05:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-629-ga9be394c2</title><guid isPermaLink="false">2099262218@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a9be394c2df9fcfa94b3b9c3e398c81ac4f20206 (commit)
      from  3eae491505eb16102563efdfcdaec730a525ccbe (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a9be394c2df9fcfa94b3b9c3e398c81ac4f20206
commit a9be394c2df9fcfa94b3b9c3e398c81ac4f20206
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 27 18:05:14 2021 -0400

    Remove support for the old inline paging mode ... geez, we've only had extended paging for 21 years

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c |  3 --
 textclient/client_chat.c | 72 ++++++++++++++++++------------------------------
 textclient/textclient.h  |  1 -
 3 files changed, 27 insertions(+), 49 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099262217</link><pubDate>Tue, 27 Apr 2021 17:59:23 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-628-g3eae49150</title><guid isPermaLink="false">2099262217@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3eae491505eb16102563efdfcdaec730a525ccbe (commit)
      from  633eabfc5820a6cc3b3c45793243928d0fa9c099 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3eae491505eb16102563efdfcdaec730a525ccbe
commit 3eae491505eb16102563efdfcdaec730a525ccbe
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 27 17:59:19 2021 -0400

    Cleaning up the code in the text client a bit

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c | 212 +++++++++++++++++++-------------------------------
 1 file changed, 82 insertions(+), 130 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099262202</link><pubDate>Tue, 27 Apr 2021 16:45:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-627-g633eabfc5</title><guid isPermaLink="false">2099262202@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  633eabfc5820a6cc3b3c45793243928d0fa9c099 (commit)
      from  6ee6b5fc488f5286ea81ef95503c91c43c434ced (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=633eabfc5820a6cc3b3c45793243928d0fa9c099
commit 633eabfc5820a6cc3b3c45793243928d0fa9c099
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 27 16:44:48 2021 -0400

    Updated the boilerplate on each file

-----------------------------------------------------------------------

Summary of changes:
 textclient/Makefile           | 14 +++++----
 textclient/README.txt         | 14 +++++----
 textclient/citadel.c          | 24 +++++++---------
 textclient/citadel_ipc.c      | 20 ++++++-------
 textclient/client_chat.c      | 24 +++++++---------
 textclient/client_passwords.c | 26 ++++++++---------
 textclient/commands.c         | 26 ++++++++---------
 textclient/configure          | 14 +++++----
 textclient/ipc_c_tcp.c        | 24 +++++++---------
 textclient/messages.c         | 24 +++++++---------
 textclient/rooms.c            | 24 +++++++---------
 textclient/routines.c         | 24 +++++++---------
 textclient/routines2.c        | 24 +++++++---------
 textclient/screen.c           | 67 +++++++++++++++++--------------------------
 textclient/textclient.h       | 23 ++++++---------
 textclient/tuiconfig.c        | 24 +++++++---------
 16 files changed, 182 insertions(+), 214 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099261745</link><pubDate>Sat, 24 Apr 2021 23:56:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-626-g6ee6b5fc4</title><guid isPermaLink="false">2099261745@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6ee6b5fc488f5286ea81ef95503c91c43c434ced (commit)
      from  fe70bc8314205d9c32da7c73e5bf1c58ee1a67f6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6ee6b5fc488f5286ea81ef95503c91c43c434ced
commit 6ee6b5fc488f5286ea81ef95503c91c43c434ced
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Apr 24 23:56:15 2021 -0400

    Fixed .Help SUMMARY

-----------------------------------------------------------------------

Summary of changes:
 citadel/threads.c     | 13 +------------
 textclient/Makefile   |  2 +-
 textclient/README.txt |  2 +-
 textclient/commands.c |  3 ++-
 4 files changed, 5 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099261582</link><pubDate>Fri, 23 Apr 2021 18:01:30 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-625-gfe70bc831</title><guid isPermaLink="false">2099261582@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fe70bc8314205d9c32da7c73e5bf1c58ee1a67f6 (commit)
      from  76a0216278f0a014d3533de9150adbc9f74085ab (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fe70bc8314205d9c32da7c73e5bf1c58ee1a67f6
commit fe70bc8314205d9c32da7c73e5bf1c58ee1a67f6
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 23 17:59:51 2021 -0400

    Removed exit code definitions that are no longer used

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c | 17 ++++++-----------
 citadel/Makefile.in  |  4 ++--
 citadel/server.h     |  2 --
 3 files changed, 8 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099261408</link><pubDate>Thu, 22 Apr 2021 19:38:48 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099261408@Uncensored</guid><description><![CDATA[All right, exit code 139 means the server exited on signal 11, which means
that the AppImage supervisor did the wrong thing.  It should have restarted
the server instead of exiting. 
  
 I will correct the restart-on-crash problem, but since we also need to find
out *where* yours is crashing, we have to add some backtrace magic into it.
 Sit tight and we will do that! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099261383</link><pubDate>Thu, 22 Apr 2021 15:27:28 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099261383@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Good day<br>
    </font><br>
    <font face="Liberation Sans"><font face="Liberation Sans">This is
        the network configuration of the VM, I need to give myself time
        to install a second interface (dmz):<br>
      </font>
    </font>
    <blockquote><font face="monospace">source
        /etc/network/interfaces.d/*<br>
        <br>
        # The loopback network interface<br>
        auto lo<br>
        iface lo inet loopback<br>
        <br>
        # The primary network interface<br>
        allow-hotplug ens18<br>
        iface ens18 inet static<br>
                address 192.168.16.33/21<br>
                gateway 192.168.16.99<br>
                # dns-* options are implemented by the resolvconf
        package, if installed                                   <br>
                dns-nameservers 8.8.8.8<br>
                dns-search ***hidden**.com</font><br>
    </blockquote>
    <font face="Liberation Sans">- - - - -</font><font face="Liberation
      Sans"><br>
      first attempt, (all executed as root)<br>
    </font>
    <blockquote><font face="Liberation Sans"><font face="monospace">ctdlvisor:
          Welcome to the Citadel System, brought to you using AppImage.</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          LD_LIBRARY_PATH = /tmp/.mount_citadelDLXpp/usr/lib</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:           
          PATH = /tmp/.mount_citadelDLXpp/usr/bin</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:         
          APPDIR = /tmp/.mount_citadelDLXpp</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor: 
          data directory = /usr/local/citadel</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:      
          HTTP port = 80</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:     
          HTTPS port = 443</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          citserver running on pid=5216</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          webcit (HTTP) running on pid=5217</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          webcit (HTTPS) running on pid=5218</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          executing /tmp/.mount_citadelDLXpp/usr/local/webcit/webcit</font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          executing /tmp/.mount_citadelDLXpp/usr/local/citadel/citserver
          with data directory /usr/local/citadel  </font></font><br>
      <font face="Liberation Sans"><font face="monospace">ctdlvisor:
          executing /tmp/.mount_citadelDLXpp/usr/local/webcit/webcit</font></font><b><font
          color="#ef691f"><br>
          <font face="Liberation Sans"><font face="monospace">ctdlvisor:
              pid=5216 exited, status=139, exitcode=0</font></font><br>
          <font face="Liberation Sans"><font face="monospace">ctdlvisor:
              citserver exited normally - ending AppImage session</font></font><br>
          <font face="Liberation Sans"><font face="monospace">ctdlvisor:
              pid=5217 exited, status=15, exitcode=0</font></font><br>
          <font face="Liberation Sans"><font face="monospace">ctdlvisor:
              pid=5218 exited, status=15, exitcode=0</font></font><br>
          <font face="Liberation Sans"><font face="monospace">ctdlvisor:
              pid=-1 exited, status=15, exitcode=0</font></font><br>
          <font face="Liberation Sans"><font face="monospace">ctdlvisor:
              exit code 0</font></font></font></b><br>
    </blockquote>
    <font face="Liberation Sans"><font face="Liberation Sans">second
        attempt, </font><br>
      <img src="cid:part1.867A1A11.31962B0F@uncensored.citadel.org"
        alt=""><br>
    </font>
    <blockquote><font face="monospace">ctdlvisor: Welcome to the Citadel
        System, brought to you using AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citade5YTQho/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_citade5YTQho/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_citade5YTQho<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: citserver running on pid=5238<br>
        ctdlvisor: webcit (HTTP) running on pid=5239<br>
        ctdlvisor: webcit (HTTPS) running on pid=5240<br>
        ctdlvisor: executing
        /tmp/.mount_citade5YTQho/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_citade5YTQho/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_citade5YTQho/usr/local/citadel/citserver with data
        directory /usr/local/citadel  <br>
        <font color="#ef691f"><b>ctdlvisor: pid=5238 exited, status=139,
            exitcode=0</b><b><br>
          </b><b>ctdlvisor: citserver exited normally - ending AppImage
            session</b><b><br>
          </b><b>ctdlvisor: pid=5239 exited, status=15, exitcode=0</b><b><br>
          </b><b>ctdlvisor: pid=5240 exited, status=15, exitcode=0</b><b><br>
          </b><b>ctdlvisor: pid=-1 exited, status=15, exitcode=0</b><b><br>
          </b><b>ctdlvisor: exit code 0</b></font></font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
      and third attempt (after restarting the VM)<br>
    </font>
    <blockquote><font face="monospace">ctdlvisor: Welcome to the Citadel
        System, brought to you using AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citade7DmEXm/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_citade7DmEXm/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_citade7DmEXm<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: citserver running on pid=424<br>
        ctdlvisor: executing
        /tmp/.mount_citade7DmEXm/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: webcit (HTTP) running on pid=425<br>
        ctdlvisor: webcit (HTTPS) running on pid=426<br>
        ctdlvisor: executing
        /tmp/.mount_citade7DmEXm/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_citade7DmEXm/usr/local/webcit/webcit<br>
        <b><font color="#ef691f">ctdlvisor: pid=424 exited, status=139,
            exitcode=0<br>
            ctdlvisor: citserver exited normally - ending AppImage
            session<br>
            ctdlvisor: pid=425 exited, status=15, exitcode=0<br>
            ctdlvisor: pid=426 exited, status=15, exitcode=0<br>
            ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
            ctdlvisor: exit code 0</font></b></font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
    </font><font face="Liberation Sans"><br>
      <br>
      Regards<br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 4/21/21 12:44 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60807298-7D202F1E@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;And yes, when trying to send messages it fails; I can send messages to 
 
 &gt;the "admin" account itself.  
  
 Damn.  I did a fresh install of Debian 10, minimal with no extra software
added, on the exact virtual hardware you described in your last post.  I still
can't get it to fail. 
  
 Can you please post the output of the AppImage when it crashes?  I want to
look at the exit codes to see if it's exiting on its own or crashing out from
a signal.  If it's a segfault then we'll have to find a way to get it to print
a backtrace. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099261214</link><pubDate>Wed, 21 Apr 2021 14:44:40 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099261214@Uncensored</guid><description><![CDATA[ >And yes, when trying to send messages it fails; I can send messages to 
 
 >the "admin" account itself.  
  
 Damn.  I did a fresh install of Debian 10, minimal with no extra software
added, on the exact virtual hardware you described in your last post.  I still
can't get it to fail. 
  
 Can you please post the output of the AppImage when it crashes?  I want to
look at the exit codes to see if it's exiting on its own or crashing out from
a signal.  If it's a segfault then we'll have to find a way to get it to print
a backtrace. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099261188</link><pubDate>Wed, 21 Apr 2021 12:44:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-624-g76a021627</title><guid isPermaLink="false">2099261188@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  76a0216278f0a014d3533de9150adbc9f74085ab (commit)
      from  a69cc33c04719fd0ce234584c668139a34c20cc7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=76a0216278f0a014d3533de9150adbc9f74085ab
commit 76a0216278f0a014d3533de9150adbc9f74085ab
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 21 12:44:07 2021 -0400

    working on ctdlmigrate in the appimage

-----------------------------------------------------------------------

Summary of changes:
 appimage/README.txt            |  5 ++--
 appimage/build_appimage.sh     |  4 +++-
 appimage/citadel.AppDir/AppRun |  8 ++++++-
 appimage/ctdlvisor.c           | 52 ++++++++++++++++++++++++++++++++++++------
 4 files changed, 57 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260967</link><pubDate>Mon, 19 Apr 2021 23:07:56 +0500</pubDate><title>Message #2099260967</title><guid isPermaLink="false">2099260967@Uncensored</guid><description><![CDATA[<html><body>

<p>And once I get this all sorted out, at the very least I'll be able to back up live from my prod Citadel to a VM - and be able to restore if something ever goes wrong. I'd rather have it running in prod on a VM - but that is probably going to take figuring out adding a third USB Nic or WiFi that Proxmox supports to the machine and just disabling the Intel NIC that is onboard. </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260966</link><pubDate>Mon, 19 Apr 2021 23:03:43 +0500</pubDate><title>Message #2099260966</title><guid isPermaLink="false">2099260966@Uncensored</guid><description><![CDATA[<html><body>

<p>Trying to restore to my VM right now. I think I've already messed it up. We'll see how robust Linux is. :) <br /><br />But, if I have to start from scratch, I've got a better game plan for the second attempt - and because I practiced on a VM - it is pretty trivial to start again. Just a matter of time... This time I'll use an EXT4 file system on the USB stick, and I won't build a Linux distro on VM - I'll boot from a live USB and restore from the USB to the VM. <br /><br />And once I get that figured out and working - then I'll play around with the new appinstall image install a bunch. I had a lot of pre-reqs I had to learn before I could be useful in testing Citadel. </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260624</link><pubDate>Fri, 16 Apr 2021 17:37:22 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-623-ga69cc33c0</title><guid isPermaLink="false">2099260624@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a69cc33c04719fd0ce234584c668139a34c20cc7 (commit)
      from  145518db3d299bf7a8f72dfed4dcf706385b3e15 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a69cc33c04719fd0ce234584c668139a34c20cc7
commit a69cc33c04719fd0ce234584c668139a34c20cc7
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 16 17:37:19 2021 -0400

    more cpu detect

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260618</link><pubDate>Fri, 16 Apr 2021 17:27:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-622-g145518db3</title><guid isPermaLink="false">2099260618@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  145518db3d299bf7a8f72dfed4dcf706385b3e15 (commit)
      from  10d2ab3c4d60fbf991967646cc821b8bb38770b0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=145518db3d299bf7a8f72dfed4dcf706385b3e15
commit 145518db3d299bf7a8f72dfed4dcf706385b3e15
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 16 17:27:27 2021 -0400

    try to sense the architecture better

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260558</link><pubDate>Fri, 16 Apr 2021 13:58:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-621-g10d2ab3c4</title><guid isPermaLink="false">2099260558@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  10d2ab3c4d60fbf991967646cc821b8bb38770b0 (commit)
      from  9a5d0d91d659602b4e36212e4dfae401619ae9b7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=10d2ab3c4d60fbf991967646cc821b8bb38770b0
commit 10d2ab3c4d60fbf991967646cc821b8bb38770b0
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Apr 16 13:58:52 2021 -0400

    Removed test_binary_compatibility() from ctdlvisor.c because we don't do it that way anymore.

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c | 17 -----------------
 1 file changed, 17 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260515</link><pubDate>Fri, 16 Apr 2021 10:38:25 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099260515@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Hi Art.<br>
      <br>
      The results I reported a couple of days ago are with the DB itself
      that creates the test.<br>
      At this time I have not backed up the DB in production for use. I
      will do it these days in the evening, as I have to stop my server
      to be able to copy it.<br>
      <font face="Liberation Sans"></font></font>
    <blockquote><font face="Liberation Sans"># uname -a<br>
        Linux em2 4.19.0-16-<b>amd64</b> #1 SMP Debian 4.19.181-1
        (2021-03-19) x86_64 GNU/Linux</font><br>
    </blockquote>
    <font face="Liberation Sans">This is a VM running on Proxmox<br>
      <br>
      <img src="cid:part1.1EC0444D.4553E7A7@uncensored.citadel.org"
        alt=""><br>
      <br>
      <br>
    </font><br>
    <br>
    <div class="moz-cite-prefix">On 4/15/21 3:36 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6078B1E5-7D202BFC@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">Ok, so you're using stock Debian 10 (64-bit x86, I assume) and the AppImage
declares that it is compatible.  You are attaching it to a copy of an existing
database.  Local mail works fine, but any attempt to deliver Internet mail
results in a server crash. 
  
 Do I have it clear now? 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260412</link><pubDate>Thu, 15 Apr 2021 17:36:37 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099260412@Uncensored</guid><description><![CDATA[Ok, so you're using stock Debian 10 (64-bit x86, I assume) and the AppImage
declares that it is compatible.  You are attaching it to a copy of an existing
database.  Local mail works fine, but any attempt to deliver Internet mail
results in a server crash. 
  
 Do I have it clear now? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260406</link><pubDate>Thu, 15 Apr 2021 17:01:14 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099260406@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">The appimage is compatible<br>
    </font>
    <blockquote><font face="Liberation Sans"><font face="monospace">#
          lsb_release -a</font></font><br>
      <font face="Liberation Sans"><font face="monospace">No LSB modules
          are available.</font></font><br>
      <font face="Liberation Sans"><font face="monospace">Distributor
          ID: Debian</font></font><br>
      <font face="Liberation Sans"><font face="monospace">Description:   
          Debian GNU/Linux 10 (buster)</font></font><br>
      <font face="Liberation Sans"><font face="monospace">Release:       
          10</font></font><br>
      <font face="Liberation Sans"><font face="monospace">Codename:      
          buster</font></font><br>
    </blockquote>
    <blockquote><font face="Liberation Sans"><font face="monospace">#
          ./citadel-1617821022-x64.appimage test</font></font><br>
      <font face="Liberation Sans"><font face="monospace">/tmp/.mount_citadeSJ4RAB/usr/local/citadel/citserver:
          <b>binary compatibility confirmed</b></font></font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
      And yes, when trying to send messages it fails; I can send
      messages to the "admin" account itself.<br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 4/15/21 12:12 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6078821D-7D202BD9@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;And although I discovered my mistake and now this VM works as I know it
  
 &gt;should, in my test it still fails to use the "test" of the AppImage, if
  
 &gt;I try to send some mail it just closes the App.  
  
 That's progress.   :) 
  
 So let me see if I understand correctly.   If you run the appimage in "test"
mode, it declares that it is not compatible.  If you run it in "run" mode,
it starts the server, but crashes when you try to send mail. 
  
 Is that correct?  If so, please tell me the exact name and version of the
Linux distribution you are running, so I can try to re-create the problem.

 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260399</link><pubDate>Thu, 15 Apr 2021 16:21:12 +0500</pubDate><title>Message #2099260399</title><guid isPermaLink="false">2099260399@Uncensored</guid><description><![CDATA[<html><body>

<p>I thought I had seen you suggest that if you ran setup again it would allow you to configure the ports for HTTP and HTTPS. Is that the correct procedure to reassign the ports after an appinstall install? </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Apr 15 2021 09:07:34 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">The current version of the AppImage *can* run WebCit on nonstandard ports. <br />Absolutely. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260377</link><pubDate>Thu, 15 Apr 2021 14:12:45 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099260377@Uncensored</guid><description><![CDATA[ >And although I discovered my mistake and now this VM works as I know it
  
 >should, in my test it still fails to use the "test" of the AppImage, if
  
 >I try to send some mail it just closes the App.  
  
 That's progress.   :) 
  
 So let me see if I understand correctly.   If you run the appimage in "test"
mode, it declares that it is not compatible.  If you run it in "run" mode,
it starts the server, but crashes when you try to send mail. 
  
 Is that correct?  If so, please tell me the exact name and version of the
Linux distribution you are running, so I can try to re-create the problem.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260343</link><pubDate>Thu, 15 Apr 2021 10:13:44 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099260343@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">I misread the message about missing
      commands in Debian (that was during installation, not after
      installation).<br>
      <br>
      And although I discovered my mistake and now this VM works as I
      know it should, in my test it still fails to use the "test" of the
      AppImage, if I try to send some mail it just closes the App.<br>
      <br>
      Note: this VM does not have direct Internet access, it uses a
      gateway for now.</font><br>
    <br>
    <div class="moz-cite-prefix">On 4/14/21 10:59 AM, s3cr3to wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:36d1db63-7a66-fdbc-7060-0cbc80c9ef37@uncensored.citadel.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <font face="Liberation Sans">Greetings Art<br>
      </font><br>
      <pre class="moz-quote-pre" wrap=""> The results of your tests continue to baffle me.</pre>
      <font face="Liberation Sans"><br>
        I agree with you, this VM is really weird.<br>
        <br>
        I have reinstalled the VM with debian-10.7.0-amd64-DVD.iso and
        the problems are still occurring, I think I found a post (I
        didn't save it) where people report similar problems where
        commands are missing even though debian says they are installed.<br>
        <br>
        I just downloaded debian-10.9.0-amd64-netinst.iso and I hope now
        the things that strangely are not working will work.<br>
        <br>
        As soon as I have a working VM I'll let you know; I still need
        to bring me the backup of the Citadel server in production.<br>
        <br>
        Regards<br>
        <br>
        <br>
      </font><br>
      <div class="moz-cite-prefix">On 4/10/21 11:32 AM, IGnatius T
        Foobar wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:6071E144-7D202950@uncensored.citadel.org">
        <pre class="moz-quote-pre" wrap="">  
 The results of your tests continue to baffle me.  But I am happy to see it,
because if I can fix it for you, that means there are others who would have
had the same result, and we are preventing all those support requests from
happening. 
  
 If you have the patience, I would be VERY grateful to have you continue running
these tests, even though they continue to fail for now.  Just be sure to run
each one on a *fresh* clone of your production system, in case the previous
test corrupted the existing copy. 
  
 The next release will not fix the problem, but instead I am going to include
a "test" mode that simply attempts to open the database and tell you a few
things about the system it discovered and what it thinks is in there. 
  
 Sound good to you? 
 
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260332</link><pubDate>Thu, 15 Apr 2021 09:07:34 +0500</pubDate><title>Message #2099260332</title><guid isPermaLink="false">2099260332@Uncensored</guid><description><![CDATA[The current version of the AppImage *can* run WebCit on nonstandard ports.
 Absolutely. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260287</link><pubDate>Wed, 14 Apr 2021 22:26:08 +0500</pubDate><title>Message #2099260287</title><guid isPermaLink="false">2099260287@Uncensored</guid><description><![CDATA[<html><body>

<p>So, busy doing a full backup of the production DB using rsync - but I was playing around on my test image and got the appinstall version to work... but - I build my systems with Apache by default as I have a landing page on my production server for people who don't know Citadel. - I just read that as of Feb. the appinstall version of Citadel can't reassign ports - so I'll have to rebuild without Apache, restore from the backup, remove apache again, and test it on the default ports. <br /><br />But, I'm making progress today. I also read through all your notes back to Feb - and see that I was fortunate to get ctdlmigrate to work at all. <br /><br />Your results were entirely consistent with what I was seeing. It would just choke. I feel like it was a matter of permissions on both sides that got it running - but it only worked the one time and I couldn't recreate it subsequently. I think I still have the Rpi image of my Citadel on an SD card around here - so if you get that working and need it tested, I c
<p>But for right now - getting a Proxmox clone of my production server running is my goal... and eventually, once AppInstall is ready - I'll probably migrate from the bare metal server to Proxmox running it in a VM. </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260276</link><pubDate>Wed, 14 Apr 2021 20:45:43 +0500</pubDate><title>Re: Citadel app image install</title><guid isPermaLink="false">2099260276@Uncensored</guid><description><![CDATA[<html><body>

<p>Thank you. This got me sorted out on that. As described in Linux&gt; I'm still having some issues... but, that is to be expected, I suppose. :) <br /><br /><br /></p>
<blockquote>
<div class="message_header"><span>Wed Apr 14 2021 17:59:12 EDT</span> <span>from <a href="do_template?template=user_show?who=s3cr3to">s3cr3to</a> </span> <span class="message_subject">Subject: Re: Citadel app image install</span></div>
<div class="message_content"><span style="font-family: 'Liberation Sans';">If you try</span><br />
<pre style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace; font-size: 15px; height: auto; overflow: auto; background-color: #f8f8f8; border-left: 5px solid #02b0ef; margin: 1.7em 0px 1.7em 0.3em; padding: 20px; word-break: normal !important; overflow-wrap: normal !important;">./citadel-<em style="box-sizing: inherit;">nnnnnnnnnn-xxx</em>.appimage --help</pre>
<span style="font-family: 'Liberation Sans';">As an unrecognize option, it will show you the supported parameters and command: run, test, install, database_cleanup<br /> </span><br /> To install you need:<br />
<pre style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace; font-size: 15px; height: auto; overflow: auto; background-color: #f8f8f8; border-left: 5px solid #02b0ef; margin: 1.7em 0px 1.7em 0.3em; padding: 20px; word-break: normal !important; overflow-wrap: normal !important;">./citadel-<em style="box-sizing: inherit;">nnnnnnnnnn-xxx</em>.appimage install</pre>
<br /> <br /> <br /> <br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260254</link><pubDate>Wed, 14 Apr 2021 17:59:12 +0500</pubDate><title>Re: Citadel app image install</title><guid isPermaLink="false">2099260254@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">If you try</font><br>
    <pre style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace; font-size: 15px; height: auto; overflow: auto; background-color: #f8f8f8; border-left: 5px solid #02b0ef; margin: 1.7em 0px 1.7em 0.3em; padding: 20px; word-break: normal !important; overflow-wrap: normal !important;">./citadel-<em style="box-sizing: inherit;">nnnnnnnnnn-xxx</em>.appimage --help</pre>
    <font face="Liberation Sans">As an unrecognize option, it will show
      you the supported parameters and command: run, test, install,
      database_cleanup<br>
    </font><br>
    To install you need:<br>
    <pre style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace; font-size: 15px; height: auto; overflow: auto; background-color: #f8f8f8; border-left: 5px solid #02b0ef; margin: 1.7em 0px 1.7em 0.3em; padding: 20px; word-break: normal !important; overflow-wrap: normal !important;">./citadel-<em style="box-sizing: inherit;">nnnnnnnnnn-xxx</em>.appimage install</pre>
    <br>
    <br>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260240</link><pubDate>Wed, 14 Apr 2021 15:43:28 +0500</pubDate><title>Message #2099260240</title><guid isPermaLink="false">2099260240@Uncensored</guid><description><![CDATA[<html><body>

<p>Apache is installed on port 80. I copied over my /usr/local/citadel from my regular BBS.<br /><br />When I follow the instructions - I get this and it seems to go into an endless loop of webcit running on pid with an exitcode of 101: <br /><br />root@testvm:/home/donovan/Downloads# ./citadel-1617821022-x64.appimage run<br />ctdlvisor: Welcome to the Citadel System, brought to you using AppImage.<br />ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadeQDzo7s/usr/lib<br />ctdlvisor:            PATH = /tmp/.mount_citadeQDzo7s/usr/bin<br />ctdlvisor:          APPDIR = /tmp/.mount_citadeQDzo7s<br />ctdlvisor:  data directory = /usr/local/citadel<br />ctdlvisor:       HTTP port = 80<br />ctdlvisor:      HTTPS port = 443<br />ctdlvisor: citserver running on pid=1006<br />ctdlvisor: webcit (HTTP) running on pid=1007<br />ctdlvisor: webcit (HTTPS) running on pid=1008<br />ctdlvisor: executing /tmp/.mount_citadeQDzo7s/usr/local/webcit/webcit<br />ctdlvisor: executing /tmp/.mount_citadeQD
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260239</link><pubDate>Wed, 14 Apr 2021 15:40:53 +0500</pubDate><title>Citadel app image install</title><guid isPermaLink="false">2099260239@Uncensored</guid><description><![CDATA[<html><body>

<p>These instructions are the same for running it as a test or installing it permanently<br /><br />Also, if you want it to be the lowest rung of user who can install it, the instructions should note that they'll have to make the download executable before they run the script, with the command  <br /><br /> sudo chmod u+x citadel-xxxxxxxxxx-xx.appimage<br /><br /><br /></p>
<h2 style="box-sizing: inherit; font-size: 30px; font-family: Montserrat, sans-serif; font-weight: 400; margin: 10px 0px;">How to run Citadel without installing</h2>
<p style="box-sizing: inherit; font-family: Montserrat, sans-serif; font-size: 15px;">If you are just testing Citadel and want to run it without installing, simply do this (as root, or using sudo):</p>
<pre style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace; font-size: 15px; height: auto; overflow: auto; background-color: #f8f8f8; border-left: 5px solid #02b0ef; margin: 1.7em 0px 1.7em 0.3em; padding: 20px; word-break: normal !important; overflow-wrap: normal !important;">mkdir /usr/local/citadel
./citadel-<em style="box-sizing: inherit;">nnnnnnnnnn-xxx</em>.appimage run
</pre>
<p style="box-sizing: inherit; font-family: Montserrat, sans-serif; font-size: 15px;">This will start up an instance of Citadel with its database in <tt style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace;">/usr/local/citadel</tt>, and with the web interface listening on ports 80 and 443.</p>
<h2 style="box-sizing: inherit; font-size: 30px; font-family: Montserrat, sans-serif; font-weight: 400; margin: 10px 0px;">How to install the Citadel appimage permanently</h2>
<p style="box-sizing: inherit; font-family: Montserrat, sans-serif; font-size: 15px;">After trying out Citadel, you will undoubtedly agree that it is the finest messaging and collaboration suite in the known universe, and you will want to install it permanently on your system. This is easy; just type:</p>
<pre style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace; font-size: 15px; height: auto; overflow: auto; background-color: #f8f8f8; border-left: 5px solid #02b0ef; margin: 1.7em 0px 1.7em 0.3em; padding: 20px; word-break: normal !important; overflow-wrap: normal !important;">mkdir /usr/local/citadel
./citadel-<em style="box-sizing: inherit;">nnnnnnnnnn-xxx</em>.appimage run
</pre>
<p style="box-sizing: inherit; font-family: Montserrat, sans-serif; font-size: 15px;">You will be walked through a series of installation instructions, after which the setup program will create systemd unit files to start and stop Citadel along with the host operating system.</p>
<p> </p>
<h2 style="box-sizing: inherit; font-size: 30px; font-family: Montserrat, sans-serif; font-weight: 400; margin: 10px 0px;">How to run Citadel without installing</h2>
<p style="box-sizing: inherit; font-family: Montserrat, sans-serif; font-size: 15px;">If you are just testing Citadel and want to run it without installing, simply do this (as root, or using sudo):</p>
<pre style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace; font-size: 15px; height: auto; overflow: auto; background-color: #f8f8f8; border-left: 5px solid #02b0ef; margin: 1.7em 0px 1.7em 0.3em; padding: 20px; word-break: normal !important; overflow-wrap: normal !important;">mkdir /usr/local/citadel
./citadel-<em style="box-sizing: inherit;">nnnnnnnnnn-xxx</em>.appimage run
</pre>
<p style="box-sizing: inherit; font-family: Montserrat, sans-serif; font-size: 15px;">This will start up an instance of Citadel with its database in <tt style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace;">/usr/local/citadel</tt>, and with the web interface listening on ports 80 and 443.</p>
<h2 style="box-sizing: inherit; font-size: 30px; font-family: Montserrat, sans-serif; font-weight: 400; margin: 10px 0px;">How to install the Citadel appimage permanently</h2>
<p style="box-sizing: inherit; font-family: Montserrat, sans-serif; font-size: 15px;">After trying out Citadel, you will undoubtedly agree that it is the finest messaging and collaboration suite in the known universe, and you will want to install it permanently on your system. This is easy; just type:</p>
<pre style="box-sizing: inherit; font-family: 'Courier New', Courier, monospace; font-size: 15px; height: auto; overflow: auto; background-color: #f8f8f8; border-left: 5px solid #02b0ef; margin: 1.7em 0px 1.7em 0.3em; padding: 20px; word-break: normal !important; overflow-wrap: normal !important;">mkdir /usr/local/citadel
./citadel-<em style="box-sizing: inherit;">nnnnnnnnnn-xxx</em>.appimage run
</pre>
<p> </p>
<p style="box-sizing: inherit; font-family: Montserrat, sans-serif; font-size: 15px;">You will be walked through a series of installation instructions, after which the setup program will create systemd unit files to start and stop Citadel along with the host operating system.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260207</link><pubDate>Wed, 14 Apr 2021 12:59:25 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099260207@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Greetings Art<br>
    </font><br>
    <pre class="moz-quote-pre" wrap=""> The results of your tests continue to baffle me.</pre>
    <font face="Liberation Sans"><br>
      I agree with you, this VM is really weird.<br>
      <br>
      I have reinstalled the VM with debian-10.7.0-amd64-DVD.iso and the
      problems are still occurring, I think I found a post (I didn't
      save it) where people report similar problems where commands are
      missing even though debian says they are installed.<br>
      <br>
      I just downloaded debian-10.9.0-amd64-netinst.iso and I hope now
      the things that strangely are not working will work.<br>
      <br>
      As soon as I have a working VM I'll let you know; I still need to
      bring me the backup of the Citadel server in production.<br>
      <br>
      Regards<br>
      <br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 4/10/21 11:32 AM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6071E144-7D202950@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 The results of your tests continue to baffle me.  But I am happy to see it,
because if I can fix it for you, that means there are others who would have
had the same result, and we are preventing all those support requests from
happening. 
  
 If you have the patience, I would be VERY grateful to have you continue running
these tests, even though they continue to fail for now.  Just be sure to run
each one on a *fresh* clone of your production system, in case the previous
test corrupted the existing copy. 
  
 The next release will not fix the problem, but instead I am going to include
a "test" mode that simply attempts to open the database and tell you a few
things about the system it discovered and what it thinks is in there. 
  
 Sound good to you? 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260181</link><pubDate>Wed, 14 Apr 2021 11:04:42 +0500</pubDate><title>Message #2099260181</title><guid isPermaLink="false">2099260181@Uncensored</guid><description><![CDATA[<html><body>

<p>Going to for sure. Thanks! </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Wed Apr 14 2021 09:45:18 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">There is a page at https://www.citadel.org/appimage.html which contains the downloads and instructions for the AppImage distribution of Citadel. This is actually the final location; it simply isn't linked from the main part of the site yet. <br /><br />If you have a clone of your live system and it was built using one of the supported architectures (64-bit AMD/Intel or 32-bit ARM) then you should definitely give that a try. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260170</link><pubDate>Wed, 14 Apr 2021 09:45:18 +0500</pubDate><title>Message #2099260170</title><guid isPermaLink="false">2099260170@Uncensored</guid><description><![CDATA[There is a page at https://www.citadel.org/appimage.html which contains the
downloads and instructions for the AppImage distribution of Citadel.  This
is actually the final location; it simply isn't linked from the main part
of the site yet. 
  
 If you have a clone of your live system and it was built using one of the
supported architectures (64-bit AMD/Intel or 32-bit ARM) then you should definitely
give that a try. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260125</link><pubDate>Wed, 14 Apr 2021 00:12:33 +0500</pubDate><title>Message #2099260125</title><guid isPermaLink="false">2099260125@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok. So... I bought a 1TB SD from Amazon. They sent a 480gb SD instead. I returned it, "wrong item sent, replace with exact item". <br /><br />Meaning replace with the exact item I ordered. <br /><br /><br />They thought I meant, "Send me ANOTHER 480GB SD drive." <br /><br />So, the SECOND return, they would only do a refund, not an exchange. So I went and bought one at Best Buy. <br /><br />So - I've got Proxmox set up. I'm ready to grab a copy of Citadel and install and start testing the new install on it. I plan on probably using rsync to copy the production BBS to it. <br /><br />Where is the install I should be playing around with?</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260091</link><pubDate>Tue, 13 Apr 2021 16:14:54 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099260091@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Thanks Art.<br>
      I'm going to have to reinstall this VM, for some reason I don't
      know; it's showing strange behavior; things that should work
      don't: I don't have fdisks, lvm2 commands, and things that a fresh
      install should have.<br>
      <br>
      Regards<br>
    </font><br>
    <div class="moz-cite-prefix">On 4/13/21 12:08 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6075DE28-7D202AA7@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;So, it won't help if I add another virtual disk with more storage if I 
 
 &gt;can't change the /tmp dump path. Rigth?  
  
 Correct.  I've removed the misleading guidance from the help text.  The intermediate
dumps must be on /tmp and this cannot be changed. 
  
 If you add another virtual disk it would have to be mounted on /tmp 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260071</link><pubDate>Tue, 13 Apr 2021 14:08:40 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099260071@Uncensored</guid><description><![CDATA[ >So, it won't help if I add another virtual disk with more storage if I 
 
 >can't change the /tmp dump path. Rigth?  
  
 Correct.  I've removed the misleading guidance from the help text.  The intermediate
dumps must be on /tmp and this cannot be changed. 
  
 If you add another virtual disk it would have to be mounted on /tmp 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260070</link><pubDate>Tue, 13 Apr 2021 14:07:14 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-620-g9a5d0d91d</title><guid isPermaLink="false">2099260070@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9a5d0d91d659602b4e36212e4dfae401619ae9b7 (commit)
      from  47fa232ed888bbe5b62ab361b64cc4be78359ab5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9a5d0d91d659602b4e36212e4dfae401619ae9b7
commit 9a5d0d91d659602b4e36212e4dfae401619ae9b7
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 13 14:06:48 2021 -0400

    Removed help text in database_cleanup.sh which suggested that the intermediate dump files could be anywhere other than /tmp.

-----------------------------------------------------------------------

Summary of changes:
 citadel/database_cleanup.sh | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099260047</link><pubDate>Tue, 13 Apr 2021 11:02:14 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099260047@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">So, it won't help if I add another
      virtual disk with more storage if I can't change the /tmp dump
      path. Rigth?</font><br>
    <br>
    <div class="moz-cite-prefix">On 4/12/21 2:55 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6074B3BF-7D202A40@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;For the latter, how should I run the database_cleanup to get it to take
  
 &gt;the working path?  
  
 database_cleanup always stores its intermediate dumps to /tmp. 
  
 I really should change the help text which suggests otherwise. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259968</link><pubDate>Mon, 12 Apr 2021 16:55:27 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099259968@Uncensored</guid><description><![CDATA[ >For the latter, how should I run the database_cleanup to get it to take
  
 >the working path?  
  
 database_cleanup always stores its intermediate dumps to /tmp. 
  
 I really should change the help text which suggests otherwise. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259966</link><pubDate>Mon, 12 Apr 2021 16:52:34 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099259966@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">That's fine with me, let me finish with
      a good workload that has piled up.<br>
      <br>
      I will restore the "clean" snapshot (with the old data backup
      intact from the production server.), update it and try to put an
      extra disk in it:<br>
      For the latter, how should I run the database_cleanup to get it to
      take the working path?<br>
    </font><br>
    <div class="moz-cite-prefix">On 4/10/21 11:32 AM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6071E144-7D202950@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 The results of your tests continue to baffle me.  But I am happy to see it,
because if I can fix it for you, that means there are others who would have
had the same result, and we are preventing all those support requests from
happening. 
  
 If you have the patience, I would be VERY grateful to have you continue running
these tests, even though they continue to fail for now.  Just be sure to run
each one on a *fresh* clone of your production system, in case the previous
test corrupted the existing copy. 
  
 The next release will not fix the problem, but instead I am going to include
a "test" mode that simply attempts to open the database and tell you a few
things about the system it discovered and what it thinks is in there. 
  
 Sound good to you? 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259728</link><pubDate>Sat, 10 Apr 2021 13:32:52 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099259728@Uncensored</guid><description><![CDATA[  
 The results of your tests continue to baffle me.  But I am happy to see it,
because if I can fix it for you, that means there are others who would have
had the same result, and we are preventing all those support requests from
happening. 
  
 If you have the patience, I would be VERY grateful to have you continue running
these tests, even though they continue to fail for now.  Just be sure to run
each one on a *fresh* clone of your production system, in case the previous
test corrupted the existing copy. 
  
 The next release will not fix the problem, but instead I am going to include
a "test" mode that simply attempts to open the database and tell you a few
things about the system it discovered and what it thinks is in there. 
  
 Sound good to you? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259545</link><pubDate>Thu, 08 Apr 2021 15:47:16 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099259545@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Hi Art. I answer each point.<br>
    <br>
    1. I need to add another disk because I don't have enough space to
    run the database_cleanup. <b>But how I should specify a location</b>?
    The usage lacks of that info: <br>
    <blockquote><font face="monospace"><b>usage</b>:
        /home/sys1/citadel-1617821022-x64.appimage [-h data_directory]
        [-p http_port] [-s https_port] command<br>
        command must be one of: run, test, install, database_cleanup<br>
        <br>
      </font></blockquote>
    <blockquote><font face="monospace">Citadel Database Cleanup</font><br>
      <font face="monospace">---------------------------</font><br>
      <font face="monospace">Thi...</font><br>
      <br>
      <font face="monospace">WARNING #1:</font><br>
      <font face="monospace">  MAKE A BACKUP...</font><font
        face="monospace"></font><br>
      <br>
      <font face="monospace">WARNING #2:</font><br>
      <font face="monospace">  citserver must NOT be running while you
        do this. (<b>I executed the command: </b><b>systemctl stop
          citadel</b>)</font><br>
      <br>
      <font face="monospace">WARNING #3:</font><br>
      <font face="monospace">  Please try...</font><font
        face="monospace"></font><br>
      <br>
      <font face="monospace">WARNING #4:</font><br>
      <font face="monospace">  You must have an amount of free space on
        your disk that is at least twice </font><font face="monospace">the
        size of your database, see the following output:</font><br>
      <font face="monospace">  (for substantially better performance <b>you
          should specify a location</b> that is </font><font
        face="monospace">on another disk than /usr/local/citadel/data)</font><br>
      <br>
      <font face="monospace">Filesystem                Size  Used Avail
        Use% Mounted on</font><br>
      <font face="monospace">udev                      2.0G     0 
        2.0G   0% /dev</font><br>
      <font face="monospace">tmpfs                     395M  5.4M 
        390M   2% /run</font><br>
      <font face="monospace">/dev/mapper/em2--vg-root  182G   92G   81G 
        54% /</font><br>
      <font face="monospace">tmpfs                     2.0G     0 
        2.0G   0% /dev/shm</font><br>
      <font face="monospace">tmpfs                     5.0M     0 
        5.0M   0% /run/lock</font><br>
      <font face="monospace">tmpfs                     2.0G     0 
        2.0G   0% /sys/fs/cgroup</font><br>
      <font face="monospace">/dev/sda1                 472M   49M  399M 
        11% /boot</font><br>
      <font face="monospace">tmpfs                     395M     0 
        395M   0% /run/user/1000</font><br>
      <br>
      <font face="monospace">you will need 91G        of free space.</font><br>
      <br>
      <font face="monospace">We will attempt to look for a Citadel
        database in /usr/local/citadel/data</font><br>
      <font face="monospace">Do you want to continue? <b>NO</b><br>
        <br>
      </font><font face="monospace">root@em2:/home/sys1# df -h</font><br>
      <font face="monospace">Filesystem                Size  Used Avail
        Use% Mounted on</font><br>
      <font face="monospace">udev                      2.0G     0 
        2.0G   0% /dev</font><br>
      <font face="monospace">tmpfs                     395M  5.4M 
        390M   2% /run</font><br>
      <b><font face="monospace">/dev/mapper/em2--vg-root  182G   92G  
          81G  54% /</font></b><br>
      <font face="monospace">tmpfs                     2.0G     0 
        2.0G   0% /dev/shm</font><br>
      <font face="monospace">tmpfs                     5.0M     0 
        5.0M   0% /run/lock</font><br>
      <font face="monospace">tmpfs                     2.0G     0 
        2.0G   0% /sys/fs/cgroup</font><br>
      <font face="monospace">/dev/sda1                 472M   49M  399M 
        11% /boot</font><br>
      <font face="monospace">tmpfs                     395M     0 
        395M   0% /run/user/1000</font><br>
    </blockquote>
    <br>
    <font face="Liberation Sans">2. Yes this is the database location:<br>
    </font>
    <blockquote><font face="Liberation Sans"><font face="monospace">root@em2:/home/sys1#
          ls -l /usr/local/citadel/</font></font><br>
      <font face="Liberation Sans"><font face="monospace">total 13708</font></font><br>
      <font face="Liberation Sans"><font face="monospace">srwx------ 1
          root root        0 Apr  8 13:26 citadel-admin.socket</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rwxr-xr-x 1
          root root 10428392 Apr  7 14:04 citadel.appimage</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw-rw-rw- 1
          root root        0 Apr  8 13:26 citadel.lock</font></font><br>
      <font face="Liberation Sans"><font face="monospace">srwxrwsrwx 1
          root root        0 Apr  8 13:26 citadel.socket</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root  6127616 Apr  7 14:14 core</font></font><br>
      <font face="Liberation Sans"><font face="monospace">drwx------ 2
          root root     4096 Apr  8 04:03 data</font></font><br>
      <font face="Liberation Sans"><font face="monospace">drwx------ 2
          root root     4096 Apr  7 14:04 files</font></font><br>
      <font face="Liberation Sans"><font face="monospace">drwx------ 2
          root root     4096 Apr  7 14:04 keys</font></font><br>
      <font face="Liberation Sans"><font face="monospace">srwxrwsrwx 1
          root root        0 Apr  8 13:26 lmtp.socket</font></font><br>
      <font face="Liberation Sans"><font face="monospace">srwxrwsrwx 1
          root root        0 Apr  8 13:26 lmtp-unfiltered.socket</font></font><br>
      <font face="Liberation Sans"><font face="monospace">drwx------ 2
          root root     4096 Apr  7 14:04 messages</font></font><br>
      <br>
      <font face="Liberation Sans"><font face="monospace">root@em2:/home/sys1#
          ls -l /usr/local/citadel/data/</font></font><br>
      <font face="Liberation Sans"><font face="monospace">total 95209548</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root   380760064 Apr  8 04:03 cdb.00</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root      176128 Apr  8 13:26 cdb.01</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root      688128 Apr  8 13:26 cdb.02</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root       16384 Apr  8 13:26 cdb.03</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root     3809280 Apr  8 04:03 cdb.04</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root      516096 Apr  8 04:03 cdb.05</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root       24576 Apr  7 14:04 cdb.06</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root    60178432 Jan 25 19:00 cdb.07</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root 97038852096 Apr  8 04:03 cdb.08</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root        8192 Jan 25 20:01 cdb.09</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root     3518464 Apr  8 04:03 cdb.0a</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root       16384 Apr  8 04:00 cdb.0b</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root        8192 Jan 25 20:01 cdb.0c</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root        8192 Apr  8 04:03 cdb.0d</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root          71 Jan 25 20:01 DB_CONFIG</font></font><br>
      <font face="Liberation Sans"><font face="monospace">-rw------- 1
          root root    10485760 Apr  8 13:26 log.0000153721</font></font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
      The process runs with this info:<br>
    </font>
    <blockquote><font face="Liberation Sans"><font face="monospace">root@em2:/home/sys1#
          ps -eaf|grep cit</font></font><br>
      <font face="Liberation Sans"><font face="monospace">root      
          385     1  0 13:26 ?        00:00:00
          /usr/local/citadel/citadel.appimage run -h /usr/local/citadel
          -p 80 -s 443</font></font><br>
      <font face="Liberation Sans"><font face="monospace">root      
          393   382  0 13:26 ?        00:00:00 citserver -x9 -h
          /usr/local/citadel</font></font><br>
      <font face="Liberation Sans"><font face="monospace">root      
          394   382  0 13:26 ?        00:00:00 webcit -x9
          -h/tmp/.mount_citadefpzQwJ/usr/local/webcit -p 80 uds
          /usr/local/citadel</font></font><br>
      <font face="Liberation Sans"><font face="monospace">root      
          395   382  0 13:26 ?        00:00:00 webcit -x9
          -h/tmp/.mount_citadefpzQwJ/usr/local/webcit -s -p 443 uds
          /usr/local/citadel</font></font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
      3. Yes I tested it with "</font><font face="Liberation Sans"><font
        face="Liberation Sans">admin+citadel</font>" even today, and the
      message is "ADMIN NOT FOUND."<br>
      The database has information, since it does not give me an error
      when I try with my username and password, it simply does not show
      error and does not change from the login page.<br>
      <br>
      Any commands I can run from the terminal to check further? It
      seems that "sendcommand" no longer exists.<br>
      <br>
      Regards!<br>
    </font><br>
    <div class="moz-cite-prefix">On 4/8/21 8:58 AM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:606F1A21-7D20286D@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;1. What effect would it have if I run *database_cleanup* with my   
 &gt;backup+data in the DB?  
  
 Yes, I'd try database_cleanup just to see what it does. 
  
 Also, I have to ask: is the copy of your database actually in /usr/local/citadel
or is it somewhere else? 
  
 You should also try logging in as "admin" with password "citadel".  If that
works, it means you're operating with an empty database instead of the one
you think you're using. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259501</link><pubDate>Thu, 08 Apr 2021 10:58:41 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099259501@Uncensored</guid><description><![CDATA[ >1. What effect would it have if I run *database_cleanup* with my   
 >backup+data in the DB?  
  
 Yes, I'd try database_cleanup just to see what it does. 
  
 Also, I have to ask: is the copy of your database actually in /usr/local/citadel
or is it somewhere else? 
  
 You should also try logging in as "admin" with password "citadel".  If that
works, it means you're operating with an empty database instead of the one
you think you're using. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259421</link><pubDate>Wed, 07 Apr 2021 16:22:41 +0500</pubDate><title>Re: citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099259421@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Greetings Art<br>
      <br>
      I manage to run the AppImage, but I can't login </font><br>
    <ul>
      <li><font face="Liberation Sans"><font face="Liberation Sans">Using
            my correct username and password, it does not show any
            message and does not change the page.</font></font></li>
      <li><font face="Liberation Sans">If I try to use invalid
          credentials, an error message tells me that the user does not
          exist or the password is invalid.</font><br>
      </li>
    </ul>
    <font face="Liberation Sans"><br>
      This is my results:<br>
      <br>
    </font>
    <blockquote><font face="Courier New, Courier, monospace"><font
          face="monospace">Checking to make sure Citadel is not already
          running...<br>
          OK<br>
          <br>
          Checking this AppImage compatibility with your host system...<br>
          /tmp/.mount_citadeK8ysof/usr/local/citadel/citserver: binary
          compatibility confirmed<br>
          OK<br>
          <br>
          In what directory will you run Citadel? [/usr/local/citadel]<br>
          Checking this operating system for systemd...<br>
          OK<br>
          <br>
          Checking for old startup files.<br>
          OK<br>
          <br>
          Ready to install /home/sys1/citadel-1617821022-x64.appimage in
          /usr/local/citadel<br>
          Copying the AppImage...<br>
          Creating the systemd unit file...<br>
          OK<br>
          <br>
          Enabling the service...<br>
          Created symlink
          /etc/systemd/system/multi-user.target.wants/citadel.service →
          /etc/systemd/system/citadel.service.<br>
          OK<br>
          <br>
          Starting the service...<br>
          OK<br>
          <br>
          Installation has completed.<br>
          Please continue by browsing to <a class="moz-txt-link-freetext" href="http://em2:80">http://em2:80</a><br>
          <br>
        </font></font></blockquote>
    Using the command <b>test</b> looks good!<br>
    <blockquote><font face="Courier New, Courier, monospace"><font
          face="monospace">root@em2:/home/sys1#
          ./citadel-1617821022-x64.appimage test<br>
          /tmp/.mount_citadeOJ2v6t/usr/local/citadel/citserver: binary
          compatibility confirmed<br>
          <br>
          root@em2:/home/sys1# ./citadel-1617821022-x64.appimage -h
          /usr/local/citadel test<br>
          /tmp/.mount_citadeLbqqNJ/usr/local/citadel/citserver: binary
          compatibility confirmed<br>
          <br>
        </font></font></blockquote>
    <font face="Liberation Sans">Questions:<br>
      1. What effect would it have if I run <b>database_cleanup</b>
      with my backup+data in the DB?</font>
    <blockquote><font face="Courier New, Courier, monospace"><font
          face="monospace">root@em2:/home/sys1#
          ./citadel-1617821022-x64.appimage --help<br>
          getopt: unrecognized option '--help'<br>
          /home/sys1/citadel-1617821022-x64.appimage: usage:
          /home/sys1/citadel-1617821022-x64.appimage [-h data_directory]
          [-p http_port] [-s https_port] command<br>
          command must be one of: run, test, install, database_cleanup</font><br>
      </font><br>
    </blockquote>
    <font face="Liberation Sans">Regards<br>
      <br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 4/7/21 12:50 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:606DFF12-7D202810@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> 
  
 [ <a class="moz-txt-link-freetext" href="http://easyinstall.citadel.org/citadel-1617821022-x64.appimage">http://easyinstall.citadel.org/citadel-1617821022-x64.appimage</a> ] 
  
 This version of the AppImage uses the same version of Berkeley DB as the
one used in Easy Install.  This means if you've tried the AppImage before
but it choked on an existing database, now is the time to try again! 
  
 I'll update the ARM version soon. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259408</link><pubDate>Wed, 07 Apr 2021 14:50:58 +0500</pubDate><title>citadel-1617821022-x64.appimage</title><guid isPermaLink="false">2099259408@Uncensored</guid><description><![CDATA[ 
  
 [ http://easyinstall.citadel.org/citadel-1617821022-x64.appimage ] 
  
 This version of the AppImage uses the same version of Berkeley DB as the
one used in Easy Install.  This means if you've tried the AppImage before
but it choked on an existing database, now is the time to try again! 
  
 I'll update the ARM version soon. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259407</link><pubDate>Wed, 07 Apr 2021 14:49:44 +0500</pubDate><title>Message #2099259407</title><guid isPermaLink="false">2099259407@Uncensored</guid><description><![CDATA[This is the developer community only.  It's private because we had too many
end users posting poorly triaged bug reports, support requests, and feature
requests in here. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259315</link><pubDate>Wed, 07 Apr 2021 00:59:06 +0500</pubDate><title>Message #2099259315</title><guid isPermaLink="false">2099259315@Uncensored</guid><description><![CDATA[<html><body>

<p>Is this room private? When users contact me with issues, should I post their descriptions of the issues here so other Citadel developers can read 'em, or is there another room? </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099259251</link><pubDate>Tue, 06 Apr 2021 11:20:11 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-619-g47fa232ed</title><guid isPermaLink="false">2099259251@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  47fa232ed888bbe5b62ab361b64cc4be78359ab5 (commit)
      from  55a6d74dded2e0472732b248fba548f611f2a7aa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=47fa232ed888bbe5b62ab361b64cc4be78359ab5
commit 47fa232ed888bbe5b62ab361b64cc4be78359ab5
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Apr 6 11:20:07 2021 -0400

    Added more exit points to build_appimage.sh so we know where it failed

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258906</link><pubDate>Sat, 03 Apr 2021 11:53:48 +0500</pubDate><title>Message #2099258906</title><guid isPermaLink="false">2099258906@Uncensored</guid><description><![CDATA[<html><body>

<p>I ran Citadel UX on a Sparcstation 5. I was able to get it installed - but managing it was a tall order. Eventually it filled my /var drive and caused a kernel panic and I got it fixed - but it was just too much work for a BBS I was running at home. <br /><br />It has become much more manageable. But Linux has become much easier to manage, too. <br /><br />The migration tools were NOT completely broken. But - you had to get everything going just right... it was a very analog process of when you were kicking it off and exactly how... lots of things had to be in just the right shape to get it to run - was my impression. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Apr 03 2021 10:55:30 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok good. That means the migration tools weren't *completely* broken. We've come a long way from the days when installing a multiuser Citadel meant compiling the sources yourself and carefully putting everything into place. 30 years ago the objective was to make the administration experience as "unix like" as possible. Since then there has been quite a change in what it means to be a system operator. I have to believe that it it weren't for the existential crisis in 1997 and then the groupware idea in 1998, we'd still be doing things the "old way" (or perhaps the project would have been abandoned by now). <br /><br />Easy Install opened up a whole new tier of system operators who otherwise wouldn't have been able to get the software installed. AppImage really brings that to the extreme of "I don't want to learn any of this, I just want to run the software." </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258883</link><pubDate>Sat, 03 Apr 2021 10:55:30 +0500</pubDate><title>Message #2099258883</title><guid isPermaLink="false">2099258883@Uncensored</guid><description><![CDATA[Ok good.  That means the migration tools weren't *completely* broken.  We've
come a long way from the days when installing a multiuser Citadel meant compiling
the sources yourself and carefully putting everything into place.  30 years
ago the objective was to make the administration experience as "unix like"
as possible.  Since then there has been quite a change in what it means to
be a system operator.  I have to believe that it it weren't for the existential
crisis in 1997 and then the groupware idea in 1998, we'd still be doing things
the "old way" (or perhaps the project would have been abandoned by now). 
  
 Easy Install opened up a whole new tier of system operators who otherwise
wouldn't have been able to get the software installed.  AppImage really brings
that to the extreme of "I don't want to learn any of this, I just want to
run the software." 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258839</link><pubDate>Fri, 02 Apr 2021 19:25:29 +0500</pubDate><title>Message #2099258839</title><guid isPermaLink="false">2099258839@Uncensored</guid><description><![CDATA[<html><body>

<p>A long time ago. When I moved to x64 I used both ctdlmigrate and the other method. I had a lot of difficulty, and it wasn't consistently re-creatable - that is - after I did it, I tried to do it again, and it failed. I never figured out what exactly I did that got it to work the time it did - but once was enough to get it moved over - and now I have lots of copies of it on x64 drives. <br /><br />When you're ready to have me attempt a clone using AppImage of The Sanitarium - I'll give it a shot. I'm actually really excited about AppImage and the changes taking place with Citadel right now. <br />The fact that I've been running Citadel pretty successfully for a couple of years now, I think - suggests that it already was pretty low down the ladder of skills necessary to run Citadel - but yes - the easier it is to put up a Citadel - the better, for sure. <br /><br /><br /></p>
<blockquote>
<div class="message_header"><span>Thu Apr 01 2021 17:32:11 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Production is an i5 NUC. I've got 4 of that particular model. Dell <br />optiplex 3020 Micro - and two 3040s that have the next gen i5 CPU.  </blockquote>
<br />Ok, so you're on 64-bit x86. Did you use ctdlmigrate to move from ARM? I ended up making a lot of changes to that recently when I tried to run it with a clone of Uncensored as the source machine; it choked badly on my database. <br /><br />There are new AppImage builds available as of today. <br />https://www.citadel.org/appimage.html <br /><br />These include all of the new import/export module code, but ironically I haven't yet put in a *way* to run ctdlmigrate from the AppImage. This will inevitably be added before I start running it myself, because my source system is 32-bit and I want to put an end to that. <br /><br />The new version *can* be called with "./citadel-xxxxxxxxxx.appimage database_cleanup" to invoke the database_cleanup.sh script on the database, using the correct version of Berkeley DB packaged with the AppImage. This will be very useful for people who did horrifying things to their systems and need to clean up. <br /><br />Speaking of horrifying things ... hopefully they will happe
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258737</link><pubDate>Thu, 01 Apr 2021 17:32:11 +0500</pubDate><title>Message #2099258737</title><guid isPermaLink="false">2099258737@Uncensored</guid><description><![CDATA[ >Production is an i5 NUC. I've got 4 of that particular model. Dell  
 >optiplex 3020 Micro - and two 3040s that have the next gen i5 CPU.   
  
 Ok, so you're on 64-bit x86.  Did you use ctdlmigrate to move from ARM? 
I ended up making a lot of changes to that recently when I tried to run it
with a clone of Uncensored as the source machine; it choked badly on my database.

  
 There are new AppImage builds available as of today. 
 https://www.citadel.org/appimage.html 
  
 These include all of the new import/export module code, but ironically I
haven't yet put in a *way* to run ctdlmigrate from the AppImage.  This will
inevitably be added before I start running it myself, because my source system
is 32-bit and I want to put an end to that. 
  
 The new version *can* be called with "./citadel-xxxxxxxxxx.appimage database_cleanup"
to invoke the database_cleanup.sh script on the database,
using the correct version of Berkeley DB packaged with the AppImage.  This
will be very useful for people who did horrifying things to their systems
and need to clean up. 
  
 Speaking of horrifying things ... hopefully they will happen less frequently.
 I've made the server shutdown sequence far more violent towards everything
*except* closing the databases.  Now when a signal is received, it goes straight
for the database close operation -- screw the open connections and everything
else it's doing.  Its primary and only objective at that point is to cleanly
close the databases.  It now happens extremely quickly, too ... no more waiting
30 seconds for all threads to complete their work -- after which citserver
exits even if the databases were not closed.  Corrupting data is bad. 
  
 Yes, we're trying to get as far down the ladder as we can with regards to
how much skill you need to run Citadel.  We'll never get to the bottom. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258724</link><pubDate>Thu, 01 Apr 2021 15:50:06 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-618-g55a6d74dd</title><guid isPermaLink="false">2099258724@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  55a6d74dded2e0472732b248fba548f611f2a7aa (commit)
      from  fd396aeb6d3e10be928dd899ae228147b1728fb3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=55a6d74dded2e0472732b248fba548f611f2a7aa
commit 55a6d74dded2e0472732b248fba548f611f2a7aa
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Apr 1 15:50:01 2021 -0400

    Added 'database_cleanup' to the AppImage

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/AppRun | 33 +++++++++++++++++++--------------
 citadel/database_cleanup.sh    |  4 ++--
 2 files changed, 21 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258718</link><pubDate>Thu, 01 Apr 2021 15:32:47 +0500</pubDate><title>Message #2099258718</title><guid isPermaLink="false">2099258718@Uncensored</guid><description><![CDATA[<html><body>

<p>Production is an i5 NUC. I've got 4 of that particular model. Dell optiplex 3020 Micro - and two 3040s that have the next gen i5 CPU. <br /><br /><br /></p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Apr 01 2021 11:34:20 EDT</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">What are you running your production system on right now? </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258699</link><pubDate>Thu, 01 Apr 2021 13:42:02 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-617-gfd396aeb6</title><guid isPermaLink="false">2099258699@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fd396aeb6d3e10be928dd899ae228147b1728fb3 (commit)
      from  89614b347d070ebca99c71e613532371f7877234 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fd396aeb6d3e10be928dd899ae228147b1728fb3
commit fd396aeb6d3e10be928dd899ae228147b1728fb3
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Apr 1 13:41:59 2021 -0400

    Removed the comments about RMS being an asshole communist.  I don't want anyone to think that I am part of the fascist 'MeToo' movement.  My objection to RMS is that he is a far-left asshole communist, not that other far-left asshole communists want to cancel him.

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c                             | 3 +--
 citadel/modules/listsub/serv_listsub.c           | 2 +-
 webcit-ng/admin_functions.c                      | 2 +-
 webcit-ng/caldav_reports.c                       | 2 +-
 webcit-ng/ctdl_commands.c                        | 2 +-
 webcit-ng/ctdlclient.c                           | 2 +-
 webcit-ng/ctdlfunctions.c                        | 2 +-
 webcit-ng/forum_view.c                           | 2 +-
 webcit-ng/html2html.c                            | 2 +-
 webcit-ng/http.c                                 | 2 +-
 webcit-ng/main.c                                 | 2 +-
 webcit-ng/messages.c                             | 2 +-
 webcit-ng/old_threaded_view_save_for_reference.c | 2 +-
 webcit-ng/request.c                              | 2 +-
 webcit-ng/room_functions.c                       | 2 +-
 webcit-ng/ssl.c                                  | 2 +-
 webcit-ng/static.c                               | 2 +-
 webcit-ng/tcp_sockets.c                          | 2 +-
 webcit-ng/text2html.c                            | 2 +-
 webcit-ng/user_functions.c                       | 2 +-
 webcit-ng/util.c                                 | 2 +-
 webcit-ng/webserver.c                            | 2 +-
 22 files changed, 22 insertions(+), 23 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258682</link><pubDate>Thu, 01 Apr 2021 11:34:20 +0500</pubDate><title>Message #2099258682</title><guid isPermaLink="false">2099258682@Uncensored</guid><description><![CDATA[What are you running your production system on right now? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258536</link><pubDate>Wed, 31 Mar 2021 01:17:02 +0500</pubDate><title>Message #2099258536</title><guid isPermaLink="false">2099258536@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok... I've got some time - and I just picked up 4 additional i5 NUCs in addition to the two I originally bought for the Sanitarium. <br /><br />So, now I've got at least one machine to dedicate to a "test" environment for Citadel on i5, and the Pi400 for ARM. <br /><br />I'll start playing around with it more and reporting my experiences in more detail. </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258491</link><pubDate>Tue, 30 Mar 2021 14:54:35 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-616-g89614b347</title><guid isPermaLink="false">2099258491@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  89614b347d070ebca99c71e613532371f7877234 (commit)
      from  7f057b41722a580d109780abc80137ee0379704a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=89614b347d070ebca99c71e613532371f7877234
commit 89614b347d070ebca99c71e613532371f7877234
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Mar 30 14:54:26 2021 -0400

    updated database_cleanup.sh

-----------------------------------------------------------------------

Summary of changes:
 citadel/.gitignore                                      |  1 -
 citadel/Makefile.in                                     |  2 +-
 citadel/configure.ac                                    |  2 +-
 citadel/{database_cleanup.sh.in => database_cleanup.sh} | 15 +++++++++------
 4 files changed, 11 insertions(+), 9 deletions(-)
 rename citadel/{database_cleanup.sh.in => database_cleanup.sh} (92%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258487</link><pubDate>Tue, 30 Mar 2021 14:39:06 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-615-g7f057b417</title><guid isPermaLink="false">2099258487@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7f057b41722a580d109780abc80137ee0379704a (commit)
      from  5b4f25945be356aa3a8797e70bbe16355538a967 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7f057b41722a580d109780abc80137ee0379704a
commit 7f057b41722a580d109780abc80137ee0379704a
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Mar 30 14:39:02 2021 -0400

    add some db_ utils to the appimage dir

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 6 ++++++
 1 file changed, 6 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=2099258482</link><pubDate>Tue, 30 Mar 2021 14:19:54 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-614-g5b4f25945</title><guid isPermaLink="false">2099258482@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5b4f25945be356aa3a8797e70bbe16355538a967 (commit)
      from  5c0e761193d900c081bead767eec80451e02be6b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5b4f25945be356aa3a8797e70bbe16355538a967
commit 5b4f25945be356aa3a8797e70bbe16355538a967
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Mar 30 14:19:50 2021 -0400

    Various changes to appimage.  Removed some old docs.

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c           | 23 ++++++++-------
 citadel/citmail.c              | 43 ++++++++++++++--------------
 citadel/docs/netconfigs.txt    | 11 +++-----
 citadel/docs/package-setup.txt | 35 -----------------------
 citadel/docs/smtpclient.txt    | 36 ------------------------
 citadel/docs/welcomemail.html  | 63 ------------------------------------------
 citadel/docs/welcomemail.txt   | 57 --------------------------------------
 7 files changed, 37 insertions(+), 231 deletions(-)
 delete mode 100644 citadel/docs/package-setup.txt
 delete mode 100644 citadel/docs/smtpclient.txt
 delete mode 100644 citadel/docs/welcomemail.html
 delete mode 100644 citadel/docs/welcomemail.txt


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4671582</link><pubDate>Tue, 16 Mar 2021 09:53:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-613-g5c0e76119</title><guid isPermaLink="false">4671582@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5c0e761193d900c081bead767eec80451e02be6b (commit)
      from  29054912680f4f66a84ac947de38b8e99a1c4d80 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5c0e761193d900c081bead767eec80451e02be6b
commit 5c0e761193d900c081bead767eec80451e02be6b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Mar 16 09:52:56 2021 -0400

    updated config.guess in libcitadel

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/conftools/config.guess | 1427 +++++++++++++++++++++----------------
 1 file changed, 814 insertions(+), 613 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4671292</link><pubDate>Sat, 13 Mar 2021 22:53:23 +0500</pubDate><title>Message #4671292</title><guid isPermaLink="false">4671292@Uncensored</guid><description><![CDATA[<html><body>

<p>I haven't upgraded yet - but I'll probably buy another 256GB SD, image the current version to that drive (this is my Citadel backup solution - it is a bit expensive - but if something goes wrong, I can just image back...) and throw this version at it. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Mar 13 2021 20:50:47 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I just upgraded Uncensored to Citadel 931. I have been experiencing two problems lately and I know this will fix at least one of them. One problem was finding WebCit in an endless loop every morning, and I know that's fixed because I traced it down to an "optimization" of the HTTP/HTTPS read function that had a bug in it. The other problem is that citserver crashes a few times a week, and the debugger says it's crashing in SSL_accept() in the OpenSSL library. <br />That one continues to mystify me, and I'm hoping that when I move to a newer OS with a newer OpenSSL it will start working. <br /><br />Anything weird, let me know... </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4671278</link><pubDate>Sat, 13 Mar 2021 20:50:47 +0500</pubDate><title>Message #4671278</title><guid isPermaLink="false">4671278@Uncensored</guid><description><![CDATA[I just upgraded Uncensored to Citadel 931.  I have been experiencing two problems
lately and I know this will fix at least one of them.  One problem was finding
WebCit in an endless loop every morning, and I know that's fixed because I
traced it down to an "optimization" of the HTTP/HTTPS read function that had
a bug in it.  The other problem is that citserver crashes a few times a week,
and the debugger says it's crashing in SSL_accept() in the OpenSSL library.
 That one continues to mystify me, and I'm hoping that when I move to a newer
OS with a newer OpenSSL it will start working. 
  
 Anything weird, let me know... 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670598</link><pubDate>Tue, 09 Mar 2021 13:02:42 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-608-g3f42659ab</title><guid isPermaLink="false">4670598@Uncensored</guid><description><![CDATA[I'm happy to hear your feedback.  One of the reasons I post these internal
updates is to give you (and others who are following the conversation) an
idea of the progress being made.  This is how you know what is being worked
on and how close to completion each element has progressed. 
  
 Building the AppImage revealed a lot of work that needed to be done to make
the server more robust, more reliable, less "weird".  It's not the greatest
time to have to work on this stuff but the deeper I get into it, the more
I am seeing the edge case problems that people have reported but I was never
able to reproduce myself. 
  
 So we keep going on these weird side quests, but the goal is to get AppImage
working, reliably and 100% of the time, so that the "less technical" users
can literally download it and run it.  I want us to get there as soon as possible,
because the "big vision" stuff in my mind
all requires WebCit-NG to be feature complete -- and I won't go there until
the AppImage stuff is finished. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670590</link><pubDate>Tue, 09 Mar 2021 12:18:01 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-608-g3f42659ab</title><guid isPermaLink="false">4670590@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Hi Art<br>
      <br>
      I started reading daily since the promise of the container in
      Docker, and now with the AppImage, I check daily especially your
      updates; but I almost don't comment so as not to invade the thread
      of your messages.<br>
      <br>
      <br>
      About the SSH connection freezing, an anecdote:<br>
      If I try to work remotely with SSH on my servers, and I neglect
      the keyboard for a few seconds / minutes, the connection freezes.<br>
      I found that if I use ssh and run "tmux - terminal multiplexer" in
      the session, I can work without the connection freezing even if I
      leave the keyboard for hours.<br>
      <br>
      There is something very strange with SSH and I have seen this for
      years since I started using Linux remotely, I don't know if this
      happens using putty and leaving the keyboard untouched for a
      while.<br>
      <br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 3/9/21 7:27 AM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:604785D5-0047445F@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 Finally ... got a working clone of Uncensored.  It took eight hours to copy.
 When I do it for real I will have to schedule some actual downtime.  :( 
  
 I am going through the clone system and so far it appears to be a clean replica
of its source (but running in 64-bit of course).  New message pointers look
good, all the users are there, messages aren't missing ... so far it's pretty
clean. 
  
 So now there are just a few things to button up on that, and I can test the
AppImage on a real clone of a real system  :) 
  
  
 Hey ... do you guys read these random updates, or am I just talking to myself?

 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670569</link><pubDate>Tue, 09 Mar 2021 11:26:57 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-612-g290549126</title><guid isPermaLink="false">4670569@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  29054912680f4f66a84ac947de38b8e99a1c4d80 (commit)
      from  068d33e5d8569b2c4a2c8582178427892b0a8dee (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=29054912680f4f66a84ac947de38b8e99a1c4d80
commit 29054912680f4f66a84ac947de38b8e99a1c4d80
Author: root <root@dev.citadel.org>
Date:   Tue Mar 9 11:25:53 2021 -0500

    This wraps up the ctdlmigrate fixes.

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdlmigrate.c                    | 33 ++++++++++++--------
 citadel/modules/ctdlproto/serv_syscmds.c | 52 ++++++++++++--------------------
 2 files changed, 40 insertions(+), 45 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670559</link><pubDate>Tue, 09 Mar 2021 09:27:33 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-608-g3f42659ab</title><guid isPermaLink="false">4670559@Uncensored</guid><description><![CDATA[  
 Finally ... got a working clone of Uncensored.  It took eight hours to copy.
 When I do it for real I will have to schedule some actual downtime.  :( 
  
 I am going through the clone system and so far it appears to be a clean replica
of its source (but running in 64-bit of course).  New message pointers look
good, all the users are there, messages aren't missing ... so far it's pretty
clean. 
  
 So now there are just a few things to button up on that, and I can test the
AppImage on a real clone of a real system  :) 
  
  
 Hey ... do you guys read these random updates, or am I just talking to myself?

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670521</link><pubDate>Mon, 08 Mar 2021 19:31:33 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-611-g068d33e5d</title><guid isPermaLink="false">4670521@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  068d33e5d8569b2c4a2c8582178427892b0a8dee (commit)
      from  f951aad47adf97e54c1a2fa7e55ae1aae6f182e2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=068d33e5d8569b2c4a2c8582178427892b0a8dee
commit 068d33e5d8569b2c4a2c8582178427892b0a8dee
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 8 19:31:30 2021 -0500

    formatting

-----------------------------------------------------------------------

Summary of changes:
 citadel/auth.c                         |  65 ++++------
 citadel/ctdlmigrate.c                  | 137 +++++++++------------
 citadel/database.c                     |   3 +-
 citadel/modules/migrate/serv_migrate.c | 219 +++++++++++++++------------------
 citadel/msgbase.c                      |  50 ++++----
 5 files changed, 207 insertions(+), 267 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670517</link><pubDate>Mon, 08 Mar 2021 18:23:03 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-608-g3f42659ab</title><guid isPermaLink="false">4670517@Uncensored</guid><description><![CDATA[  
 For anyone following the drama: 
  
 No matter what I tried, the SSH connection would eventually choke and die.
 Small data, big data, keepalives, whatever I tried it would still die during
the replication.  So I removed SSH from the data path.  Trying it now using
a direct connection to the source Citadel server on port 504 using its own
protocol.  So far, so good: the test copy of Uncensored passed one million
lines for the first time and is now 30% complete.  I'll let it run and see
if it finishes. 
  
 This wouldn't have been an option before, because there was all sorts of
"out-of-db" data that needed to be copied.  Now it's actually pretty ok, as
there are only a few things that need to be copied over, and it could be argued
that the administrator should be copying them over manually anyway (file libraries
and SSL keys).  The downside is that if an administrator password is compromised,
a remote attacker can download the whole database, but someone with that password
could eventually get anything they wanted anyway. 
  
 The process sure "feels" a lot better at this point.  If this test finishes
cleanly, I can play around with the 64-bit clone of Uncensored (which will
now be a couple of weeks out of date) and schedule a "real" migration when
the AppImage is ready for prime time.  The practical upshot of all this is
that if you're anxious for the AppImage, don't worry: I want it too!  :) 
  
 Does anyone here have IT experience dating back to Novell Netware?  They
had an over-the-wire migration utility that you could use to clone a server.
 ctdlmigrate is built to work like that utility. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670512</link><pubDate>Mon, 08 Mar 2021 18:11:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-610-gf951aad47</title><guid isPermaLink="false">4670512@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f951aad47adf97e54c1a2fa7e55ae1aae6f182e2 (commit)
      from  6f7143796defed37742bd525df9c5b8e10912709 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f951aad47adf97e54c1a2fa7e55ae1aae6f182e2
commit f951aad47adf97e54c1a2fa7e55ae1aae6f182e2
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 8 18:11:23 2021 -0500

    My current love affair is with C++ style comments.  Will it last?

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdlmigrate.c | 214 +++++++++++++++++++++++++-----------------
 citadel/msgbase.c     | 253 +++++++++++++++++++++-----------------------------
 citadel/sysdep.c      |   2 +-
 3 files changed, 239 insertions(+), 230 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670504</link><pubDate>Mon, 08 Mar 2021 16:01:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-609-g6f7143796</title><guid isPermaLink="false">4670504@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6f7143796defed37742bd525df9c5b8e10912709 (commit)
      from  3f42659abf3d2eda6749103200e0b06a52a70fb7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6f7143796defed37742bd525df9c5b8e10912709
commit 6f7143796defed37742bd525df9c5b8e10912709
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Mar 8 16:01:25 2021 -0500

    Large migrations over SSH continue failing despite the addition of keepalives in the control channel.  Permitting export over TCP to see if it fares better on our own protocol.

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdlmigrate.c                  | 4 ++--
 citadel/modules/migrate/serv_migrate.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670429</link><pubDate>Sun, 07 Mar 2021 23:30:53 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-608-g3f42659ab</title><guid isPermaLink="false">4670429@Uncensored</guid><description><![CDATA[  
 Geez.  It's amazing how badly broken the migration tool was.  Thankfully
I am running it against a clone of Uncensored and not the real Uncensored
(btrfs is teh r0x0r) because you folks would be miserable getting on here
 :) 
  
 Right now I'm dealing with a problem where both ends get a SIGPIPE on the
SSH link, and each end thinks the other end closed the connection.  Best I
can tell is that the write operation was too big (2817332 bytes) and something
in the pipeline gagged on a >2GB block of data, so I'm chunking it up into
smaller pieces.   The problem is that it takes close to a half hour before
it gets to that point, so it is slow going.  :( 
  
 The good part is that I have, unilaterally and personally, made a decision
on behalf of the entire Unix and Linux world.  And that decision is: curses/terminfo
is obsolete.  I am declaring that the whole world is now ANSI/xterm256 compatible,
and I'm going to use color and box drawing characters and fuck off if you
don't like it because if you're still using a Wyse 60 in the 21st century
you've already got bigger problems. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670426</link><pubDate>Sun, 07 Mar 2021 23:18:57 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-608-g3f42659ab</title><guid isPermaLink="false">4670426@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3f42659abf3d2eda6749103200e0b06a52a70fb7 (commit)
      from  79d6eafd2a8bb379b3e13ff071a000d9bf36771b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3f42659abf3d2eda6749103200e0b06a52a70fb7
commit 3f42659abf3d2eda6749103200e0b06a52a70fb7
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Mar 7 23:18:55 2021 -0500

    Fixed an incorrect box drawing character

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdlmigrate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670422</link><pubDate>Sun, 07 Mar 2021 23:07:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-607-g79d6eafd2</title><guid isPermaLink="false">4670422@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  79d6eafd2a8bb379b3e13ff071a000d9bf36771b (commit)
      from  7e6c3624378a8b286d56a5c6b0941c431cbe7ec8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=79d6eafd2a8bb379b3e13ff071a000d9bf36771b
commit 79d6eafd2a8bb379b3e13ff071a000d9bf36771b
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Mar 7 23:07:08 2021 -0500

    When exporting a message, write to the client 10 KB at a time.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/migrate/serv_migrate.c | 35 +++++++++++++++++++++++-----------
 citadel/msgbase.c                      |  2 +-
 2 files changed, 25 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670410</link><pubDate>Sun, 07 Mar 2021 19:38:27 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-606-g7e6c36243</title><guid isPermaLink="false">4670410@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7e6c3624378a8b286d56a5c6b0941c431cbe7ec8 (commit)
      from  b223424749db67c28961787ce6ae841387f4de46 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7e6c3624378a8b286d56a5c6b0941c431cbe7ec8
commit 7e6c3624378a8b286d56a5c6b0941c431cbe7ec8
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Mar 7 19:38:23 2021 -0500

    ctdlmigrate: use libreadline for prompts

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile.in   |   2 +-
 citadel/ctdlmigrate.c | 105 +++++++++++++++++++++++++++++++-------------------
 2 files changed, 66 insertions(+), 41 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670333</link><pubDate>Sat, 06 Mar 2021 15:06:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-605-gb22342474</title><guid isPermaLink="false">4670333@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b223424749db67c28961787ce6ae841387f4de46 (commit)
      from  9c1d6980160274408d2f280a4af327816e635eb1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b223424749db67c28961787ce6ae841387f4de46
commit b223424749db67c28961787ce6ae841387f4de46
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Mar 6 15:06:46 2021 -0500

    Simplified disable_housekeeping

-----------------------------------------------------------------------

Summary of changes:
 citadel/housekeeping.c | 61 +++++++++++++++-----------------------------------
 1 file changed, 18 insertions(+), 43 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670328</link><pubDate>Sat, 06 Mar 2021 14:56:53 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-604-g9c1d69801</title><guid isPermaLink="false">4670328@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9c1d6980160274408d2f280a4af327816e635eb1 (commit)
      from  3e3e6b5a7cf6de1d5be60ebeda8df24ef279e948 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9c1d6980160274408d2f280a4af327816e635eb1
commit 9c1d6980160274408d2f280a4af327816e635eb1
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Mar 6 14:56:50 2021 -0500

    ctdlmigrate: exit cleanly when a signal is received, tell the user the exit code

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdlmigrate.c                  | 38 +++++++++++++++-------
 citadel/modules/migrate/serv_migrate.c | 59 ++++++++++++++++------------------
 2 files changed, 55 insertions(+), 42 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670318</link><pubDate>Sat, 06 Mar 2021 13:34:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-603-g3e3e6b5a7</title><guid isPermaLink="false">4670318@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3e3e6b5a7cf6de1d5be60ebeda8df24ef279e948 (commit)
      from  cf8f7ffedb36dbfaa5f1f413c42b976c4fda1142 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3e3e6b5a7cf6de1d5be60ebeda8df24ef279e948
commit 3e3e6b5a7cf6de1d5be60ebeda8df24ef279e948
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Mar 6 13:34:17 2021 -0500

    fix a c99 compile bug

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listdeliver/serv_listdeliver.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670315</link><pubDate>Sat, 06 Mar 2021 13:29:06 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-602-gcf8f7ffed</title><guid isPermaLink="false">4670315@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cf8f7ffedb36dbfaa5f1f413c42b976c4fda1142 (commit)
      from  fa2dd842abb5feedea3e2253255722fcaecc3c6f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cf8f7ffedb36dbfaa5f1f413c42b976c4fda1142
commit cf8f7ffedb36dbfaa5f1f413c42b976c4fda1142
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Mar 6 13:29:02 2021 -0500

    Removed obsolete portions of the tree

-----------------------------------------------------------------------

Summary of changes:
 contrib/build.sh               |  54 ---
 contrib/contrib.sh             |  49 ---
 contrib/copysource.sh          |   5 -
 contrib/easyinstall.sh         | 850 ---------------------------------------
 contrib/include.sh             |  64 ---
 contrib/push-easyinstall.sh    |  34 --
 contrib/upgradebuilds.sh       |  17 -
 ctdlphp/CreateUserFromData.php | 125 ------
 ctdlphp/README.txt             |   7 -
 ctdlphp/api.html               | 131 ------
 ctdlphp/config_ctdlclient.php  |  41 --
 ctdlphp/ctdlelements.php       |  87 ----
 ctdlphp/ctdlheader.php         | 118 ------
 ctdlphp/ctdlprotocol.php       | 892 -----------------------------------------
 ctdlphp/ctdlsession.php        | 154 -------
 ctdlphp/display_enter.php      |  27 --
 ctdlphp/do_login.php           |  41 --
 ctdlphp/goto.php               |  17 -
 ctdlphp/index.php              |   5 -
 ctdlphp/listrooms.php          |  34 --
 ctdlphp/login.php              |  37 --
 ctdlphp/logout.php             |  20 -
 ctdlphp/myinfo.php             | 101 -----
 ctdlphp/page2.php              |  31 --
 ctdlphp/page3.php              |  25 --
 ctdlphp/postmsg.php            |  21 -
 ctdlphp/readmsgs.php           |  23 --
 ctdlphp/sessionproxy.php       | 220 ----------
 ctdlphp/sitestyle.css          | 157 --------
 ctdlphp/testuser/config.txt    |  14 -
 ctdlphp/testuser/vcard.txt     |  16 -
 ctdlphp/welcome.php            |  34 --
 ctdlphp/who.php                |  36 --
 ctdlphp/z-push/citadel.php     | 597 ---------------------------
 textclient/debian/changelog    |  48 ---
 textclient/debian/control      |  17 -
 textclient/debian/copyright    | 131 ------
 textclient/debian/rules        | 158 --------
 38 files changed, 4438 deletions(-)
 delete mode 100755 contrib/build.sh
 delete mode 100755 contrib/contrib.sh
 delete mode 100755 contrib/copysource.sh
 delete mode 100755 contrib/easyinstall.sh
 delete mode 100755 contrib/include.sh
 delete mode 100644 contrib/push-easyinstall.sh
 delete mode 100755 contrib/upgradebuilds.sh
 delete mode 100644 ctdlphp/CreateUserFromData.php
 delete mode 100644 ctdlphp/README.txt
 delete mode 100644 ctdlphp/api.html
 delete mode 100644 ctdlphp/config_ctdlclient.php
 delete mode 100644 ctdlphp/ctdlelements.php
 delete mode 100644 ctdlphp/ctdlheader.php
 delete mode 100644 ctdlphp/ctdlprotocol.php
 delete mode 100644 ctdlphp/ctdlsession.php
 delete mode 100644 ctdlphp/display_enter.php
 delete mode 100644 ctdlphp/do_login.php
 delete mode 100644 ctdlphp/goto.php
 delete mode 100644 ctdlphp/index.php
 delete mode 100644 ctdlphp/listrooms.php
 delete mode 100644 ctdlphp/login.php
 delete mode 100644 ctdlphp/logout.php
 delete mode 100644 ctdlphp/myinfo.php
 delete mode 100644 ctdlphp/page2.php
 delete mode 100644 ctdlphp/page3.php
 delete mode 100644 ctdlphp/postmsg.php
 delete mode 100644 ctdlphp/readmsgs.php
 delete mode 100755 ctdlphp/sessionproxy.php
 delete mode 100644 ctdlphp/sitestyle.css
 delete mode 100644 ctdlphp/testuser/config.txt
 delete mode 100644 ctdlphp/testuser/vcard.txt
 delete mode 100644 ctdlphp/welcome.php
 delete mode 100644 ctdlphp/who.php
 delete mode 100644 ctdlphp/z-push/citadel.php
 delete mode 100644 textclient/debian/changelog
 delete mode 100644 textclient/debian/control
 delete mode 100644 textclient/debian/copyright
 delete mode 100755 textclient/debian/rules


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670249</link><pubDate>Fri, 05 Mar 2021 17:23:47 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-601-gfa2dd842a</title><guid isPermaLink="false">4670249@Uncensored</guid><description><![CDATA[This sucks and blows.  I know people hate it when we deprecate the export
format, but as the commit says, it wasn't working anyway. 
  
 I've been procrastinating for years on upgrading Uncensored to 64-bit.  It
needs to be done, because I want to use the AppImage on my production system.
 This will effectively guarantee that the AppImage remains the best way to
run Citadel.  Getting there means we have to make the migration utility 100%
perfect.  Quite a good motivator :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670224</link><pubDate>Fri, 05 Mar 2021 13:37:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-601-gfa2dd842a</title><guid isPermaLink="false">4670224@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fa2dd842abb5feedea3e2253255722fcaecc3c6f (commit)
      from  c4bd204756cd180257160e67f8815ad7cd55ee64 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fa2dd842abb5feedea3e2253255722fcaecc3c6f
commit fa2dd842abb5feedea3e2253255722fcaecc3c6f
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Mar 5 13:37:53 2021 -0500

    Added a comma after each msgnum exported.  The parser was globbing them all together when it was just a newline.  This unfortunately resets the oldest-compatible-export version to the current version, but it wasn't working anyway.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                      |  2 +-
 citadel/housekeeping.c                 | 13 ++---
 citadel/modules/migrate/serv_migrate.c | 96 ++++++++++++++++++----------------
 citadel/modules/nntp/serv_nntp.c       | 31 ++++-------
 4 files changed, 68 insertions(+), 74 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670149</link><pubDate>Thu, 04 Mar 2021 17:59:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-600-gc4bd20475</title><guid isPermaLink="false">4670149@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c4bd204756cd180257160e67f8815ad7cd55ee64 (commit)
      from  7ca5dde7f307874234674829d6bdd22a7d774b6c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c4bd204756cd180257160e67f8815ad7cd55ee64
commit c4bd204756cd180257160e67f8815ad7cd55ee64
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Mar 4 17:59:46 2021 -0500

    Polishing up ctdlmigrate with lots of ANSI color and box drawing characters because non-ANSI terminals are extinct and now unix people finally get to have the same fun DOS weenies had 40 years ago.

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdlmigrate.c | 58 ++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 41 insertions(+), 17 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670107</link><pubDate>Thu, 04 Mar 2021 11:21:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-599-g7ca5dde7f</title><guid isPermaLink="false">4670107@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7ca5dde7f307874234674829d6bdd22a7d774b6c (commit)
      from  ccd013038def6dfc585e45231f5910b9bc621b36 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7ca5dde7f307874234674829d6bdd22a7d774b6c
commit 7ca5dde7f307874234674829d6bdd22a7d774b6c
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Mar 4 11:21:49 2021 -0500

    ctdlmigrate: changed flow of program to avoid gotos, changed SSH to fork()

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdlmigrate.c | 235 ++++++++++++++++++++++++++------------------------
 1 file changed, 122 insertions(+), 113 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670008</link><pubDate>Wed, 03 Mar 2021 20:22:49 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-598-gccd013038</title><guid isPermaLink="false">4670008@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ccd013038def6dfc585e45231f5910b9bc621b36 (commit)
      from  0fcfc4d81b4def0bd0f7562465b5bf7ef4b7857b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ccd013038def6dfc585e45231f5910b9bc621b36
commit ccd013038def6dfc585e45231f5910b9bc621b36
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Mar 3 20:22:47 2021 -0500

    move braces

-----------------------------------------------------------------------

Summary of changes:
 citadel/sysdep.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670004</link><pubDate>Wed, 03 Mar 2021 20:19:06 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-597-g0fcfc4d81</title><guid isPermaLink="false">4670004@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0fcfc4d81b4def0bd0f7562465b5bf7ef4b7857b (commit)
      from  5165e905c8c869b92876738b0436c9e784abce3a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0fcfc4d81b4def0bd0f7562465b5bf7ef4b7857b
commit 0fcfc4d81b4def0bd0f7562465b5bf7ef4b7857b
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Mar 3 20:19:04 2021 -0500

    ctdlmigrate now uses a direct socket connection to the local server instead of sendcommand.  Also removed the use of buffered I/O from serv_migrate.c because it was locking up.

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdlmigrate.c                  | 269 ++++++++++++++++++++-------------
 citadel/modules/migrate/serv_migrate.c |  25 +--
 citadel/sendcommand.c                  |  18 +--
 3 files changed, 176 insertions(+), 136 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4670001</link><pubDate>Wed, 03 Mar 2021 20:14:53 +0500</pubDate><title>Message #4670001</title><guid isPermaLink="false">4670001@Uncensored</guid><description><![CDATA[  
 AAAARRRRGGGHHH 
  
 "ctdlmigrate" has probably been broken for several years, another victim
of untested "optimization".  Every time I find these "buffered I/O" routines,
something was broken by it. 
  
 In this case, a migration of anything other than the smallest test system
would make the importer get stuck.  I believe I have it fixed and people will
be able to migrate their systems across different hardware platforms again.
 (Including me -- this system is sooooooo overdue for a migration to 64-bit.)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669958</link><pubDate>Wed, 03 Mar 2021 11:03:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-596-g5165e905c</title><guid isPermaLink="false">4669958@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5165e905c8c869b92876738b0436c9e784abce3a (commit)
      from  b826c3117bb7ddf1386a4811cb2eb47ea4e1097c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5165e905c8c869b92876738b0436c9e784abce3a
commit 5165e905c8c869b92876738b0436c9e784abce3a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Mar 3 11:03:28 2021 -0500

    regretting my brief fling with BSD style braces

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/image/serv_image.c     | 23 ++++++++-------------
 citadel/modules/smtp/serv_smtpclient.c | 37 ++++++++++++++++++++++------------
 citadel/modules/smtp/smtp_util.c       | 26 +++++++-----------------
 3 files changed, 39 insertions(+), 47 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669903</link><pubDate>Tue, 02 Mar 2021 20:03:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-595-gb826c3117</title><guid isPermaLink="false">4669903@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b826c3117bb7ddf1386a4811cb2eb47ea4e1097c (commit)
      from  ee511c807bbb15b0231f7aae485c3eb38e8e01bf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b826c3117bb7ddf1386a4811cb2eb47ea4e1097c
commit b826c3117bb7ddf1386a4811cb2eb47ea4e1097c
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Mar 2 20:03:05 2021 -0500

    removed StartLibCitadel()

-----------------------------------------------------------------------

Summary of changes:
 citadel/sendcommand.c                   | 17 +----------------
 citadel/server_main.c                   |  5 +----
 libcitadel/lib/libcitadel.c             | 15 ---------------
 libcitadel/lib/libcitadel.h             |  1 -
 libcitadel/tests/hashlist_test.c        |  1 -
 libcitadel/tests/html_to_ascii_test.c   |  1 -
 libcitadel/tests/mime_xdg_lookup_type.c |  1 -
 libcitadel/tests/mimeparser_test.c      |  1 -
 libcitadel/tests/stringbuf_IO_test.c    |  1 -
 libcitadel/tests/stringbuf_conversion.c |  1 -
 libcitadel/tests/stringbuf_stream.c     |  1 -
 libcitadel/tests/stringbuf_test.c       |  1 -
 libcitadel/tests/stripallbut_test.c     |  1 -
 libcitadel/tests/wildfire_test.c        |  1 -
 webcit/tests/test_main.c                |  6 +-----
 webcit/webserver.c                      |  8 ++------
 16 files changed, 5 insertions(+), 57 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669899</link><pubDate>Tue, 02 Mar 2021 19:48:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-594-gee511c807</title><guid isPermaLink="false">4669899@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ee511c807bbb15b0231f7aae485c3eb38e8e01bf (commit)
      from  b9a2089d59579d13694e08b299c2aaf44ef9df6c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ee511c807bbb15b0231f7aae485c3eb38e8e01bf
commit ee511c807bbb15b0231f7aae485c3eb38e8e01bf
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Mar 2 19:48:05 2021 -0500

    moved utils directory files into the root

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile.in               | 31 ++++++++++++++-----------------
 citadel/{utils => }/chkpw.c       |  0
 citadel/{utils => }/chkpwd.c      |  0
 citadel/{utils => }/citmail.c     |  0
 citadel/{utils => }/ctdlmigrate.c |  0
 citadel/{utils => }/sendcommand.c |  0
 citadel/{utils => }/setup.c       |  0
 7 files changed, 14 insertions(+), 17 deletions(-)
 rename citadel/{utils => }/chkpw.c (100%)
 rename citadel/{utils => }/chkpwd.c (100%)
 rename citadel/{utils => }/citmail.c (100%)
 rename citadel/{utils => }/ctdlmigrate.c (100%)
 rename citadel/{utils => }/sendcommand.c (100%)
 rename citadel/{utils => }/setup.c (100%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669896</link><pubDate>Tue, 02 Mar 2021 19:43:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-593-gb9a2089d5</title><guid isPermaLink="false">4669896@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b9a2089d59579d13694e08b299c2aaf44ef9df6c (commit)
      from  a554ab0a6cc536fdb4265235be703a864c2e5a23 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b9a2089d59579d13694e08b299c2aaf44ef9df6c
commit b9a2089d59579d13694e08b299c2aaf44ef9df6c
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Mar 2 19:43:56 2021 -0500

    remove_any_whitespace_to_the_left_or_right_of_at_symbol() is awesomized and no longer throws a compiler warning

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile.in                  | 29 ++++++++++++++---------------
 citadel/{utillib => }/citadel_dirs.c |  0
 citadel/internet_addressing.c        | 19 +++++++++----------
 3 files changed, 23 insertions(+), 25 deletions(-)
 rename citadel/{utillib => }/citadel_dirs.c (100%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669849</link><pubDate>Tue, 02 Mar 2021 11:30:03 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-592-ga554ab0a6</title><guid isPermaLink="false">4669849@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a554ab0a6cc536fdb4265235be703a864c2e5a23 (commit)
      from  c3733b746b1512c1d91c9b9bc53aa19241371b39 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a554ab0a6cc536fdb4265235be703a864c2e5a23
commit a554ab0a6cc536fdb4265235be703a864c2e5a23
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Mar 2 11:30:01 2021 -0500

    In the XML export, move the 100% progress tag inside the final closing tag.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/migrate/serv_migrate.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669709</link><pubDate>Sun, 28 Feb 2021 22:00:27 +0500</pubDate><title>Re: February 26 appimage update</title><guid isPermaLink="false">4669709@Uncensored</guid><description><![CDATA[<html><body>

<p>If you have to install any dependencies, then the AppImage has failed to live up to its promise.</p>
<p>Hang tight for now.  For the past couple of months I've been getting occasional crashes on my production system (this one) and a stack trace shows that it's happening inside of OpenSSL, which is frustrating because I don't understand the conditions under which it happens.   And I'm still running on 32-bit so I need to dump-and-load before I get everything up to speed.</p>
<p>I want to run the AppImage on *my* system too, so you can be assured it will be well supported.  :)</p>
<p>But I need to go do some digging first.  Thanks for the effort in helping to test.   And for those of you on ARM, rest assured I'm doing almost daily builds on there too.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669636</link><pubDate>Sat, 27 Feb 2021 21:58:15 +0500</pubDate><title>Re: February 26 appimage update</title><guid isPermaLink="false">4669636@Uncensored</guid><description><![CDATA[
Hi

Maybe I need to install some package or library beforehand.

I'm tempted to reinstall from scratch the VM, just to be sure it's not a 
problem on my side.

This new version of Debian has a lot of changes that even I haven't got 
to know yet; it is very different from Debian 6 which was when I started 
with Citadel.

Note: I haven't installed clamav, spamassassin yet.


On 2/27/21 1:31 PM, IGnatius T Foobar wrote:
>
> I'm less concerned with the hostname stuff because that's largely just 
> configuration and has less to do with the AppImage.
>
> The service crashing on outbound email is more concerning.  Are there 
> core files left behind?  We need to figure out where the crash is 
> happening.  I may have to just try to reproduce your environment and 
> see what it does.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669615</link><pubDate>Sat, 27 Feb 2021 17:14:35 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-591-gc3733b746</title><guid isPermaLink="false">4669615@Uncensored</guid><description><![CDATA[<html><body>

<p>Ever since moving my hosting operation back home, about once a day I would enter my office and find my computer fans screaming like a jet engine, with WebCit on the production system being the culprit.  I finally tracked down the problem.  Someone "optimized" a function some number of years ago to read incoming data from the network using a buffer.  These optimizations seldom save any real amount of computer time, and this one had a bug that would cause the program to go into an infinite loop if the client dropped the connection before sending the amount of data it said it was going to.</p>
<p><strong>Simple is better than ultra-optimized.</strong></p>
<p><strong><br /></strong></p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669612</link><pubDate>Sat, 27 Feb 2021 17:07:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-591-gc3733b746</title><guid isPermaLink="false">4669612@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c3733b746b1512c1d91c9b9bc53aa19241371b39 (commit)
      from  d337527fdb58a5496428babc0d68736ada0d4c0e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c3733b746b1512c1d91c9b9bc53aa19241371b39
commit c3733b746b1512c1d91c9b9bc53aa19241371b39
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 27 17:07:43 2021 -0500

    Fixed a bug in StrBufReadBLOBBuffered() that would make the read go into an infinite loop if the client closed the connection during transmission.

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/stringbuf.c             |  32 ++--
 webcit/debian/.gitignore               |   7 -
 webcit/debian/changelog                | 322 ---------------------------------
 webcit/debian/citadel-webcit.config    |  81 ---------
 webcit/debian/citadel-webcit.install   |   1 -
 webcit/debian/citadel-webcit.links     |   3 -
 webcit/debian/citadel-webcit.postinst  |  80 --------
 webcit/debian/citadel-webcit.postrm    |  36 ----
 webcit/debian/citadel-webcit.templates |  44 -----
 webcit/debian/compat                   |   1 -
 webcit/debian/control                  |  19 --
 webcit/debian/copyright                | 144 ---------------
 webcit/debian/docs                     |   1 -
 webcit/debian/po/POTFILES.in           |   2 -
 webcit/debian/po/templates.pot         | 107 -----------
 webcit/debian/rules                    | 133 --------------
 webcit/debian/webcit.conf              |  33 ----
 webcit/debian/webcit.init              | 188 -------------------
 webcit/tcp_sockets.c                   |   1 -
 webcit/webcit.c                        |   1 +
 20 files changed, 14 insertions(+), 1222 deletions(-)
 delete mode 100644 webcit/debian/.gitignore
 delete mode 100644 webcit/debian/changelog
 delete mode 100755 webcit/debian/citadel-webcit.config
 delete mode 100644 webcit/debian/citadel-webcit.install
 delete mode 100644 webcit/debian/citadel-webcit.links
 delete mode 100644 webcit/debian/citadel-webcit.postinst
 delete mode 100644 webcit/debian/citadel-webcit.postrm
 delete mode 100644 webcit/debian/citadel-webcit.templates
 delete mode 100644 webcit/debian/compat
 delete mode 100644 webcit/debian/control
 delete mode 100644 webcit/debian/copyright
 delete mode 100644 webcit/debian/docs
 delete mode 100644 webcit/debian/po/POTFILES.in
 delete mode 100644 webcit/debian/po/templates.pot
 delete mode 100755 webcit/debian/rules
 delete mode 100644 webcit/debian/webcit.conf
 delete mode 100644 webcit/debian/webcit.init


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669607</link><pubDate>Sat, 27 Feb 2021 16:13:12 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-590-gd337527fd</title><guid isPermaLink="false">4669607@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d337527fdb58a5496428babc0d68736ada0d4c0e (commit)
      from  a112ae0472a232be5484c7a9aafc5a880a361c34 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d337527fdb58a5496428babc0d68736ada0d4c0e
commit d337527fdb58a5496428babc0d68736ada0d4c0e
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 27 16:13:07 2021 -0500

    There can be only two.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/http.c           |  45 ++++----
 webcit-ng/room_functions.c |  71 ++++++------
 webcit/tcp_sockets.c       |  25 ++---
 webcit/webcit.c            | 267 +++++++++++++++++++++------------------------
 4 files changed, 186 insertions(+), 222 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669602</link><pubDate>Sat, 27 Feb 2021 15:31:52 +0500</pubDate><title>Re: February 26 appimage update</title><guid isPermaLink="false">4669602@Uncensored</guid><description><![CDATA[<html><body>

<p>I'm less concerned with the hostname stuff because that's largely just configuration and has less to do with the AppImage.</p>
<p>The service crashing on outbound email is more concerning.  Are there core files left behind?  We need to figure out where the crash is happening.  I may have to just try to reproduce your environment and see what it does.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669509</link><pubDate>Fri, 26 Feb 2021 14:57:46 +0500</pubDate><title>Re: February 26 appimage update</title><guid isPermaLink="false">4669509@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Hi Art.<br>
      <br>
      Using Chrome/Linux Manjaro and the "Feb 25 22:21
      citadel-1614316873-x64.appimage" with install.<br>
    </font>
    <ul>
      <li><font face="Liberation Sans">I change the password of the
          admin user, and the email address (it works)<br>
        </font></li>
      <li><font face="Liberation Sans">I made a new user, assigned him
          an email and an alias.</font></li>
      <li><font face="Liberation Sans">If I check the "Global Address
          Book", it shows an "original" address of the new user, not the
          one I assigned when I created it.</font></li>
      <li><font face="Liberation Sans">Restart the service from webcit:</font></li>
      <ul>
        <li><font face="Liberation Sans">When I check the created
            account, neither the email nor the alias are shown.</font></li>
        <li><font face="Liberation Sans">the admin account does not show
            the new main address.<br>
          </font></li>
      </ul>
    </ul>
    <ul>
      <li><font face="Liberation Sans">I restart the server, log as
          admin, I do logoff but it does not log me out; but if I use
          incognito mode in chrome if the logoff works.</font></li>
      <ul>
        <li><font face="Liberation Sans"><b>Ignore this</b>, clearing
            the chrome cache (history, cookies) and I tried again in
            normal mode made the logoff work, logon with different
            users. Maybe it was a chrome glitch.</font></li>
      </ul>
    </ul>
    <ul>
      <li>There are several inconsistencies between editing the user's
        account and the global address book<br>
      </li>
      <ul>
        <li><font face="Liberation Sans">New user (test2), assigned his
            password, primary email and alias, checked it and it still
            shows a primary account in the form
            <a class="moz-txt-link-rfc2396E" href="mailto:test2@hostname.domain.com">"test2@hostname.domain.com"</a></font></li>
        <li><font face="Liberation Sans">I check in "Global Address
            Book", and it does not show the email I assigned nor the
            alias.</font></li>
        <li><font face="Liberation Sans">When I check in "Edit user
            account" there is the email and alias.</font></li>
        <ul>
          <li><font face="Liberation Sans">I managed to log in as a
              newly created user, but I can't find where to visualize
              his email account and alias in "Advanced, Edit contact
              information" ** I found them in "Preferences and
              Settings".</font></li>
          <li><font face="Liberation Sans">** I found them in
              "Preferences and settings | Preferred email address", but
              it shows the alias and not the primary email address.</font></li>
        </ul>
      </ul>
      <li><font face="Liberation Sans">The newly created user can change
          his password from webcit! (good or bad? it will give me more
          work in case one of them changed it).</font></li>
    </ul>
    <ul>
      <li><font face="Liberation Sans">Internal mails work between
          users.</font></li>
      <li><font face="Liberation Sans">I try to send an <b>external</b>
          mail, and the citadel server/services crashes, but it recovers
          and restarts the services in automatic.</font></li>
      <li><font face="Liberation Sans">I restart the VM, the citadel
          services start correctly.</font></li>
      <li><font face="Liberation Sans">Again, I try to send another <b>external</b>
          mail, this time it takes a little longer but the result is the
          same: the citadel server/services crashes.<br>
        </font></li>
    </ul>
    <font face="Liberation Sans"><br>
      Do you want me to try some specific tests?<br>
      <br>
      <br>
      Regards!<br>
      <br>
    </font><br>
    <br>
    <div class="moz-cite-prefix">On 2/25/21 10:26 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6038867E-00473FDF@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/citadel-1614316873-x64.appimage">https://easyinstall.citadel.org/citadel-1614316873-x64.appimage</a> 
  
 I haven't made any changes to Citadel itself in this one.  The update in
this version is that the first usable version of an installation procedure
has been added. 
  
 You can do "citadel-1614316873-x64.appimage install" and it should walk you
through everything.  This ought to work on a new system or an existing one.

  
 Known issues: 
 * HTTPS does not work, at least on my machine.  I don't know why yet. 
 * Default ports of 80/443 for HTTP and HTTPS cannot yet be changed. 
  
 I wasn't able to reproduce the issue of it crashing when mail fails to be
delivered.  If it persists then we might have to put something in there to
generate a stack trace. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669407</link><pubDate>Fri, 26 Feb 2021 00:26:22 +0500</pubDate><title>February 26 appimage update</title><guid isPermaLink="false">4669407@Uncensored</guid><description><![CDATA[  
 https://easyinstall.citadel.org/citadel-1614316873-x64.appimage 
  
 I haven't made any changes to Citadel itself in this one.  The update in
this version is that the first usable version of an installation procedure
has been added. 
  
 You can do "citadel-1614316873-x64.appimage install" and it should walk you
through everything.  This ought to work on a new system or an existing one.

  
 Known issues: 
 * HTTPS does not work, at least on my machine.  I don't know why yet. 
 * Default ports of 80/443 for HTTP and HTTPS cannot yet be changed. 
  
 I wasn't able to reproduce the issue of it crashing when mail fails to be
delivered.  If it persists then we might have to put something in there to
generate a stack trace. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669404</link><pubDate>Fri, 26 Feb 2021 00:20:11 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-589-ga112ae047</title><guid isPermaLink="false">4669404@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a112ae0472a232be5484c7a9aafc5a880a361c34 (commit)
      from  8dc662496f6156cbfe7f49e392efa707572151bf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a112ae0472a232be5484c7a9aafc5a880a361c34
commit a112ae0472a232be5484c7a9aafc5a880a361c34
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Feb 26 00:20:06 2021 -0500

    Finished the installer

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh     |   2 +
 appimage/citadel.AppDir/AppRun | 137 +++++++++++++++++++++++++++++++++++------
 2 files changed, 121 insertions(+), 18 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669385</link><pubDate>Thu, 25 Feb 2021 19:09:03 +0500</pubDate><title>Re: New appimage builds to test</title><guid isPermaLink="false">4669385@Uncensored</guid><description><![CDATA[<html><body>

<p>Interesting.  It sounds like we're making progress.  I haven't tried it on the public Internet yet, but I have a couple of extra public IP addresses so I'll give that a try next.</p>
<blockquote>
<ul>
<li><span style="font-family: 'Liberation Sans';">Have you considered that the AppImage can update the DB version of my current server?</span></li>
<li><span style="font-family: 'Liberation Sans';">Can the installation with easyinstall do this upgrade currently?</span></li>
<li><span style="font-family: 'Liberation Sans';">Or do you recommend me to go ahead something to be able to perform this migration when possible?</span></li>
<li><span style="font-family: 'Liberation Sans';">Do you think it is feasible to do an installation with EasyInstall, copy my DB to be updated and then move this DB to the VM where it will be used with the AppImage beta/final version.</span></li>
</ul>
</blockquote>
<p>When you run a Citadel Server with an existing database, if the database was written with an older version of Berkeley DB than the one Citadel is running with, it will automatically be upgraded.</p>
<p>So we really do need to make sure that the AppImage has a new-ish version of Berkeley DB included with it.  That's not a problem, I can put it in there.</p>
<p>Using this strategy means that YES, it is absolutely my intention that you should be able to use a database created under Easy Install, and run it under AppImage.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669335</link><pubDate>Thu, 25 Feb 2021 13:55:17 +0500</pubDate><title>Re: New appimage builds to test</title><guid isPermaLink="false">4669335@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">Good day Art.<br>
      <br>
    </font>Note: <font face="Liberation Sans"><font face="Liberation
        Sans">I don't have this VM connected directly to the Internet,
        it is using a gateway with static IP to test only the mail
        sending. Will it be enough for testing?<br>
        <br>
      </font>With this version. Things that worked:<br>
    </font>
    <ul>
      <li><font face="Liberation Sans">login in webcit</font></li>
      <li><font face="Liberation Sans"><font face="Liberation Sans">I
            changed the admin password and it worked</font></font></li>
      <li><font face="Liberation Sans">create a new user, add and change
          mail and aliases</font></li>
    </ul>
    <p>Things that fail:</p>
    <ul>
      <li>When trying to send mail, it stays in the queue and then the
        process crashes:</li>
      <ul>
        <li> ./citadel-1614124625-x64.appimage run -h/usr/local/citadel<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citade23CcSw/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_citade23CcSw/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_citade23CcSw<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: executing
          /tmp/.mount_citade23CcSw/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_citade23CcSw/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_citade23CcSw/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          <font color="#ef691f">ctdlvisor: pid=2595 exited, status=139,
            exitcode=0<br>
            ctdlvisor: citserver exited normally - ending AppImage
            session<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=2596 exited, status=15, exitcode=0<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=2597 exited, status=15, exitcode=0<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
            ctdlvisor: exit code 0</font></li>
      </ul>
      <li>After the crashing, on restarting the AppImage:</li>
      <ul>
        <li>The queued mail has disappeared. Was it deleted?</li>
        <li>The created user (account, email and alias) was deleted.</li>
        <li>Changes to the admin were removed<br>
        </li>
      </ul>
    </ul>
    <font face="Liberation Sans"><br>
      Questions:<br>
    </font>
    <ul>
      <li><font face="Liberation Sans">Have you considered that the
          AppImage can update the DB version of my current server?</font></li>
      <li><font face="Liberation Sans">Can the installation with
          easyinstall do this upgrade currently?</font></li>
      <li><font face="Liberation Sans">Or do you recommend me to go
          ahead something to be able to perform this migration when
          possible?</font></li>
      <li><font face="Liberation Sans">Do you think it is feasible to do
          an installation with EasyInstall, copy my DB to be updated and
          then move this DB to the VM where it will be used with the
          AppImage beta/final version.<br>
        </font></li>
    </ul>
    <font face="Liberation Sans"><br>
      Regards!<br>
      <br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 2/23/21 5:01 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6035973E-00473ED9@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;    You are connected to a Citadel server running Citadel 930.00.  
 &gt;    In order to run this version of WebCit you must also have Citadel 931.00
or newer.  
  
 Ok, I believe I have this fixed, but I definitely need to get my builds in
order. 
  
 For 64-bit AMD/Intel, try this one: 
  
 <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/citadel-1614124625-x64.appimage">https://easyinstall.citadel.org/citadel-1614124625-x64.appimage</a> 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669230</link><pubDate>Wed, 24 Feb 2021 13:22:26 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-588-g8dc662496</title><guid isPermaLink="false">4669230@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8dc662496f6156cbfe7f49e392efa707572151bf (commit)
      from  8ef23063d53cfb72e242504d18014d66fb6be821 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8dc662496f6156cbfe7f49e392efa707572151bf
commit 8dc662496f6156cbfe7f49e392efa707572151bf
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 24 13:22:23 2021 -0500

    fix build name

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669145</link><pubDate>Tue, 23 Feb 2021 19:01:02 +0500</pubDate><title>Re: New appimage builds to test</title><guid isPermaLink="false">4669145@Uncensored</guid><description><![CDATA[ >    You are connected to a Citadel server running Citadel 930.00.  
 >    In order to run this version of WebCit you must also have Citadel 931.00
or newer.  
  
 Ok, I believe I have this fixed, but I definitely need to get my builds in
order. 
  
 For 64-bit AMD/Intel, try this one: 
  
 https://easyinstall.citadel.org/citadel-1614124625-x64.appimage 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669139</link><pubDate>Tue, 23 Feb 2021 18:50:14 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-587-g8ef23063d</title><guid isPermaLink="false">4669139@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8ef23063d53cfb72e242504d18014d66fb6be821 (commit)
       via  3975c147c8900ac486487687f83fd3e75f92a484 (commit)
      from  d728ef40502b1a9665c3bda11a437e8f3638adf7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8ef23063d53cfb72e242504d18014d66fb6be821
commit 8ef23063d53cfb72e242504d18014d66fb6be821
Merge: 3975c147c d728ef405
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Feb 23 18:50:10 2021 -0500

    Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit d728ef40502b1a9665c3bda11a437e8f3638adf7
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Feb 23 18:36:04 2021 -0500

    build changes

commit 21d790c0f43069af91366968bac307d8ff7c9cbb
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 21 19:29:32 2021 -0500

    appimage updates

commit 20b834b56265bf76dcf04d5d1a6c0c28e0aff400
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 21 17:13:06 2021 -0500

    Mention in the AppImage docs that we are building the x64 version on ubuntu 16 now.

http://code.citadel.org/?p=citadel.git&a=commit&h=3975c147c8900ac486487687f83fd3e75f92a484
commit 3975c147c8900ac486487687f83fd3e75f92a484
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Feb 23 18:50:08 2021 -0500

    931

-----------------------------------------------------------------------

Summary of changes:
 webcit/webcit.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669136</link><pubDate>Tue, 23 Feb 2021 18:36:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-585-gd728ef405</title><guid isPermaLink="false">4669136@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d728ef40502b1a9665c3bda11a437e8f3638adf7 (commit)
      from  21d790c0f43069af91366968bac307d8ff7c9cbb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d728ef40502b1a9665c3bda11a437e8f3638adf7
commit d728ef40502b1a9665c3bda11a437e8f3638adf7
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Feb 23 18:36:04 2021 -0500

    build changes

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4669132</link><pubDate>Tue, 23 Feb 2021 17:47:48 +0500</pubDate><title>Re: New appimage builds to test</title><guid isPermaLink="false">4669132@Uncensored</guid><description><![CDATA[wtf?  How did it build 930 from a version 931 repo? 
  
 Time to build a few more test machines :( 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4668985</link><pubDate>Mon, 22 Feb 2021 11:06:25 +0500</pubDate><title>Re: New appimage builds to test</title><guid isPermaLink="false">4668985@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="Liberation Sans">I got this message in Firefox</font><br>
    <blockquote>
      <pre>You are connected to a Citadel server running Citadel 930.00. 
In order to run this version of WebCit you must also have Citadel 931.00 or newer.</pre>
    </blockquote>
    <font face="Liberation Sans">Process are:<br>
    </font>
    <blockquote><font face="monospace"># ps -eaf|grep cit<br>
        root 611   1  2 08:50 ? 00:00:00
        ./citadel-1613953314-x64.appimage run -h /usr/local/citadel<br>
        root 614 608  0 08:50 ? 00:00:00 citserver -x9 -h
        /usr/local/citadel<br>
        root 615 608  0 08:50 ? 00:00:00 webcit -x9
        -h/tmp/.mount_citadeMsW4aS/usr/local/webcit -p 80 uds
        /usr/local/citadel<br>
        root 616 608  1 08:50 ? 00:00:00 webcit -x9
        -h/tmp/.mount_citadeMsW4aS/usr/local/webcit -s -p 443 uds
        /usr/local/citadel</font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
      I deleted the folder (</font><font face="Liberation Sans"><font
        face="Liberation Sans">/usr/local/citadel)</font> and tried
      again, same effect.:<br>
    </font>
    <blockquote><font face="Liberation Sans"> <font face="monospace">./citadel-1613953314-x64.appimage
          run -h /usr/local/citadel<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_citadeGzpKyg/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_citadeGzpKyg/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_citadeGzpKyg<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: executing
          /tmp/.mount_citadeGzpKyg/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_citadeGzpKyg/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: executing
          /tmp/.mount_citadeGzpKyg/usr/local/webcit/webcit</font></font><br>
    </blockquote>
    <font face="Liberation Sans"><br>
      I guess it's not the right way to use "sendcommand", I tried it
      just to see what happens:<br>
    </font>
    <blockquote><font face="monospace">#
        /tmp/.mount_citadeGzpKyg/usr/local/citadel/sendcommand --help<br>
        /tmp/.mount_citadeGzpKyg/usr/local/citadel/sendcommand: error
        while loading shared libraries: libcitadel.so.4: cannot open
        shared object file: No such file or directory</font><br>
    </blockquote>
    <font face="Liberation Sans">Regards<br>
    </font><br>
    <div class="moz-cite-prefix">On 2/21/21 5:39 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6032FD4D-00473E05@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/citadel-1613953314-x64.appimage">https://easyinstall.citadel.org/citadel-1613953314-x64.appimage</a> 
 <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/citadel-1613954272-arm32.appimage">https://easyinstall.citadel.org/citadel-1613954272-arm32.appimage</a> 
  
 Give 'em a try. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4668933</link><pubDate>Sun, 21 Feb 2021 19:39:41 +0500</pubDate><title>New appimage builds to test</title><guid isPermaLink="false">4668933@Uncensored</guid><description><![CDATA[  
 https://easyinstall.citadel.org/citadel-1613953314-x64.appimage 
 https://easyinstall.citadel.org/citadel-1613954272-arm32.appimage 
  
 Give 'em a try. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4668930</link><pubDate>Sun, 21 Feb 2021 19:29:35 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-584-g21d790c0f</title><guid isPermaLink="false">4668930@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  21d790c0f43069af91366968bac307d8ff7c9cbb (commit)
      from  20b834b56265bf76dcf04d5d1a6c0c28e0aff400 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=21d790c0f43069af91366968bac307d8ff7c9cbb
commit 21d790c0f43069af91366968bac307d8ff7c9cbb
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 21 19:29:32 2021 -0500

    appimage updates

-----------------------------------------------------------------------

Summary of changes:
 appimage/README.txt        | 4 ++--
 appimage/build_appimage.sh | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4668917</link><pubDate>Sun, 21 Feb 2021 17:13:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-583-g20b834b56</title><guid isPermaLink="false">4668917@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  20b834b56265bf76dcf04d5d1a6c0c28e0aff400 (commit)
      from  cbfdc292f1ba61443e1db199c7d50c72e48d8eec (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=20b834b56265bf76dcf04d5d1a6c0c28e0aff400
commit 20b834b56265bf76dcf04d5d1a6c0c28e0aff400
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 21 17:13:06 2021 -0500

    Mention in the AppImage docs that we are building the x64 version on ubuntu 16 now.

-----------------------------------------------------------------------

Summary of changes:
 appimage/README.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4668908</link><pubDate>Sun, 21 Feb 2021 15:33:57 +0500</pubDate><title>Re: Update -- Saturday, 2021-feb-20</title><guid isPermaLink="false">4668908@Uncensored</guid><description><![CDATA[ > I'm looking at the complaints in the Citadel Support room from some   
 >users who are noting the wrong addresses appearing in the to/from   
 >headers on Internet mail under certain conditions.  That looks like   
 >something that needs to be addressed sooner than later, so I'll be   
 >looking at that next.   
  
 Ok, that was an embarrassingly stupid bug. 
  
 In the loop that converts Citadel headers to RFC822 headers during output,
the switch/case block immediately preceding "To:" was missing its "break"
statement, so it went right through into the next block. 
  
 This is an important enough fix that I patched the downloadable tarball so
they don't have to wait for the next release. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4668901</link><pubDate>Sun, 21 Feb 2021 15:31:33 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-582-gcbfdc292f</title><guid isPermaLink="false">4668901@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cbfdc292f1ba61443e1db199c7d50c72e48d8eec (commit)
      from  e322a532492f9f4e50bae5a7955a6218b24a26ea (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cbfdc292f1ba61443e1db199c7d50c72e48d8eec
commit cbfdc292f1ba61443e1db199c7d50c72e48d8eec
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 21 15:31:27 2021 -0500

    Fixed an omitted 'break' statement in RFC822 output that was causing multiple To: lines to appear.  This was a significant enough bug that I also released it as an out-of-repo patch to Easy Install.

-----------------------------------------------------------------------

Summary of changes:
 citadel/msgbase.c | 1 +
 1 file changed, 1 insertion(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4651054</link><pubDate>Sat, 20 Feb 2021 11:57:37 +0500</pubDate><title>Update -- Saturday, 2021-feb-20</title><guid isPermaLink="false">4651054@Uncensored</guid><description><![CDATA[ 
  
 Good morning everyone!  With my second cup of coffee finished and a 200 foot
driveway full of snow to be plowed, I will post a quick update before heading
outside. 
  
 As previously mentioned, there has been a lot of yak shaving going on.  It
started with the AppImage development, which forced us to clean up the directory
calculation code, which made it sensible to finally abandon LFHS, which made
a lot of things a lot cleaner, but forced us to abandon the remaining spaghetti
code in the networker, which forced us to rewrite the mailing list service.

  
 All of the above is now complete. 
  
 I'm looking at the complaints in the Citadel Support room from some users
who are noting the wrong addresses appearing in the to/from headers on Internet
mail under certain conditions.  That looks like something that needs to be
addressed sooner than later, so I'll be looking at that next. 

 
 When that is done, I will build a new version of the AppImage (which, frankly,
ought to be automated nightly builds at this point, but I don't have the energy
to do that) and y'all can begin testing it again. 
  
 Damn side quests...   :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4651046</link><pubDate>Sat, 20 Feb 2021 11:26:03 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-581-ge322a5324</title><guid isPermaLink="false">4651046@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e322a532492f9f4e50bae5a7955a6218b24a26ea (commit)
      from  18a23ae97de67506094a26e92f60af36b0036d91 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e322a532492f9f4e50bae5a7955a6218b24a26ea
commit e322a532492f9f4e50bae5a7955a6218b24a26ea
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 20 11:26:00 2021 -0500

    Renamed SUBS command to LSUB and changed its parameters.  Subscription Type no longer applies because it never worked right anyway.  There will now be only one variety of list subscription, and you will like it.  Am I making myself clear?  Also updated the version of citadel/libcitadel/webcit to 931 across the board, because we changed everything.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                      |   4 +-
 citadel/modules/listsub/serv_listsub.c | 128 +++++++++++++++++++++++++++------
 libcitadel/lib/libcitadel.h            |   4 +-
 webcit/listsub.c                       |  32 +++------
 webcit/webcit.h                        |   6 +-
 5 files changed, 122 insertions(+), 52 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650670</link><pubDate>Tue, 16 Feb 2021 16:17:11 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-580-g18a23ae97</title><guid isPermaLink="false">4650670@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  18a23ae97de67506094a26e92f60af36b0036d91 (commit)
      from  ad4e53bbbd397b5f429fb9014278ad36bdf8499d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=18a23ae97de67506094a26e92f60af36b0036d91
commit 18a23ae97de67506094a26e92f60af36b0036d91
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Feb 16 16:17:08 2021 -0500

    Generate subscription/unsubscription confirmation emails

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listsub/serv_listsub.c | 126 ++++++++++++++++++++++++++++++---
 1 file changed, 116 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650582</link><pubDate>Tue, 16 Feb 2021 00:25:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-579-gad4e53bbb</title><guid isPermaLink="false">4650582@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ad4e53bbbd397b5f429fb9014278ad36bdf8499d (commit)
      from  74f78170c04a5913a85ed43c659fcd883a0f308d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ad4e53bbbd397b5f429fb9014278ad36bdf8499d
commit ad4e53bbbd397b5f429fb9014278ad36bdf8499d
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Feb 16 00:25:22 2021 -0500

    stuff

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listsub/serv_listsub.c | 10 ++++++++++
 1 file changed, 10 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650579</link><pubDate>Mon, 15 Feb 2021 23:52:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-578-g74f78170c</title><guid isPermaLink="false">4650579@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  74f78170c04a5913a85ed43c659fcd883a0f308d (commit)
      from  51b18018ff923284d76a36cbd421d62abf6afcf4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=74f78170c04a5913a85ed43c659fcd883a0f308d
commit 74f78170c04a5913a85ed43c659fcd883a0f308d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 15 23:52:53 2021 -0500

    more work on listsub

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listsub/serv_listsub.c | 87 ++++++++++++++++++++++++++--------
 webcit/static/t/listsub/display.html   |  4 +-
 2 files changed, 69 insertions(+), 22 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650576</link><pubDate>Mon, 15 Feb 2021 23:08:33 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-577-g51b18018f</title><guid isPermaLink="false">4650576@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  51b18018ff923284d76a36cbd421d62abf6afcf4 (commit)
      from  156a9972863bd789ba11c77c759d579ea415a17d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=51b18018ff923284d76a36cbd421d62abf6afcf4
commit 51b18018ff923284d76a36cbd421d62abf6afcf4
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 15 23:08:30 2021 -0500

    getmx() now uses our array class

-----------------------------------------------------------------------

Summary of changes:
 citadel/domain.c                               |  59 ++++--------
 citadel/modules/listdeliver/serv_listdeliver.c |   2 +
 citadel/modules/listsub/serv_listsub.c         | 127 +++++++++++++++++++++----
 citadel/modules/smtp/serv_smtpclient.c         |   2 +-
 citadel/netconfig.c                            |   2 +
 citadel/threads.c                              |   4 +-
 libcitadel/lib/array.c                         |   9 ++
 libcitadel/lib/libcitadel.h                    |   1 +
 8 files changed, 148 insertions(+), 58 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650434</link><pubDate>Sun, 14 Feb 2021 16:12:43 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-576-g156a99728</title><guid isPermaLink="false">4650434@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  156a9972863bd789ba11c77c759d579ea415a17d (commit)
      from  2e0e7f94dd194cb2cda86e867ef11db6863805e5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=156a9972863bd789ba11c77c759d579ea415a17d
commit 156a9972863bd789ba11c77c759d579ea415a17d
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 14 16:12:40 2021 -0500

    Delivery of messages to mailing list recipients is complete.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listdeliver/serv_listdeliver.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650423</link><pubDate>Sun, 14 Feb 2021 14:19:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-575-g2e0e7f94d</title><guid isPermaLink="false">4650423@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2e0e7f94dd194cb2cda86e867ef11db6863805e5 (commit)
      from  3334c6073b74551d18176701092179deb5b9ef06 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2e0e7f94dd194cb2cda86e867ef11db6863805e5
commit 2e0e7f94dd194cb2cda86e867ef11db6863805e5
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Feb 14 14:19:47 2021 -0500

    For messages delivered to a mailing list, add the room name to the subject line, and Reply-to: to the address of the list.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c                  |  3 +-
 citadel/modules/listdeliver/serv_listdeliver.c | 34 +++++++++++-------
 citadel/modules/smtp/serv_smtpclient.c         |  2 +-
 citadel/msgbase.c                              | 48 +++++++++-----------------
 4 files changed, 41 insertions(+), 46 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650276</link><pubDate>Sat, 13 Feb 2021 03:10:40 +0500</pubDate><title>Re: Yak shaving!</title><guid isPermaLink="false">4650276@Uncensored</guid><description><![CDATA[<html><body>

<p>(heart)</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Fri Feb 12 2021 19:59:45 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: Yak shaving!</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Yeah. It isn't glamorous but time spent on stability and consistency is time well spent. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650248</link><pubDate>Fri, 12 Feb 2021 19:59:45 +0500</pubDate><title>Re: Yak shaving!</title><guid isPermaLink="false">4650248@Uncensored</guid><description><![CDATA[Yeah.  It isn't glamorous but time spent on stability and consistency is time
well spent. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650195</link><pubDate>Fri, 12 Feb 2021 09:32:30 +0500</pubDate><title>Re: Yak shaving!</title><guid isPermaLink="false">4650195@Uncensored</guid><description><![CDATA[<html><body>

<p>Glad it is happening. I haven't done much testing other than the initial install of it. Had other fish frying myself. But I've been checking in and watching. </p>
<blockquote>
<div class="message_header"><span>Wed Feb 10 2021 10:06:00 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Yak shaving!</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />So ... lots of stuff going on, as you can see in the commits, but it's all under the covers. I want to get the AppImage out so we can stop hearing from all the people who had trouble with Easy Install. Then it's back to webcit-ng. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650041</link><pubDate>Wed, 10 Feb 2021 21:06:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-574-g3334c6073</title><guid isPermaLink="false">4650041@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3334c6073b74551d18176701092179deb5b9ef06 (commit)
      from  53d8e6f8d1f18b0085dcfd46d1fc8640381513bc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3334c6073b74551d18176701092179deb5b9ef06
commit 3334c6073b74551d18176701092179deb5b9ef06
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 10 21:06:17 2021 -0500

    /* We used to wait for all threads to exit.  Fuck that.  The only thing important is that the databases are
    * cleanly unmounted.  After that, exit the whole program.

-----------------------------------------------------------------------

Summary of changes:
 citadel/database_cleanup.sh.in             | 42 ++++++++++++++++++++++++++----
 citadel/modules/rssclient/serv_rssclient.c | 16 +++++++-----
 citadel/threads.c                          |  6 +++++
 3 files changed, 53 insertions(+), 11 deletions(-)
 mode change 100644 => 100755 citadel/database_cleanup.sh.in


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650038</link><pubDate>Wed, 10 Feb 2021 20:31:22 +0500</pubDate><title>Re: Yak shaving!</title><guid isPermaLink="false">4650038@Uncensored</guid><description><![CDATA[ >Regarding item 4. What will be the mechanism to stop the service using 
 
 >the AppImage, just Ctrl-C?  
 >  
 >I wonder if it will be with another switch:  
 ># AppImage *stop*  
  
 If you're running the AppImage in the foreground, Ctrl-C will still be the
correct way to terminate it.  citserver detects SIGINT and goes into an orderly
shutdown, and I've already put the code into place to make ctdlvisor pass
that through cleanly. 
  
 My intention for background operation is to have an invocation like "citadel.AppImage
install" which creates a systemd unit file to handle the correct startup and
shutdown commands.  Services started by systemd don't have to go into the
background because the supervisor handles that for you.  It is also trivial
to configure it to stop the service by sending SIGTERM, which also shuts things
down cleanly. 
  
 A couple of weeks ago I significantly reduced the
number of things citserver tries to do before it closes its databases.  Previously
it tried to end every session, free every buffer, really put everything away.
 Now it just goes right for the database close, which makes it far more likely
to finish in the 30 seconds it has before the program is forcefully terminated.

  
 Bottom line, the AppImage effort is forcing us to clean up a lot of things
that are making the whole system more solid. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4650005</link><pubDate>Wed, 10 Feb 2021 15:17:57 +0500</pubDate><title>Re: Yak shaving!</title><guid isPermaLink="false">4650005@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="monospace">@Art<br>
      <br>
      Regarding item 4. What will be the mechanism to stop the service
      using the AppImage, just Ctrl-C?<br>
      <br>
      I wonder if it will be with another switch: <br>
      # AppImage <b>stop</b><br>
      <br>
      or a separate App/command that generates a 'stop flag file' inside
      the directory and when the service detects it, it stops cleanly.<br>
      # <b>CitadelStop<br>
      </b>/usr/local/citadel/<b>stopflagfile</b> &lt;- file created<br>
      <br>
      When the services are stopped, then the <b>stopflagfile</b> is
      deleted.<br>
      <br>
      I'm almost certain you have something better contemplated, but I
      wanted to comment.<br>
      <br>
      Regards<br>
      <b></b></font><br>
    <div class="moz-cite-prefix">On 2/10/21 8:06 AM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6023F658-0046F3EB@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> 
  
 Hey everyone ... just a quick note to let you all know that the current objective
is still to make the AppImage work reliably on every platform.  It has turned
into a bit of a yak shaving exercise.  I am ok with that though, because it
is improving a lot of things under the covers. 
  
 1. AppImage forced us to deal with the LFHS-vs-consolidated file layout issue.
 LFHS support is now removed, so expect the Debian packages to disappear soon.
 It just wasn't worth it.  citserver now expects a single working directory,
which defaults to /usr/local/citadel but a different one can be specified
with the -h flag at runtime. 
  
 2. Dealing with LFHS uncovered a lot of cruft from the old networker, especially
a few trillion lines of code dealing with the parsing of netconfig files.
 These were spaghetti and had to go. 
  
 3. Removing the netconfig spaghetti broke the mailing list delivery
and subscription systems, which now must be rewritten to operate in the clean
world.  This effort is mostly complete. 
  
 4. While starting and stopping the server over and over again during testing
of the mailing list system, some counters got out of sync and triggered a
sanity check that I had written into the startup code years ago.  It turns
out that sanity check can't make its corrections because of a deadlock condition,
so this function needs to be refactored a bit. 
  
 So ... lots of stuff going on, as you can see in the commits, but it's all
under the covers.  I want to get the AppImage out so we can stop hearing from
all the people who had trouble with Easy Install.   Then it's back to webcit-ng.

 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649998</link><pubDate>Wed, 10 Feb 2021 14:56:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-573-g53d8e6f8d</title><guid isPermaLink="false">4649998@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  53d8e6f8d1f18b0085dcfd46d1fc8640381513bc (commit)
      from  ea55c1f82ea74c3837ad694c238f40744044aed7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=53d8e6f8d1f18b0085dcfd46d1fc8640381513bc
commit 53d8e6f8d1f18b0085dcfd46d1fc8640381513bc
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 10 14:56:30 2021 -0500

    Write lastsent back to netconfig after sending list messages

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdl_module.h                          | 23 ++---------------------
 citadel/modules/listdeliver/serv_listdeliver.c | 25 ++++++++++++++++++++-----
 citadel/netconfig.c                            |  6 +++---
 3 files changed, 25 insertions(+), 29 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649979</link><pubDate>Wed, 10 Feb 2021 11:55:47 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-572-gea55c1f82</title><guid isPermaLink="false">4649979@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ea55c1f82ea74c3837ad694c238f40744044aed7 (commit)
      from  36908e5d8ca8ad1207d7f8466c0858c71c9588b4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ea55c1f82ea74c3837ad694c238f40744044aed7
commit ea55c1f82ea74c3837ad694c238f40744044aed7
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 10 11:55:43 2021 -0500

    Filter out zero-length MX records

-----------------------------------------------------------------------

Summary of changes:
 citadel/domain.c                       | 25 +++++++++++++------------
 citadel/modules/smtp/serv_smtpclient.c |  2 +-
 2 files changed, 14 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649973</link><pubDate>Wed, 10 Feb 2021 11:24:38 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-571-g36908e5d8</title><guid isPermaLink="false">4649973@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  36908e5d8ca8ad1207d7f8466c0858c71c9588b4 (commit)
      from  325ec75a28c593fc183eb3447089ed18b24b9026 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=36908e5d8ca8ad1207d7f8466c0858c71c9588b4
commit 36908e5d8ca8ad1207d7f8466c0858c71c9588b4
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 10 11:24:35 2021 -0500

    Fixed a bug in the startup sanity checks.  When it had to make a fix it was trying to do so during an open cursor.  Refactored those functions.

-----------------------------------------------------------------------

Summary of changes:
 citadel/control.c                      | 73 ++++++++++++++++++++--------------
 citadel/domain.c                       | 12 ++++--
 citadel/modules/smtp/serv_smtpclient.c |  2 +-
 citadel/server_main.c                  |  1 +
 4 files changed, 54 insertions(+), 34 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649963</link><pubDate>Wed, 10 Feb 2021 10:06:00 +0500</pubDate><title>Yak shaving!</title><guid isPermaLink="false">4649963@Uncensored</guid><description><![CDATA[ 
  
 Hey everyone ... just a quick note to let you all know that the current objective
is still to make the AppImage work reliably on every platform.  It has turned
into a bit of a yak shaving exercise.  I am ok with that though, because it
is improving a lot of things under the covers. 
  
 1. AppImage forced us to deal with the LFHS-vs-consolidated file layout issue.
 LFHS support is now removed, so expect the Debian packages to disappear soon.
 It just wasn't worth it.  citserver now expects a single working directory,
which defaults to /usr/local/citadel but a different one can be specified
with the -h flag at runtime. 
  
 2. Dealing with LFHS uncovered a lot of cruft from the old networker, especially
a few trillion lines of code dealing with the parsing of netconfig files.
 These were spaghetti and had to go. 
  
 3. Removing the netconfig spaghetti broke the mailing list delivery
and subscription systems, which now must be rewritten to operate in the clean
world.  This effort is mostly complete. 
  
 4. While starting and stopping the server over and over again during testing
of the mailing list system, some counters got out of sync and triggered a
sanity check that I had written into the startup code years ago.  It turns
out that sanity check can't make its corrections because of a deadlock condition,
so this function needs to be refactored a bit. 
  
 So ... lots of stuff going on, as you can see in the commits, but it's all
under the covers.  I want to get the AppImage out so we can stop hearing from
all the people who had trouble with Easy Install.   Then it's back to webcit-ng.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649828</link><pubDate>Mon, 08 Feb 2021 19:26:02 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-570-g325ec75a2</title><guid isPermaLink="false">4649828@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  325ec75a28c593fc183eb3447089ed18b24b9026 (commit)
      from  2d108c1f33c86b501a2540ba48eaedded8894f20 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=325ec75a28c593fc183eb3447089ed18b24b9026
commit 325ec75a28c593fc183eb3447089ed18b24b9026
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 8 19:26:00 2021 -0500

    Use the new elastic array class to queue the list of rooms to be swept for mailing list activity

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                              |  2 +-
 citadel/modules/listdeliver/serv_listdeliver.c | 47 +++++++++++++++++++++-----
 2 files changed, 40 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649823</link><pubDate>Mon, 08 Feb 2021 19:08:29 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-569-g2d108c1f3</title><guid isPermaLink="false">4649823@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2d108c1f33c86b501a2540ba48eaedded8894f20 (commit)
      from  80f14552e61c41057242205ad967d0a3fb6b98ff (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2d108c1f33c86b501a2540ba48eaedded8894f20
commit 2d108c1f33c86b501a2540ba48eaedded8894f20
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 8 19:06:55 2021 -0500

    Added an elastic string buffer class to libcitadel.  Why do I have a feeling I'm going to regret this.

-----------------------------------------------------------------------

Summary of changes:
 citadel/euidindex.c                            |  3 +-
 citadel/modules/listdeliver/serv_listdeliver.c |  8 ++-
 citadel/room_ops.c                             |  3 +-
 libcitadel/Makefile.in                         |  4 +-
 libcitadel/lib/array.c                         | 89 ++++++++++++++++++++++++++
 libcitadel/lib/libcitadel.h                    | 15 ++++-
 6 files changed, 115 insertions(+), 7 deletions(-)
 create mode 100644 libcitadel/lib/array.c


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649609</link><pubDate>Sat, 06 Feb 2021 19:35:18 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-568-g80f14552e</title><guid isPermaLink="false">4649609@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  80f14552e61c41057242205ad967d0a3fb6b98ff (commit)
      from  cf0a9f2f49278453b5f4a72f11bf49e8b98d5e79 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=80f14552e61c41057242205ad967d0a3fb6b98ff
commit 80f14552e61c41057242205ad967d0a3fb6b98ff
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Feb 6 19:35:16 2021 -0500

    Removed the register/callback stuff from serv_smtp.c , it added more complexity than it saved

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/smtp/serv_smtp.c | 255 ++++++++++++++++++++-------------------
 citadel/modules/smtp/smtp_util.c |   2 +-
 citadel/modules/smtp/smtp_util.h |   6 +-
 3 files changed, 138 insertions(+), 125 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649459</link><pubDate>Fri, 05 Feb 2021 11:27:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-567-gcf0a9f2f4</title><guid isPermaLink="false">4649459@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cf0a9f2f49278453b5f4a72f11bf49e8b98d5e79 (commit)
      from  efb382c90c927611f53cf0800a5388ffa1136546 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cf0a9f2f49278453b5f4a72f11bf49e8b98d5e79
commit cf0a9f2f49278453b5f4a72f11bf49e8b98d5e79
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Feb 5 11:27:05 2021 -0500

    fixed a spelling error

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/smtp/serv_smtp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649456</link><pubDate>Fri, 05 Feb 2021 11:22:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-566-gefb382c90</title><guid isPermaLink="false">4649456@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  efb382c90c927611f53cf0800a5388ffa1136546 (commit)
      from  7b08f0ef0386e99860f68ca87180d9f5b4d73ff3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=efb382c90c927611f53cf0800a5388ffa1136546
commit efb382c90c927611f53cf0800a5388ffa1136546
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Feb 5 11:22:49 2021 -0500

    When I don't have the time or focus to deep code, I spend time doing style cleanup and coding standards

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/smtp/serv_smtp.c | 52 +++++++++++++---------------------------
 1 file changed, 17 insertions(+), 35 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649453</link><pubDate>Fri, 05 Feb 2021 11:17:55 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-565-g7b08f0ef0</title><guid isPermaLink="false">4649453@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7b08f0ef0386e99860f68ca87180d9f5b4d73ff3 (commit)
      from  cb3eac8fb6440223370d3608c445438000d2b908 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7b08f0ef0386e99860f68ca87180d9f5b4d73ff3
commit 7b08f0ef0386e99860f68ca87180d9f5b4d73ff3
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Feb 5 11:17:52 2021 -0500

    Don't cache this pointer either, it doesn't save enough CPU cycles to be worth the confusion

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/smtp/serv_smtp.c | 298 ++++++++++++++++++---------------------
 1 file changed, 135 insertions(+), 163 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649449</link><pubDate>Fri, 05 Feb 2021 11:07:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-564-gcb3eac8fb</title><guid isPermaLink="false">4649449@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cb3eac8fb6440223370d3608c445438000d2b908 (commit)
      from  f096b14739c2edfe2b6a0f29c077be80991ce2c1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cb3eac8fb6440223370d3608c445438000d2b908
commit cb3eac8fb6440223370d3608c445438000d2b908
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Feb 5 11:07:08 2021 -0500

    serv_smtp.c: don't cache the client context

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listdeliver/serv_listdeliver.c |   2 +-
 citadel/modules/smtp/serv_smtp.c               | 109 ++++++++++++-------------
 citadel/modules/smtp/serv_smtpclient.c         |  33 +++-----
 3 files changed, 63 insertions(+), 81 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649445</link><pubDate>Fri, 05 Feb 2021 10:16:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-563-gf096b1473</title><guid isPermaLink="false">4649445@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f096b14739c2edfe2b6a0f29c077be80991ce2c1 (commit)
      from  882ff5a53c3b4e440520a073cf07dc60b2671876 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f096b14739c2edfe2b6a0f29c077be80991ce2c1
commit f096b14739c2edfe2b6a0f29c077be80991ce2c1
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Feb 5 10:15:57 2021 -0500

    syntax cleanup internet_addressing.c

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c                  | 39 ++++++++------------------
 citadel/modules/listdeliver/serv_listdeliver.c | 35 +++++++++++++++++------
 citadel/modules/smtp/serv_smtp.c               |  6 ++--
 citadel/msgbase.c                              |  2 +-
 4 files changed, 44 insertions(+), 38 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649285</link><pubDate>Thu, 04 Feb 2021 10:45:11 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-562-g882ff5a53</title><guid isPermaLink="false">4649285@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  882ff5a53c3b4e440520a073cf07dc60b2671876 (commit)
      from  8f575fc90b5bb9f934bf8ad115d580f5929ffbe5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=882ff5a53c3b4e440520a073cf07dc60b2671876
commit 882ff5a53c3b4e440520a073cf07dc60b2671876
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Feb 4 10:45:09 2021 -0500

    remove typedef from struct recptypes

-----------------------------------------------------------------------

Summary of changes:
 citadel/ctdl_module.h                          |  6 ++----
 citadel/internet_addressing.c                  | 12 ++++++------
 citadel/internet_addressing.h                  |  4 ++--
 citadel/journaling.c                           |  8 ++++----
 citadel/journaling.h                           |  4 ++--
 citadel/modules/blog/serv_blog.c               |  2 +-
 citadel/modules/calendar/serv_calendar.c       | 12 ++++++------
 citadel/modules/clamav/serv_virus.c            |  2 +-
 citadel/modules/ctdlproto/serv_messages.c      |  8 ++++----
 citadel/modules/imap/imap_acl.c                |  2 +-
 citadel/modules/inboxrules/serv_inboxrules.c   |  2 +-
 citadel/modules/inetcfg/serv_inetcfg.c         |  2 +-
 citadel/modules/listdeliver/serv_listdeliver.c |  8 ++++++++
 citadel/modules/notes/serv_notes.c             |  2 +-
 citadel/modules/smtp/serv_smtp.c               |  4 ++--
 citadel/modules/smtp/serv_smtpclient.c         |  2 +-
 citadel/modules/smtp/smtp_util.c               |  2 +-
 citadel/modules/spam/serv_spam.c               |  2 +-
 citadel/modules/vcard/serv_vcard.c             |  6 +++---
 citadel/modules/wiki/serv_wiki.c               |  2 +-
 citadel/msgbase.c                              |  4 ++--
 citadel/msgbase.h                              |  2 +-
 citadel/serv_extensions.c                      |  8 ++++----
 citadel/serv_extensions.h                      |  2 +-
 citadel/server.h                               |  4 ++--
 citadel/user_ops.c                             |  2 +-
 26 files changed, 60 insertions(+), 54 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649200</link><pubDate>Wed, 03 Feb 2021 14:01:49 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-31</title><guid isPermaLink="false">4649200@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Good day Art<br>
    <br>
    Looks like Berkeley 4.6 - 4.8<br>
    <br>
    <img src="cid:part1.C3A39C6C.DE77C6BD@uncensored.citadel.org" alt=""><br>
    <br>
    <img src="cid:part2.4AB6718A.EF91633F@uncensored.citadel.org" alt=""
      width="701" height="298"><br>
    <br>
    <br>
    Running with empty directory:<br>
    <blockquote><font face="monospace">ls /usr/local/citadel/ -la<br>
        total 8<br>
        drwxr-xr-x  2 root root 4096 Feb  3 09:31 .<br>
        drwxr-xr-x 11 root root 4096 Jan 13 14:11 ..<br>
        <br>
        ./Citadel-x86_64.AppImage run -h /usr/local/citadel<br>
        ctdlvisor: Welcome to the Citadel System, brought to you using
        AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_CitadeDInu5m/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_CitadeDInu5m/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_CitadeDInu5m<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: executing
        /tmp/.mount_CitadeDInu5m/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_CitadeDInu5m/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_CitadeDInu5m/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        <br>
        Ctrl-C<br>
        <br>
        ls -la /usr/local/citadel<br>
        total 24<br>
        drwxr-xr-x  6 root root 4096 Feb  3 09:34 .<br>
        drwxr-xr-x 11 root root 4096 Jan 13 14:11 ..<br>
        drwx------  2 root root 4096 Feb  3 09:34 data<br>
        drwx------  2 root root 4096 Feb  3 09:34 files<br>
        drwx------  2 root root 4096 Feb  3 09:34 keys<br>
        drwx------  2 root root 4096 Feb  3 09:34 messages<br>
        <br>
        telnet 127.0.0.1 504<br>
        Trying 127.0.0.1...<br>
        Connected to 127.0.0.1.<br>
        Escape character is '^]'.<br>
        200 em2.elavion.com.mx Citadel server ready.<br>
        <br>
        <br>
      </font></blockquote>
    Success, I can login using http:<br>
    <blockquote><img
        src="cid:part3.FFD494E8.CC9D60F1@uncensored.citadel.org" alt=""><br>
    </blockquote>
    <br>
    But with https fails:<br>
    <blockquote><img
        src="cid:part4.56D3302E.91C1EF9D@uncensored.citadel.org" alt=""
        moz-do-not-send="false" width="476" height="239" border="1"><br>
    </blockquote>
    <br>
    When I created the user, I managed to put an address and some
    aliases, but when I query the user the aliases disappear. <br>
    It is not possible to edit the user directly in Administration |
    Edit or delete users | Edit address book entry, since it only shows
    contact data (without email or alias).<br>
    Then, when I cancel I can edit the email address and add aliases
    that are not preserved.<br>
    <blockquote><img
        src="cid:part5.26C6CEC3.0C145A97@uncensored.citadel.org" alt=""
        moz-do-not-send="false" width="482" height="280" border="1"><br>
    </blockquote>
    <br>
    <blockquote><img
        src="cid:part6.9A20E4B6.A464AB04@uncensored.citadel.org" alt=""
        width="604" height="293"><br>
    </blockquote>
    <br>
    <blockquote><img
        src="cid:part7.229C959F.B641FC5D@uncensored.citadel.org" alt=""
        width="321" height="126"><br>
    </blockquote>
    <blockquote><img
        src="cid:part8.E5FC96C5.9F77307A@uncensored.citadel.org" alt=""><br>
    </blockquote>
    <br>
    <blockquote><img
        src="cid:part9.E42A75F5.FF026F62@uncensored.citadel.org" alt=""><br>
    </blockquote>
    <br>
    I try to send an email, and I see it in the SMTP queue, but the
    citadel server crash after a few moments, I tried twice with same
    results:<br>
    <br>
    <blockquote><font face="monospace">ctdlvisor: Welcome to the Citadel
        System, brought to you using AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_CitadewqVbEI/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_CitadewqVbEI/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_CitadewqVbEI<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: executing
        /tmp/.mount_CitadewqVbEI/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_CitadewqVbEI/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_CitadewqVbEI/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: pid=936 exited, status=139, exitcode=0<br>
        ctdlvisor: citserver exited normally - ending AppImage session<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=937 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=938 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
        ctdlvisor: exit code 0<br>
        ----<br>
        # ./Citadel-x86_64.AppImage run -h /usr/local/citadel<br>
        ctdlvisor: Welcome to the Citadel System, brought to you using
        AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_CitadeLA8kph/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_CitadeLA8kph/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_CitadeLA8kph<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: executing
        /tmp/.mount_CitadeLA8kph/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: executing
        /tmp/.mount_CitadeLA8kph/usr/local/webcit/webcit<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: executing
        /tmp/.mount_CitadeLA8kph/usr/local/webcit/webcit<br>
        ctdlvisor: pid=1017 exited, status=139, exitcode=0<br>
        ctdlvisor: citserver exited normally - ending AppImage session<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=1018 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=1019 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
        ctdlvisor: exit code 0<br>
        <br>
      </font></blockquote>
    Some logs:<br>
    <blockquote><font face="monospace">Feb  3 11:53:38 em2
        citserver[1017]: [admin(1)] TIME<br>
        Feb  3 11:53:38 em2 citserver[1017]: [admin(1)] RWHO<br>
        Feb  3 11:53:38 em2 webcit[1018]: HTTP: 200 [0.000601] GET
        /do_template?template=who_active_smtpsessions<br>
        Feb  3 11:53:42 em2 citserver[1017]: smtpclient: start queue run<br>
        Feb  3 11:53:42 em2 citserver[1017]: msgbase:
        CtdlFetchMessage(11, 1)<br>
        Feb  3 11:53:42 em2 citserver[1017]: smtpclient: 11 attempting
        delivery now<br>
        Feb  3 11:53:42 em2 citserver[1017]: smtpclient:
        smtp_attempt_delivery(10, someone@somerealserver)<br>
        Feb  3 11:53:42 em2 citserver[1017]: msgbase:
        CtdlOutputMsg(msgnum=10, mode=1, section=&lt;&gt;)<br>
        Feb  3 11:53:42 em2 citserver[1017]: msgbase:
        CtdlFetchMessage(10, 1)<br>
        Feb  3 11:53:42 em2 citserver[1017]: msgbase:
        CtdlOutputPreLoadedMsg(TheMessage=not null, 1, 0, 0, 1<br>
        Feb  3 11:53:42 em2 kernel: [75091.758013] citserver[1022]:
        segfault at ffffffffffffffff ip ffffffffffffffff sp
        00007fd29b842bc8 error 15<br>
        Feb  3 11:53:42 em2 kernel: [75091.758015] Code: Bad RIP value.<br>
      </font><br>
    </blockquote>
    BTW, the SMTP queue is empty after each restart of the App<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 2/2/21 5:52 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6019F3BA-0046F0A1@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> &gt;    ctdlvisor: pid=449 exited, status=26880, exitcode=105  
  
 Hmm.  Exit code 105 means it couldn't open the database. 
  
 What version of Berkeley DB is running on the production system you cloned?
 If it is an Easy Install system, it's probably 6.2.32?  That could be the
problem.  Your database was written using DB 6.2, and the AppImage is using
DB 5.3, so it's choking on the newer file format.   Berkeley DB will upgrade-in-place
if it sees an older file format, but if it's newer, it just dies. 
  
 Try it on an empty directory for now, just put it through its paces and let
me know if it works for a "new" install. 
  
 I didn't want to add a custom build of Berkeley DB to the AppImage, but it's
clear that we have to.  I'll go ahead and do that for the next build. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649189</link><pubDate>Wed, 03 Feb 2021 13:22:51 +0500</pubDate><title>Message #4649189</title><guid isPermaLink="false">4649189@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<p>I'm working with someone via e-mail. They're seeing an issue. <br />It seems like responses get addressed "to:" the original composer and also to the account responding to the mail. This may be related to using external clients to compose/read/respond to messages. I'm having the user run some tests to see if we can recreate. I've got his version numbers, hardware, distro, and all of that gathered. </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649175</link><pubDate>Wed, 03 Feb 2021 11:48:20 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-561-g8f575fc90</title><guid isPermaLink="false">4649175@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8f575fc90b5bb9f934bf8ad115d580f5929ffbe5 (commit)
      from  0349f8cc90767aa5ec7ab5690d94c76686c378ab (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8f575fc90b5bb9f934bf8ad115d580f5929ffbe5
commit 8f575fc90b5bb9f934bf8ad115d580f5929ffbe5
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Feb 3 11:48:18 2021 -0500

    listdeliver modules continued

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listdeliver/serv_listdeliver.c | 42 +++++++++++++++++++++-----
 1 file changed, 35 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649121</link><pubDate>Tue, 02 Feb 2021 19:52:10 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-31</title><guid isPermaLink="false">4649121@Uncensored</guid><description><![CDATA[ >    ctdlvisor: pid=449 exited, status=26880, exitcode=105  
  
 Hmm.  Exit code 105 means it couldn't open the database. 
  
 What version of Berkeley DB is running on the production system you cloned?
 If it is an Easy Install system, it's probably 6.2.32?  That could be the
problem.  Your database was written using DB 6.2, and the AppImage is using
DB 5.3, so it's choking on the newer file format.   Berkeley DB will upgrade-in-place
if it sees an older file format, but if it's newer, it just dies. 
  
 Try it on an empty directory for now, just put it through its paces and let
me know if it works for a "new" install. 
  
 I didn't want to add a custom build of Berkeley DB to the AppImage, but it's
clear that we have to.  I'll go ahead and do that for the next build. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649088</link><pubDate>Tue, 02 Feb 2021 17:01:18 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-31</title><guid isPermaLink="false">4649088@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="monospace">Snapshot restored, running as root: it
      starts, but it ends soon. <br>
      <br>
    </font>
    <blockquote><font face="monospace"># md5sum Citadel-x86_64.AppImage
        <br>
        51d5fe3e8274b9b004d846fa1a473b34  Citadel-x86_64.AppImage<br>
        <br>
        # ./Citadel-x86_64.AppImage run -h/usr/local/citadel</font><br>
      <font face="monospace">ctdlvisor: Welcome to the Citadel System,
        brought to you using AppImage.</font><br>
      <font face="monospace">ctdlvisor: LD_LIBRARY_PATH =
        /tmp/.mount_CitadeaA52gd/usr/lib</font><br>
      <font face="monospace">ctdlvisor:            PATH =
        /tmp/.mount_CitadeaA52gd/usr/bin</font><br>
      <font face="monospace">ctdlvisor:          APPDIR =
        /tmp/.mount_CitadeaA52gd</font><br>
      <font face="monospace">ctdlvisor:  data directory =
        /usr/local/citadel</font><br>
      <font face="monospace">ctdlvisor:       HTTP port = 80</font><br>
      <font face="monospace">ctdlvisor:      HTTPS port = 443</font><br>
      <font face="monospace">ctdlvisor: executing
        /tmp/.mount_CitadeaA52gd/usr/local/citadel/citserver with data
        directory /usr/local/citadel</font><br>
      <font face="monospace">ctdlvisor: waiting for any child process to
        exit...</font><br>
      <font face="monospace">ctdlvisor: executing
        /tmp/.mount_CitadeaA52gd/usr/local/webcit/webcit</font><br>
      <font face="monospace">ctdlvisor: executing
        /tmp/.mount_CitadeaA52gd/usr/local/webcit/webcit</font><br>
      <font face="monospace">ctdlvisor: pid=449 exited, status=26880,
        exitcode=105</font><br>
      <font face="monospace">ctdlvisor: citserver exited intentionally -
        ending AppImage session</font><br>
      <font face="monospace">ctdlvisor: waiting for any child process to
        exit...</font><br>
      <font face="monospace">ctdlvisor: pid=450 exited, status=15,
        exitcode=0</font><br>
      <font face="monospace">ctdlvisor: waiting for any child process to
        exit...</font><br>
      <font face="monospace">ctdlvisor: pid=451 exited, status=15,
        exitcode=0</font><br>
      <font face="monospace">ctdlvisor: waiting for any child process to
        exit...</font><br>
      <font face="monospace">ctdlvisor: pid=-1 exited, status=15,
        exitcode=0</font><br>
      <font face="monospace">ctdlvisor: exit code 105<br>
        <br>
        # ls -la /usr/local/citadel/<br>
        total 48<br>
        drwxr-xr-x  6 root root  4096 Feb  2 14:55 .<br>
        drwxr-xr-x 11 root root  4096 Jan 13 14:11 ..<br>
        <u><font color="#ef691f">-rw-rw-rw-  1 root root     0 Feb  2
            14:55 <b>citadel.lock</b></font></u><br>
        drwx------  2 root root  4096 Feb  2 14:55 data<br>
        drwx------  2 root root  4096 Feb  2 14:55 files<br>
        drwx------  2 root root  4096 Feb  2 14:55 keys<br>
        drwx------  2 root root  4096 Feb  2 14:55 messages<br>
        -rw-------  1 root root 24544 Jan 25 12:23
        refcount_adjustments.dat<br>
        <br>
        # ls -la /usr/local/citadel/data/<br>
        total 95214300<br>
        drwx------ 2 root root        4096 Feb  2 14:55 .<br>
        drwxr-xr-x 6 root root        4096 Feb  2 14:55 ..<br>
        -rw------- 1 root root   380760064 Jan 25 19:00 cdb.00<br>
        -rw------- 1 root root      176128 Feb  2 14:55 cdb.01<br>
        -rw------- 1 root root      688128 Jan 25 19:00 cdb.02<br>
        -rw------- 1 root root       16384 Feb  2 14:55 cdb.03<br>
        -rw------- 1 root root     3809280 Jan 25 19:00 cdb.04<br>
        -rw------- 1 root root      516096 Jan 25 19:00 cdb.05<br>
        -rw------- 1 root root       28672 Jan 25 19:00 cdb.06<br>
        -rw------- 1 root root    60178432 Jan 25 19:00 cdb.07<br>
        -rw------- 1 root root 97038852096 Jan 25 20:01 cdb.08<br>
        -rw------- 1 root root        8192 Jan 25 20:01 cdb.09<br>
        -rw------- 1 root root     3518464 Jan 25 20:01 cdb.0a<br>
        -rw------- 1 root root       16384 Jan 25 20:01 cdb.0b<br>
        -rw------- 1 root root        8192 Jan 25 20:01 cdb.0c<br>
        -rw------- 1 root root        8192 Feb  2 14:55 cdb.0d<br>
        -rw------- 1 root root          71 Jan 25 20:01 DB_CONFIG<br>
        -rw-r----- 1 root root    10485760 Jan 25 20:01 log.0000153667<br>
        -rw-rw---- 1 root root    10485759 <font color="#ef691f">Feb  2
          14:55 log.0000153668</font><br>
      </font></blockquote>
    <font face="monospace"><br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 2/2/21 1:42 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6019B92D-0046F072@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">  
 The correct way to run it would be 
  
 ./Citadel-86_64.AppImage run -h/usr/local/citadel 
  
 Do not specify "/data".  That will be added by the program. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649074</link><pubDate>Tue, 02 Feb 2021 15:42:21 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-31</title><guid isPermaLink="false">4649074@Uncensored</guid><description><![CDATA[  
 The correct way to run it would be 
  
 ./Citadel-86_64.AppImage run -h/usr/local/citadel 
  
 Do not specify "/data".  That will be added by the program. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649061</link><pubDate>Tue, 02 Feb 2021 13:48:54 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-31</title><guid isPermaLink="false">4649061@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="monospace">wrong way, running whith the directory (</font><font
      face="monospace"><font face="monospace">/usr/local/citadel/data)</font>,
      re-creates the folders inside like in /usr/local/citadel
      (restoring VM snapshot):<br>
      <br>
    </font>
    <blockquote><font face="monospace">-rw------- 1 root root  
        380760064 Jan 25 19:00 cdb.00</font><br>
      <font face="monospace">-rw------- 1 root root      176128 Feb  2
        10:55 cdb.01</font><br>
      <font face="monospace">-rw------- 1 root root      688128 Feb  2
        10:55 cdb.02</font><br>
      <font face="monospace">-rw------- 1 root root       16384 Feb  2
        10:55 cdb.03</font><br>
      <font face="monospace">-rw------- 1 root root     3809280 Jan 25
        19:00 cdb.04</font><br>
      <font face="monospace">-rw------- 1 root root      516096 Jan 25
        19:00 cdb.05</font><br>
      <font face="monospace">-rw------- 1 root root       28672 Jan 25
        19:00 cdb.06</font><br>
      <font face="monospace">-rw------- 1 root root    60178432 Jan 25
        19:00 cdb.07</font><br>
      <font face="monospace">-rw------- 1 root root 97038852096 Jan 25
        20:01 cdb.08</font><br>
      <font face="monospace">-rw------- 1 root root        8192 Jan 25
        20:01 cdb.09</font><br>
      <font face="monospace">-rw------- 1 root root     3518464 Jan 25
        20:01 cdb.0a</font><br>
      <font face="monospace">-rw------- 1 root root       16384 Jan 25
        20:01 cdb.0b</font><br>
      <font face="monospace">-rw------- 1 root root        8192 Jan 25
        20:01 cdb.0c</font><br>
      <font face="monospace">-rw------- 1 root root        8192 Feb  2
        10:48 cdb.0d</font><br>
      <font face="monospace">srwx------ 1 root root           0 Feb  2
        11:42 citadel-admin.socket</font><br>
      <font face="monospace">-rw-rw-rw- 1 root root           0 Feb  2
        11:42 citadel.lock</font><br>
      <font face="monospace">srwxrwsrwx 1 root root           0 Feb  2
        11:42 citadel.socket</font><br>
      <font face="monospace">drwx------ 2 root root        4096 Feb  2
        11:42 data</font><br>
      <font face="monospace">-rw------- 1 root root          71 Jan 25
        20:01 DB_CONFIG</font><br>
      <font face="monospace">drwx------ 2 root root        4096 Feb  2
        11:42 files</font><br>
      <font face="monospace">drwx------ 2 root root        4096 Feb  2
        11:42 keys</font><br>
      <font face="monospace">srwxrwsrwx 1 root root           0 Feb  2
        11:42 lmtp.socket</font><br>
      <font face="monospace">srwxrwsrwx 1 root root           0 Feb  2
        11:42 lmtp-unfiltered.socket</font><br>
      <font face="monospace">-rw-r----- 1 root root    10485760 Jan 25
        20:01 log.0000153667</font><br>
      <font face="monospace">-rw-rw---- 1 root root    10485759 Feb  2
        10:55 log.0000153668</font><br>
      <font face="monospace">drwx------ 2 root root        4096 Feb  2
        11:42 messages</font><br>
    </blockquote>
    <font face="monospace"><br>
    </font><br>
    <div class="moz-cite-prefix">On 2/2/21 11:45 AM, s3cr3to wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:4ab84ea6-7dfd-5953-f995-32b9439ce111@uncensored.citadel.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <font face="monospace">I try this and seems to run, but I can
        login, with my user &amp; password,<br>
        <br>
        If this is the right way to run it, how can I test it from a
        terminal?<br>
        <br>
      </font>
      <blockquote><font face="monospace"># ./Citadel-x86_64.AppImage <b>run
            -h /usr/local/citadel/data</b></font><br>
        <font face="monospace">ctdlvisor: Welcome to the Citadel System,
          brought to you using AppImage.</font><br>
        <font face="monospace">ctdlvisor: LD_LIBRARY_PATH =
          /tmp/.mount_CitadeXFpITR/usr/lib</font><br>
        <font face="monospace">ctdlvisor:            PATH =
          /tmp/.mount_CitadeXFpITR/usr/bin</font><br>
        <font face="monospace">ctdlvisor:          APPDIR =
          /tmp/.mount_CitadeXFpITR</font><br>
        <font face="monospace">ctdlvisor:  data directory =
          /usr/local/citadel/data</font><br>
        <font face="monospace">ctdlvisor:       HTTP port = 80</font><br>
        <font face="monospace">ctdlvisor:      HTTPS port = 443</font><br>
        <font face="monospace">ctdlvisor: waiting for any child process
          to exit...</font><br>
        <font face="monospace">ctdlvisor: executing
          /tmp/.mount_CitadeXFpITR/usr/local/webcit/webcit</font><br>
        <font face="monospace">ctdlvisor: executing
          /tmp/.mount_CitadeXFpITR/usr/local/webcit/webcit</font><br>
        <font face="monospace">ctdlvisor: executing
          /tmp/.mount_CitadeXFpITR/usr/local/citadel/citserver with data
          directory /usr/local/citadel/data<br>
          <br>
          ----<br>
          # ps -eaf|grep cit<br>
          root      3982     1  0 11:42 ?        00:00:00
          ./Citadel-x86_64.AppImage run -h /usr/local/citadel/data<br>
          root      3986  3980  0 11:42 ?        00:00:00 citserver -x9
          -h /usr/local/citadel/data<br>
          root      3987  3980  0 11:42 ?        00:00:00 webcit -x9
          -h/tmp/.mount_CitadeXFpITR/usr/local/webcit -p 80 uds
          /usr/local/citadel/data<br>
          root      3988  3980  0 11:42 ?        00:00:00 webcit -x9
          -h/tmp/.mount_CitadeXFpITR/usr/local/webcit -s -p 443 uds
          /usr/local/citadel/data<br>
          root      4006  3931  0 11:43 pts/3    00:00:00 grep cit<br>
          <br>
          # telnet 127.0.0.1 504<br>
          Trying 127.0.0.1...<br>
          Connected to 127.0.0.1.<br>
          Escape character is '^]'.<br>
          200 em2.elavion.com.mx Citadel server ready.<br>
          ^]<br>
          telnet&gt; quit<br>
        </font></blockquote>
      <font face="monospace"><br>
      </font><br>
      <div class="moz-cite-prefix">On 2/2/21 11:38 AM, s3cr3to wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:8110596f-1f66-27dd-6a02-b863442cbf4c@uncensored.citadel.org">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        This is what it shows the 3 times I tried to run it, the
        services stop.<br>
        This is a fresh snapshot, with the DBs intact in the previously
        used folder, you can see that it process the citadel.* files
        since they are gone, but it always leaves a citadel.lock file in
        their place<br>
        <br>
        <blockquote><font face="monospace"># ./Citadel-x86_64.AppImage
            run<br>
            ctdlvisor: Welcome to the Citadel System, brought to you
            using AppImage.<br>
            ctdlvisor: LD_LIBRARY_PATH =
            /tmp/.mount_CitadeEijViz/usr/lib<br>
            ctdlvisor:            PATH =
            /tmp/.mount_CitadeEijViz/usr/bin<br>
            ctdlvisor:          APPDIR = /tmp/.mount_CitadeEijViz<br>
            ctdlvisor:  data directory = /usr/local/citadel<br>
            ctdlvisor:       HTTP port = 80<br>
            ctdlvisor:      HTTPS port = 443<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: executing
            /tmp/.mount_CitadeEijViz/usr/local/webcit/webcit<br>
            ctdlvisor: executing
            /tmp/.mount_CitadeEijViz/usr/local/webcit/webcit<br>
            ctdlvisor: executing
            /tmp/.mount_CitadeEijViz/usr/local/citadel/citserver with
            data directory /usr/local/citadel<br>
            ctdlvisor: pid=3870 exited, status=26880, exitcode=105<br>
            ctdlvisor: citserver exited intentionally - ending AppImage
            session<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=3871 exited, status=15, exitcode=0<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=3872 exited, status=15, exitcode=0<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
            ctdlvisor: exit code 105<br>
            <br>
            <br>
            Citadel-x86_64.AppImage: usage:
            /home/***/Citadel-x86_64.AppImage [-h data_directory] [-p
            http_port] [-s https_port] command<br>
            command must be one of: run, test, install<br>
            <br>
            # ./Citadel-x86_64.AppImage test<br>
            /tmp/.mount_Citadel26Byh/usr/local/citadel/citserver: binary
            compatibility confirmed<br>
            <br>
            # ./Citadel-x86_64.AppImage run<br>
            ctdlvisor: Welcome to the Citadel System, brought to you
            using AppImage.<br>
            ctdlvisor: LD_LIBRARY_PATH =
            /tmp/.mount_Citadekj2585/usr/lib<br>
            ctdlvisor:            PATH =
            /tmp/.mount_Citadekj2585/usr/bin<br>
            ctdlvisor:          APPDIR = /tmp/.mount_Citadekj2585<br>
            ctdlvisor:  data directory = /usr/local/citadel<br>
            ctdlvisor:       HTTP port = 80<br>
            ctdlvisor:      HTTPS port = 443<br>
            ctdlvisor: executing
            /tmp/.mount_Citadekj2585/usr/local/citadel/citserver with
            data directory /usr/local/citadel<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: executing
            /tmp/.mount_Citadekj2585/usr/local/webcit/webcit<br>
            ctdlvisor: executing
            /tmp/.mount_Citadekj2585/usr/local/webcit/webcit<br>
            ctdlvisor: pid=3900 exited, status=26880, exitcode=105<br>
            ctdlvisor: citserver exited intentionally - ending AppImage
            session<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=3901 exited, status=15, exitcode=0<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=3902 exited, status=15, exitcode=0<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
            ctdlvisor: exit code 105<br>
            <br>
            # ls -la /usr/local/citadel/data/<br>
            total 95214532<br>
            drwx------ 2 root root        4096 Feb  2 10:48 .<br>
            drwxr-xr-x 6 root root        4096 Feb  2 10:48 ..<br>
            -rw------- 1 root root   380760064 Jan 25 19:00 cdb.00<br>
            -rw------- 1 root root      176128 Feb  2 10:50 cdb.01<br>
            -rw------- 1 root root      688128 Feb  2 10:50 cdb.02<br>
            -rw------- 1 root root       16384 Feb  2 10:50 cdb.03<br>
            -rw------- 1 root root     3809280 Jan 25 19:00 cdb.04<br>
            -rw------- 1 root root      516096 Jan 25 19:00 cdb.05<br>
            -rw------- 1 root root       28672 Jan 25 19:00 cdb.06<br>
            -rw------- 1 root root    60178432 Jan 25 19:00 cdb.07<br>
            -rw------- 1 root root 97038852096 Jan 25 20:01 cdb.08<br>
            -rw------- 1 root root        8192 Jan 25 20:01 cdb.09<br>
            -rw------- 1 root root     3518464 Jan 25 20:01 cdb.0a<br>
            -rw------- 1 root root       16384 Jan 25 20:01 cdb.0b<br>
            -rw------- 1 root root        8192 Jan 25 20:01 cdb.0c<br>
            -rw------- 1 root root        8192 Feb  2 10:48 cdb.0d<br>
            -rw------- 1 root root          71 Jan 25 20:01 DB_CONFIG<br>
            -rw-r----- 1 root root    10485760 Jan 25 20:01
            log.0000153667<br>
            -rw-rw---- 1 root root    10485759 Feb  2 10:50
            log.0000153668<br>
            <br>
            # ls -la /usr/local/citadel/<br>
            total 48<br>
            drwxr-xr-x  6 root root  4096 Feb  2 10:48 .<br>
            drwxr-xr-x 11 root root  4096 Jan 13 14:11 ..<br>
            <b>-rw-rw-rw-  1 root root     0 Feb  2 10:55 citadel.lock
              &lt;- this lock file isn't deleted</b><br>
            drwx------  2 root root  4096 Feb  2 10:48 data<br>
            drwx------  2 root root  4096 Feb  2 10:48 files<br>
            drwx------  2 root root  4096 Feb  2 10:48 keys<br>
            drwx------  2 root root  4096 Feb  2 10:48 messages<br>
            -rw-------  1 root root 24544 Jan 25 12:23
            refcount_adjustments.dat<br>
            <br>
            # ps -eaf|grep cit<br>
            root      3933  3931  0 10:52 pts/3    00:00:00 grep cit<br>
            <br>
            # telnet 127.0.0.1 504<br>
            Trying 127.0.0.1...<br>
            telnet: Unable to connect to remote host: Connection refused<br>
            <br>
            ---<br>
            Another try, no luck<br>
            # ./Citadel-x86_64.AppImage install<br>
            Hi<br>
            <br>
            # ./Citadel-x86_64.AppImage run<br>
            ctdlvisor: Welcome to the Citadel System, brought to you
            using AppImage.<br>
            ctdlvisor: LD_LIBRARY_PATH =
            /tmp/.mount_Citade2f7qVa/usr/lib<br>
            ctdlvisor:            PATH =
            /tmp/.mount_Citade2f7qVa/usr/bin<br>
            ctdlvisor:          APPDIR = /tmp/.mount_Citade2f7qVa<br>
            ctdlvisor:  data directory = /usr/local/citadel<br>
            ctdlvisor:       HTTP port = 80<br>
            ctdlvisor:      HTTPS port = 443<br>
            ctdlvisor: executing
            /tmp/.mount_Citade2f7qVa/usr/local/citadel/citserver with
            data directory /usr/local/citadel<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: executing
            /tmp/.mount_Citade2f7qVa/usr/local/webcit/webcit<br>
            ctdlvisor: executing
            /tmp/.mount_Citade2f7qVa/usr/local/webcit/webcit<br>
            ctdlvisor: pid=3955 exited, status=26880, exitcode=105<br>
            ctdlvisor: citserver exited intentionally - ending AppImage
            session<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=3956 exited, status=15, exitcode=0<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=3957 exited, status=15, exitcode=0<br>
            ctdlvisor: waiting for any child process to exit...<br>
            ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
            ctdlvisor: exit code 105<br>
          </font></blockquote>
        <br>
        <br>
        <br>
        <br>
        <div class="moz-cite-prefix">On 1/31/21 4:24 PM, IGnatius T
          Foobar wrote:<br>
        </div>
        <blockquote type="cite"
          cite="mid:60173C22-0046EF36@uncensored.citadel.org">
          <pre class="moz-quote-pre" wrap=""> 
  
 All right, here's something new to test. 
  
 64-bit AMD/Intel:    <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/Citadel-x86_64.AppImage" moz-do-not-send="true">https://easyinstall.citadel.org/Citadel-x86_64.AppImage</a>
    51d5fe3e8274b9b004d846fa1a473b34 
 32-bit ARM:          <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/Citadel-armhf.AppImage" moz-do-not-send="true">https://easyinstall.citadel.org/Citadel-armhf.AppImage</a>
     1ae5d15065622e85404353370279f0bc 
  
 Both files are dated 2021-jan-31. 
  
 This build should do a much better job at sticking to its run directory and
doing the right thing.  As always, please let me know if it works, or if it
doesn't work let me know what it did. 
  
 Important note: this build does not include the mailing list service.  While
making the data directory "portable" I removed a lot of legacy code, and unfortunately
the mailing list service depended on some of that.  It's being rewritten in
a much cleaner way. 
 
</pre>
        </blockquote>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649058</link><pubDate>Tue, 02 Feb 2021 13:45:53 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-31</title><guid isPermaLink="false">4649058@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="monospace">I try this and seems to run, but I can login,
      with my user &amp; password,<br>
      <br>
      If this is the right way to run it, how can I test it from a
      terminal?<br>
      <br>
    </font>
    <blockquote><font face="monospace"># ./Citadel-x86_64.AppImage <b>run
          -h /usr/local/citadel/data</b></font><br>
      <font face="monospace">ctdlvisor: Welcome to the Citadel System,
        brought to you using AppImage.</font><br>
      <font face="monospace">ctdlvisor: LD_LIBRARY_PATH =
        /tmp/.mount_CitadeXFpITR/usr/lib</font><br>
      <font face="monospace">ctdlvisor:            PATH =
        /tmp/.mount_CitadeXFpITR/usr/bin</font><br>
      <font face="monospace">ctdlvisor:          APPDIR =
        /tmp/.mount_CitadeXFpITR</font><br>
      <font face="monospace">ctdlvisor:  data directory =
        /usr/local/citadel/data</font><br>
      <font face="monospace">ctdlvisor:       HTTP port = 80</font><br>
      <font face="monospace">ctdlvisor:      HTTPS port = 443</font><br>
      <font face="monospace">ctdlvisor: waiting for any child process to
        exit...</font><br>
      <font face="monospace">ctdlvisor: executing
        /tmp/.mount_CitadeXFpITR/usr/local/webcit/webcit</font><br>
      <font face="monospace">ctdlvisor: executing
        /tmp/.mount_CitadeXFpITR/usr/local/webcit/webcit</font><br>
      <font face="monospace">ctdlvisor: executing
        /tmp/.mount_CitadeXFpITR/usr/local/citadel/citserver with data
        directory /usr/local/citadel/data<br>
        <br>
        ----<br>
        # ps -eaf|grep cit<br>
        root      3982     1  0 11:42 ?        00:00:00
        ./Citadel-x86_64.AppImage run -h /usr/local/citadel/data<br>
        root      3986  3980  0 11:42 ?        00:00:00 citserver -x9 -h
        /usr/local/citadel/data<br>
        root      3987  3980  0 11:42 ?        00:00:00 webcit -x9
        -h/tmp/.mount_CitadeXFpITR/usr/local/webcit -p 80 uds
        /usr/local/citadel/data<br>
        root      3988  3980  0 11:42 ?        00:00:00 webcit -x9
        -h/tmp/.mount_CitadeXFpITR/usr/local/webcit -s -p 443 uds
        /usr/local/citadel/data<br>
        root      4006  3931  0 11:43 pts/3    00:00:00 grep cit<br>
        <br>
        # telnet 127.0.0.1 504<br>
        Trying 127.0.0.1...<br>
        Connected to 127.0.0.1.<br>
        Escape character is '^]'.<br>
        200 em2.elavion.com.mx Citadel server ready.<br>
        ^]<br>
        telnet&gt; quit<br>
      </font></blockquote>
    <font face="monospace"><br>
    </font><br>
    <div class="moz-cite-prefix">On 2/2/21 11:38 AM, s3cr3to wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:8110596f-1f66-27dd-6a02-b863442cbf4c@uncensored.citadel.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      This is what it shows the 3 times I tried to run it, the services
      stop.<br>
      This is a fresh snapshot, with the DBs intact in the previously
      used folder, you can see that it process the citadel.* files since
      they are gone, but it always leaves a citadel.lock file in their
      place<br>
      <br>
      <blockquote><font face="monospace"># ./Citadel-x86_64.AppImage run<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_CitadeEijViz/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_CitadeEijViz/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_CitadeEijViz<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: executing
          /tmp/.mount_CitadeEijViz/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_CitadeEijViz/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_CitadeEijViz/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: pid=3870 exited, status=26880, exitcode=105<br>
          ctdlvisor: citserver exited intentionally - ending AppImage
          session<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: pid=3871 exited, status=15, exitcode=0<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: pid=3872 exited, status=15, exitcode=0<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
          ctdlvisor: exit code 105<br>
          <br>
          <br>
          Citadel-x86_64.AppImage: usage:
          /home/***/Citadel-x86_64.AppImage [-h data_directory] [-p
          http_port] [-s https_port] command<br>
          command must be one of: run, test, install<br>
          <br>
          # ./Citadel-x86_64.AppImage test<br>
          /tmp/.mount_Citadel26Byh/usr/local/citadel/citserver: binary
          compatibility confirmed<br>
          <br>
          # ./Citadel-x86_64.AppImage run<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_Citadekj2585/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_Citadekj2585/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_Citadekj2585<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: executing
          /tmp/.mount_Citadekj2585/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: executing
          /tmp/.mount_Citadekj2585/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_Citadekj2585/usr/local/webcit/webcit<br>
          ctdlvisor: pid=3900 exited, status=26880, exitcode=105<br>
          ctdlvisor: citserver exited intentionally - ending AppImage
          session<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: pid=3901 exited, status=15, exitcode=0<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: pid=3902 exited, status=15, exitcode=0<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
          ctdlvisor: exit code 105<br>
          <br>
          # ls -la /usr/local/citadel/data/<br>
          total 95214532<br>
          drwx------ 2 root root        4096 Feb  2 10:48 .<br>
          drwxr-xr-x 6 root root        4096 Feb  2 10:48 ..<br>
          -rw------- 1 root root   380760064 Jan 25 19:00 cdb.00<br>
          -rw------- 1 root root      176128 Feb  2 10:50 cdb.01<br>
          -rw------- 1 root root      688128 Feb  2 10:50 cdb.02<br>
          -rw------- 1 root root       16384 Feb  2 10:50 cdb.03<br>
          -rw------- 1 root root     3809280 Jan 25 19:00 cdb.04<br>
          -rw------- 1 root root      516096 Jan 25 19:00 cdb.05<br>
          -rw------- 1 root root       28672 Jan 25 19:00 cdb.06<br>
          -rw------- 1 root root    60178432 Jan 25 19:00 cdb.07<br>
          -rw------- 1 root root 97038852096 Jan 25 20:01 cdb.08<br>
          -rw------- 1 root root        8192 Jan 25 20:01 cdb.09<br>
          -rw------- 1 root root     3518464 Jan 25 20:01 cdb.0a<br>
          -rw------- 1 root root       16384 Jan 25 20:01 cdb.0b<br>
          -rw------- 1 root root        8192 Jan 25 20:01 cdb.0c<br>
          -rw------- 1 root root        8192 Feb  2 10:48 cdb.0d<br>
          -rw------- 1 root root          71 Jan 25 20:01 DB_CONFIG<br>
          -rw-r----- 1 root root    10485760 Jan 25 20:01 log.0000153667<br>
          -rw-rw---- 1 root root    10485759 Feb  2 10:50 log.0000153668<br>
          <br>
          # ls -la /usr/local/citadel/<br>
          total 48<br>
          drwxr-xr-x  6 root root  4096 Feb  2 10:48 .<br>
          drwxr-xr-x 11 root root  4096 Jan 13 14:11 ..<br>
          <b>-rw-rw-rw-  1 root root     0 Feb  2 10:55 citadel.lock
            &lt;- this lock file isn't deleted</b><br>
          drwx------  2 root root  4096 Feb  2 10:48 data<br>
          drwx------  2 root root  4096 Feb  2 10:48 files<br>
          drwx------  2 root root  4096 Feb  2 10:48 keys<br>
          drwx------  2 root root  4096 Feb  2 10:48 messages<br>
          -rw-------  1 root root 24544 Jan 25 12:23
          refcount_adjustments.dat<br>
          <br>
          # ps -eaf|grep cit<br>
          root      3933  3931  0 10:52 pts/3    00:00:00 grep cit<br>
          <br>
          # telnet 127.0.0.1 504<br>
          Trying 127.0.0.1...<br>
          telnet: Unable to connect to remote host: Connection refused<br>
          <br>
          ---<br>
          Another try, no luck<br>
          # ./Citadel-x86_64.AppImage install<br>
          Hi<br>
          <br>
          # ./Citadel-x86_64.AppImage run<br>
          ctdlvisor: Welcome to the Citadel System, brought to you using
          AppImage.<br>
          ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_Citade2f7qVa/usr/lib<br>
          ctdlvisor:            PATH = /tmp/.mount_Citade2f7qVa/usr/bin<br>
          ctdlvisor:          APPDIR = /tmp/.mount_Citade2f7qVa<br>
          ctdlvisor:  data directory = /usr/local/citadel<br>
          ctdlvisor:       HTTP port = 80<br>
          ctdlvisor:      HTTPS port = 443<br>
          ctdlvisor: executing
          /tmp/.mount_Citade2f7qVa/usr/local/citadel/citserver with data
          directory /usr/local/citadel<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: executing
          /tmp/.mount_Citade2f7qVa/usr/local/webcit/webcit<br>
          ctdlvisor: executing
          /tmp/.mount_Citade2f7qVa/usr/local/webcit/webcit<br>
          ctdlvisor: pid=3955 exited, status=26880, exitcode=105<br>
          ctdlvisor: citserver exited intentionally - ending AppImage
          session<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: pid=3956 exited, status=15, exitcode=0<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: pid=3957 exited, status=15, exitcode=0<br>
          ctdlvisor: waiting for any child process to exit...<br>
          ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
          ctdlvisor: exit code 105<br>
        </font></blockquote>
      <br>
      <br>
      <br>
      <br>
      <div class="moz-cite-prefix">On 1/31/21 4:24 PM, IGnatius T Foobar
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:60173C22-0046EF36@uncensored.citadel.org">
        <pre class="moz-quote-pre" wrap=""> 
  
 All right, here's something new to test. 
  
 64-bit AMD/Intel:    <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/Citadel-x86_64.AppImage" moz-do-not-send="true">https://easyinstall.citadel.org/Citadel-x86_64.AppImage</a>
    51d5fe3e8274b9b004d846fa1a473b34 
 32-bit ARM:          <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/Citadel-armhf.AppImage" moz-do-not-send="true">https://easyinstall.citadel.org/Citadel-armhf.AppImage</a>
     1ae5d15065622e85404353370279f0bc 
  
 Both files are dated 2021-jan-31. 
  
 This build should do a much better job at sticking to its run directory and
doing the right thing.  As always, please let me know if it works, or if it
doesn't work let me know what it did. 
  
 Important note: this build does not include the mailing list service.  While
making the data directory "portable" I removed a lot of legacy code, and unfortunately
the mailing list service depended on some of that.  It's being rewritten in
a much cleaner way. 
 
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4649055</link><pubDate>Tue, 02 Feb 2021 13:38:38 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-31</title><guid isPermaLink="false">4649055@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    This is what it shows the 3 times I tried to run it, the services
    stop.<br>
    This is a fresh snapshot, with the DBs intact in the previously used
    folder, you can see that it process the citadel.* files since they
    are gone, but it always leaves a citadel.lock file in their place<br>
    <br>
    <blockquote><font face="monospace"># ./Citadel-x86_64.AppImage run<br>
        ctdlvisor: Welcome to the Citadel System, brought to you using
        AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_CitadeEijViz/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_CitadeEijViz/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_CitadeEijViz<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: executing
        /tmp/.mount_CitadeEijViz/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_CitadeEijViz/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_CitadeEijViz/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: pid=3870 exited, status=26880, exitcode=105<br>
        ctdlvisor: citserver exited intentionally - ending AppImage
        session<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=3871 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=3872 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
        ctdlvisor: exit code 105<br>
        <br>
        <br>
        Citadel-x86_64.AppImage: usage:
        /home/***/Citadel-x86_64.AppImage [-h data_directory] [-p
        http_port] [-s https_port] command<br>
        command must be one of: run, test, install<br>
        <br>
        # ./Citadel-x86_64.AppImage test<br>
        /tmp/.mount_Citadel26Byh/usr/local/citadel/citserver: binary
        compatibility confirmed<br>
        <br>
        # ./Citadel-x86_64.AppImage run<br>
        ctdlvisor: Welcome to the Citadel System, brought to you using
        AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_Citadekj2585/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_Citadekj2585/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_Citadekj2585<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: executing
        /tmp/.mount_Citadekj2585/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: executing
        /tmp/.mount_Citadekj2585/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_Citadekj2585/usr/local/webcit/webcit<br>
        ctdlvisor: pid=3900 exited, status=26880, exitcode=105<br>
        ctdlvisor: citserver exited intentionally - ending AppImage
        session<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=3901 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=3902 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
        ctdlvisor: exit code 105<br>
        <br>
        # ls -la /usr/local/citadel/data/<br>
        total 95214532<br>
        drwx------ 2 root root        4096 Feb  2 10:48 .<br>
        drwxr-xr-x 6 root root        4096 Feb  2 10:48 ..<br>
        -rw------- 1 root root   380760064 Jan 25 19:00 cdb.00<br>
        -rw------- 1 root root      176128 Feb  2 10:50 cdb.01<br>
        -rw------- 1 root root      688128 Feb  2 10:50 cdb.02<br>
        -rw------- 1 root root       16384 Feb  2 10:50 cdb.03<br>
        -rw------- 1 root root     3809280 Jan 25 19:00 cdb.04<br>
        -rw------- 1 root root      516096 Jan 25 19:00 cdb.05<br>
        -rw------- 1 root root       28672 Jan 25 19:00 cdb.06<br>
        -rw------- 1 root root    60178432 Jan 25 19:00 cdb.07<br>
        -rw------- 1 root root 97038852096 Jan 25 20:01 cdb.08<br>
        -rw------- 1 root root        8192 Jan 25 20:01 cdb.09<br>
        -rw------- 1 root root     3518464 Jan 25 20:01 cdb.0a<br>
        -rw------- 1 root root       16384 Jan 25 20:01 cdb.0b<br>
        -rw------- 1 root root        8192 Jan 25 20:01 cdb.0c<br>
        -rw------- 1 root root        8192 Feb  2 10:48 cdb.0d<br>
        -rw------- 1 root root          71 Jan 25 20:01 DB_CONFIG<br>
        -rw-r----- 1 root root    10485760 Jan 25 20:01 log.0000153667<br>
        -rw-rw---- 1 root root    10485759 Feb  2 10:50 log.0000153668<br>
        <br>
        # ls -la /usr/local/citadel/<br>
        total 48<br>
        drwxr-xr-x  6 root root  4096 Feb  2 10:48 .<br>
        drwxr-xr-x 11 root root  4096 Jan 13 14:11 ..<br>
        <b>-rw-rw-rw-  1 root root     0 Feb  2 10:55 citadel.lock &lt;-
          this lock file isn't deleted</b><br>
        drwx------  2 root root  4096 Feb  2 10:48 data<br>
        drwx------  2 root root  4096 Feb  2 10:48 files<br>
        drwx------  2 root root  4096 Feb  2 10:48 keys<br>
        drwx------  2 root root  4096 Feb  2 10:48 messages<br>
        -rw-------  1 root root 24544 Jan 25 12:23
        refcount_adjustments.dat<br>
        <br>
        # ps -eaf|grep cit<br>
        root      3933  3931  0 10:52 pts/3    00:00:00 grep cit<br>
        <br>
        # telnet 127.0.0.1 504<br>
        Trying 127.0.0.1...<br>
        telnet: Unable to connect to remote host: Connection refused<br>
        <br>
        ---<br>
        Another try, no luck<br>
        # ./Citadel-x86_64.AppImage install<br>
        Hi<br>
        <br>
        # ./Citadel-x86_64.AppImage run<br>
        ctdlvisor: Welcome to the Citadel System, brought to you using
        AppImage.<br>
        ctdlvisor: LD_LIBRARY_PATH = /tmp/.mount_Citade2f7qVa/usr/lib<br>
        ctdlvisor:            PATH = /tmp/.mount_Citade2f7qVa/usr/bin<br>
        ctdlvisor:          APPDIR = /tmp/.mount_Citade2f7qVa<br>
        ctdlvisor:  data directory = /usr/local/citadel<br>
        ctdlvisor:       HTTP port = 80<br>
        ctdlvisor:      HTTPS port = 443<br>
        ctdlvisor: executing
        /tmp/.mount_Citade2f7qVa/usr/local/citadel/citserver with data
        directory /usr/local/citadel<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: executing
        /tmp/.mount_Citade2f7qVa/usr/local/webcit/webcit<br>
        ctdlvisor: executing
        /tmp/.mount_Citade2f7qVa/usr/local/webcit/webcit<br>
        ctdlvisor: pid=3955 exited, status=26880, exitcode=105<br>
        ctdlvisor: citserver exited intentionally - ending AppImage
        session<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=3956 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=3957 exited, status=15, exitcode=0<br>
        ctdlvisor: waiting for any child process to exit...<br>
        ctdlvisor: pid=-1 exited, status=15, exitcode=0<br>
        ctdlvisor: exit code 105<br>
      </font></blockquote>
    <br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 1/31/21 4:24 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60173C22-0046EF36@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap=""> 
  
 All right, here's something new to test. 
  
 64-bit AMD/Intel:    <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/Citadel-x86_64.AppImage">https://easyinstall.citadel.org/Citadel-x86_64.AppImage</a>
    51d5fe3e8274b9b004d846fa1a473b34 
 32-bit ARM:          <a class="moz-txt-link-freetext" href="https://easyinstall.citadel.org/Citadel-armhf.AppImage">https://easyinstall.citadel.org/Citadel-armhf.AppImage</a>
     1ae5d15065622e85404353370279f0bc 
  
 Both files are dated 2021-jan-31. 
  
 This build should do a much better job at sticking to its run directory and
doing the right thing.  As always, please let me know if it works, or if it
doesn't work let me know what it did. 
  
 Important note: this build does not include the mailing list service.  While
making the data directory "portable" I removed a lot of legacy code, and unfortunately
the mailing list service depended on some of that.  It's being rewritten in
a much cleaner way. 
 
</pre>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648899</link><pubDate>Mon, 01 Feb 2021 13:39:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-560-g0349f8cc9</title><guid isPermaLink="false">4648899@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0349f8cc90767aa5ec7ab5690d94c76686c378ab (commit)
      from  e870b87cdf22a6dccef06b0391c398b13f1d3931 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0349f8cc90767aa5ec7ab5690d94c76686c378ab
commit 0349f8cc90767aa5ec7ab5690d94c76686c378ab
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Feb 1 13:39:46 2021 -0500

    more work on the new listdeliver module

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listdeliver/serv_listdeliver.c | 35 ++++++++++++++++++--------
 1 file changed, 24 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648758</link><pubDate>Sun, 31 Jan 2021 18:24:18 +0500</pubDate><title>NEW APPIMAGE - 2021-Jan-31</title><guid isPermaLink="false">4648758@Uncensored</guid><description><![CDATA[ 
  
 All right, here's something new to test. 
  
 64-bit AMD/Intel:    https://easyinstall.citadel.org/Citadel-x86_64.AppImage
    51d5fe3e8274b9b004d846fa1a473b34 
 32-bit ARM:          https://easyinstall.citadel.org/Citadel-armhf.AppImage
     1ae5d15065622e85404353370279f0bc 
  
 Both files are dated 2021-jan-31. 
  
 This build should do a much better job at sticking to its run directory and
doing the right thing.  As always, please let me know if it works, or if it
doesn't work let me know what it did. 
  
 Important note: this build does not include the mailing list service.  While
making the data directory "portable" I removed a lot of legacy code, and unfortunately
the mailing list service depended on some of that.  It's being rewritten in
a much cleaner way. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648754</link><pubDate>Sun, 31 Jan 2021 18:01:06 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-559-ge870b87cd</title><guid isPermaLink="false">4648754@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e870b87cdf22a6dccef06b0391c398b13f1d3931 (commit)
      from  a5c66770dfd125d3d18bbdd607252604748877f3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e870b87cdf22a6dccef06b0391c398b13f1d3931
commit e870b87cdf22a6dccef06b0391c398b13f1d3931
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 31 18:01:04 2021 -0500

    mkinstalldirs needs to be executable

-----------------------------------------------------------------------

Summary of changes:
 citadel/mkinstalldirs | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 citadel/mkinstalldirs


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648749</link><pubDate>Sun, 31 Jan 2021 17:42:57 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-558-ga5c66770d</title><guid isPermaLink="false">4648749@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a5c66770dfd125d3d18bbdd607252604748877f3 (commit)
      from  77dc5d1730634ba7d115ca63e4ce937aa2466d5d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a5c66770dfd125d3d18bbdd607252604748877f3
commit a5c66770dfd125d3d18bbdd607252604748877f3
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 31 17:42:55 2021 -0500

    Work on the new mailing list engine

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/listdeliver/serv_listdeliver.c | 31 ++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648667</link><pubDate>Sat, 30 Jan 2021 22:17:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-557-g77dc5d173</title><guid isPermaLink="false">4648667@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  77dc5d1730634ba7d115ca63e4ce937aa2466d5d (commit)
      from  7dc7a949bfa3c73682c82943fe9ce976d5877cbf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=77dc5d1730634ba7d115ca63e4ce937aa2466d5d
commit 77dc5d1730634ba7d115ca63e4ce937aa2466d5d
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 22:17:30 2021 -0500

    New listdeliver module (skeleton)

-----------------------------------------------------------------------

Summary of changes:
 .../serv_listdeliver.c}                            | 48 +++++++++++++++++-----
 1 file changed, 37 insertions(+), 11 deletions(-)
 copy citadel/modules/{listsub/serv_listsub.c => listdeliver/serv_listdeliver.c} (50%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648664</link><pubDate>Sat, 30 Jan 2021 22:03:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-556-g7dc7a949b</title><guid isPermaLink="false">4648664@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7dc7a949bfa3c73682c82943fe9ce976d5877cbf (commit)
      from  736906e1b8fb937c5aa0e2311b80473304fa407a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7dc7a949bfa3c73682c82943fe9ce976d5877cbf
commit 7dc7a949bfa3c73682c82943fe9ce976d5877cbf
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 22:03:06 2021 -0500

    ctdlmigrate now uses the new directory semantics

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/ctdlmigrate.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648661</link><pubDate>Sat, 30 Jan 2021 22:00:20 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-555-g736906e1b</title><guid isPermaLink="false">4648661@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  736906e1b8fb937c5aa0e2311b80473304fa407a (commit)
      from  d72427333e5ff60bab91622d393cc09882e36389 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=736906e1b8fb937c5aa0e2311b80473304fa407a
commit 736906e1b8fb937c5aa0e2311b80473304fa407a
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 22:00:20 2021 -0500

    citmail now uses the new directory semantics

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/citmail.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648658</link><pubDate>Sat, 30 Jan 2021 21:56:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-554-gd72427333</title><guid isPermaLink="false">4648658@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d72427333e5ff60bab91622d393cc09882e36389 (commit)
      from  2bc27bb07d088ead764da7064df2633f552b9eb0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d72427333e5ff60bab91622d393cc09882e36389
commit d72427333e5ff60bab91622d393cc09882e36389
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 21:56:48 2021 -0500

    setup now uses the new directory semantics

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/setup.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648654</link><pubDate>Sat, 30 Jan 2021 21:53:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-553-g2bc27bb07</title><guid isPermaLink="false">4648654@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2bc27bb07d088ead764da7064df2633f552b9eb0 (commit)
      from  12e52a43f733469ed29552272142a3c7e821256a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2bc27bb07d088ead764da7064df2633f552b9eb0
commit 2bc27bb07d088ead764da7064df2633f552b9eb0
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 21:53:46 2021 -0500

    sendcommand now uses the new directory semantics

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/sendcommand.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648651</link><pubDate>Sat, 30 Jan 2021 21:48:29 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-552-g12e52a43f</title><guid isPermaLink="false">4648651@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  12e52a43f733469ed29552272142a3c7e821256a (commit)
      from  fd710adc44e642ad7b62cffbb7114c5b3f82bed4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=12e52a43f733469ed29552272142a3c7e821256a
commit 12e52a43f733469ed29552272142a3c7e821256a
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 21:48:27 2021 -0500

    All of the old network modules are now completely gone.  Unfortunately this includes the parts that handled mailing lists, so that has to be put back in.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/network/.gitignore      |  1 -
 citadel/modules/network/netmail.h       |  0
 citadel/modules/network/netspool.h      | 29 -----------
 citadel/modules/network/serv_netmail.c  | 70 -------------------------
 citadel/modules/network/serv_netspool.c | 92 ---------------------------------
 citadel/modules/network/serv_network.c  | 83 -----------------------------
 citadel/modules/network/serv_network.h  | 21 --------
 7 files changed, 296 deletions(-)
 delete mode 100644 citadel/modules/network/.gitignore
 delete mode 100644 citadel/modules/network/netmail.h
 delete mode 100644 citadel/modules/network/netspool.h
 delete mode 100644 citadel/modules/network/serv_netmail.c
 delete mode 100644 citadel/modules/network/serv_netspool.c
 delete mode 100644 citadel/modules/network/serv_network.c
 delete mode 100644 citadel/modules/network/serv_network.h


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648640</link><pubDate>Sat, 30 Jan 2021 20:51:36 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-551-gfd710adc4</title><guid isPermaLink="false">4648640@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fd710adc44e642ad7b62cffbb7114c5b3f82bed4 (commit)
      from  7da0254bb7b5d10b71428443d55046bd4501aff8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fd710adc44e642ad7b62cffbb7114c5b3f82bed4
commit fd710adc44e642ad7b62cffbb7114c5b3f82bed4
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 20:51:34 2021 -0500

    holy crap there is some old cruft in here I have to rewrite!

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/network/serv_network.c | 39 ----------------------------------
 citadel/server.h                       |  1 -
 citadel/threads.c                      |  2 --
 3 files changed, 42 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648637</link><pubDate>Sat, 30 Jan 2021 20:45:28 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-550-g7da0254bb</title><guid isPermaLink="false">4648637@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7da0254bb7b5d10b71428443d55046bd4501aff8 (commit)
      from  7a9b0685e406cc83597171cc39d008c7e5459ca8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7da0254bb7b5d10b71428443d55046bd4501aff8
commit 7da0254bb7b5d10b71428443d55046bd4501aff8
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 20:45:21 2021 -0500

    pop3 retrieval working again

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/pop3client/serv_pop3client.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648633</link><pubDate>Sat, 30 Jan 2021 20:35:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-549-g7a9b0685e</title><guid isPermaLink="false">4648633@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7a9b0685e406cc83597171cc39d008c7e5459ca8 (commit)
      from  7a65130ea2a5be56603233ba7b8d230691f604a0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7a9b0685e406cc83597171cc39d008c7e5459ca8
commit 7a9b0685e406cc83597171cc39d008c7e5459ca8
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 20:35:31 2021 -0500

    stable now but there are GIANT PIECES MISSING

-----------------------------------------------------------------------

Summary of changes:
 citadel/COPYING                              |   5 +
 citadel/README.txt                           |   2 +-
 citadel/ctdl_module.h                        |  72 +--
 citadel/docs/netconfigs.txt                  |  73 +--
 citadel/modules/blog/serv_blog.c             |  13 +-
 citadel/modules/clamav/serv_virus.c          |  13 +-
 citadel/modules/crypto/serv_crypto.c         |  11 +-
 citadel/modules/expire/expire_policy.c       |  12 +-
 citadel/modules/expire/serv_expire.c         |  13 +-
 citadel/modules/fulltext/ft_wordbreaker.c    |  13 +-
 citadel/modules/fulltext/serv_fulltext.c     |  13 +-
 citadel/modules/imap/imap_acl.c              |  13 +-
 citadel/modules/imap/imap_fetch.c            |  13 +-
 citadel/modules/imap/imap_list.c             |  13 +-
 citadel/modules/imap/imap_metadata.c         |  13 +-
 citadel/modules/imap/imap_misc.c             |  13 +-
 citadel/modules/imap/imap_search.c           |  13 +-
 citadel/modules/imap/imap_store.c            |  13 +-
 citadel/modules/imap/serv_imap.c             |  13 +-
 citadel/modules/inboxrules/serv_inboxrules.c |  13 +-
 citadel/modules/inetcfg/serv_inetcfg.c       |  13 +-
 citadel/modules/instmsg/serv_instmsg.c       |  13 +-
 citadel/modules/listsub/serv_listsub.c       | 654 +--------------------------
 citadel/modules/migrate/serv_migrate.c       |  13 +-
 citadel/modules/network/netmail.h            |   2 -
 citadel/modules/network/netspool.h           |  36 --
 citadel/modules/network/serv_netmail.c       | 383 +---------------
 citadel/modules/network/serv_netspool.c      | 338 +-------------
 citadel/modules/network/serv_network.c       | 211 +--------
 citadel/modules/newuser/serv_newuser.c       |  27 +-
 citadel/modules/nntp/serv_nntp.c             |  20 +-
 citadel/modules/notes/serv_notes.c           |  32 +-
 citadel/modules/openid/serv_openid_rp.c      |  13 +-
 citadel/modules/pop3/serv_pop3.c             |  13 +-
 citadel/modules/pop3client/serv_pop3client.c |  73 ++-
 citadel/modules/roomchat/serv_roomchat.c     |  13 +-
 citadel/modules/rssclient/serv_rssclient.c   |  12 -
 citadel/modules/rwho/serv_rwho.c             |  15 +-
 citadel/modules/smtp/serv_smtp.c             |  13 +-
 citadel/modules/smtp/serv_smtpclient.c       |  11 -
 citadel/modules/smtp/smtp_util.c             |  13 +-
 citadel/modules/spam/serv_spam.c             |  13 +-
 citadel/modules/test/serv_test.c             |  13 +-
 citadel/modules/upgrade/serv_upgrade.c       |  13 +-
 citadel/modules/vcard/serv_vcard.c           |  13 +-
 citadel/modules/wiki/serv_wiki.c             |  13 +-
 citadel/modules/xmpp/serv_xmpp.c             |  13 +-
 citadel/modules/xmpp/xmpp_messages.c         |  13 +-
 citadel/modules/xmpp/xmpp_presence.c         |  28 +-
 citadel/modules/xmpp/xmpp_query_namespace.c  |  13 +-
 citadel/modules/xmpp/xmpp_queue.c            |  13 +-
 citadel/modules/xmpp/xmpp_sasl_service.c     |  13 +-
 citadel/netconfig.c                          | 610 +------------------------
 citadel/room_ops.c                           | 216 +++------
 54 files changed, 232 insertions(+), 3027 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648618</link><pubDate>Sat, 30 Jan 2021 18:36:33 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-24</title><guid isPermaLink="false">4648618@Uncensored</guid><description><![CDATA[Ugh.  I opened up a pandora's box with this anti-LFHS thing.  Lots of code
to rewrite.  Uggghhhhhh.... 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648607</link><pubDate>Sat, 30 Jan 2021 16:14:36 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-548-g7a65130ea</title><guid isPermaLink="false">4648607@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7a65130ea2a5be56603233ba7b8d230691f604a0 (commit)
      from  a520d904d0069654c57d2b69618bee1225ee3067 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7a65130ea2a5be56603233ba7b8d230691f604a0
commit 7a65130ea2a5be56603233ba7b8d230691f604a0
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 16:14:31 2021 -0500

    war on lfhs continues ... what a mess

-----------------------------------------------------------------------

Summary of changes:
 citadel/bootstrap              |  0
 citadel/citadel_dirs.h         | 64 +++++++++++++++++++++---------------------
 citadel/netconfig.c            |  4 +--
 citadel/utillib/citadel_dirs.c | 34 ----------------------
 citadel/utils/sendcommand.c    |  2 +-
 5 files changed, 35 insertions(+), 69 deletions(-)
 mode change 100644 => 100755 citadel/bootstrap


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648603</link><pubDate>Sat, 30 Jan 2021 16:04:49 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-547-ga520d904d</title><guid isPermaLink="false">4648603@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a520d904d0069654c57d2b69618bee1225ee3067 (commit)
      from  373b01806f2c2949b86b0ef83b28e15d38af5ee6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a520d904d0069654c57d2b69618bee1225ee3067
commit a520d904d0069654c57d2b69618bee1225ee3067
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 30 16:04:44 2021 -0500

    don't run this, it's broken

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile.in                        |   4 +-
 citadel/bootstrap                          |   0
 citadel/citadel_dirs.h                     |  46 +++++
 citadel/citserver.c                        |   2 +-
 citadel/config.guess                       |   0
 citadel/config.sub                         |   0
 citadel/{include => }/ctdl_module.h        |   0
 citadel/database.c                         |  58 +++---
 citadel/database_cleanup.sh.in             |   0
 citadel/guesstimezone.sh                   |   0
 citadel/include/citadel_dirs.h             |  59 ------
 citadel/install-sh                         |   0
 citadel/missing                            |   0
 citadel/mkinstalldirs                      |   0
 citadel/modules/fulltext/ft_wordbreaker.c  |  53 +----
 citadel/modules/fulltext/ft_wordbreaker.h  |  33 +--
 citadel/modules/fulltext/serv_fulltext.c   |   1 -
 citadel/modules/network/serv_netmail.c     |   2 +-
 citadel/modules/network/serv_netspool.c    |  19 +-
 citadel/msgbase.c                          |   4 +-
 citadel/serv_extensions.c                  |   4 +-
 citadel/server_main.c                      | 119 +++++------
 citadel/utillib/citadel_dirs.c             | 321 +++--------------------------
 citadel/utils/chkpw.c                      |   4 +-
 citadel/utils/citmail.c                    |  19 +-
 citadel/utils/ctdlmigrate.c                |   3 +-
 citadel/utils/sendcommand.c                |   4 +-
 citadel/utils/setup.c                      |   1 -
 contrib/configs/deb-amd64/libical_targets  |   6 -
 contrib/configs/deb-amd64/libsieve_targets |   5 -
 contrib/configs/deb-amd64/targets          |   6 -
 contrib/configs/deb-amd64/tinymce_targets  |   5 -
 contrib/configs/deb-i386/libical_targets   |  10 -
 contrib/configs/deb-i386/libsieve_targets  |   5 -
 contrib/configs/deb-i386/targets           |  10 -
 contrib/configs/deb-i386/tinymce_targets   |   5 -
 libcitadel/buildpackages                   | 123 -----------
 libcitadel/debian/.gitignore               |   6 -
 libcitadel/debian/changelog                | 237 ---------------------
 libcitadel/debian/control                  |  33 ---
 libcitadel/debian/libcitadel-dbg.install   |   1 -
 libcitadel/debian/libcitadel-dev.dirs      |   1 -
 libcitadel/debian/libcitadel-dev.install   |   3 -
 libcitadel/debian/libcitadel4.install      |   1 -
 libcitadel/debian/rules                    | 111 ----------
 libcitadel/hash_todo.txt                   |  55 -----
 webcit/buildpackages                       |  88 --------
 47 files changed, 195 insertions(+), 1272 deletions(-)
 mode change 100755 => 100644 citadel/bootstrap
 create mode 100644 citadel/citadel_dirs.h
 mode change 100755 => 100644 citadel/config.guess
 mode change 100755 => 100644 citadel/config.sub
 rename citadel/{include => }/ctdl_module.h (100%)
 mode change 100755 => 100644 citadel/database_cleanup.sh.in
 mode change 100755 => 100644 citadel/guesstimezone.sh
 delete mode 100644 citadel/include/citadel_dirs.h
 mode change 100755 => 100644 citadel/install-sh
 mode change 100755 => 100644 citadel/missing
 mode change 100755 => 100644 citadel/mkinstalldirs
 delete mode 100644 contrib/configs/deb-amd64/libical_targets
 delete mode 100644 contrib/configs/deb-amd64/libsieve_targets
 delete mode 100644 contrib/configs/deb-amd64/targets
 delete mode 100644 contrib/configs/deb-amd64/tinymce_targets
 delete mode 100644 contrib/configs/deb-i386/libical_targets
 delete mode 100644 contrib/configs/deb-i386/libsieve_targets
 delete mode 100644 contrib/configs/deb-i386/targets
 delete mode 100644 contrib/configs/deb-i386/tinymce_targets
 delete mode 100755 libcitadel/buildpackages
 delete mode 100644 libcitadel/debian/.gitignore
 delete mode 100644 libcitadel/debian/changelog
 delete mode 100644 libcitadel/debian/control
 delete mode 100644 libcitadel/debian/libcitadel-dbg.install
 delete mode 100644 libcitadel/debian/libcitadel-dev.dirs
 delete mode 100644 libcitadel/debian/libcitadel-dev.install
 delete mode 100644 libcitadel/debian/libcitadel4.install
 delete mode 100755 libcitadel/debian/rules
 delete mode 100644 libcitadel/hash_todo.txt
 delete mode 100755 webcit/buildpackages


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648389</link><pubDate>Fri, 29 Jan 2021 09:07:42 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-24</title><guid isPermaLink="false">4648389@Uncensored</guid><description><![CDATA[ >It seems to me that the App is not updated, I download it and it is   
 >dated *January 15th*. And if I run it I get errors that had already been
  
 >solved.  
  
 Weird.  I must have only done the ARM version.  But I'm not going to waste
your time because I found some problems related to the whole LFHS layout thing,
so I am finally killing that for good (bye bye .deb packages) and enforcing
one runtime directory (which can be specified at startup).  Once that's in
place I'll build the AppImage again. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648088</link><pubDate>Wed, 27 Jan 2021 16:40:21 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-546-g373b01806</title><guid isPermaLink="false">4648088@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  373b01806f2c2949b86b0ef83b28e15d38af5ee6 (commit)
      from  f614f64351a5df98ebc837c973772cebb8171bd4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=373b01806f2c2949b86b0ef83b28e15d38af5ee6
commit 373b01806f2c2949b86b0ef83b28e15d38af5ee6
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 27 16:40:17 2021 -0500

    war on lhfs

-----------------------------------------------------------------------

Summary of changes:
 citadel/COPYING                | 2 +-
 citadel/README.txt             | 2 +-
 citadel/control.c              | 6 +++---
 citadel/include/citadel_dirs.h | 1 -
 citadel/utillib/citadel_dirs.c | 9 +--------
 5 files changed, 6 insertions(+), 14 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648071</link><pubDate>Wed, 27 Jan 2021 15:52:20 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-545-gf614f6435</title><guid isPermaLink="false">4648071@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f614f64351a5df98ebc837c973772cebb8171bd4 (commit)
      from  c6dc46af563125cbab57cf24af180125c01f72d4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f614f64351a5df98ebc837c973772cebb8171bd4
commit f614f64351a5df98ebc837c973772cebb8171bd4
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 27 15:52:14 2021 -0500

    Officially declare war on LHFS

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/citadel.desktop |  2 +-
 appimage/ctdlvisor.c                    |  2 +-
 citadel/citserver.c                     |  5 ++--
 citadel/config.c                        |  9 ------
 citadel/include/citadel_dirs.h          |  2 --
 citadel/modules/bio/serv_bio.c          |  8 ++---
 citadel/server_main.c                   | 26 ++++-------------
 citadel/utillib/citadel_dirs.c          | 52 ++++++++++-----------------------
 citadel/utils/setup.c                   |  2 +-
 9 files changed, 30 insertions(+), 78 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4648056</link><pubDate>Wed, 27 Jan 2021 14:17:36 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-24</title><guid isPermaLink="false">4648056@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="monospace">It seems to me that the App is not updated, I
      download it and it is dated <b>January 15th</b>. And if I run it
      I get errors that had already been solved.<br>
      <br>
      The md5sum is the same on both files downloaded (on jan 24 &amp;
      27):<br>
      <br>
      $ md5sum Citadel-x86_64.AppImage20210115 <br>
      587e56bbd11511fb4cfe7eae34e7f5d8  Citadel-x86_64.AppImage20210115<br>
      $ md5sum Citadel-x86_64.AppImage<br>
      587e56bbd11511fb4cfe7eae34e7f5d8  Citadel-x86_64.AppImage<br>
      <br>
      $ ls -la Citadel-x86_64.AppImage*<br>
      -rw-r--r-- 1 root root 9761984 <b>Jan 15</b> 17:30
      Citadel-x86_64.AppImage &lt;- downloaded today 2021/jan/27<br>
      -rwxr-xr-x 1 root root 9761984 Jan 15 17:30
      Citadel-x86_64.AppImage20210115 &lt;- downloaded on </font><font
      face="monospace"><font face="monospace">2021/jan/24</font><br>
      <br>
      Regards<br>
    </font><br>
    <div class="moz-cite-prefix">On 1/24/21 5:19 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:600E0E91-0046EB4F@uncensored.citadel.org">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>Just use HTTP for now.  I will work out the certificate stuff
        as part of the installation process.  Again, right now I just
        want to know that it runs on your system.  Yesterday I figured
        out why it was corrupting the database: when you pressed Ctrl-C
        it somehow got two copies of citserver running at the same time
        and writing to the same database files.  This has been fixed.</p>
      <p>The new downloads:</p>
      <p><a
          href="https://easyinstall.citadel.org/Citadel-x86_64.AppImage"
          moz-do-not-send="true">https://easyinstall.citadel.org/Citadel-x86_64.AppImage</a>
        (64-bit x86)</p>
      <p><a
          href="https://easyinstall.citadel.org/Citadel-armhf.AppImage"
          moz-do-not-send="true">https://easyinstall.citadel.org/Citadel-armhf.AppImage</a>
        (32-bit ARM)</p>
      <p>I will be busy with other things this week, so hopefully these
        are stable enough for you guys to give them a really good
        workup.  Again, they are NOT ready for production.  Also now you
        need to add the word "run" to the command line, to tell it to
        run Citadel services.  The other commands don't work yet.</p>
      <p>Once we have the base system working, we will add the following
        installation features:</p>
      <p>* Citadel Server and WebCit will share an SSL key and
        certificate.  Perhaps we can even figure out how to change it
        while running.</p>
      <p>* Automatic installation of systemd unit files.</p>
      <p>* Automatic upgrade.</p>
      <p>* Built-in commands to generate both portable (binary) and
        non-portable (XML) backups.</p>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647963</link><pubDate>Tue, 26 Jan 2021 15:48:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-544-gc6dc46af5</title><guid isPermaLink="false">4647963@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c6dc46af563125cbab57cf24af180125c01f72d4 (commit)
      from  bcf3a77820854f20ce20d8227411e837904099a4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c6dc46af563125cbab57cf24af180125c01f72d4
commit c6dc46af563125cbab57cf24af180125c01f72d4
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 26 15:48:13 2021 -0500

    ulimit -c unlimited

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/AppRun | 1 +
 1 file changed, 1 insertion(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647955</link><pubDate>Tue, 26 Jan 2021 13:22:48 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-543-gbcf3a7782</title><guid isPermaLink="false">4647955@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  bcf3a77820854f20ce20d8227411e837904099a4 (commit)
      from  8c7d148fff250e73be6c5eabdc3a3cefe4786c2f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=bcf3a77820854f20ce20d8227411e837904099a4
commit bcf3a77820854f20ce20d8227411e837904099a4
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 26 13:22:45 2021 -0500

    more diagnostics

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647891</link><pubDate>Mon, 25 Jan 2021 23:32:24 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-542-g8c7d148ff</title><guid isPermaLink="false">4647891@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8c7d148fff250e73be6c5eabdc3a3cefe4786c2f (commit)
      from  a69148ba680b403a3f07310e037210de606c4a51 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8c7d148fff250e73be6c5eabdc3a3cefe4786c2f
commit 8c7d148fff250e73be6c5eabdc3a3cefe4786c2f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 26 04:32:20 2021 +0000

    look at me , i am a build monkey , see what I can type

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/AppRun | 54 ++++++++++++++++++++++++++++--------------
 1 file changed, 36 insertions(+), 18 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647887</link><pubDate>Mon, 25 Jan 2021 23:14:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-541-ga69148ba6</title><guid isPermaLink="false">4647887@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a69148ba680b403a3f07310e037210de606c4a51 (commit)
      from  758608a1a004b60db17c960263036a73f5776adf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a69148ba680b403a3f07310e037210de606c4a51
commit a69148ba680b403a3f07310e037210de606c4a51
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 26 04:14:29 2021 +0000

    Moved most of the command line logic to the shell script

-----------------------------------------------------------------------

Summary of changes:
 appimage/citadel.AppDir/AppRun |  84 ++++++++++++++++++++++++-
 appimage/ctdlvisor.c           | 135 +++++------------------------------------
 citadel/server_main.c          |   2 +-
 3 files changed, 97 insertions(+), 124 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647860</link><pubDate>Mon, 25 Jan 2021 16:15:31 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-540-g758608a1a</title><guid isPermaLink="false">4647860@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  758608a1a004b60db17c960263036a73f5776adf (commit)
       via  2d26d860aeb8adc52c40aa682c90ccc207c1775e (commit)
      from  55ccbdf1cbb55d5c190072dbba32394fcf171d60 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=758608a1a004b60db17c960263036a73f5776adf
commit 758608a1a004b60db17c960263036a73f5776adf
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 25 16:15:27 2021 -0500

    compatibility tests

http://code.citadel.org/?p=citadel.git&a=commit&h=2d26d860aeb8adc52c40aa682c90ccc207c1775e
commit 2d26d860aeb8adc52c40aa682c90ccc207c1775e
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 25 16:08:26 2021 -0500

    -c option to citserver to only check for binary compatibility

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c  | 19 ++++++++++++++++++-
 citadel/server_main.c | 31 +++++++++++++++++++++----------
 2 files changed, 39 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647852</link><pubDate>Mon, 25 Jan 2021 15:33:20 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-24</title><guid isPermaLink="false">4647852@Uncensored</guid><description><![CDATA[ >I'm going to restore a snapshot of my VM so I can try again; when I try
  
 >to log in with http; and the "citadel" process just crashes.  
  
 Yes, definitely use a new snapshot.  If you ran the previous version of the
appimage, you can pretty much count on any database it touched being corrupted.
 (This is why we are warning everyone not to use it on a production system
yet.) 
  
 The one that was uploaded yesterday, you should be able to start and stop
it as many times as you want without it harming anything.  It also now suppresses
log output to the screen from citserver and webcit.  You can still look in
your syslog for those.  The appimage will now only show the output from ctdlvisor,
including the exit codes from any of the service processes when they stop
running.  That output is definitely good to post here if you have any issues,
because citserver has a lot of different exit codes
that tell us important things. 
   
 In particular, exit code 0 is a "normal exit" and exit codes 101-109 are
"intentional exit" which means that something went wrong, and the citserver
shut itself down -- as opposed to a random segfault where you want to just
restart it.   Failure to mount the database would be one of these intentional
exits, since there's no point in trying over and over again to mount a corrupt
database until action is taken to fix it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647843</link><pubDate>Mon, 25 Jan 2021 14:28:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-538-g55ccbdf1c</title><guid isPermaLink="false">4647843@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  55ccbdf1cbb55d5c190072dbba32394fcf171d60 (commit)
      from  6f1e0c89501aa95ff55e83ebfca511fdd1ead0ca (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=55ccbdf1cbb55d5c190072dbba32394fcf171d60
commit 55ccbdf1cbb55d5c190072dbba32394fcf171d60
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 25 14:28:13 2021 -0500

    more appimage stuff related to installation

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh |   2 +
 appimage/ctdlvisor.c       | 224 +++++++++++++++++++++++++++------------------
 2 files changed, 139 insertions(+), 87 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647838</link><pubDate>Mon, 25 Jan 2021 14:10:42 +0500</pubDate><title>Re: NEW APPIMAGE - 2021-Jan-24</title><guid isPermaLink="false">4647838@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="monospace">Thanks!<br>
      I'm going to restore a snapshot of my VM so I can try again; when
      I try to log in with http; and the "citadel" process just crashes.<br>
      <br>
    </font>
    <blockquote><font face="monospace">webcit[2802]: POST
        /ajax_login_username_password HTTP/1.1</font><br>
      <font face="monospace">citserver[2801]: [(not logged in)(0)] USER
        ***</font><br>
      <font face="monospace">citserver[2801]: user_ops: cmd_user(***)</font><br>
      <font face="monospace">citserver[2801]: user_ops:
        CtdlLoginExistingUser(***)</font><br>
      <font face="monospace">citserver[2801]: [***(11)] &lt;password
        command hidden from log&gt;</font><br>
      <font face="monospace">citserver[2801]: user_ops: &lt;***&gt;
        logged in</font><br>
      <font face="monospace">*** buffer overflow detected ***: citserver
        terminated</font><br>
      <font face="monospace">pid=2801 exited, status=6</font><br>
      <font face="monospace">ctdlvisor: citserver exited normally -
        ending AppImage session</font><br>
      <font face="monospace">webcit[2802]: StrBuf_ServGetln(): Server
        connection broken: Resource temporarily unavailable</font><br>
      <font face="monospace">webcit[2802]: HTTP: 200 [0.003725] POST
        /ajax_login_username_password</font><br>
      <font face="monospace">...# webcit[2802]: POST
        /ajax_login_username_password HTTP/1.1</font><br>
      <font face="monospace">webcit[2802]: Can't connect
        [/usr/local/citadel/citadel.socket]: Connection refused</font><br>
      <font face="monospace">webcit[2802]: HTTP: 200 [0.001161] POST
        /ajax_login_username_password</font><br>
      <font face="monospace">(refreshing the browser)</font><br>
      <font face="monospace">webcit[2802]: GET /push?url=do_welcome
        HTTP/1.1</font><br>
      <font face="monospace">webcit[2802]: Can't connect
        [/usr/local/citadel/citadel.socket]: Connection refused</font><br>
      <font face="monospace">webcit[2802]: HTTP: 200 [0.000999] GET
        /push?url=do_welcome</font><br>
    </blockquote>
    <font face="monospace"><br>
      But the backup can only be done during the night when there is no
      staff using it.<br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 1/24/21 5:19 PM, IGnatius T Foobar
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:600E0E91-0046EB4F@uncensored.citadel.org">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>Just use HTTP for now.  I will work out the certificate stuff
        as part of the installation process.  Again, right now I just
        want to know that it runs on your system.  Yesterday I figured
        out why it was corrupting the database: when you pressed Ctrl-C
        it somehow got two copies of citserver running at the same time
        and writing to the same database files.  This has been fixed.</p>
      <p>The new downloads:</p>
      <p><a
          href="https://easyinstall.citadel.org/Citadel-x86_64.AppImage"
          moz-do-not-send="true">https://easyinstall.citadel.org/Citadel-x86_64.AppImage</a>
        (64-bit x86)</p>
      <p><a
          href="https://easyinstall.citadel.org/Citadel-armhf.AppImage"
          moz-do-not-send="true">https://easyinstall.citadel.org/Citadel-armhf.AppImage</a>
        (32-bit ARM)</p>
      <p>I will be busy with other things this week, so hopefully these
        are stable enough for you guys to give them a really good
        workup.  Again, they are NOT ready for production.  Also now you
        need to add the word "run" to the command line, to tell it to
        run Citadel services.  The other commands don't work yet.</p>
      <p>Once we have the base system working, we will add the following
        installation features:</p>
      <p>* Citadel Server and WebCit will share an SSL key and
        certificate.  Perhaps we can even figure out how to change it
        while running.</p>
      <p>* Automatic installation of systemd unit files.</p>
      <p>* Automatic upgrade.</p>
      <p>* Built-in commands to generate both portable (binary) and
        non-portable (XML) backups.</p>
    </blockquote>
    <br>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647759</link><pubDate>Sun, 24 Jan 2021 19:19:29 +0500</pubDate><title>NEW APPIMAGE - 2021-Jan-24</title><guid isPermaLink="false">4647759@Uncensored</guid><description><![CDATA[<html><body>

<p>Just use HTTP for now.  I will work out the certificate stuff as part of the installation process.  Again, right now I just want to know that it runs on your system.  Yesterday I figured out why it was corrupting the database: when you pressed Ctrl-C it somehow got two copies of citserver running at the same time and writing to the same database files.  This has been fixed.</p>
<p>The new downloads:</p>
<p><a href="https://easyinstall.citadel.org/Citadel-x86_64.AppImage">https://easyinstall.citadel.org/Citadel-x86_64.AppImage</a> (64-bit x86)</p>
<p><a href="https://easyinstall.citadel.org/Citadel-armhf.AppImage">https://easyinstall.citadel.org/Citadel-armhf.AppImage</a> (32-bit ARM)</p>
<p>I will be busy with other things this week, so hopefully these are stable enough for you guys to give them a really good workup.  Again, they are NOT ready for production.  Also now you need to add the word "run" to the command line, to tell it to run Citadel services.  The other commands don't work yet.</p>
<p>Once we have the base system working, we will add the following installation features:</p>
<p>* Citadel Server and WebCit will share an SSL key and certificate.  Perhaps we can even figure out how to change it while running.</p>
<p>* Automatic installation of systemd unit files.</p>
<p>* Automatic upgrade.</p>
<p>* Built-in commands to generate both portable (binary) and non-portable (XML) backups.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647753</link><pubDate>Sun, 24 Jan 2021 19:10:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-537-g6f1e0c895</title><guid isPermaLink="false">4647753@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6f1e0c89501aa95ff55e83ebfca511fdd1ead0ca (commit)
      from  fcc3e1f2fbb486769d536b4029c60e17ab1e43fe (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6f1e0c89501aa95ff55e83ebfca511fdd1ead0ca
commit 6f1e0c89501aa95ff55e83ebfca511fdd1ead0ca
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 25 00:10:16 2021 +0000

    working on the options

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh |  2 ++
 appimage/ctdlvisor.c       | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647685</link><pubDate>Sun, 24 Jan 2021 12:31:10 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647685@Uncensored</guid><description><![CDATA[<html><body>

<p>I don't see that anyone ever responded to this. <br /><br />If the AppImage install is creating a self-signed cert at startup - if that cert is a 1024 bit key - it isn't going to work and modern browsers will reject it. You need at least a 2048 bit key - otherwise, you'll get this error when you try to connect via HTTPS.<br /><br />I'm not sure how one would fix that with the AppImage. <br /><br />I have had a bunch of things going on, and haven't had much opportunity to test at all. I'm going to try to spend some time today. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Jan 21 2021 12:52:11 EST</span> <span>from <a href="do_template?template=user_show?who=s3cr3to">s3cr3to</a> </span> <span class="message_subject">Subject: Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</span></div>
<div class="message_content"><tt>¿How can I test from a terminal and stop the AppImage?</tt><br /> <tt>After the following error I report, I can't stop the App using </tt><br /> <tt>Control-C. Maybe I should just kill the processes? So far I have only </tt><br /> <tt>restarted the VM during these errors.</tt><br /> <tt></tt><br /><tt>When I try https, it says</tt><br />
<blockquote><tt>This site can't provide a secure connection192.168.16.33 uses &gt; </tt></blockquote>
<tt>an unsupported protocol.</tt><br />
<blockquote><tt>ERR_SSL_VERSION_OR_CIPHER_MISMATCH</tt><br /> <tt>Unsupported protocol</tt><br /> <tt>The client and server don't support a common SSL protocol </tt></blockquote>
<tt>version or cipher suite.</tt><br /> <tt></tt><br /> <tt>*Some logs from webcit*</tt><br /> <tt></tt><br />
<blockquote><tt>webcit[436]: Generating a certificate signing request.</tt><br /> <tt>webcit[436]: Unable to read private key.</tt><br /> <tt>webcit[436]: Generating a self-signed certificate.</tt><br /> <tt>webcit[436]: crypto: cannot install certificate: No such file </tt></blockquote>
<tt>or directory</tt><br />
<blockquote><tt>...</tt><br /> <tt>webcit[436]: SSL_accept failed: no shared cipher</tt><br /> <tt>webcit[435]: GET / HTTP/1.1</tt><br /> <tt>webcit[435]: Can't connect [/usr/local/citadel/citadel.socket]: </tt><br /> <tt>Connection refused</tt><br /> <tt>webcit[435]: HTTP: 200 [0.000432] GET //landing?go=?failvisibly=1</tt><br /> <tt>webcit[436]: SSL_accept failed: no shared cipher</tt><br /> <tt></tt><br /> <tt></tt></blockquote>
<tt>I hope the email looks good, for some reason using Thunderbird I can't </tt><br /> <tt>compose emails with html, only in text and I don't know the syntax for </tt><br /> <tt>formatting.</tt><br /> </div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647627</link><pubDate>Sat, 23 Jan 2021 21:13:40 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-536-gfcc3e1f2f</title><guid isPermaLink="false">4647627@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fcc3e1f2fbb486769d536b4029c60e17ab1e43fe (commit)
      from  a21e4807aaeb75019e25e5b17cc304fe549691fd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fcc3e1f2fbb486769d536b4029c60e17ab1e43fe
commit fcc3e1f2fbb486769d536b4029c60e17ab1e43fe
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 23 21:13:54 2021 -0500

    ctdlvisor is now more sensible about how it stops its child processes.

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c | 48 +++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 39 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647624</link><pubDate>Sat, 23 Jan 2021 20:48:41 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-535-ga21e4807a</title><guid isPermaLink="false">4647624@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a21e4807aaeb75019e25e5b17cc304fe549691fd (commit)
      from  e9bd613e0d4569696c16108d61e16e5e2959af1b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a21e4807aaeb75019e25e5b17cc304fe549691fd
commit a21e4807aaeb75019e25e5b17cc304fe549691fd
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 24 01:48:33 2021 +0000

    troubleshooting the appimage

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647615</link><pubDate>Sat, 23 Jan 2021 20:00:31 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-534-ge9bd613e0</title><guid isPermaLink="false">4647615@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e9bd613e0d4569696c16108d61e16e5e2959af1b (commit)
      from  8e944083763c9ddcb32d763cf8f19c966d01f873 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e9bd613e0d4569696c16108d61e16e5e2959af1b
commit e9bd613e0d4569696c16108d61e16e5e2959af1b
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 23 20:00:30 2021 -0500

    cleanup

-----------------------------------------------------------------------

Summary of changes:
 citadel/sysdep.c | 23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647611</link><pubDate>Sat, 23 Jan 2021 19:55:49 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-533-g8e9440837</title><guid isPermaLink="false">4647611@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8e944083763c9ddcb32d763cf8f19c966d01f873 (commit)
      from  ab6b11ab4005e990fbb368b14c42630b7694c54f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8e944083763c9ddcb32d763cf8f19c966d01f873
commit 8e944083763c9ddcb32d763cf8f19c966d01f873
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 23 19:55:49 2021 -0500

    No more cleanup hooks.  The OS can reclaim memory better than we can.  We want to get to the database close as soon as possible.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citserver.c                       | 10 +---
 citadel/control.c                         |  8 +--
 citadel/database.c                        | 15 ++---
 citadel/modules/calendar/serv_calendar.c  |  8 +--
 citadel/modules/fulltext/ft_wordbreaker.c | 20 -------
 citadel/modules/fulltext/serv_fulltext.c  |  3 +-
 citadel/modules/imap/serv_imap.c          |  7 +--
 citadel/modules/inetcfg/serv_inetcfg.c    | 12 +---
 citadel/modules/network/serv_network.c    | 10 +---
 citadel/modules/nntp/serv_nntp.c          | 10 ----
 citadel/modules/smtp/serv_smtp.c          |  8 +--
 citadel/modules/xmpp/serv_xmpp.c          |  4 +-
 citadel/modules/xmpp/xmpp_queue.c         | 18 +-----
 citadel/serv_extensions.c                 | 93 +------------------------------
 citadel/serv_extensions.h                 |  7 ---
 citadel/sysdep.c                          |  2 -
 16 files changed, 20 insertions(+), 215 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647608</link><pubDate>Sat, 23 Jan 2021 19:55:05 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647608@Uncensored</guid><description><![CDATA[  
 AppImage development is teaching me something about the rest of the server:
we spend way too much time "cleaning up" when the server is exiting.  I am
now removing thousands of lines of "exit cleanup hook" code that doesn't really
need to be there.  Kudos to whoever wrote it, they had the intention of being
able to check for memory leaks by assuming that with proper cleanup there
would be zero memory allocated at exit time unless something was wrong.  But
I think the problem of people getting their databases corrupted because the
server process died before it could finish exiting is bigger. 
  
 I am changing some things around so that it properly closes the database
as soon as possible when it is detected that the server has to shut down 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647602</link><pubDate>Sat, 23 Jan 2021 19:18:03 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-532-gab6b11ab4</title><guid isPermaLink="false">4647602@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ab6b11ab4005e990fbb368b14c42630b7694c54f (commit)
      from  5584de4d18c11044d91a292d751fc83c642d3dc7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ab6b11ab4005e990fbb368b14c42630b7694c54f
commit ab6b11ab4005e990fbb368b14c42630b7694c54f
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 23 19:18:03 2021 -0500

    Eliminated all destructor hooks.  The operating system can clean this up for us better than we can.

-----------------------------------------------------------------------

Summary of changes:
 citadel/serv_extensions.c | 193 ----------------------------------------------
 citadel/serv_extensions.h |  11 ---
 citadel/sysdep.c          |  14 ----
 3 files changed, 218 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647595</link><pubDate>Sat, 23 Jan 2021 18:50:21 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-531-g5584de4d1</title><guid isPermaLink="false">4647595@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5584de4d18c11044d91a292d751fc83c642d3dc7 (commit)
      from  540b297c61acd828808872500bc7633577b04b29 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5584de4d18c11044d91a292d751fc83c642d3dc7
commit 5584de4d18c11044d91a292d751fc83c642d3dc7
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 23 23:50:10 2021 +0000

    More work on the appimage

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c | 83 ++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 68 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647575</link><pubDate>Sat, 23 Jan 2021 13:01:12 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-530-g540b297c6</title><guid isPermaLink="false">4647575@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  540b297c61acd828808872500bc7633577b04b29 (commit)
      from  2f8e2137a6b9cb436d9dd01c2cf28a8a772044c1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=540b297c61acd828808872500bc7633577b04b29
commit 540b297c61acd828808872500bc7633577b04b29
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 23 18:01:08 2021 +0000

    Removed an old debugging harness

-----------------------------------------------------------------------

Summary of changes:
 citadel/sysdep.c | 209 +------------------------------------------------------
 1 file changed, 1 insertion(+), 208 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647567</link><pubDate>Sat, 23 Jan 2021 11:40:41 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647567@Uncensored</guid><description><![CDATA[<html><body>

<p>No, keep using whatever you were using.  We want the AppImage to be tested on as many different systems as possible.  If everyone is using what I'm using, that misses the point.</p>
<p>I'm working on this today and I'm going to try to figure out why WebCit keeps going catatonic on us (insert your favorite senile human joke here).  After that I think we can start building the installation scripts.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647562</link><pubDate>Sat, 23 Jan 2021 11:29:26 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647562@Uncensored</guid><description><![CDATA[<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    On 1/22/21 8:59 AM, IGnatius T Foobar wrote:<br>
    <blockquote type="cite"
      cite="mid:600AF67C-0046EA1D@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">That's kind of odd.  Ctrl-C works for me on both x64 and ARM. 
  </pre>
    </blockquote>
    <p>At first, it did work. It seems that when the citadel process
      crashes only webcit is running and Ctrl-C stops working.<br>
    </p>
    <blockquote type="cite"
      cite="mid:600AF67C-0046EA1D@uncensored.citadel.org">
      <pre class="moz-quote-pre" wrap="">
 I'm concerned about the "buffer overflow detected" error.  That's a new one
for me.  What operating system are you trying it on? 
 
</pre>
    </blockquote>
    Is Debian 10
    <blockquote>
      <p>$ cat /etc/issue<br>
        Debian GNU/Linux 10 \n \l<br>
        <br>
        $ uname -a<br>
        Linux em2 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28)
        x86_64 GNU/Linux<br>
      </p>
    </blockquote>
    <p>But, if your recommendation is that I use Ubuntu, I can do that.</p>
    <p>A few weeks ago I asked what would be the best distribution to
      use Citadel; only warbaby answered me:</p>
    <blockquote>
      <p><i>"If you're using easyinstall none of it matters anyway.. all
          the sources are downloaded and compiled.  It's the way to go,
          especially if you want to be able to easily upgrade.<br>
        </i></p>
      <p> </p>
      <p><i>Debian 10 Buster here, for the record."</i></p>
    </blockquote>
    <p>Regards<br>
    </p>
    <p><br>
    </p>
  </body>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647559</link><pubDate>Sat, 23 Jan 2021 11:28:23 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-529-g2f8e2137a</title><guid isPermaLink="false">4647559@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2f8e2137a6b9cb436d9dd01c2cf28a8a772044c1 (commit)
      from  9911be8b93584d582dc3aaeb3e24a9b0cbb544c0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2f8e2137a6b9cb436d9dd01c2cf28a8a772044c1
commit 2f8e2137a6b9cb436d9dd01c2cf28a8a772044c1
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jan 23 11:28:35 2021 -0500

    Build citadel server and webcit in temp directories.  This allows the builder to enjoy a persistent /usr/local/citadel on the build host.

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh    | 38 ++++++++++++++++++++++++--------------
 citadel/internet_addressing.c |  4 ++--
 2 files changed, 26 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647453</link><pubDate>Fri, 22 Jan 2021 10:59:56 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647453@Uncensored</guid><description><![CDATA[That's kind of odd.  Ctrl-C works for me on both x64 and ARM. 
  
 I'm concerned about the "buffer overflow detected" error.  That's a new one
for me.  What operating system are you trying it on? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647275</link><pubDate>Thu, 21 Jan 2021 12:52:11 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647275@Uncensored</guid><description><![CDATA[
¿How can I test from a terminal and stop the AppImage?
After the following error I report, I can't stop the App using 
Control-C. Maybe I should just kill the processes? So far I have only 
restarted the VM during these errors.

 >       ps -eaf|grep cit
 >       root       435     1  0 10:27 pts/3    00:00:00 webcit -x9 
-h/tmp/.mount_CitadeOYce2V/usr/local/webcit -p80 uds /usr/local/citadel
 >       root       436     1  0 10:27 pts/3    00:00:00 webcit -x9 
-h/tmp/.mount_CitadeOYce2V/usr/local/webcit -s -p443 uds /usr/local/citadel


*Errors detected*

I tried to login from firefox/chrome. But I can't get it.

First with http. When I type my username and password, I press [enter] 
and it does nothing, it puts a message, similar to "you need to be 
logged in" and only shows the message "Please wait".

If I then use Chrome, when I enter the IP it shows:
 >       This program was unable to connect or stay connected to the 
Citadel server. Please report this problem to your system administrator.
 >       Read More...

This is the same if I refresh the page as with "please wait".

When I try https, it says
 >       This site can't provide a secure connection192.168.16.33 uses > 
       an unsupported protocol.
 >       ERR_SSL_VERSION_OR_CIPHER_MISMATCH
 >       Unsupported protocol
 >       The client and server don't support a common SSL protocol 
version or cipher suite.

*Some logs from webcit*

 >       webcit[436]: Generating a certificate signing request.
 >       webcit[436]: Unable to read private key.
 >       webcit[436]: Generating a self-signed certificate.
 >       webcit[436]: crypto: cannot install certificate: No such file 
or directory
 >       ...
 >       webcit[435]: Re-created session **********
 >       webcit[435]: POST /ajax_login_username_password HTTP/1.1
 >       citserver[434]: [(not logged in)(0)] USER ***
 >       citserver[434]: user_ops: cmd_user(***)
 >       citserver[434]: user_ops: CtdlLoginExistingUser(***)
 >       citserver[434]: [***(11)] <password command hidden from log>
 >       citserver[434]: user_ops: <***> logged in
 >       *** buffer overflow detected ***: citserver terminated
 >       pid=434 exited, status=6
 >       ctdlvisor: citserver exited normally - ending AppImage session
 >       webcit[435]: StrBuf_ServGetln(): Server connection broken: 
Resource temporarily unavailable
webcit[435]: HTTP: 200 [0.004834] POST /ajax_login_username_password
 >       webcit[435]: POST /ajax_login_username_password HTTP/1.1
 >       ...
 >       webcit[436]: SSL_accept failed: no shared cipher
 >       webcit[435]: GET / HTTP/1.1
 >       webcit[435]: Can't connect [/usr/local/citadel/citadel.socket]: 
 >       Connection refused
 >       webcit[435]: HTTP: 200 [0.000432] GET //landing?go=?failvisibly=1
 >       webcit[436]: SSL_accept failed: no shared cipher


I hope the email looks good, for some reason using Thunderbird I can't 
compose emails with html, only in text and I don't know the syntax for 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647265</link><pubDate>Thu, 21 Jan 2021 12:18:07 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647265@Uncensored</guid><description><![CDATA[


On 1/21/21 9:51 AM, IGnatius T Foobar wrote:
> Excellent. Happy to hear that it works.
> ...
>       * Then, I will only need to redirect the traffic according to this
>         VM (from my router/fortigate)
> 
> The answer is yes, that will work and it is done that way all the time, 
> but you're getting a little bit too far ahead right now.  Remember, the 
> current build is for *compatibility testing only* and is not 
> sufficiently tested for production use.  I am happy that it's working, 
> and I share your excitement about it, but please don't move your 
> production instance to it until it's released.
> 

:) I am just preparing the configuration of this VM for my internal 
testing; taking notes and leaving it ready for when you release the 
final version. For example, I still need to install clamav and spamassin 
and test it.

I want to set up a "real test domain" and try sending and receiving 
email, of course for this I need to get what I asked you earlier to 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647257</link><pubDate>Thu, 21 Jan 2021 11:58:36 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647257@Uncensored</guid><description><![CDATA[ > * Will it be possible to recover space from the DB by compressing  
 >what is deleted? (because I see that the DB is still +90GB)   
  
 In the version of Citadel you are running in the AppImage, you should now
be able to set the hidden "c_shrink_db_files" configuration option, which
will run a nightly compact operation on your database files. 
  
 In fact ... since you're running a test instance of Citadel on a test copy
of your database, now would be an excellent time to try it! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647254</link><pubDate>Thu, 21 Jan 2021 11:51:18 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647254@Uncensored</guid><description><![CDATA[<html><body>

<p>Excellent. Happy to hear that it works.</p>
<p> </p>
<blockquote>
<ul>
<li><span style="font-family: monospace;">For better performance, do I need to install </span><span style="font-family: monospace;"><span style="font-family: monospace;">a local DNS like </span>BIND?</span></li>
</ul>
</blockquote>
<p>That's up to you and not related to Citadel.  If you want a caching DNS on your local host, I would recommend dnsmasq over BIND, but again, Citadel doesn't care.</p>
<p> </p>
<blockquote>
<ul>
<li><span style="font-family: monospace;">If my current server and FDQN is example.mydomain.com; isn't it necessary to change the hostname of this new machine, called example2?</span></li>
</ul>
</blockquote>
<p>Citadel only looks at the operating system's hostname when you start it up on an empty database, and even then it only uses it to configure a default value for the FQDN.  If you change the hostname in Linux, Citadel does not know or care.  Uncensored is actually set to "prod.citadel.org" but you'll never see that.</p>
<p>What's more important is that the FQDN configured in Citadel matches what is in DNS, so that email delivery works.</p>
<p> </p>
<blockquote>
<ul>
<li><span style="font-family: monospace;">Then, I will only need to redirect the traffic according to this VM (from my router/fortigate)</span></li>
</ul>
</blockquote>
<p>The answer is yes, that will work and it is done that way all the time, but you're getting a little bit too far ahead right now.  Remember, the current build is for <strong>compatibility testing only</strong> and is not sufficiently tested for production use.  I am happy that it's working, and I share your excitement about it, but please don't move your production instance to it until it's released.</p>
<p>It is my expectation that this will quickly become the way most people run Citadel.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647183</link><pubDate>Wed, 20 Jan 2021 22:51:49 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647183@Uncensored</guid><description><![CDATA[<html><body>

<p>I forgot to ask this:</p>
<ul>
<li>Will it be possible to recover space from the DB by compressing what is deleted? (because I see that the DB is still +90GB)</li>
</ul>
<p>Kudos</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647180</link><pubDate>Wed, 20 Jan 2021 22:48:59 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647180@Uncensored</guid><description><![CDATA[<html><body>

<p><strong>**</strong><span style="text-decoration: underline;"> I have a few questions at the end, thanks for answering.</span></p>
<p>New backup, now (before running):</p>
<p><span style="font-family: monospace;"><span style="color: #000000; background-color: #ffffff;"># ls -la  /usr/local/citadel/ &amp;&amp; ls -la /usr/local/citadel/data/</span><br />total 56 <br />drwxr-xr-x  3 root root  4096 Jan 20 20:27 . <br />drwxr-xr-x 11 root root  4096 Jan 13 14:11 .. <br />-rw-------  1 root root  3256 Jan 20 20:05 citadel.config <br />-rw-------  1 root root    56 Jan 20 20:05 citadel.control <br />drwxrwxr-x  2 root root  4096 Jan 20 20:28 data <br />-rw-------  1 root root 36416 Jan 20 20:05 refcount_adjustments.dat <br />total 95197108<br />drwxrwxr-x 2 root root        4096 Jan 20 20:28 . <br />drwxr-xr-x 3 root root        4096 Jan 20 20:27 .. <br />-rw------- 1 root root   380469248 Jan 20 19:03 cdb.00 <br />-rw------- 1 root root       49152 Jan 20 19:03 cdb.01 <br />-rw------- 1 root root      688128 Jan 20 19:03 cdb.02 <br />-rw------- 1 root root       16384 Jan 20 19:03 cdb.03 <br />-rw------- 1 root root     3809280 Jan
<p><span style="font-family: monospace;">...</span></p>
<p><strong><span style="font-family: monospace;">Telner to 504 works!</span></strong></p>
<p><br /><span style="font-family: monospace;"><span style="font-family: monospace;"><strong><span style="color: #000000; background-color: #ffffff;">$ telnet 127.0.0.1 504 </span></strong><br />Trying 127.0.0.1... <br />Connected to 127.0.0.1. <br />Escape character is '^]'. <br />200 example.mydomain.com Citadel server ready.<br /></span></span></p>
<p><strong>(some logs)</strong> There is a mail stuck, the destination server is down for a couple of days (no problem here)<br /><span style="font-family: monospace;"><span style="font-family: monospace;"><span style="color: #000000; background-color: #ffffff;">citserver[8607]: msgbase: CtdlFetchMessage(2224683, 1) </span><br />citserver[8607]: smtpclient: 2224683 attempting delivery now <br />citserver[8607]: smtpclient: smtp_attempt_delivery(2224682, ***@***) <br />citserver[8607]: msgbase: CtdlOutputMsg(msgnum=2224682, mode=1, section=&lt;&gt;) <br />citserver[8607]: msgbase: CtdlFetchMessage(2224682, 1) <br />citserver[8607]: msgbase: CtdlOutputPreLoadedMsg(TheMessage=not null, 1, 0, 0, 1 <br />citserver[8607]: smtpclient: trying smtp://....<br />citserver[8607]: smtpclient: libcurl returned 56 (Failure when receiving data from the peer) , SMTP response 0 <br />citserver[8607]: smtpclient: trying ....<br />citserver[8607]: smtpclient: libcurl returned 0 (No error) , SMTP response 250 <br />citserver[860
<p><span style="font-family: monospace;"><span style="font-family: monospace;">- - -</span></span></p>
<p><span style="font-family: monospace;"><span style="font-family: monospace;">The copied configuration files have disappeared, I guess they have been migrated/updated.<br /></span></span></p>
<p><span style="font-family: monospace;"><span style="color: #000000; background-color: #ffffff;"># ls -la  /usr/local/citadel/ &amp;&amp; ls -la /usr/local/citadel/data/</span></span><br /><span style="font-family: monospace;"><span style="font-family: monospace;"><span style="font-family: monospace;"><span style="color: #000000; background-color: #ffffff;">total 20 </span><br />drwx------ 2 root root 4096 Jan 20 20:32 data <br />drwx------ 2 root root 4096 Jan 20 20:31 files <br />drwx------ 2 root root 4096 Jan 20 20:31 keys <br />drwx------ 2 root root 4096 Jan 20 20:31 messages <br />drwx------ 4 root root 4096 Jan 20 20:31 network <br />total 95188632 <br />-rw------- 1 root root   380469248 Jan 20 20:31 cdb.00 <br />-rw------- 1 root root      176128 Jan 20 20:31 cdb.01 <br />-rw------- 1 root root      688128 Jan 20 20:31 cdb.02 <br />-rw------- 1 root root       16384 Jan 20 20:31 cdb.03 <br />-rw------- 1 root root     3809280 Jan 20 20:31 cdb.04 <br />-rw------- 1 root root 
<p><span style="font-family: monospace;"><span style="font-family: monospace;"><span style="font-family: monospace;"><br /></span></span></span></p>
<p><span style="font-family: monospace;">- - -<br /></span></p>
<p><span style="font-family: monospace;">Some questions:</span></p>
<ul>
<li><span style="font-family: monospace;">For better performance, do I need to install </span><span style="font-family: monospace;"><span style="font-family: monospace;">a local DNS like </span>BIND?</span></li>
<li><span style="font-family: monospace;">If my current server and FDQN is example.mydomain.com; isn't it necessary to change the hostname of this new machine, called example2?</span></li>
<li><span style="font-family: monospace;">Then, I will only need to redirect the traffic according to this VM (from my router/fortigate)</span></li>
</ul>
<p><span style="font-family: monospace;"><br /></span></p>
<p><span style="font-family: monospace;"><span style="font-family: monospace;">Art, I am pleasantly impressed.</span> :)<br /></span></p>
<p><span style="font-family: monospace;">Regards!<br /></span></p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4647136</link><pubDate>Wed, 20 Jan 2021 15:56:52 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4647136@Uncensored</guid><description><![CDATA[ >Citadel Server found BOTH legacy and new configurations present.  
 >Exiting to prevent data corruption.  
  
 There's your problem.  If you ran Citadel server without citadel.config and
citadel.control present, it would have generated new configurations.  Now
it sees two conflicting configurations. 
  
 You need to start over with a fresh copy of your database, *and* the citadel.config
and citadel.control files in the correct place.  Those files will be deleted
after they get absorbed into the db. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646935</link><pubDate>Tue, 19 Jan 2021 17:35:50 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4646935@Uncensored</guid><description><![CDATA[
Now te application behaved differently, I still can't connect to port 
504; citserver is the process that listens on that port, right?

Maybe I should(?) delete all the files and copy a new backup.



citserver[5657]: libcitadel(unnumbered)
citserver[5657]: main: creating lockfile
citserver[5657]: extensions: registered server command STLS (Start 
SSL/TLS session)
citserver[5657]: extensions: registered server command GTLS (Get SSL/TLS 
session status)
citserver[5657]: extensions: registered a new session function (type 0 
Priority 30010)
citserver[5657]: master_startup() started
citserver[5657]: Checking directory access
citserver[5657]: Opening databases
citserver[5657]: db: open_databases() starting
citserver[5657]: db: Compiled libdb: Berkeley DB 6.0.19: (May 31, 2013)
citserver[5657]: db:   Linked libdb: Berkeley DB 6.0.19: (May 31, 2013)
citserver[5657]: db:    Linked zlib: 1.2.8
citserver[5657]: db: Setting up DB environment
citserver[5657]: db: dbenv->open(dbenv, /usr/local/citadel/data/, 75553, 0)
citserver[5657]: db: BDB2526 Finding last valid log LSN: file: 153472 
offset 6183680
citserver[5657]: db: mounting databases
citserver[5657]: Initializing configuration system
Citadel Server found BOTH legacy and new configurations present.
Exiting to prevent data corruption.
^Cwebcit[5597]: WebCit is being shut down on signal 2.


And after another run, I try to capture the info using "screen", here is 
some edited lines:

Executing /tmp/.mount_Citadealljc4/usr/local/citadel/citserver
LD_LIBRARY_PATH = /tmp/.mount_Citadealljc4/usr/lib
PATH = /tmp/.mount_Citadealljc4/usr/bin
APPDIR = /tmp/.mount_Citadealljc4
waiting...
Executing /tmp/.mount_Citadealljc4/usr/local/webcit/webcit
Executing /tmp/.mount_Citadealljc4/usr/local/webcit/webcit
webcit[5682]: Changing directory to 
/tmp/.mount_Citadealljc4/usr/local/webcit/usr/local/webcit/
webcit[5681]: Changing directory to 
/tmp/.mount_Citadealljc4/usr/local/webcit/usr/local/webcit/
webcit[5682]: WebCit 927
webcit[5682]: Copyright (C) 1996-2020 by the citadel.org team
webcit[5682]:
webcit[5682]: This program is open source software: you can redistribute 
it and/or
webcit[5682]: modify it under the terms of the GNU General Public 
License, version 3.
webcit[5682]:
webcit[5682]: This program is distributed in the hope that it will be 
useful,
webcit[5682]: but WITHOUT ANY WARRANTY; without even the implied warranty of
webcit[5682]: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
webcit[5682]: GNU General Public License for more details.
webcit[5682]:
webcit[5682]: Found locale: C - en_US
webcit[5682]: locale for ar_AE.UTF8 disabled: No such file or directory
webcit[5682]: locale for bg_BG.UTF8 disabled: No such file or directory
webcit[5682]: locale for cs_CZ.UTF8 disabled: No such file or directory
webcit[5682]: Found locale: en_US.UTF8 - en_US
...
webcit[5682]: Text domain: webcit
webcit[5682]: Text domain Charset: UTF8
webcit[5682]: Message catalog directory: /usr/local/webcit/locale
webcit[5681]: WebCit 927
webcit[5681]: Copyright (C) 1996-2020 by the citadel.org team
webcit[5681]:
...
webcit[5681]: Text domain: webcit
webcit[5681]: Text domain Charset: UTF8
webcit[5681]: Message catalog directory: /usr/local/webcit/locale
citserver[5680]:
citserver[5680]:
citserver[5680]: *** Citadel server engine ***
citserver[5680]: Version 930 (build 37cdd99) ***
citserver[5680]: Copyright (C) 1987-2021 by the Citadel development team.
...
citserver[5680]:
citserver[5680]: libcitadel(unnumbered)
citserver[5680]: main: creating lockfile
citserver[5680]: extensions: registered server command STLS (Start 
SSL/TLS session)
citserver[5680]: extensions: registered server command GTLS (Get SSL/TLS 
session status)
citserver[5680]: extensions: registered a new session function (type 0 
Priority 30010)
citserver[5680]: master_startup() started
citserver[5680]: Checking directory access
citserver[5680]: Opening databases
citserver[5680]: db: open_databases() starting
citserver[5680]: db: Compiled libdb: Berkeley DB 6.0.19: (May 31, 2013)
citserver[5680]: db:   Linked libdb: Berkeley DB 6.0.19: (May 31, 2013)
citserver[5680]: db:    Linked zlib: 1.2.8
citserver[5680]: db: Setting up DB environment
citserver[5680]: db: dbenv->open(dbenv, /usr/local/citadel/data/, 75553, 0)
...
citserver[5680]: db: BDB2526 Finding last valid log LSN: file: 153472 
offset 6183680
webcit[5682]: Parseerror [_]  (in './static/t/wiki/empty.html' line 5); 
Warning, Non welformed Token; missing right parenthesis; [_("There is no 
page called '"]
webcit[5681]: Parseerror [_]  (in './static/t/wiki/empty.html' line 5); 
Warning, Non welformed Token; missing right parenthesis; [_("There is no 
page called '"]
webcit[5682]: Define [VC:.adr.address]  (in 
'./static/t/vcard/msg_display.html' line 32); VC:.adr.address isn't 
known!!; [!("VC:HAVE:TYPE", 30, #"VC:.adr.address")]
webcit[5681]: Define [VC:.adr.address]  (in 
'./static/t/vcard/msg_display.html' line 32); VC:.adr.address isn't 
known!!; [!("VC:HAVE:TYPE", 30, #"VC:.adr.address")]
webcit[5682]: Parseerror [_]  (in './static/t/user/edit_bio.html' line 
11); Warning, Non welformed Token; missing right parenthesis; [_("Enter 
your bio below."]
webcit[5681]: Parseerror [_]  (in './static/t/user/edit_bio.html' line 
11); Warning, Non welformed Token; missing right parenthesis; [_("Enter 
your bio below."]
citserver[5680]: db: mounting databases
citserver[5680]: Initializing configuration system
Citadel Server found BOTH legacy and new configurations present.
Exiting to prevent data corruption.
pid=5680 exited, status=25856
Executing /tmp/.mount_Citadealljc4/usr/local/citadel/citserver
webcit[5681]: Attempting to bind to port 80...
webcit[5682]: Attempting to bind to port 443...
webcit[5681]: Listening on socket 7
webcit[5682]: Listening on socket 7
webcit[5682]: Requesting cipher list: DEFAULT
webcit[5682]: crypto: generating RSA key pair
citserver[5683]:
citserver[5683]:
citserver[5683]: *** Citadel server engine ***
citserver[5683]: Version 930 (build 37cdd99) ***




On 1/19/21 3:14 PM, IGnatius T Foobar wrote:
> Definitely move citadel.config, citadel.control, and 
> refcount_adjustments.dat down into /usr/local/citadel/ (not in data/).  
>    We want the database directory to contain only the database.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646927</link><pubDate>Tue, 19 Jan 2021 17:14:56 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4646927@Uncensored</guid><description><![CDATA[<html><body>

<p>Definitely move citadel.config, citadel.control, and refcount_adjustments.dat down into /usr/local/citadel/ (not in data/).    We want the database directory to contain only the database.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646918</link><pubDate>Tue, 19 Jan 2021 16:59:15 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4646918@Uncensored</guid><description><![CDATA[
Thank you!

Both files exists in the same path as the database and copied on the new 
server. This system is used only for email.

# ls /var/lib/citadel/data/ -lh
total 91G
-rw------- 1 citadel citadel 363M Jan 19 14:46 cdb.00
-rw------- 1 citadel citadel  48K Jan 19 14:48 cdb.01
-rw------- 1 citadel citadel 672K Jan 19 14:48 cdb.02
-rw------- 1 citadel citadel  16K Jan 19 09:38 cdb.03
-rw------- 1 citadel citadel 3.7M Jan 19 14:46 cdb.04
-rw------- 1 citadel citadel 504K Jan 19 14:48 cdb.05
-rw------- 1 citadel citadel  28K Jan 14 11:02 cdb.06
-rw------- 1 citadel citadel  58M Apr  5  2017 cdb.07
-rw------- 1 citadel citadel  91G Jan 19 14:46 cdb.08
-rw------- 1 citadel citadel 8.0K Jan 17  2012 cdb.09
-rw------- 1 citadel citadel 3.4M Jan 19 13:21 cdb.0a
-rw------- 1 citadel citadel  16K Jan 19 04:00 cdb.0b
-rw------- 1 citadel citadel 8.0K Jan 17  2012 cdb.0c
-rw------- 1 citadel citadel 3.2K Jan 18 20:37 citadel.config
-rw------- 1 citadel citadel   56 Jan 19 14:46 citadel.control
-rw------- 1 citadel citadel   71 May 17  2018 DB_CONFIG
-rw-rw---- 1 citadel citadel  10M Jan 19 14:48 log.0000153509
-rw------- 1 citadel citadel  78K Jan 19 14:46 refcount_adjustments.dat


On 1/19/21 2:15 PM, IGnatius T Foobar wrote:
>    
>   At the VERY least, you're going to need to find citadel.config and citadel.control
> files, and copy them to /usr/local/citadel/ along with your database in /usr/local/citadel/data/
> 
>    
>   https://www.citadel.org/file_layout.html might give some hints as to where
> to find the rest of the files, but the above two are the only ones you definitely
> need.   Among others are:
>    
>   netconfigs/   - mailing lists, RSS feeds, etc.
>   files/        - upload/download libraries
>   keys/         - SSL keys and certificates
>   bio/          - user profiles (not the accounts themselves)
>   images/       - room banner images
>   roominfo/     - room banner text
>   userpics/     - user profile photos
>    
>   So if you're just using Citadel for email then you can probably get away
> with just citadel.config and citadel.control along with the database.
>    
>   And yes, I have in the past been able to use "imapsync" and/or "imapcopy"
> tools to migrate organizations from some other email system to Citadel, so
> there's no reason it wouldn't work for migrating Citadel to Citadel.
>   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646894</link><pubDate>Tue, 19 Jan 2021 16:15:54 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4646894@Uncensored</guid><description><![CDATA[  
 At the VERY least, you're going to need to find citadel.config and citadel.control
files, and copy them to /usr/local/citadel/ along with your database in /usr/local/citadel/data/

  
 https://www.citadel.org/file_layout.html might give some hints as to where
to find the rest of the files, but the above two are the only ones you definitely
need.   Among others are: 
  
 netconfigs/   - mailing lists, RSS feeds, etc. 
 files/        - upload/download libraries 
 keys/         - SSL keys and certificates 
 bio/          - user profiles (not the accounts themselves) 
 images/       - room banner images 
 roominfo/     - room banner text 
 userpics/     - user profile photos 
  
 So if you're just using Citadel for email then you can probably get away
with just citadel.config and citadel.control along with the database. 
  
 And yes, I have in the past been able to use "imapsync" and/or "imapcopy"
tools to migrate organizations from some other email system to Citadel, so
there's no reason it wouldn't work for migrating Citadel to Citadel. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646888</link><pubDate>Tue, 19 Jan 2021 15:38:07 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4646888@Uncensored</guid><description><![CDATA[
One question:

What things will be lost if we manage to migrate the DB? Just to be 
prepared.


In the meantime, I am investigating if I can use this tool: 
https://github.com/imapsync/imapsync
to migrate all the emails (after recreating the accounts) from the old 
to the new server

"imapsync - Email IMAP tool for syncing, copying, migrating and 
archiving email mailboxes between two imap servers, one way, and without 
duplicates."


On 1/19/21 11:20 AM, IGnatius T Foobar wrote:
> 
>     And I can't connect to webcit:
>     This program was unable to connect or stay connected to the Citadel
>     server. Please report this problem to your system administrator.
> 
> 
>     I wonder if it won't work for me to copy the DBs from my current
>     version: Citadel 8.17 with WebCit 8.17, server build 8.17? (instaled on
>     debian from .deb files)
> 
> The copy of your database /should/ upgrade in-place, as long as you're 
> running it on the same CPU type (64-bit x86) as the source system.   We 
> might be looking at a problem with converting from LHFS to Consolidated 
> file layouts?  There are definitely going to be things missing if you're 
> running 8.17 and only copied the database ... but it should at least start.
> 
> What happens when you try to connect to port 504 while the appimage is 
> running?
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646885</link><pubDate>Tue, 19 Jan 2021 15:29:08 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4646885@Uncensored</guid><description><![CDATA[
It doesn't connect, I tried it locally:

telnet 127.0.0.1 504
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

And from my PC
telnet 192.168.16.33 504
Trying 192.168.16.33...
telnet: Unable to connect to remote host: Connection refused


# ps -eaf|grep cit
root      5039  5033  0 13:22 pts/1    00:00:00 webcit -x9 
-h/tmp/.mount_Citade4HeMih/usr/local/webcit -p80 uds /usr/local/citadel
root      5040  5033  0 13:22 pts/1    00:00:00 webcit -x9 
-h/tmp/.mount_Citade4HeMih/usr/local/webcit -s -p443 uds /usr/local/citadel
root      5344  5033  3 13:27 pts/1    00:00:00 [citserver] <defunct>
...
root      5408  5033  2 13:28 pts/1    00:00:00 [citserver] <defunct>
...
root      5432  5033  3 13:28 pts/1    00:00:00 [citserver] <defunct>



On 1/19/21 11:20 AM, IGnatius T Foobar wrote:
> 
>     And I can't connect to webcit:
>     This program was unable to connect or stay connected to the Citadel
>     server. Please report this problem to your system administrator.
> 
> 
>     I wonder if it won't work for me to copy the DBs from my current
>     version: Citadel 8.17 with WebCit 8.17, server build 8.17? (instaled on
>     debian from .deb files)
> 
> The copy of your database /should/ upgrade in-place, as long as you're 
> running it on the same CPU type (64-bit x86) as the source system.   We 
> might be looking at a problem with converting from LHFS to Consolidated 
> file layouts?  There are definitely going to be things missing if you're 
> running 8.17 and only copied the database ... but it should at least start.
> 
> What happens when you try to connect to port 504 while the appimage is 
> running?
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646869</link><pubDate>Tue, 19 Jan 2021 13:20:52 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4646869@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content"><br /> <tt>And I can't connect to webcit:</tt><br /> <tt>This program was unable to connect or stay connected to the Citadel </tt><br /> <tt>server. Please report this problem to your system administrator.</tt><br /> <tt></tt><br /> <tt></tt><br /> <tt>I wonder if it won't work for me to copy the DBs from my current </tt><br /> <tt>version: Citadel 8.17 with WebCit 8.17, server build 8.17? (instaled on </tt><br /> <tt>debian from .deb files)</tt><br />
<div class="display_inline_attachment"><br />
<div id="ATTCH_ID_" class="display_inline_attachment_body" style="display: none;"> </div>
</div>
</div>
</blockquote>
<p>The copy of your database <em>should</em> upgrade in-place, as long as you're running it on the same CPU type (64-bit x86) as the source system.   We might be looking at a problem with converting from LHFS to Consolidated file layouts?  There are definitely going to be things missing if you're running 8.17 and only copied the database ... but it should at least start.</p>
<p>What happens when you try to connect to port 504 while the appimage is running?</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646836</link><pubDate>Tue, 19 Jan 2021 10:52:15 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4646836@Uncensored</guid><description><![CDATA[Good day, using the new version provided.

Last night, I stopped my server in production and copied the files from 
the DB. I copied them to: /usr/local/citadel/data/ (in the new VM)

When I run the appImage, I start to receive the information attached to 
the file.

After the message, it seems to start the process again:
$ ps -eaf|grep cit
root      3585  3573  0 08:37 pts/0    00:00:00 webcit -x9 
-h/tmp/.mount_CitadePDZC2D/usr/local/webcit -p80 uds /usr/local/citadel
root      3586  3573  0 08:37 pts/0    00:00:00 webcit -x9 
-h/tmp/.mount_CitadePDZC2D/usr/local/webcit -s -p443 uds /usr/local/citadel
root      4004  3573  1 08:43 pts/0    00:00:00 [citserver] <defunct>

$ ps -eaf|grep cit
root      3585  3573  0 08:37 pts/0    00:00:00 webcit -x9 
-h/tmp/.mount_CitadePDZC2D/usr/local/webcit -p80 uds /usr/local/citadel
root      3586  3573  0 08:37 pts/0    00:00:00 webcit -x9 
-h/tmp/.mount_CitadePDZC2D/usr/local/webcit -s -p443 uds /usr/local/citadel
root      4133  3573  0 08:45 pts/0    00:00:00 [citserver] <defunct>

And I can't connect to webcit:
  This program was unable to connect or stay connected to the Citadel 
server. Please report this problem to your system administrator.


I wonder if it won't work for me to copy the DBs from my current 
version: Citadel 8.17 with WebCit 8.17, server build 8.17? (instaled on 
debian from .deb files)

Regards


On 1/14/21 10:46 AM, IGnatius T Foobar wrote:
>     I get this message when I try to get in: http://192.168.16.33/
>     <http://192.168.16.33/>
> 
>     didn't find Template [login] 5 5
> 
> Great.  Don't worry about webcit barfing on the template yet.  I am 
> getting that too, and am in the process of fixing it.
> 
> For the time being, I am satisfied to know that the AppImage is 
> binary-compatible with your platform and does not barf on missing or 
> wrong libraries.
> 
> A new version is coming soon.  Thanks for testing.
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646773</link><pubDate>Tue, 19 Jan 2021 00:48:34 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-528-g9911be8b9</title><guid isPermaLink="false">4646773@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9911be8b93584d582dc3aaeb3e24a9b0cbb544c0 (commit)
      from  37cdd9932e7854c7bde2b83a0b4f5f6aad105306 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9911be8b93584d582dc3aaeb3e24a9b0cbb544c0
commit 9911be8b93584d582dc3aaeb3e24a9b0cbb544c0
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 19 05:48:29 2021 +0000

    More fine tuning of the AppImage

-----------------------------------------------------------------------

Summary of changes:
 appimage/build_appimage.sh     |  8 ++--
 appimage/citadel.AppDir/AppRun |  2 +-
 appimage/ctdlvisor.c           | 89 +++++++++++++++++++++++++++++++-----------
 3 files changed, 70 insertions(+), 29 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646763</link><pubDate>Tue, 19 Jan 2021 00:04:22 +0500</pubDate><title>Message #4646763</title><guid isPermaLink="false">4646763@Uncensored</guid><description><![CDATA[<html><body>

<p>I don't know much about such things. :) <br /><br />I thought maybe there was some backdoor way. </p>
<blockquote>
<div class="message_header"><span>Mon Jan 18 2021 23:37:05 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Unfortunately a Mac port has been elusive, but we're gradually working it out. We have at least one person who has been interested in following the progress on that. It should be clear, however, that AppImage doesn't run on Mac ... only Linux. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646757</link><pubDate>Mon, 18 Jan 2021 23:37:05 +0500</pubDate><title>Message #4646757</title><guid isPermaLink="false">4646757@Uncensored</guid><description><![CDATA[Unfortunately a Mac port has been elusive, but we're gradually working it
out.  We have at least one person who has been interested in following the
progress on that.  It should be clear, however, that AppImage doesn't run
on Mac ... only Linux. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646688</link><pubDate>Mon, 18 Jan 2021 15:23:01 +0500</pubDate><title>Message #4646688</title><guid isPermaLink="false">4646688@Uncensored</guid><description><![CDATA[<html><body>

<p>Is it compiled for Mac? I can test there too. <br /><br />There is a Linux part on MiSTer FPGA. :) <br /><br />If you want *weird* - the Intel core on MiSTer FPGA could run Linux - but it is a 486sx at 100mhz that runs more like a 386. :) </p>
<p><br /><br /><br /></p>
<blockquote>
<div class="message_header"><span>Mon Jan 18 2021 14:53:47 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<p> </p>
<p>We probably need some extra diagnostics and stuff.  Again, however, right now I'm looking for people to just test that it works on various systems ... the weirder the better.</p>
<br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646678</link><pubDate>Mon, 18 Jan 2021 14:53:47 +0500</pubDate><title>Message #4646678</title><guid isPermaLink="false">4646678@Uncensored</guid><description><![CDATA[<html><body>

<p>The final package will probably have syntax something like this...</p>
<p>citadel.AppImage run [-h <em>dir</em>] [-p <em>port</em>] [-s <em>port</em>]<br />-h : Operate with data directory <em>dir<br />-</em>p : Run the HTTP server on port <em>port<br />-</em>s : Run the HTTPS server on port <em>port</em></p>
<p>citadel.AppImage stop<br />(stops a running instance of the Citadel system)</p>
<p>citadel.AppImage install [-h <em>dir</em>]<br />(installs systemd unit files for automatic startup/shutdown)</p>
<p>citadel.AppImage configure</p>
<p>We probably need some extra diagnostics and stuff.  Again, however, right now I'm looking for people to just test that it works on various systems ... the weirder the better.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646485</link><pubDate>Sun, 17 Jan 2021 19:02:09 +0500</pubDate><title>Message #4646485</title><guid isPermaLink="false">4646485@Uncensored</guid><description><![CDATA[<html><body>

<p>Oh, if it works - we're going to see a lot more people using Citadel - because it was dead-easy - I was just overthinking it. <br /><br />I think it will reduce the questions and issues, too. It is pretty spiffy. I spent today moving my Cit to the default HTTPS port. I'm still getting some errors, but everything seems to be settling and running faster than on the non-standard fault. But I haven't had a lot of time to play with the AppImage today. Who knows, my calendar may be opening up, this week, though. ;) </p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Jan 17 2021 17:53:34 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Of course. No hurry. While the lot of you are testing for compatibility, I will be writing all of the installation and maintenance scripts around it. <br />My hope is that this will work so well that it becomes the primary way people install and run Citadel. "Even Easier Install" or something like that. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646474</link><pubDate>Sun, 17 Jan 2021 17:53:34 +0500</pubDate><title>Message #4646474</title><guid isPermaLink="false">4646474@Uncensored</guid><description><![CDATA[Of course.  No hurry.  While the lot of you are testing for compatibility,
I will be writing all of the installation and maintenance scripts around it.
 My hope is that this will work so well that it becomes the primary way people
install and run Citadel.  "Even Easier Install" or something like that. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646407</link><pubDate>Sun, 17 Jan 2021 12:32:12 +0500</pubDate><title>Message #4646407</title><guid isPermaLink="false">4646407@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok. I wasn't sure. In that case - I did not notice any issues. I'll run it again and put it through some more complex testing - creating accounts, rooms - inserting images and doing attachments. I've got an ARM copy of my real DB around here somewhere, so I'll take a wack at getting it to install with my production DB in place too. <br /><br />That may take some time. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Jan 17 2021 00:53:31 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">What you experienced is exactly what it is supposed to do at this stage, no more, no less. There is not yet an option to "install" it, nor is there an option to go with anything other than the default configuration and location. <br />When you run the appimage, the entire system starts up; when you ctrl-c out of it, the entire system shuts down. <br /><br />We will build all of that dressing before it's released to the general public. <br />Right now I just want to get some people testing it, making sure it's compatible with their systems and working as expected. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646305</link><pubDate>Sun, 17 Jan 2021 00:53:31 +0500</pubDate><title>Message #4646305</title><guid isPermaLink="false">4646305@Uncensored</guid><description><![CDATA[What you experienced is exactly what it is supposed to do at this stage, no
more, no less.  There is not yet an option to "install" it, nor is there an
option to go with anything other than the default configuration and location.
 When you run the appimage, the entire system starts up; when you ctrl-c out
of it, the entire system shuts down. 
  
 We will build all of that dressing before it's released to the general public.
 Right now I just want to get some people testing it, making sure it's compatible
with their systems and working as expected. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646240</link><pubDate>Sat, 16 Jan 2021 18:10:50 +0500</pubDate><title>Message #4646240</title><guid isPermaLink="false">4646240@Uncensored</guid><description><![CDATA[<html><body>

<p>So, to launch Citadel, I need to execute sudo ./Citadel-armhf.AppImage every time I reboot or shut it down with a CTRL-C. Is that by design, or did something go wrong with the install? </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646234</link><pubDate>Sat, 16 Jan 2021 18:03:31 +0500</pubDate><title>Message #4646234</title><guid isPermaLink="false">4646234@Uncensored</guid><description><![CDATA[<html><body>

<p>That worked like a breeze. <br /><br />When I ran the AppImage, once it was done, it didn't go back to a prompt. It wasn't clear that it had finished installing and executing. As soon as I connected to 127.0.0.1, it came right up in Chromium, and I saw that an update from citserver in the terminal window. I never got any configuration input. It just ran the script and brought the Citadel up... so, no option to select ports or create the initial admin. <br /><br />I'm not sure if I'm describing it clearly. It wasn't apparent to me that the script had finished and it was returning logging to me in the terminal session. </p>
<p> </p>
<p>If I hit ctrl-C in the terminal window, it reloads, too... </p>
<p>Another Ctrl-C and it seemed like it was shutting down, and now when I try to open the browser, the service can't be reached. </p>
<p>Is that expected behavior now? Do you run AppImage in a terminal every time to bring it up? Going to try to reboot the Pi right now to see if it autolaunches after install. <br /><br /><br /><br /></p>
<blockquote>
<div class="message_header"><span>Sat Jan 16 2021 00:06:44 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />All righty then! It's time for round 2 of testing the Citadel appimage. <br /><br />64-bit x86: https://easyinstall.citadel.org/Citadel-x86_64.AppImage <br />32-bit ARM: https://easyinstall.citadel.org/Citadel-armhf.AppImage <br /><br />(A note on the ARM build: the Raspberry Pi OS is 32-bit, even on 64-bit hardware. <br />If anyone is running 64-bit Ubuntu, go ahead and try it, let me know how it works.) <br /><br />Once again, the installation process is as follows: <br /><br />1. Download the x86-64 or ARM image <br />2. mkdir /usr/local/citadel <br />(or make a copy of your existing database, if it's on the same CPU type as your test machine) <br />3. Make the appimage executable, and run it. <br /><br />WebCit ought to be working properly this time, HTTP on port 80 and HTTPS on port 443. All of the other services will come up on their default ports., and as always, you can change or disable them at runtime. <br /><br />Once we go through a few rounds of testing, I will b
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4646042</link><pubDate>Sat, 16 Jan 2021 00:06:44 +0500</pubDate><title>Message #4646042</title><guid isPermaLink="false">4646042@Uncensored</guid><description><![CDATA[  
 All righty then!   It's time for round 2 of testing the Citadel appimage.

  
 64-bit x86:   https://easyinstall.citadel.org/Citadel-x86_64.AppImage 
 32-bit ARM:   https://easyinstall.citadel.org/Citadel-armhf.AppImage 
  
 (A note on the ARM build: the Raspberry Pi OS is 32-bit, even on 64-bit hardware.
 If anyone is running 64-bit Ubuntu, go ahead and try it, let me know how
it works.) 
  
 Once again, the installation process is as follows: 
  
 1. Download the x86-64 or ARM image 
 2. mkdir /usr/local/citadel 
    (or make a copy of your existing database, if it's on the same CPU type
as your test machine) 
 3. Make the appimage executable, and run it. 
  
 WebCit ought to be working properly this time, HTTP on port 80 and HTTPS
on port 443.  All of the other services will come up on their default ports.,
and as always, you can change or disable them at runtime. 
  
 Once we go through
a few rounds of testing, I will be adding all the typical bells and whistles,
such as setup and diagnostic tools, the ability to run with any data directory,
etc.   Looking forward to hearing your test results. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4645744</link><pubDate>Thu, 14 Jan 2021 19:09:57 +0500</pubDate><title>Message #4645744</title><guid isPermaLink="false">4645744@Uncensored</guid><description><![CDATA[<html><body>

<p>I'm excited to have something to do with the Pi400. <br /><br />It will be ironic if the Pi 400 turns out to be as suitable as the Intel i5 for hosting my Citadel. They're cheap. </p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Jan 14 2021 19:05:55 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Yeah. Hang tight, I've already figured out the webcit problem in the current build, and I just need to make sure I didn't break Easy Install or manual builds with it. I probably broke the Debian build, but as explained in a previous post I can't commit to supporting that style of installation anymore. <br /><br />A new AppImage build will be forthcoming in the next couple of days, and this time an ARM version will be included. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4645739</link><pubDate>Thu, 14 Jan 2021 19:05:55 +0500</pubDate><title>Message #4645739</title><guid isPermaLink="false">4645739@Uncensored</guid><description><![CDATA[Yeah.  Hang tight, I've already figured out the webcit problem in the current
build, and I just need to make sure I didn't break Easy Install or manual
builds with it.  I probably broke the Debian build, but as explained in a
previous post I can't commit to supporting that style of installation anymore.

  
 A new AppImage build will be forthcoming in the next couple of days, and
this time an ARM version will be included. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4645730</link><pubDate>Thu, 14 Jan 2021 18:49:00 +0500</pubDate><title>Message #4645730</title><guid isPermaLink="false">4645730@Uncensored</guid><description><![CDATA[<html><body>

<p>Ah, the ARM version isn't available yet. Ok. Well, I'll try to get to testing the Intel version this weekend. </p>
<blockquote>
<div class="message_header"><span>Thu Jan 14 2021 17:56:36 EST</span> <span>from <a href="do_template?template=user_show?who=ParanoidDelusions">ParanoidDelusions</a> </span></div>
<div class="message_content">
<p>Oh. I got a 128gb SD for the Pi400... so I'll try installing there too </p>
</div>
</blockquote>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4645721</link><pubDate>Thu, 14 Jan 2021 17:56:36 +0500</pubDate><title>Message #4645721</title><guid isPermaLink="false">4645721@Uncensored</guid><description><![CDATA[<html><body>

<p>Oh. I got a 128gb SD for the Pi400... so I'll try installing there too - as Pi users are really the sweet spot for the Appimage install.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Jan 14 2021 17:46:50 EST</span> <span>from <a href="do_template?template=user_show?who=ParanoidDelusions">ParanoidDelusions</a> </span></div>
<div class="message_content">
<p>I've got another 240gb SSD...</p>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4645711</link><pubDate>Thu, 14 Jan 2021 17:46:50 +0500</pubDate><title>Message #4645711</title><guid isPermaLink="false">4645711@Uncensored</guid><description><![CDATA[<html><body>

<p>I've got another 240gb SSD, so I'm going to image the production this weekend, and will be able to do testing on the AppImage next week. <br /><br />I may have quit today... so I might have a lot of time, and little money. :)</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4645650</link><pubDate>Thu, 14 Jan 2021 12:46:23 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4645650@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content"><tt>I get this message when I try to get in: <a href="http://192.168.16.33/" target="webcit01">http://192.168.16.33/</a></tt><br /> <tt></tt><br /> <tt>didn't find Template [login] 5 5</tt></div>
</blockquote>
<p>Great.  Don't worry about webcit barfing on the template yet.  I am getting that too, and am in the process of fixing it.</p>
<p>For the time being, I am satisfied to know that the AppImage is binary-compatible with your platform and does not barf on missing or wrong libraries.</p>
<p>A new version is coming soon.  Thanks for testing.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4645485</link><pubDate>Wed, 13 Jan 2021 17:32:15 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4645485@Uncensored</guid><description><![CDATA[
Using a Proxmox VM:
  Debian GNU/Linux 10
  Linux vm2 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 
GNU/Linux

This VM has Internet access from the local network, the gateway is a 
fortigate.

Installed as root from the local user's folder:
  root@vm2:/home/user1#

  wget https://easyinstall.citadel.org/Citadel-x86_64.AppImage
  mkdir /usr/local/citadel
  chmod +x Citadel-x86_64.AppImage
  ./Citadel-x86_64.AppImage &


I get this message when I try to get in: http://192.168.16.33/

  didn't find Template [login] 5 5


A few questions:
1. Is it correct how I started the program? As soon as I do this the 
terminal starts filling up with messages from time to time.
2. If I copy the DB of a system in production into this new VM, will the 
Citadel app work?

Regards


On 1/7/21 12:57 PM, IGnatius T Foobar wrote:
>   
>    
>   The new AppImage for Citadel is functionally complete.   WE NEED TESTERS!
> 
>    
>   Obviously, don't try this on a production system.  I would like as many people
> as possible to test this image, to see if the promise of a universal single-file
> binary distribution has been met.  Right now it only runs on 64-bit Intel/AMD.
>    Please try any version of any distribution that has been released in, say,
> the last five years or so.
>    
>   Here's how to do it:
>    
>   1. Download https://easyinstall.citadel.org/Citadel-x86_64.AppImage and make
> it executable
>   2. mkdir /usr/local/citadel
>   3. Run the binary
>   4. Connect to your server with HTTP or HTTPS and login as "admin" with password
> "citadel"
>    
>   Let me know how it works, or if it doesn't work, and what Linux distribution
> and version you used.
>    
>   Again, this is *functionally* complete; it is not ready for distribution.
>   I just want to make sure
> it generally works.  It still needs things like key management, systemd integration,
> and maybe building in some of the external tools like ctdlmigrate, database_cleanup,
> etc.
>    
>   My goal is for this to replace Easy Install for the majority of entry-level
> Citadel operators.  Amazingly, the whole thing weighs in at only 9.4 MB.
> And as I mentioned earler, there will be an ARM version too, for all those
> Pi users.
>   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4645449</link><pubDate>Wed, 13 Jan 2021 14:41:40 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-527-g37cdd9932</title><guid isPermaLink="false">4645449@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  37cdd9932e7854c7bde2b83a0b4f5f6aad105306 (commit)
      from  34b4acf39cd04a4370eba5806379003a0de48330 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=37cdd9932e7854c7bde2b83a0b4f5f6aad105306
commit 37cdd9932e7854c7bde2b83a0b4f5f6aad105306
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 13 14:41:39 2021 -0500

    Update config.guess and config.sub.  Fix chdir() and -h in webcit

-----------------------------------------------------------------------

Summary of changes:
 citadel/config.guess | 1427 +++++++++++++++------------
 citadel/config.sub   | 2489 +++++++++++++++++++++++++----------------------
 webcit/config.guess  | 1117 ++++++++++++++--------
 webcit/config.sub    | 2606 ++++++++++++++++++++++++++------------------------
 webcit/configure.ac  |   10 -
 webcit/sysdep.c      |   10 +-
 webcit/webserver.c   |    9 +-
 7 files changed, 4219 insertions(+), 3449 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4644964</link><pubDate>Mon, 11 Jan 2021 18:40:18 +0500</pubDate><title>Removing LHFS</title><guid isPermaLink="false">4644964@Uncensored</guid><description><![CDATA[ 
  
 After a long amount of contemplation, I've decided to remove support for
LHFS in the Citadel System.  This effectively ends the ability to build .deb
and .rpm packages that can be included in Linux distributions.  I have resisted
this for years, but it is creating more problems than it solves to leave this
ability intact. 
  
 Here are some of my thoughts, in no particular order: 
  
 * GNU Autotools is an albatross.  It made sense when we had to support a
score of weird hardware/software combinations, but today, the build environment
is more or less standardized.  The text client, ctdlsh, and WebCit-NG all
build using a small script I call "conf-IG-ure", which requires minimal processing
and can be called directly from a static Makefile.  Even this can be configured
to allow bin/ and etc/ directories, but in most scenarios it doesn't make
sense. 
  
 * Supporting both LHFS and Consolidated
directory schemes in the same build is an absolute nightmare.  There is all
sorts of spaghetti code in the build dedicated to arbitrary prefixes for half
a dozen different parts of the system, which in LHFS mode are spread out all
over the directory hierarchy.  This makes sense for system software.  It doesn't
make sense for a standalone application like Citadel. 
  
 * In the new AppImage build, WebCit simply doesn't work. 
  
 * One reason we stayed in the Debian repos was because we would supposedly
get translators.  This has not happened; it has been years since we had any
upstream commits with internationalization patches.  For webcit-NG I am trying
to keep the message catalog as faithful to webcit-classic as possible, in
order to preserve all of the existing translations.  After the changeover,
we can make a new pitch for translators. 
  
 * The current discussion in the support room
concerning outdated autotools is another example of the liability created
by using those tools. 
  
  
 So, going forward, Citadel Server will be configured like this: 
  
 ./configure --ctdldir=/usr/local/citadel 
 make 
 make install 
  
 WebCit will be configured like this: 
  
 ./configure --ctdldir=/usr/local/citadel --webcitdir=/usr/local/webcit 
 make 
 make install 
  
 And for most installations you won't even need the configure step, since
those are the default values, and the Makefile calls configure if it needs
to.   Things like CFLAGS and LDFLAGS can be set, so things like Easy Install
and its /usr/local/ctdlsupport hierarchy can still work. 
  
 This is going to be one of those things where big chunks of legacy cruft
fall away thanks to one small decision. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4644938</link><pubDate>Mon, 11 Jan 2021 16:36:39 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-526-g34b4acf39</title><guid isPermaLink="false">4644938@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  34b4acf39cd04a4370eba5806379003a0de48330 (commit)
      from  3db56a28258a429c1425b74246e7aa838a1524ca (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=34b4acf39cd04a4370eba5806379003a0de48330
commit 34b4acf39cd04a4370eba5806379003a0de48330
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 11 21:36:30 2021 +0000

    trying to figure out why webcit doesn't chdir properly when run from appimage

-----------------------------------------------------------------------

Summary of changes:
 appimage/ctdlvisor.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4644904</link><pubDate>Mon, 11 Jan 2021 14:09:56 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-525-g3db56a282</title><guid isPermaLink="false">4644904@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3db56a28258a429c1425b74246e7aa838a1524ca (commit)
      from  eb57280f825bc3d1cf0879f5ec6be1d81994c720 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3db56a28258a429c1425b74246e7aa838a1524ca
commit 3db56a28258a429c1425b74246e7aa838a1524ca
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jan 11 14:09:36 2021 -0500

    add readme

-----------------------------------------------------------------------

Summary of changes:
 appimage/README.txt | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 appimage/README.txt


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4643988</link><pubDate>Fri, 08 Jan 2021 09:57:00 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4643988@Uncensored</guid><description><![CDATA[Are you still running your production system on a Raspberry Pi?  Hopefully
I will have an ARM image ready by early next week.  I think you should do
your testing on a Pi 400  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4643729</link><pubDate>Thu, 07 Jan 2021 17:41:46 +0500</pubDate><title>Re: TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4643729@Uncensored</guid><description><![CDATA[<html><body>

<p>I'm going to have to buy another 240gb SD to make a "gold backup" of my production machine, so that I can start using the second one as a test box. I'll order one, and once I get it, and make a mirror of the production server - I'll start testing this.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Jan 07 2021 14:57:11 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: TESTERS FOR CITADEL APPIMAGE NEEDED!</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br /><br />The new AppImage for Citadel is functionally complete. WE NEED TESTERS! <br /><br />Obviously, don't try this on a production system. I would like as many people as possible to test this image, to see if the promise of a universal single-file binary distribution has been met. Right now it only runs on 64-bit Intel/AMD. <br />Please try any version of any distribution that has been released in, say, the last five years or so. <br /><br />Here's how to do it: <br /><br />1. Download https://easyinstall.citadel.org/Citadel-x86_64.AppImage and make it executable <br />2. mkdir /usr/local/citadel <br />3. Run the binary <br />4. Connect to your server with HTTP or HTTPS and login as "admin" with password "citadel" <br /><br />Let me know how it works, or if it doesn't work, and what Linux distribution and version you used. <br /><br />Again, this is *functionally* complete; it is not ready for distribution. <br />I just want to make sure it generally works. It still needs th
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4643675</link><pubDate>Thu, 07 Jan 2021 14:57:11 +0500</pubDate><title>TESTERS FOR CITADEL APPIMAGE NEEDED!</title><guid isPermaLink="false">4643675@Uncensored</guid><description><![CDATA[ 
  
 The new AppImage for Citadel is functionally complete.   WE NEED TESTERS!

  
 Obviously, don't try this on a production system.  I would like as many people
as possible to test this image, to see if the promise of a universal single-file
binary distribution has been met.  Right now it only runs on 64-bit Intel/AMD.
  Please try any version of any distribution that has been released in, say,
the last five years or so. 
  
 Here's how to do it: 
  
 1. Download https://easyinstall.citadel.org/Citadel-x86_64.AppImage and make
it executable 
 2. mkdir /usr/local/citadel 
 3. Run the binary 
 4. Connect to your server with HTTP or HTTPS and login as "admin" with password
"citadel" 
  
 Let me know how it works, or if it doesn't work, and what Linux distribution
and version you used. 
  
 Again, this is *functionally* complete; it is not ready for distribution.
 I just want to make sure
it generally works.  It still needs things like key management, systemd integration,
and maybe building in some of the external tools like ctdlmigrate, database_cleanup,
etc. 
  
 My goal is for this to replace Easy Install for the majority of entry-level
Citadel operators.  Amazingly, the whole thing weighs in at only 9.4 MB. 
And as I mentioned earler, there will be an ARM version too, for all those
Pi users. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4643661</link><pubDate>Thu, 07 Jan 2021 14:41:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-524-geb57280f8</title><guid isPermaLink="false">4643661@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  eb57280f825bc3d1cf0879f5ec6be1d81994c720 (commit)
       via  adf43282ea4be8bf6ca4e7b71ce342fffc5f171d (commit)
       via  012e0d72fdf6337ccc34b9a75cabf924fd95d472 (commit)
       via  168a9ec0fb1b47c3602804b8af26f28b207a953d (commit)
      from  a4951de6e6b4115c2af3d8780182e363ab1a9adb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=eb57280f825bc3d1cf0879f5ec6be1d81994c720
commit eb57280f825bc3d1cf0879f5ec6be1d81994c720
Merge: adf43282e a4951de6e
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 7 14:41:58 2021 -0500

    Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit a4951de6e6b4115c2af3d8780182e363ab1a9adb
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 3 14:37:09 2021 -0500

    XMPP Mortuary blocks are now tagged with the user they represent, so if they delete their config room we know who is responsible.

http://code.citadel.org/?p=citadel.git&a=commit&h=adf43282ea4be8bf6ca4e7b71ce342fffc5f171d
commit adf43282ea4be8bf6ca4e7b71ce342fffc5f171d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 7 14:40:15 2021 -0500

    Remove install directories after build

http://code.citadel.org/?p=citadel.git&a=commit&h=012e0d72fdf6337ccc34b9a75cabf924fd95d472
commit 012e0d72fdf6337ccc34b9a75cabf924fd95d472
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 7 14:26:41 2021 -0500

    appimage supervisor is functionally complete

http://code.citadel.org/?p=citadel.git&a=commit&h=168a9ec0fb1b47c3602804b8af26f28b207a953d
commit 168a9ec0fb1b47c3602804b8af26f28b207a953d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jan 7 12:35:54 2021 -0500

    Moved the appimage project into the main tree

-----------------------------------------------------------------------

Summary of changes:
 appimage/.gitignore                     |   2 +
 appimage/build_appimage.sh              |  56 +++++++++++++++++
 appimage/citadel.AppDir/.DirIcon        |   1 +
 appimage/citadel.AppDir/AppRun          |   5 ++
 appimage/citadel.AppDir/citadel.desktop |   8 +++
 appimage/citadel.AppDir/citadel.png     | Bin 0 -> 926 bytes
 appimage/ctdlvisor.c                    | 108 ++++++++++++++++++++++++++++++++
 7 files changed, 180 insertions(+)
 create mode 100644 appimage/.gitignore
 create mode 100755 appimage/build_appimage.sh
 create mode 120000 appimage/citadel.AppDir/.DirIcon
 create mode 100755 appimage/citadel.AppDir/AppRun
 create mode 100644 appimage/citadel.AppDir/citadel.desktop
 create mode 100644 appimage/citadel.AppDir/citadel.png
 create mode 100644 appimage/ctdlvisor.c


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4643521</link><pubDate>Thu, 07 Jan 2021 01:28:55 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4643521@Uncensored</guid><description><![CDATA[More progress has been made on the AppImage.  It now contains a small supervisor
program that will keep the various server processes up and running, restarting
them if they crash for whatever reason, etc.  It shouldn't take long to finish
this. 
  
 I am excited about it.  If this works as expected, we will be able to distribute
the entire Citadel system as a single executable binary.  I expect we will
release builds for 64-bit Intel/AMD and 64-bit ARM.  That ought to cover nearly
all new users. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4642583</link><pubDate>Mon, 04 Jan 2021 10:33:44 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4642583@Uncensored</guid><description><![CDATA[The development team has always operated in that mode -- people come and go,
some contribute amazing things, some make messes that have to be cleaned up,
but it's always good to have some fresh ideas.  There are occasionally stretches
where I'm the only one writing any code, but we must remember that documentation,
testing, end user support, etc. are at least equally as important as coding.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4642377</link><pubDate>Sun, 03 Jan 2021 20:17:08 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4642377@Uncensored</guid><description><![CDATA[<html><body>

<p>For those who started out on Z80 machines running Citadel on dual floppies and dealing with constant BDOS errors, moved to Citadel in x86 and x64 platforms, migrated to Citadel/UX - today's Citadel is pretty amazing, without a doubt. <br /><br />Citadel from back then is pretty much responsible for my career - but I wouldn't hesitate to use it in a large environment for groupware collaboration today. In fact, I think it is far easier to get your head around than Sharepoint. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Jan 03 2021 15:47:10 EST</span> <span>from <a href="do_template?template=user_show?who=mo">mo</a> </span> <span class="message_subject">Subject: Re: New idea: Citadel AppImage</span></div>
<div class="message_content">
<p>Hi Art,</p>
<p>Yes i have been following along, even though i don't know how,  i can see 'what' work you guys have been doing - generally. Exciting to read!  I'm still struck dumb by the fact Citadel really has evolved from the 8-bit CP/M world. It is good to see, of late  - you have been getting more help than when i first started lurking.  :) .  I'll scurry off back into the shadows now and let you guys get on with things.  </p>
<br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4642308</link><pubDate>Sun, 03 Jan 2021 15:47:10 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4642308@Uncensored</guid><description><![CDATA[<html><body>

<p>Hi Art,</p>
<p>Yes i have been following along, even though i don't know how,  i can see 'what' work you guys have been doing - generally. Exciting to read!  I'm still struck dumb by the fact Citadel really has evolved from the 8-bit CP/M world. It is good to see, of late  - you have been getting more help than when i first started lurking.  :) .  I'll scurry off back into the shadows now and let you guys get on with things.  </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4642293</link><pubDate>Sun, 03 Jan 2021 14:57:11 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4642293@Uncensored</guid><description><![CDATA[mo: that's pretty much our target audience at this point.  I've stopped thinking
about the large enterprise market because those people are stupid, and stupid
people prefer Exchange (and Sh*point, and now Teams).  A lot of what we were
building in the past revolved around the idea that a really large installation
would have Citadel Server and WebCit running on different host systems, maybe
with a load balancer in front of them, the kind of really large installations
I was building for other people at the time.  Those aren't the people who
want Citadel.  For that matter, those people have largely abandoned on-premise
groupware altogether and prefer to have a cloud solution that is *fully* and
*actively* integrated with spyware and surveillance. 
  
 Citadel operators in the real world seem to fall into three categories: 
  
 1. People who want the specific feature set of content management
and groupware integrated with email (my favorite people) 
 2. Those who want to operate small and on a shoestring budget 
 3. Smart people repatriating their communications back from the big cloud
providers 
  
 None of this is to say "Citadel won't support a very large system" or "Citadel
can't run in a cloud" because neither of those statements is true.  However,
the vast majority of  
 Citadel sites are running on a single host or virtual machine, and support
fewer than 100 users.  Even with that small demographic, Citadel users still
number in the millions, as far as I can tell. 
  
 There was a time when installing the Citadel system required manually compiling
from .tar files, modifying a bunch of system configuration files, and if you
wanted to do Internet email you had all sorts of tedious mucking about with
UUCP or some other on-host MTA.  Today, you can just run Easy Install. 
It's been a direct goal of ours for a long time to make things easier and
easier and easier to install.  That's no accident. 
  
 If you've followed our development progress, you'll already have noticed
that over the past two years we've worked hard to move all of the remaining
"flat" configuration files into the database proper.  This is part of that
same effort.  My original goal was to be able to run Citadel in a Docker container
while requiring only a single external volume reference.  What I'm discovering,
though, is that the same design improvements are going to make AppImage work
equally as well. 
  
 What we do find, however, is that every time we make Citadel easier to install,
we knock out an entire tier of users who no longer have trouble installing
it ... and then we open up a whole new tier of users underneath them who are
now attempting installation and failing at it for whatever reason.  "It's
turtles all the way down," as they say. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4642283</link><pubDate>Sun, 03 Jan 2021 14:37:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-520-ga4951de6e</title><guid isPermaLink="false">4642283@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a4951de6e6b4115c2af3d8780182e363ab1a9adb (commit)
      from  e73e0afde89f43dd19d53c380accb2d1877b03f2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a4951de6e6b4115c2af3d8780182e363ab1a9adb
commit a4951de6e6b4115c2af3d8780182e363ab1a9adb
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jan 3 14:37:09 2021 -0500

    XMPP Mortuary blocks are now tagged with the user they represent, so if they delete their config room we know who is responsible.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/xmpp/xmpp_presence.c | 4 ++--
 citadel/msgbase.c                    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4642233</link><pubDate>Sun, 03 Jan 2021 12:13:13 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4642233@Uncensored</guid><description><![CDATA[<html><body>

<p>Great idea!  I normally read without commenting as alot of the technical details are over my head. I would just like to say, i my opinion, the audience for a citadel install should be the less technical end of the spectrum, not so much interested in the groupware functionality - but the building of independent community websites for themselves, their friends and families. The 'great unwashed' are the people who will create the decentralised internet community of tomorrow maybe?</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4641130</link><pubDate>Fri, 01 Jan 2021 23:02:29 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4641130@Uncensored</guid><description><![CDATA[  
 Tonight I have been playing around with AppImage and it's looking promising
so far. 
  
 With just an hour or two of tinkering I was able to build an AppImage containing
the Citadel Server and all of its dependencies, wrapped up all nice and snug
in a single binary executable.  The really neat thing is that since AppImages
have access to the host filesystem, it will be able to use /usr/local/citadel
as-is, which means we should be able to allow sites to switch between AppImage
and Easy Install, in either direction, as often as they want to. 
  
 It's running on my development server, which is kind of cool, I might even
consider putting this stuff into the main tree. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4641111</link><pubDate>Fri, 01 Jan 2021 19:59:29 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-519-ge73e0afde</title><guid isPermaLink="false">4641111@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e73e0afde89f43dd19d53c380accb2d1877b03f2 (commit)
      from  638df7bdf8a26f581e746e00ae2dd3e8adca8c78 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e73e0afde89f43dd19d53c380accb2d1877b03f2
commit e73e0afde89f43dd19d53c380accb2d1877b03f2
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 1 19:59:29 2021 -0500

    Removed calls to chdir() from citserver.  Not needed, and we are trying to make the program relocatable.

-----------------------------------------------------------------------

Summary of changes:
 citadel/config.c | 18 +++++++++---------
 citadel/sysdep.c | 11 +++++------
 2 files changed, 14 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4641107</link><pubDate>Fri, 01 Jan 2021 19:44:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-518-g638df7bdf</title><guid isPermaLink="false">4641107@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  638df7bdf8a26f581e746e00ae2dd3e8adca8c78 (commit)
      from  55a103b88ba8bc27443538cb3a95b9f61290b20d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=638df7bdf8a26f581e746e00ae2dd3e8adca8c78
commit 638df7bdf8a26f581e746e00ae2dd3e8adca8c78
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jan 1 19:44:08 2021 -0500

    Removed chdir() from setup.c - this program requires no run directory.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server_main.c |   5 ++-
 citadel/utils/setup.c | 100 +-------------------------------------------------
 2 files changed, 4 insertions(+), 101 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4640954</link><pubDate>Thu, 31 Dec 2020 16:15:38 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-517-g55a103b88</title><guid isPermaLink="false">4640954@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  55a103b88ba8bc27443538cb3a95b9f61290b20d (commit)
       via  91bc31f50a6d93ad0c01d24e29e61a3f5b972cba (commit)
      from  3233523d9abe658ca1d9e63ce41a732aff1de214 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=55a103b88ba8bc27443538cb3a95b9f61290b20d
commit 55a103b88ba8bc27443538cb3a95b9f61290b20d
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 31 16:15:36 2020 -0500

    Removed a test in html2html() that would cause it to go null every time.

http://code.citadel.org/?p=citadel.git&a=commit&h=91bc31f50a6d93ad0c01d24e29e61a3f5b972cba
commit 91bc31f50a6d93ad0c01d24e29e61a3f5b972cba
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Dec 31 13:36:08 2020 -0500

    More distancing of our project from Richard Marx Stallman's linguistic communism

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/admin_functions.c                      | 27 +++++-----
 webcit-ng/caldav_reports.c                       | 29 ++++++-----
 webcit-ng/ctdl_commands.c                        | 23 +++++----
 webcit-ng/ctdlclient.c                           | 27 +++++-----
 webcit-ng/ctdlfunctions.c                        | 27 +++++-----
 webcit-ng/forum_view.c                           | 66 +++++++++++++++---------
 webcit-ng/html2html.c                            | 37 ++++++-------
 webcit-ng/http.c                                 | 27 +++++-----
 webcit-ng/main.c                                 | 27 +++++-----
 webcit-ng/messages.c                             | 27 +++++-----
 webcit-ng/old_threaded_view_save_for_reference.c | 29 ++++++-----
 webcit-ng/request.c                              | 35 +++++++------
 webcit-ng/room_functions.c                       | 27 +++++-----
 webcit-ng/ssl.c                                  | 29 ++++++-----
 webcit-ng/static.c                               | 27 +++++-----
 webcit-ng/tcp_sockets.c                          | 27 +++++-----
 webcit-ng/text2html.c                            | 27 +++++-----
 webcit-ng/user_functions.c                       | 27 +++++-----
 webcit-ng/util.c                                 | 27 +++++-----
 webcit-ng/webserver.c                            | 35 +++++++------
 20 files changed, 321 insertions(+), 286 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4640941</link><pubDate>Thu, 31 Dec 2020 14:25:42 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4640941@Uncensored</guid><description><![CDATA[<html><body>

<p>Be aware, USPS is FUBAR this holiday season, though. </p>
<blockquote>
<div class="message_header"><span>Thu Dec 31 2020 14:23:13 EST</span> <span>from <a href="do_template?template=user_show?who=ParanoidDelusions">ParanoidDelusions</a> </span> <span class="message_subject">Subject: Re: New idea: Citadel AppImage</span></div>
<div class="message_content">
<p>I know, but you've been helpful, and tolerant of me thrashing through your support forum like a bull in a china shop with a wasp's nest up its arse... and I've got a spare that is just sitting around that could do more good for Citadel as a community in your hands than sitting on a shelf in mine. It'll also give me an excuse at some point to buy a 4. :)  <br /><br />Let me know how to get it shipped to you, and I'll get it on its way. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Dec 31 2020 13:46:01 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: New idea: Citadel AppImage</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Well, I wasn't specifically looking for a donation, but if you're willing, I'd be pleased to accept. It would basically become a build test host for Citadel on ARM.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4640938</link><pubDate>Thu, 31 Dec 2020 14:23:13 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4640938@Uncensored</guid><description><![CDATA[<html><body>

<p>I know, but you've been helpful, and tolerant of me thrashing through your support forum like a bull in a china shop with a wasp's nest up its arse... and I've got a spare that is just sitting around that could do more good for Citadel as a community in your hands than sitting on a shelf in mine. It'll also give me an excuse at some point to buy a 4. :)  <br /><br />Let me know how to get it shipped to you, and I'll get it on its way. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Dec 31 2020 13:46:01 EST</span> <span>from <a href="do_template?template=user_show?who=IGnatius T Foobar">IGnatius T Foobar</a> </span> <span class="message_subject">Subject: Re: New idea: Citadel AppImage</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Well, I wasn't specifically looking for a donation, but if you're willing, I'd be pleased to accept. It would basically become a build test host for Citadel on ARM. </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4640928</link><pubDate>Thu, 31 Dec 2020 13:46:01 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4640928@Uncensored</guid><description><![CDATA[Well, I wasn't specifically looking for a donation, but if you're willing,
I'd be pleased to accept.  It would basically become a build test host for
Citadel on ARM. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4640755</link><pubDate>Wed, 30 Dec 2020 21:13:34 +0500</pubDate><title>Re: New idea: Citadel AppImage</title><guid isPermaLink="false">4640755@Uncensored</guid><description><![CDATA[<html><body>

<p>I think anything that makes *nix apps easier to get installed and running is a good direction. It is one of the most frustrating aspects of *nix. <br /><br />With that said, the things Citadel does is not trivial, and you would assume anyone trying to throw up a groupware and mail server has experience with pretty in-depth administration of business server environments. That is, if you're going to take on installing Citadel - you should have experience doing pretty critical troubleshooting of enterprise environments. <br /><br />But maybe that is elitist. Maybe this stuff should be as trivial to install, manage and maintain as Office or Photoshop. <br /><br />If you need a 3B+ - I've got a couple of spares. I suppose I can part with one of them seeing as you've written this entire software package and made it available to me for free, along with tolerating my presence on your BBS. You would need a PSU, an SD card, and a case - but I could send you a board.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4640738</link><pubDate>Wed, 30 Dec 2020 20:27:05 +0500</pubDate><title>New idea: Citadel AppImage</title><guid isPermaLink="false">4640738@Uncensored</guid><description><![CDATA[<html><body>

<p>This is an idea that may have potential.  Tell me what y'all think of it.</p>
<p>One thing we know is that even with Easy Install, some people still have trouble getting Citadel built and running.  What if we built the entire Citadel suite as an AppImage [<a href="https://appimage.org/">https://appimage.org/</a>] ?  These are designed to stuff an entire application and its dependencies into a single executable file.  Obviously this would be architecture-dependent and would require some build machines to do the job, but I am envisioning something like this:</p>
<pre style="font-family: 'monospace','courier new';">chmod 755 citadel.appimage
./citadel.appimage

usage: citadel.appimage [-h ctdldir] [-t portnum] [-w portnum] [-s portnum] [-c] [-f]
 -h   set Citadel data directory to datadir (default: /usr/local/citadel)
 -t   listen for telnet connections on portnum (default: 23)
 -w   listen for HTTP connections on portnum (default: 80)
 -s   listen for HTTPS connections on portnum (default: 443)
 -c   run in configuration mode (implies -f)
 -f   do not fork into the background
</pre>
<p>This would reuse some of the tooling I built to run Citadel in a Docker container.  Within that tooling I used Supervisor [<a href="http://supervisord.org/">http://supervisord.org/</a>] as a minimalist process control daemon that handles the startup and maintenance of the various server processes.  The idea behind the Docker container was that you'd only have to run one container but it would have Citadel Server and WebCit and everything else all running inside of it; you'd just mount a data directory and go.  This would be one step easier because AppImages have access to the host filesystem by default; they're not meant for sandboxing, they're just meant to keep all of the dependencies all neatly packaged up to avoid conflicts with other apps or the host system -- kind of like Android .apk or MacOS .dmg apps.</p>
<p>I could easily do this on 64-bit AMD/Intel.  There's also the possibility of doing it on Raspberry Pi, which is where most people seem to have trouble with the Easy Install build these days.  Unfortunately all I have here is a Raspberry Pi 1, so I'd probably have to go buy a 4 (or a 400) to make this happen.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638691</link><pubDate>Sun, 27 Dec 2020 18:34:23 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-515-g3233523d9</title><guid isPermaLink="false">4638691@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3233523d9abe658ca1d9e63ce41a732aff1de214 (commit)
      from  a12de43406a6f37761eea0d0283cff2737173889 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3233523d9abe658ca1d9e63ce41a732aff1de214
commit 3233523d9abe658ca1d9e63ce41a732aff1de214
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 27 18:34:20 2020 -0500

    Moved the defunct server-side renderer into another file to keep as a reference.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/README.txt                               |   5 +
 webcit-ng/forum_view.c                             | 270 ---------------------
 ...ew.c => old_threaded_view_save_for_reference.c} | 126 +---------
 webcit-ng/static/js/views.js                       |   4 +-
 4 files changed, 8 insertions(+), 397 deletions(-)
 copy webcit-ng/{forum_view.c => old_threaded_view_save_for_reference.c} (69%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638648</link><pubDate>Sun, 27 Dec 2020 16:52:26 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-514-ga12de4340</title><guid isPermaLink="false">4638648@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a12de43406a6f37761eea0d0283cff2737173889 (commit)
      from  1499a7f20c96592af7ac9317de2fe4cf667885cf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a12de43406a6f37761eea0d0283cff2737173889
commit a12de43406a6f37761eea0d0283cff2737173889
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 27 16:52:24 2020 -0500

    Fixed mini_2047_decode() in textclient.  It ... actually works now.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c   | 59 +++++++++++++++++++++++++++++--------------------
 textclient/textclient.h | 19 +++++++++-------
 2 files changed, 46 insertions(+), 32 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638330</link><pubDate>Sun, 27 Dec 2020 00:47:23 +0500</pubDate><title>brain damage in legacy webcit</title><guid isPermaLink="false">4638330@Uncensored</guid><description><![CDATA[  
 All right, finally some sanity. 
  
 The weirdness with the webcit upgrade turned out to be from a pair of field
lists in two different header files that depended on being the same size and
in the same order, and the person who did that failed to include any comments
pointing that out. 
  
 It' 
 s been a lot of work making this all work again now that I changed the address
field handling, but hopefully that's all I need to do at this point to keep
legacy webcit working properly.   
  
 MOVING ON TO WEBCIT-NG NOW, DAMMIT  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638325</link><pubDate>Sun, 27 Dec 2020 00:37:30 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-513-g1499a7f20</title><guid isPermaLink="false">4638325@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1499a7f20c96592af7ac9317de2fe4cf667885cf (commit)
      from  86787cded3b4f37488ebfa03efb50bb958a1fbb2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1499a7f20c96592af7ac9317de2fe4cf667885cf
commit 1499a7f20c96592af7ac9317de2fe4cf667885cf
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 27 00:37:30 2020 -0500

    more sorting out of the headers

-----------------------------------------------------------------------

Summary of changes:
 webcit/messages.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638319</link><pubDate>Sun, 27 Dec 2020 00:33:18 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-512-g86787cded</title><guid isPermaLink="false">4638319@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  86787cded3b4f37488ebfa03efb50bb958a1fbb2 (commit)
      from  716bbef62d0958b2211fda68e2f133514faade9b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=86787cded3b4f37488ebfa03efb50bb958a1fbb2
commit 86787cded3b4f37488ebfa03efb50bb958a1fbb2
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 27 00:33:18 2020 -0500

    more sorting out of the headers

-----------------------------------------------------------------------

Summary of changes:
 webcit/messages.c      |  40 ++++++------
 webcit/messages.h      |  11 ++--
 webcit/msg_renderers.c | 167 +++++++++++++++++++++++++------------------------
 webcit/webserver.c     |   4 +-
 4 files changed, 114 insertions(+), 108 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638250</link><pubDate>Sat, 26 Dec 2020 19:14:00 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-493-gde757dff5</title><guid isPermaLink="false">4638250@Uncensored</guid><description><![CDATA[  
 *sigh* 
  
 Still mitigating the effects of making the "local name" and "name + email
address" address syntaxes more standardized. 
  
 I really, really, really hate legacy webcit.  Really, really looking forward
to the day webcit-ng is feature complete and we can ditch the old bucket of
bits.  Between the bad foundation and the horrible things that have been done
to it over the years, it needs to be put out to pasture more than ever before.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638231</link><pubDate>Sat, 26 Dec 2020 17:50:23 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-511-g716bbef62</title><guid isPermaLink="false">4638231@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  716bbef62d0958b2211fda68e2f133514faade9b (commit)
      from  52fecd4361d60064bdcacff879e9aadd9f2e5fd0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=716bbef62d0958b2211fda68e2f133514faade9b
commit 716bbef62d0958b2211fda68e2f133514faade9b
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 26 17:50:20 2020 -0500

    more style cleanup ... ugh

-----------------------------------------------------------------------

Summary of changes:
 webcit/messages.c | 34 +++++++++++++---------------------
 1 file changed, 13 insertions(+), 21 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638222</link><pubDate>Sat, 26 Dec 2020 17:32:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-510-g52fecd436</title><guid isPermaLink="false">4638222@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  52fecd4361d60064bdcacff879e9aadd9f2e5fd0 (commit)
      from  ae8620cd50695bd4d8e13453475e517f59f8037f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=52fecd4361d60064bdcacff879e9aadd9f2e5fd0
commit 52fecd4361d60064bdcacff879e9aadd9f2e5fd0
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 26 17:32:51 2020 -0500

    the dreaded style cleanup

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/login.js |  8 ++--
 webcit/messages.c            | 96 ++++++++++++++++++--------------------------
 webcit/webcit.h              |  2 +
 3 files changed, 47 insertions(+), 59 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638196</link><pubDate>Sat, 26 Dec 2020 16:06:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-509-gae8620cd5</title><guid isPermaLink="false">4638196@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ae8620cd50695bd4d8e13453475e517f59f8037f (commit)
      from  7f8b86678541efd3ddb0bb6b1981387c727d00f8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ae8620cd50695bd4d8e13453475e517f59f8037f
commit ae8620cd50695bd4d8e13453475e517f59f8037f
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 26 16:06:17 2020 -0500

    No more XHR in views.js

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/views.js | 221 +++++++++++++++++++++----------------------
 1 file changed, 109 insertions(+), 112 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638191</link><pubDate>Sat, 26 Dec 2020 15:56:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-508-g7f8b86678</title><guid isPermaLink="false">4638191@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7f8b86678541efd3ddb0bb6b1981387c727d00f8 (commit)
      from  582f99e864ec2adc2681f8dda1dc0cbc25256495 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7f8b86678541efd3ddb0bb6b1981387c727d00f8
commit 7f8b86678541efd3ddb0bb6b1981387c727d00f8
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 26 15:56:32 2020 -0500

    Replaced all XHR in main.js with fetch/await

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/main.js | 64 ++++++++++++++++++++-------------------------
 1 file changed, 28 insertions(+), 36 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638175</link><pubDate>Sat, 26 Dec 2020 15:22:26 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-507-g582f99e86</title><guid isPermaLink="false">4638175@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  582f99e864ec2adc2681f8dda1dc0cbc25256495 (commit)
      from  fea4d0832e8bfcb5f707e7f2a9adc7e17a96ccbc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=582f99e864ec2adc2681f8dda1dc0cbc25256495
commit 582f99e864ec2adc2681f8dda1dc0cbc25256495
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 26 15:22:26 2020 -0500

    Richard Stallman is a communist and an asshole.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/main.js | 41 ++++++++++++++++++++---------------------
 1 file changed, 20 insertions(+), 21 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638165</link><pubDate>Sat, 26 Dec 2020 15:02:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-506-gfea4d0832</title><guid isPermaLink="false">4638165@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fea4d0832e8bfcb5f707e7f2a9adc7e17a96ccbc (commit)
      from  e560dff819d748744fb7e6ce4e20580ed1e77671 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fea4d0832e8bfcb5f707e7f2a9adc7e17a96ccbc
commit fea4d0832e8bfcb5f707e7f2a9adc7e17a96ccbc
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 26 15:02:31 2020 -0500

    Rewrote ctdl_startup() using fetch/await

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/main.js | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4638164</link><pubDate>Sat, 26 Dec 2020 15:02:12 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-505-ge560dff81</title><guid isPermaLink="false">4638164@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e560dff819d748744fb7e6ce4e20580ed1e77671 (commit)
      from  66eec264d43e08609237ad4bbb2aceb1a5f44ed2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e560dff819d748744fb7e6ce4e20580ed1e77671
commit e560dff819d748744fb7e6ce4e20580ed1e77671
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 26 15:02:12 2020 -0500

    Rewrote ctdl_startup() using fetch/await

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/static/js/main.js | 40 +++++++++++++++++-----------------------
 1 file changed, 17 insertions(+), 23 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4636305</link><pubDate>Wed, 23 Dec 2020 18:11:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-504-g66eec264d</title><guid isPermaLink="false">4636305@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  66eec264d43e08609237ad4bbb2aceb1a5f44ed2 (commit)
      from  4f81523e181d1a3e57615cf411d48abe2ab45d1c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=66eec264d43e08609237ad4bbb2aceb1a5f44ed2
commit 66eec264d43e08609237ad4bbb2aceb1a5f44ed2
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 23 18:11:05 2020 -0500

    more of that

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4636302</link><pubDate>Wed, 23 Dec 2020 18:07:18 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-503-g4f81523e1</title><guid isPermaLink="false">4636302@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4f81523e181d1a3e57615cf411d48abe2ab45d1c (commit)
      from  8294893914a8a194750cfe6e1de39fc0142f7747 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4f81523e181d1a3e57615cf411d48abe2ab45d1c
commit 4f81523e181d1a3e57615cf411d48abe2ab45d1c
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 23 18:07:14 2020 -0500

    fixed error: 'for' loop initial declarations are only allowed in C99 or C11 mode

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4635482</link><pubDate>Tue, 22 Dec 2020 21:43:05 +0500</pubDate><title>Re: Let&#39;s work on the security reports</title><guid isPermaLink="false">4635482@Uncensored</guid><description><![CDATA[<html><body>

<p>In the Windows world, the default Administrator account has a unique GUID - or used to - maybe it has been fixed - even if you rename the account. So best practice there became to create a new administrator account and disable the default administrator account completely. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Dec 22 2020 21:40:49 EST</span> <span>from ParanoidDelusions @ Uncensored </span> <span class="message_subject">Subject: Re: Let's work on the security reports</span></div>
<div class="message_content">
<p>So, my understanding has always been that you want to obfuscate user names because knowing a user name is valid gives a hacker a place to start testing the security of the system. <br /><br />Most servers do this by telling you "The user name or password is wrong, enter your e-mail address and if it is correct, we'll send you a reset code." <br /><br />Right? <br /><br />Can you do something like that, so that whatever is returned or visible to the connecting client gives a "Something isn't right but we're not going to tell you if it is one, or the other, both, or neither," kind of response? <br /><br /> </p>
<blockquote>
<div class="message_header"> </div>
<div class="message_content"><br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4635479</link><pubDate>Tue, 22 Dec 2020 21:40:49 +0500</pubDate><title>Re: Let&#39;s work on the security reports</title><guid isPermaLink="false">4635479@Uncensored</guid><description><![CDATA[<html><body>

<p>So, my understanding has always been that you want to obfuscate user names because knowing a user name is valid gives a hacker a place to start testing the security of the system. <br /><br />Most servers do this by telling you "The user name or password is wrong, enter your e-mail address and if it is correct, we'll send you a reset code." <br /><br />Right? <br /><br />Can you do something like that, so that whatever is returned or visible to the connecting client gives a "Something isn't right but we're not going to tell you if it is one, or the other, both, or neither," kind of response? <br /><br /> </p>
<blockquote>
<div class="message_header"><span>Tue Dec 22 2020 00:11:50 EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Let's work on the security reports</span></div>
<div class="message_content">
<p> </p>
<p>Is it really a security flaw to be able to determine whether a user exists?  Lots of web sites are like that.</p>
<p>I'm not sure what the alternative would be, especially since sites which allow self-service account creation need to be able to let the user know if an account name is available.</p>
<p>Is this something we even have the ability to change?</p>
<br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4634660</link><pubDate>Tue, 22 Dec 2020 00:11:50 +0500</pubDate><title>Let&#39;s work on the security reports</title><guid isPermaLink="false">4634660@Uncensored</guid><description><![CDATA[<html><body>

<p>So let's hit up some of the security issue reports.   I'd like to start with this one:</p>
<blockquote>
<p class="MsoNormal" style="font-family: serif; font-size: 14.4px; background-color: #f3f6f2;">Valid Request:</p>
<p class="MsoNormal">GET /ajax_login_username_password?name=admin HTTP/1.1<br />Host: 192.168.1.239:8080</p>
<p class="MsoNormal" style="font-family: serif; font-size: 14.4px; background-color: #f3f6f2;">Valid response:</p>
<p class="MsoNormal">540 Wrong password.</p>
<p class="MsoNormal" style="font-family: serif; font-size: 14.4px; background-color: #f3f6f2;">Invalid Request:</p>
<p class="MsoNormal">GET /ajax_login_username_password?name=notregistereduser HTTP/1.1<br />Host: 192.168.1.239:8080</p>
<p class="MsoNormal" style="font-family: serif; font-size: 14.4px; background-color: #f3f6f2;">Invalid Response:<span style="font-size: 14.4px;"> </span></p>
<p class="MsoNormal">570 notregistereduser not found.</p>
</blockquote>
<p>Is it really a security flaw to be able to determine whether a user exists?  Lots of web sites are like that.</p>
<p>I'm not sure what the alternative would be, especially since sites which allow self-service account creation need to be able to let the user know if an account name is available.</p>
<p>Is this something we even have the ability to change?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4629110</link><pubDate>Mon, 14 Dec 2020 09:24:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-502-g829489391</title><guid isPermaLink="false">4629110@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8294893914a8a194750cfe6e1de39fc0142f7747 (commit)
      from  8933df1f26595cfa3d9bb77f9b5a18d6b806d159 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8294893914a8a194750cfe6e1de39fc0142f7747
commit 8294893914a8a194750cfe6e1de39fc0142f7747
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 14 09:24:45 2020 -0500

    WebCit now handles the 'local message' flag correctly.

-----------------------------------------------------------------------

Summary of changes:
 webcit/messages.h      |  1 +
 webcit/msg_renderers.c | 30 +++++++++++++++---------------
 2 files changed, 16 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628680</link><pubDate>Mon, 14 Dec 2020 00:53:49 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-501-g8933df1f2</title><guid isPermaLink="false">4628680@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8933df1f26595cfa3d9bb77f9b5a18d6b806d159 (commit)
      from  d8569b016fa45a29156c30171237ad93558cc472 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8933df1f26595cfa3d9bb77f9b5a18d6b806d159
commit 8933df1f26595cfa3d9bb77f9b5a18d6b806d159
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 14 00:53:48 2020 -0500

    Handle display of local and nonlocal messages correctly in text client

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c |  5 ++++-
 textclient/messages.c    | 18 ++----------------
 textclient/textclient.h  |  1 +
 3 files changed, 7 insertions(+), 17 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628677</link><pubDate>Mon, 14 Dec 2020 00:49:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-500-gd8569b016</title><guid isPermaLink="false">4628677@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d8569b016fa45a29156c30171237ad93558cc472 (commit)
      from  2d01d13e76adb74e80c1a9e7eb8810686b3d5029 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d8569b016fa45a29156c30171237ad93558cc472
commit d8569b016fa45a29156c30171237ad93558cc472
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 14 00:49:07 2020 -0500

    The server now uses its own knowledge of local domains to set or clear the 'locl' field.  This field gives the client a hint about whether the message originated locally.

-----------------------------------------------------------------------

Summary of changes:
 citadel/msgbase.c | 33 ++++++++++++++++++---------------
 1 file changed, 18 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628657</link><pubDate>Mon, 14 Dec 2020 00:27:10 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-499-g2d01d13e7</title><guid isPermaLink="false">4628657@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2d01d13e76adb74e80c1a9e7eb8810686b3d5029 (commit)
      from  0387f48886a9395d89eaca01cd40ab751610426f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2d01d13e76adb74e80c1a9e7eb8810686b3d5029
commit 2d01d13e76adb74e80c1a9e7eb8810686b3d5029
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 14 00:27:09 2020 -0500

    Reverted my work on the 'originated locally' field.  I found a much simpler way to do it.

-----------------------------------------------------------------------

Summary of changes:
 citadel/docs/databaselayout.txt | 6 +++---
 citadel/internet_addressing.c   | 3 ++-
 citadel/msgbase.c               | 4 +---
 citadel/server.h                | 1 -
 4 files changed, 6 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628644</link><pubDate>Mon, 14 Dec 2020 00:02:04 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-498-g0387f4888</title><guid isPermaLink="false">4628644@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0387f48886a9395d89eaca01cd40ab751610426f (commit)
      from  436e37f800487ea58343ba015299869d216269d2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0387f48886a9395d89eaca01cd40ab751610426f
commit 0387f48886a9395d89eaca01cd40ab751610426f
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Dec 14 00:02:04 2020 -0500

    Removed an unused parameter from CtdlSubmitMsg().  Why was it even there?

-----------------------------------------------------------------------

Summary of changes:
 citadel/journaling.c                         | 4 ++--
 citadel/modules/calendar/serv_calendar.c     | 8 ++++----
 citadel/modules/ctdlproto/serv_messages.c    | 2 +-
 citadel/modules/imap/imap_misc.c             | 2 +-
 citadel/modules/inboxrules/serv_inboxrules.c | 2 +-
 citadel/modules/instmsg/serv_instmsg.c       | 4 ++--
 citadel/modules/network/serv_netmail.c       | 6 +++---
 citadel/modules/pop3client/serv_pop3client.c | 4 ++--
 citadel/modules/rssclient/serv_rssclient.c   | 2 +-
 citadel/modules/smtp/serv_smtp.c             | 2 +-
 citadel/modules/smtp/serv_smtpclient.c       | 4 ++--
 citadel/modules/smtp/smtp_util.c             | 6 +++---
 citadel/modules/vcard/serv_vcard.c           | 2 +-
 citadel/modules/wiki/serv_wiki.c             | 6 +++---
 citadel/msgbase.c                            | 7 +++----
 citadel/msgbase.h                            | 2 +-
 16 files changed, 31 insertions(+), 32 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628558</link><pubDate>Sun, 13 Dec 2020 19:29:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-497-g436e37f80</title><guid isPermaLink="false">4628558@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  436e37f800487ea58343ba015299869d216269d2 (commit)
      from  fcf307e182caecb456f8eb86b292143db529d8d8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=436e37f800487ea58343ba015299869d216269d2
commit 436e37f800487ea58343ba015299869d216269d2
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 13 19:29:31 2020 -0500

    The 'N' (Node) field in the message database has been resurrected, this time as a flag to indicate that a message originated on the local system, as opposed to an inbound email or some other nonlocal source.  This field is not populated yet.  If old messages with CitaNet remote nodes are discovered by the new code, the desired behavior should still work (suppress display of RFC822 email addresses)

-----------------------------------------------------------------------

Summary of changes:
 citadel/docs/databaselayout.txt | 9 ++++++---
 citadel/msgbase.c               | 4 +++-
 citadel/server.h                | 1 +
 3 files changed, 10 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628540</link><pubDate>Sun, 13 Dec 2020 18:16:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-496-gfcf307e18</title><guid isPermaLink="false">4628540@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fcf307e182caecb456f8eb86b292143db529d8d8 (commit)
      from  9c0ec0a9024ece83082387bd8a003fb26ed03e89 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fcf307e182caecb456f8eb86b292143db529d8d8
commit fcf307e182caecb456f8eb86b292143db529d8d8
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 13 18:16:08 2020 -0500

    Changed the display logic for message author.  New conditional COND:MAIL:LOCAL which activates if we believe a message originated locally.  This currently only detects c_fqdn and we need to modify it to handle all local domains.  If a message originated locally then we display the user name by itself with a link to their profile.  If a message originated somewhere else we display the user name and email address.

-----------------------------------------------------------------------

Summary of changes:
 webcit/messages.h                            | 41 ++++++++---------
 webcit/msg_renderers.c                       | 69 +++++++++++++++++-----------
 webcit/serv_func.c                           |  8 ++--
 webcit/static/t/view_blog/comment.html       |  8 +---
 webcit/static/t/view_blog/post.html          | 12 +----
 webcit/static/t/view_message.html            |  4 +-
 webcit/static/t/view_message/print.html      |  4 +-
 webcit/static/t/view_message/replyquote.html |  4 +-
 8 files changed, 75 insertions(+), 75 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628404</link><pubDate>Sun, 13 Dec 2020 12:06:12 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-493-gde757dff5</title><guid isPermaLink="false">4628404@Uncensored</guid><description><![CDATA[<html><body>

<p>When I took over the place in Ohio - the owner of the place was a Doctor. He was really the only one on the executive staff that bought into my vision and supported it. Everyone else saw me as a trouble maker. After 6 years, he was able to sell the company to a bay area investor and get out. I like to think the changes I implemented in the DC were a big part of what enabled that. <br /><br />But anyhow, when I was describing what a mess everything was at the start, he kept using the phrase, "organic growth," to describe it. They started out in the CEO's living room. They moved to a little office. The IT guy was really a SQL-DBA/Dev who had no actual enterprise systems engineering experience. They grew, hired some kids out of college with A+ and CCNE certs and AAs in InfoSys. They grew some more, moved, and had to make things work - they didn't have time to start over and fix things - they became legacy issues with kludged fixes. There was never any change control, any documentation it was all "tribal kno
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Dec 12 2020 19:00:10 EST</span> <span>from IGnatius T Foobar @ Uncensored</span><span style="background-color: transparent; font-size: 12px;"> </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />The problem is that WebCit originated in an era when I had no clue how to build it. It started as a set of CGI scripts, then evolved into a standalone web server, it began in the old page-by-page model and then evolved into dynamic HTML, and all the way it got filled with horrible constructs both in the code and in the HTML markup it generated. There's so much cruft in there to support old browsers with horrible brokenness that no longer exists. <br /><br /></div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628039</link><pubDate>Sat, 12 Dec 2020 19:00:10 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-493-gde757dff5</title><guid isPermaLink="false">4628039@Uncensored</guid><description><![CDATA[  
 As for why this is taking so long. 
  
 WebCit is broken.  Really, really broken.  Some time ago we embarked upon
an effort to get all of the HTML out of the WebCit C code and put it into
templates.  And we did.  The problem is that the template syntax is so horrible
that it's barely readable, and it certainly doesn't look like anything a site
operator would want to try to customize.  There are weird syntaxes for conditionals
and other things that are very difficult to work with. 
  
 This is not to knock the developer who built it.  He was really helpful and
took us places we wouldn't have otherwise gone. 
  
 The problem is that WebCit originated in an era when I had no clue how to
build it.  It started as a set of CGI scripts, then evolved into a standalone
web server, it began in the old page-by-page model and then evolved into dynamic
HTML, and all the way it got filled with horrible
constructs both in the code and in the HTML markup it generated.  There's
so much cruft in there to support old browsers with horrible brokenness that
no longer exists. 
  
 That's why webcit-ng exists.  All of the C code supports a REST backend,
and the web side is all client-side javascript.  It feels great and I can't
wait to get back to it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628027</link><pubDate>Sat, 12 Dec 2020 18:54:54 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-493-gde757dff5</title><guid isPermaLink="false">4628027@Uncensored</guid><description><![CDATA[  
 Technical discussion of the last few commits, for anyone interested: 
  
 In "classic" Citadel there were several different address formats: 
  
 1.        Display name 
 2.        Display name @ node 
 3.        Display name <name@domain.com> 
  
 The second format is clearly obsolete now that there is no more CitaNet support.
 Since dialup and UUCP ended years ago, we're now assuming that there's always
going to be the Internet, or at least something using the protocols of the
Internet. 
  
 With the most recent update to the inbox rules handler, I found that some
code paths choke on the first format as well.  It needs an address.  Over
the last year, we've changed things around so that every user has at least
one Internet-format email address even when they don't have or use Internet
email.  It functions exactly the same as the "User Principal Name" in Active
Directory, and is not
fungible.  It will always be <user_name@primary.fqdn.com> even if the user
has a primary email address that is something else. 
  
 This UPN is also the user's address on an XMPP network, and in the future
it will be their address on protocols such as ActivityPub or whatever.  It
gives the code something to chew on when it assumes address format #3 is in
use. 
  
 I've removed the display of "@ node" and "@ node (hnode)" address formats,
because Citadel Server doesn't generate those anymore.  The problem is that
we're now generating all messages in address format #3, even if they are just
local message board posts.  So we're seeing nuisance headers like: 
  
    2020-12-12 18:45 from IGnatius T Foobaz <ignatius_t_foobaz@frobozz.example.com>

  
 I don't want to blast that syntax out at all the users.  So now that the
legacy formats are gone, the next thing to do is suppress the display of
the address or UPN when it isn't needed.  I think that will basically take
the form of, suppress the display of the address portion when the domain is
local. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628011</link><pubDate>Sat, 12 Dec 2020 18:44:16 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-495-g9c0ec0a90</title><guid isPermaLink="false">4628011@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9c0ec0a9024ece83082387bd8a003fb26ed03e89 (commit)
      from  0008163783f3a3b6605813f2db138903450f9ea7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9c0ec0a9024ece83082387bd8a003fb26ed03e89
commit 9c0ec0a9024ece83082387bd8a003fb26ed03e89
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 12 18:44:14 2020 -0500

    Removed 'node' and 'hnode' items from the templates.

-----------------------------------------------------------------------

Summary of changes:
 webcit/static/t/view_blog/comment.html       | 1 -
 webcit/static/t/view_blog/post.html          | 1 -
 webcit/static/t/view_message.html            | 3 +--
 webcit/static/t/view_message/print.html      | 2 +-
 webcit/static/t/view_message/replyquote.html | 2 +-
 5 files changed, 3 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4628000</link><pubDate>Sat, 12 Dec 2020 18:25:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-494-g000816378</title><guid isPermaLink="false">4628000@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0008163783f3a3b6605813f2db138903450f9ea7 (commit)
      from  de757dff5540847c070bd770f735067b89b1f614 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0008163783f3a3b6605813f2db138903450f9ea7
commit 0008163783f3a3b6605813f2db138903450f9ea7
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 12 18:25:51 2020 -0500

    missed a few

-----------------------------------------------------------------------

Summary of changes:
 webcit/messages.h      | 6 ------
 webcit/msg_renderers.c | 3 ---
 2 files changed, 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4627990</link><pubDate>Sat, 12 Dec 2020 17:21:17 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-493-gde757dff5</title><guid isPermaLink="false">4627990@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  de757dff5540847c070bd770f735067b89b1f614 (commit)
      from  7427b76904be76426c2a84c9de80fa48a0e022c8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=de757dff5540847c070bd770f735067b89b1f614
commit de757dff5540847c070bd770f735067b89b1f614
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 12 17:21:16 2020 -0500

    Removed from WebCit Classic all code which handles display of legacy CitaNet node information.  Citadel Server doesn't generate these anymore so there's no point in displaying them.  Still need to remove them from the templates.   This is leading somewhere, so bear with me...

-----------------------------------------------------------------------

Summary of changes:
 webcit/msg_renderers.c | 59 --------------------------------------------------
 1 file changed, 59 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4625727</link><pubDate>Wed, 09 Dec 2020 23:22:22 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-492-g7427b7690</title><guid isPermaLink="false">4625727@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7427b76904be76426c2a84c9de80fa48a0e022c8 (commit)
      from  9030b1a961e910be3a1eb6ca18d4dfa15c30f20a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7427b76904be76426c2a84c9de80fa48a0e022c8
commit 7427b76904be76426c2a84c9de80fa48a0e022c8
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 9 23:22:21 2020 -0500

    In the text client - fixed the logic for determining whether to display the email address of a message author next to their display name.  Since we ALWAYS include at least a UPN now, we were getting superfluous displays of them.  Must fix the same thing in webcit next.

-----------------------------------------------------------------------

Summary of changes:
 textclient/messages.c | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4625715</link><pubDate>Wed, 09 Dec 2020 22:59:47 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-491-g9030b1a96</title><guid isPermaLink="false">4625715@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  9030b1a961e910be3a1eb6ca18d4dfa15c30f20a (commit)
      from  969556bf23ba773ab238b0fae192202d1ac2b1b6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9030b1a961e910be3a1eb6ca18d4dfa15c30f20a
commit 9030b1a961e910be3a1eb6ca18d4dfa15c30f20a
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Dec 9 22:59:46 2020 -0500

    Ugh.  The sloppiness of the code in the text client really reflects how bad I was at this 30+ years ago.

-----------------------------------------------------------------------

Summary of changes:
 textclient/commands.c | 38 ++++++++++++++++----------------------
 textclient/messages.c | 24 ++++++++++++++----------
 2 files changed, 30 insertions(+), 32 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4625698</link><pubDate>Wed, 09 Dec 2020 22:23:45 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-487-g7ac4cd72d</title><guid isPermaLink="false">4625698@Uncensored</guid><description><![CDATA[ >Author: root <root@ellen.local.lan>  
 >Date:   Wed Dec 2 09:36:26 2020 -0500  
 >  
 >    input type="date" here will allow datepicker.js to be eliminated  
 >    and should fall back to type="text" in the few remaining browsers  
 >    that don't support it.  
  
 I'm assuming this is Warren ... could you set your correct name and email
address in your git config please. 
  
 Thanks for the contribution.  I didn't know HTML forms had a built-in date
type now.  I tried this and it worked great, so if datepicker.js is really
no longer needed anywhere else, go ahead and remove it from the build. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4624773</link><pubDate>Tue, 08 Dec 2020 23:13:03 +0500</pubDate><title>RPi/Raspbian and /Files directory</title><guid isPermaLink="false">4624773@Uncensored</guid><description><![CDATA[<html><body>

<p>Wasn't sure if I should put that message in Citadel Support or here. I haven't really looked into it or fixing it - but I think the fix is probably to enable root on the Pi and assign permissions of the /files directory so user accounts and the Citadel service account (bbs/citadel) can access it. Right now, the account Citadel runs under absolutely does *not* have access to /usr/local/citadel/files on the Pi. </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4623735</link><pubDate>Mon, 07 Dec 2020 18:18:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-490-g969556bf2</title><guid isPermaLink="false">4623735@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  969556bf23ba773ab238b0fae192202d1ac2b1b6 (commit)
       via  3fe66fc577d0b6a14939210d8fc34b937b660886 (commit)
      from  1e99d3eab849c3c41341d2d9b055ea7ee6a058a3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=969556bf23ba773ab238b0fae192202d1ac2b1b6
commit 969556bf23ba773ab238b0fae192202d1ac2b1b6
Merge: 3fe66fc57 1e99d3eab
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 6 15:27:01 2020 -0500

    Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit 1e99d3eab849c3c41341d2d9b055ea7ee6a058a3
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 6 15:24:24 2020 -0500

    Removed extra references to thread keys that are not extern

commit 7ac4cd72d5898ac2a0adc08f28f6dde4b41967e4
Author: root <root@ellen.local.lan>
Date:   Wed Dec 2 09:36:26 2020 -0500

    input type="date" here will allow datepicker.js to be eliminated
    and should fall back to type="text" in the few remaining browsers
    that don't support it.

http://code.citadel.org/?p=citadel.git&a=commit&h=3fe66fc577d0b6a14939210d8fc34b937b660886
commit 3fe66fc577d0b6a14939210d8fc34b937b660886
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 6 15:26:58 2020 -0500

    fix to auto generated messages from inbox handler

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4622764</link><pubDate>Sun, 06 Dec 2020 15:24:30 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-488-g1e99d3eab</title><guid isPermaLink="false">4622764@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1e99d3eab849c3c41341d2d9b055ea7ee6a058a3 (commit)
      from  7ac4cd72d5898ac2a0adc08f28f6dde4b41967e4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1e99d3eab849c3c41341d2d9b055ea7ee6a058a3
commit 1e99d3eab849c3c41341d2d9b055ea7ee6a058a3
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Dec 6 15:24:24 2020 -0500

    Removed extra references to thread keys that are not extern

-----------------------------------------------------------------------

Summary of changes:
 citadel/threads.h      | 2 +-
 libcitadel/Makefile.in | 1 +
 webcit/context_loop.c  | 1 -
 webcit/webserver.c     | 1 -
 4 files changed, 2 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4622338</link><pubDate>Sat, 05 Dec 2020 18:42:59 +0500</pubDate><title>Message #4622338</title><guid isPermaLink="false">4622338@Uncensored</guid><description><![CDATA[<html><body>

<p>So, I feel like I’m the model of badly reported issues - but my gift is a dogged determination to force my way through - and in the process I tend to reveal how the documentation could be clearer - and I’m actually pretty good at clarifying the documentation in language that average people understand (e.g., people who don’t code or architect networks for a living). <br /><br /><br />You might find me useful, but the signal to noise ratio will be pretty chatty. <br /><br />The text-client install is an example. You’ve got to really understand permissions, file locations, and the relationship of <br /><br />How you install<br /><br />where you install<br /><br />Where accounts launch programs from. <br /><br />And with Linux, this isn’t as cut and dry as with Windows. There are a hundred different ways it could happen, and as many different locations. I’m still wrapping my mind around this - but my basic problem was not understanding that citadel.rc is critical to the Citadel text client launch
<p> </p>
<p>I’m pretty sure ALL of my issues were Operator Error and not RTFM... But part of it was RTFM but not comprehending what was said. I had the ability to comprehend it - because when the lightbulb lit up, it instantly fixed the problem - it was just that the lightbulb took a long time to warm up and glow. <br /><br />Which isn’t necessarily a documentation problem. It is an *audience* problem. The documentation is written for people who *get it* - but documentation is most successful when people can just follow the steps and succeed, even if they have no idea why. At least, that is my approach, as a Windows career professional. <br /><br /> </p>
<blockquote>
<div class="message_header"><span>Sat Dec 05 2020 13:45:14 EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I've created a private wiki called "Citadel Issue Tracker". It is a hidden room. In the past we've had a terrible record with bug trackers because they tend to fill up with badly reported issues, badly tested issues, and feature requests. So I'm making the audience limited for this one because I only want it to carry two types of issues: <br /><br />1. Issues which have been confirmed and we intend to fix <br /><br />2. Reported issues which look plausible enough to look into (and if confirmed, fix) </div>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4622192</link><pubDate>Sat, 05 Dec 2020 13:45:14 +0500</pubDate><title>Message #4622192</title><guid isPermaLink="false">4622192@Uncensored</guid><description><![CDATA[  
 I've created a private wiki called "Citadel Issue Tracker".  It is a hidden
room.  In the past we've had a terrible record with bug trackers because they
tend to fill up with badly reported issues, badly tested issues, and feature
requests.  So I'm making the audience limited for this one because I only
want it to carry two types of issues: 
  
 1. Issues which have been confirmed and we intend to fix 
  
 2. Reported issues which look plausible enough to look into (and if confirmed,
fix) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4619306</link><pubDate>Wed, 02 Dec 2020 09:40:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-487-g7ac4cd72d</title><guid isPermaLink="false">4619306@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7ac4cd72d5898ac2a0adc08f28f6dde4b41967e4 (commit)
      from  856af9cb4aea1fef52d5060adf215b0ff2dfd304 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7ac4cd72d5898ac2a0adc08f28f6dde4b41967e4
commit 7ac4cd72d5898ac2a0adc08f28f6dde4b41967e4
Author: root <root@ellen.local.lan>
Date:   Wed Dec 2 09:36:26 2020 -0500

    input type="date" here will allow datepicker.js to be eliminated
    and should fall back to type="text" in the few remaining browsers
    that don't support it.

-----------------------------------------------------------------------

Summary of changes:
 webcit/calendar_tools.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4616148</link><pubDate>Sat, 28 Nov 2020 19:24:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-486-g856af9cb4</title><guid isPermaLink="false">4616148@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  856af9cb4aea1fef52d5060adf215b0ff2dfd304 (commit)
      from  59f0f708d0a0e4880a33f45432366efdf6b0ee42 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=856af9cb4aea1fef52d5060adf215b0ff2dfd304
commit 856af9cb4aea1fef52d5060adf215b0ff2dfd304
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 28 19:24:28 2020 -0500

    When comparing the sender, compare both the name and address.

-----------------------------------------------------------------------

Summary of changes:
 citadel/internet_addressing.c                |  1 +
 citadel/modules/inboxrules/serv_inboxrules.c | 40 +++++++++++++++++++++++-----
 citadel/user_ops.c                           |  2 +-
 3 files changed, 36 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4616130</link><pubDate>Sat, 28 Nov 2020 17:58:11 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-485-g59f0f708d</title><guid isPermaLink="false">4616130@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  59f0f708d0a0e4880a33f45432366efdf6b0ee42 (commit)
      from  62f91f8a64498d5dc50419f8db979de2e33229bc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=59f0f708d0a0e4880a33f45432366efdf6b0ee42
commit 59f0f708d0a0e4880a33f45432366efdf6b0ee42
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 28 17:58:10 2020 -0500

    Just a little bit less debug logging

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 23 +++--------------------
 1 file changed, 3 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4616016</link><pubDate>Sat, 28 Nov 2020 14:05:57 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-484-g62f91f8a6</title><guid isPermaLink="false">4616016@Uncensored</guid><description><![CDATA[  
 The above commit should be the final completion of the new libsieve-free
inbox rules handler. 
  
 It probably needs a bit of testing, if anyone has the ability to do so. 
  
 Once this is all buttoned up we can publish a new version of Citadel, which
will also include the fixes to the RSS reader. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4616012</link><pubDate>Sat, 28 Nov 2020 14:04:47 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-484-g62f91f8a6</title><guid isPermaLink="false">4616012@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  62f91f8a64498d5dc50419f8db979de2e33229bc (commit)
      from  e19e7e7532e9bfd621637e21860c1a3a440fc6d4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=62f91f8a64498d5dc50419f8db979de2e33229bc
commit 62f91f8a64498d5dc50419f8db979de2e33229bc
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 28 14:04:46 2020 -0500

    Send a hash of an auto-response to the use table.  This keeps us from spamming the same correspondent with an auto-reply over and over.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 69 +++++++++++++++-------------
 1 file changed, 38 insertions(+), 31 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4615978</link><pubDate>Sat, 28 Nov 2020 13:19:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-483-ge19e7e753</title><guid isPermaLink="false">4615978@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e19e7e7532e9bfd621637e21860c1a3a440fc6d4 (commit)
      from  da4781d94d4d6113879899312ef6e5e3c8b0b9f0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e19e7e7532e9bfd621637e21860c1a3a440fc6d4
commit e19e7e7532e9bfd621637e21860c1a3a440fc6d4
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 28 13:19:00 2020 -0500

    Implemented the 'vacation' action

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 162 ++++++++++-----------------
 1 file changed, 60 insertions(+), 102 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4615941</link><pubDate>Sat, 28 Nov 2020 12:30:27 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-482-gda4781d94</title><guid isPermaLink="false">4615941@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  da4781d94d4d6113879899312ef6e5e3c8b0b9f0 (commit)
      from  5ab9791cc2471acde1d4ca210fcca951eb3354e2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=da4781d94d4d6113879899312ef6e5e3c8b0b9f0
commit da4781d94d4d6113879899312ef6e5e3c8b0b9f0
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 28 12:30:26 2020 -0500

    Record the 'last message processed' in the user record instead of in the inbox config message.  This eliminates any need to rewrite the config

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 129 +++++++++------------------
 1 file changed, 40 insertions(+), 89 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4615887</link><pubDate>Sat, 28 Nov 2020 10:41:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-481-g5ab9791cc</title><guid isPermaLink="false">4615887@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5ab9791cc2471acde1d4ca210fcca951eb3354e2 (commit)
      from  ca77bda5cc8da57789639eb22130df3b92bd8f67 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5ab9791cc2471acde1d4ca210fcca951eb3354e2
commit 5ab9791cc2471acde1d4ca210fcca951eb3354e2
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 28 10:40:13 2020 -0500

    New field in user record "lastproc_inboxrules" which keeps track of the most recent message processed by the inbox rules filter, since we're now going to make the ruleset something that is only written to when the user changes it.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                      | 3 ++-
 citadel/modules/migrate/serv_migrate.c | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4615871</link><pubDate>Sat, 28 Nov 2020 10:10:35 +0500</pubDate><title>Technical note - S_USETABLE database</title><guid isPermaLink="false">4615871@Uncensored</guid><description><![CDATA[<html><body>

<p>This is a quick note about Citadel Server internals that records something which is on my mind today.  It can be digested as a point of interest or converted to technical documentation if anyone is interested.  It revolves around the database table called S_USETABLE, whose format is:</p>
<pre>struct UseTable {
    char ut_msgid[SIZ];
    time_t ut_timestamp;
    };
</pre>
<p>What is the purpose of this seemingly innocuous list of what appears to be message IDs and time stamps?</p>
<p>It originated in the dialup era, when Citadel sites syndicated rooms by relaying messages from node to node.  In a densely peered network, if the same message arrived through more than one path, it was important to record the message in the database only once.  The first arrival of a message would record its identity in the Use Table, with a message ID like "12345@uncnsrd" along with the date and time.  If the same message arrived via another route, the message would be silently dropped, but the timestamp would be updated.  After a period of time (10 days in the current implementation), it is assumed that the message has made its way through the network, and the record is purged.</p>
<p>This heuristic is neatly composed by a single function CheckIfAlreadySeen() which is supplied the ID of a message, and returns a nonzero value if the ID is already in the database, zero if it is newly seen.  Either way, the current date and time are written to the table.  But why is it still there, when Citadel room sharing is a thing of the past?</p>
<p>Well, it turns out this is a very useful and simple way of ensuring that <em>any</em> event happens only once.  The RSS reader uses it to make sure we don't keep posting the same item from some remote feed over and over, for example:</p>
<pre>StrBufAppendPrintf(u, "rss/%s", r-&gt;item_id);
int already_seen = CheckIfAlreadySeen(u);
</pre>
<p>And the POP3 client uses it to ensure that if we are downloading the contents of a remote mailbox somewhere, that we download each message only once:</p>
<pre>StrBufPrintf(UT, "pop3/%s/%s:%s@%s", room, oneuidl, user, host);
int already_seen = CheckIfAlreadySeen(UT);
</pre>
<p>The reason I'm writing about the Use Table today is because I just thought of another place to use it.  We are currently overhauling our "inbox rules" module, and one job of the inbox rules handler is to send out auto-responder messages when a user requests that action.  But we don't want to keep sending out auto-responses over and over again, only once per recipient.  In the old code we did this by recording the email address of each correspondent to whom we sent the message, along with a datestamp, <em>directly in the inbox rules record</em> for the user.  This required rewriting the ruleset over and over again.   Clearly, this is a job better suited to the Use Table.  All we have to do is make up a hash of the local user's identity, the email address of the correspondent, and perhaps a hash of the outbound auto-response so that the record can be invalidated if the message changes.  This goes into the Use Table, <em>et voilà</em>, the auto-response only goes out once per recipient.  If a part
<p>This "feels" a lot better than the old implementation, and I'm quite happy with it.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4615856</link><pubDate>Sat, 28 Nov 2020 09:57:46 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-480-gca77bda5c</title><guid isPermaLink="false">4615856@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ca77bda5cc8da57789639eb22130df3b92bd8f67 (commit)
      from  7cf08e0c9b7b30b948b4f16e71676d6fddbee9b7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ca77bda5cc8da57789639eb22130df3b92bd8f67
commit ca77bda5cc8da57789639eb22130df3b92bd8f67
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 28 09:57:45 2020 -0500

    Removed unused RSEN server command

-----------------------------------------------------------------------

Summary of changes:
 citadel/database.c | 44 +-------------------------------------------
 1 file changed, 1 insertion(+), 43 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4615478</link><pubDate>Fri, 27 Nov 2020 13:04:40 +0500</pubDate><title>Re: Subject lines</title><guid isPermaLink="false">4615478@Uncensored</guid><description><![CDATA[<html><body>

<p>Awesome!  </p>
<blockquote>
<div class="message_header"><span>Sun Nov 22 2020 10:26:32 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Subject lines</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>2020-11-22 00:42 from rss <br />Subject: buntu 20.04 <br />In this article, we’ll discuss how to install Flask on Ubuntu <br />20.04 inside a Python virtual environment. <br /><br />https://linuxize.com/post/how-to-install-flask-on-ubuntu-20-04/ <br /><br /></blockquote>
<br /><br />See that? The subject is cut way off. I've been seeing these forever. It works properly in the new code. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4614918</link><pubDate>Thu, 26 Nov 2020 23:39:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-479-g7cf08e0c9</title><guid isPermaLink="false">4614918@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7cf08e0c9b7b30b948b4f16e71676d6fddbee9b7 (commit)
      from  2a3cf0f17c573862e8fdfe944b7f5d7bb34204c3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7cf08e0c9b7b30b948b4f16e71676d6fddbee9b7
commit 7cf08e0c9b7b30b948b4f16e71676d6fddbee9b7
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Nov 26 23:39:31 2020 -0500

    This may be the completion of the rewrite bits.  Need to test more.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 288 ++++++++++-----------------
 citadel/server.h                             |   1 -
 2 files changed, 107 insertions(+), 182 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4613958</link><pubDate>Wed, 25 Nov 2020 17:01:08 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-478-g2a3cf0f17</title><guid isPermaLink="false">4613958@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2a3cf0f17c573862e8fdfe944b7f5d7bb34204c3 (commit)
      from  e4e2ab4310ab59625adf08b780a491662c3fb728 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2a3cf0f17c573862e8fdfe944b7f5d7bb34204c3
commit 2a3cf0f17c573862e8fdfe944b7f5d7bb34204c3
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Nov 25 17:01:08 2020 -0500

    inbox_do_reject() does not need to return a value, the message is always deleted

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 25 ++++++-------------------
 1 file changed, 6 insertions(+), 19 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4612757</link><pubDate>Tue, 24 Nov 2020 11:13:27 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-477-ge4e2ab431</title><guid isPermaLink="false">4612757@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e4e2ab4310ab59625adf08b780a491662c3fb728 (commit)
      from  3e3d366690484abc245188f83e8593f713e4bd8b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e4e2ab4310ab59625adf08b780a491662c3fb728
commit e4e2ab4310ab59625adf08b780a491662c3fb728
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Nov 24 11:13:26 2020 -0500

    completed the 'redirect' action

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 76 ++++++++++++++--------------
 1 file changed, 39 insertions(+), 37 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4611335</link><pubDate>Sun, 22 Nov 2020 23:04:12 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-476-g3e3d36669</title><guid isPermaLink="false">4611335@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3e3d366690484abc245188f83e8593f713e4bd8b (commit)
      from  889198653b977069989d747d195c1f32e4a70a88 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3e3d366690484abc245188f83e8593f713e4bd8b
commit 3e3d366690484abc245188f83e8593f713e4bd8b
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 22 23:04:10 2020 -0500

    There is no tabs vs. spaces debate.  There are only tab users and communists.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 53 +++++++++-------------------
 1 file changed, 17 insertions(+), 36 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4611329</link><pubDate>Sun, 22 Nov 2020 22:50:56 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-475-g889198653</title><guid isPermaLink="false">4611329@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  889198653b977069989d747d195c1f32e4a70a88 (commit)
      from  88d45806955e873f6e7f9883b7caa202b9f26666 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=889198653b977069989d747d195c1f32e4a70a88
commit 889198653b977069989d747d195c1f32e4a70a88
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 22 22:50:56 2020 -0500

    Completed the 'fileinto' action

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 118 +++++++++++++--------------
 1 file changed, 56 insertions(+), 62 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4611320</link><pubDate>Sun, 22 Nov 2020 22:26:32 +0500</pubDate><title>Re: Subject lines</title><guid isPermaLink="false">4611320@Uncensored</guid><description><![CDATA[ > 2020-11-22 00:42 from rss     
 >Subject: buntu 20.04    
 >In this article, we’ll discuss how to install Flask on Ubuntu    
 >20.04 inside a Python virtual environment.    
 >    
 > https://linuxize.com/post/how-to-install-flask-on-ubuntu-20-04/    
 >    
    
  
 See that?  The subject is cut way off.  I've been seeing these forever. 
It works properly in the new code. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4611315</link><pubDate>Sun, 22 Nov 2020 22:20:01 +0500</pubDate><title>Re: Subject lines</title><guid isPermaLink="false">4611315@Uncensored</guid><description><![CDATA[ >I don't have it up here in front of me, but there is the section that if
one  
 >is empty, the other is populated. That may have dredged up things we never
 
 >knew existed.    
  
 Right.  I believe I have fixed that. 
  
 Somewhere along the line, another developer made struct CtdlMessage a bit
more opaque, and added methods to set/clear/read fields and keep track of
the length of each field.  In the RSS parser I was manipulating those fields
directly with functions like striplt() which messed up the buffer sizes, among
other things. 
  
 While adding proper RFC2047 encoding, I fixed that problem too.  So it's
worth testing again.  You just can't put the fix into production yet because
the build is broken in other places while I finish the new inbox rules system.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4611253</link><pubDate>Sun, 22 Nov 2020 18:38:13 +0500</pubDate><title>Re: Subject lines</title><guid isPermaLink="false">4611253@Uncensored</guid><description><![CDATA[<html><body>

<p>No, it's nothing to do with the latest commit.  I probably fell behind in that conversation .. what I'm saying is..</p>
<p>Based on my testing of various popular Russian/International RSS feeds, it is possible there can be any kind of junk in not only the Subject Line, but also Author/Creator fields.  I've seen, at minimum, plenty of html showing up in the From: header through room messages created by rss.  It is not always complete, usually with the opening tag, and some additional text (probably up to the closing tag.) </p>
<p>I don't have it up here in front of me, but there is the section that if one is empty, the other is populated. That may have dredged up things we never knew existed.</p>
<p>The other comment was likely cryptic as well.  I was offering the opinion that It makes no difference to me if Author/Creator is filled out.  It could and maybe should be hard-coded as simply "rss" since it's technically not a deliverable address anyway, and it's unlikely someone would reply directly to it as though to contact the author, without looking at the content, or visiting the link first.  No big deal, just my .02.. </p>
<p>But, one small request of mine is, while you're in there .. can you add a log line so we can see why some feeds silently fail? </p>
<p>I had started working on that, but was not that familiar with how to bubble it up from expat. If not, I'll get to it eventually. </p>
<p>Thanks, and sorry for any misunderstanding. </p>
<p>:)</p>
<blockquote>
<div class="message_header"><span>Thu Nov 19 2020 11:01:12 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Subject lines</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>There is all kinds of junk in those subject lines.. even CDATA.  Also</blockquote>
<br />Are you making this observation from an audit and/or test of the latest commit, or from what is on Uncensored? I'm not *running* the fixed code yet because there is another part of the build that is broken. When I finish the new inbox rule parser I'll publish it all at once. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4611210</link><pubDate>Sun, 22 Nov 2020 17:15:03 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-474-g88d458069</title><guid isPermaLink="false">4611210@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  88d45806955e873f6e7f9883b7caa202b9f26666 (commit)
      from  af2c648746ff71aa5e2330e1b040202f6982d5c5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=88d45806955e873f6e7f9883b7caa202b9f26666
commit 88d45806955e873f6e7f9883b7caa202b9f26666
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 22 17:15:02 2020 -0500

    Action functions will return a keep or delete instruction

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 55 ++++------------------------
 1 file changed, 7 insertions(+), 48 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4611193</link><pubDate>Sun, 22 Nov 2020 16:59:53 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-473-gaf2c64874</title><guid isPermaLink="false">4611193@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  af2c648746ff71aa5e2330e1b040202f6982d5c5 (commit)
      from  c841c74f186ffa12e99b0d4febe46b019cce5413 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=af2c648746ff71aa5e2330e1b040202f6982d5c5
commit af2c648746ff71aa5e2330e1b040202f6982d5c5
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 22 16:59:52 2020 -0500

    When appropriate, delete the message from the inbox after processing rules.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4610887</link><pubDate>Sun, 22 Nov 2020 14:56:54 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-472-gc841c74f1</title><guid isPermaLink="false">4610887@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c841c74f186ffa12e99b0d4febe46b019cce5413 (commit)
      from  fcaaad07b7bef6924a2d7150bc7839571d207111 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c841c74f186ffa12e99b0d4febe46b019cce5413
commit c841c74f186ffa12e99b0d4febe46b019cce5413
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 22 14:56:53 2020 -0500

    meaningless shuffle of parentheses

-----------------------------------------------------------------------

Summary of changes:
 citadel/msgbase.c | 67 ++++++++++++++++++++++---------------------------------
 1 file changed, 27 insertions(+), 40 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4610628</link><pubDate>Sun, 22 Nov 2020 01:28:31 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-471-gfcaaad07b</title><guid isPermaLink="false">4610628@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  fcaaad07b7bef6924a2d7150bc7839571d207111 (commit)
      from  794627693cd53c3be8d84783feaf01b9f1475029 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=fcaaad07b7bef6924a2d7150bc7839571d207111
commit fcaaad07b7bef6924a2d7150bc7839571d207111
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 22 01:28:30 2020 -0500

    Decided not to attempt normalizing the parameters to action functions

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4610597</link><pubDate>Sun, 22 Nov 2020 00:32:02 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-470-g794627693</title><guid isPermaLink="false">4610597@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  794627693cd53c3be8d84783feaf01b9f1475029 (commit)
      from  8302fc6323a2770c307c2ec1a0ffac87c27798ac (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=794627693cd53c3be8d84783feaf01b9f1475029
commit 794627693cd53c3be8d84783feaf01b9f1475029
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 22 00:32:02 2020 -0500

    Completed the code for the 'reject' action

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 97 +++++++++++++++-------------
 1 file changed, 53 insertions(+), 44 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4609786</link><pubDate>Sat, 21 Nov 2020 15:14:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-469-g8302fc632</title><guid isPermaLink="false">4609786@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  8302fc6323a2770c307c2ec1a0ffac87c27798ac (commit)
      from  d440d10bb2f51f9f9cfb24e40fd344c9192e38e2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=8302fc6323a2770c307c2ec1a0ffac87c27798ac
commit 8302fc6323a2770c307c2ec1a0ffac87c27798ac
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 21 15:14:04 2020 -0500

    Implemented keep_message flag to determine whether to keep or delete the copy of a message that is still in the inbox after rules processing

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4608483</link><pubDate>Fri, 20 Nov 2020 00:32:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-468-gd440d10bb</title><guid isPermaLink="false">4608483@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  d440d10bb2f51f9f9cfb24e40fd344c9192e38e2 (commit)
      from  ab00850fcda3445d6efaa934bcb2a09131ff63d0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d440d10bb2f51f9f9cfb24e40fd344c9192e38e2
commit d440d10bb2f51f9f9cfb24e40fd344c9192e38e2
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 20 00:32:25 2020 -0500

    fleshed out the actions in pseudocode

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 32 +++++++++++++++++++++-------
 1 file changed, 24 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4608468</link><pubDate>Fri, 20 Nov 2020 00:20:25 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-467-gab00850fc</title><guid isPermaLink="false">4608468@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ab00850fcda3445d6efaa934bcb2a09131ff63d0 (commit)
      from  766c607da4a0ae726dfbfd914c198dff535545df (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ab00850fcda3445d6efaa934bcb2a09131ff63d0
commit ab00850fcda3445d6efaa934bcb2a09131ff63d0
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Nov 20 00:20:24 2020 -0500

    Implemented the 'stop' final action

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 280 ++-------------------------
 1 file changed, 16 insertions(+), 264 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4608387</link><pubDate>Thu, 19 Nov 2020 09:13:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-466-g766c607da</title><guid isPermaLink="false">4608387@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  766c607da4a0ae726dfbfd914c198dff535545df (commit)
      from  0e8408b7b5d0f174afca050f00ce3d3028a09af7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=766c607da4a0ae726dfbfd914c198dff535545df
commit 766c607da4a0ae726dfbfd914c198dff535545df
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Nov 19 09:12:56 2020 -0500

    Field comparison code is functionally complete

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 57 +++++++++++-----------------
 1 file changed, 22 insertions(+), 35 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4608350</link><pubDate>Sun, 15 Nov 2020 21:57:43 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-465-g0e8408b7b</title><guid isPermaLink="false">4608350@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0e8408b7b5d0f174afca050f00ce3d3028a09af7 (commit)
      from  2293ac9d984d2cad7718d22c10349610d3e86741 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0e8408b7b5d0f174afca050f00ce3d3028a09af7
commit 0e8408b7b5d0f174afca050f00ce3d3028a09af7
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 15 21:57:39 2020 -0500

    filled out some of the field comparison code

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 42 ++++++++++++++++++----------
 1 file changed, 28 insertions(+), 14 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4608349</link><pubDate>Sun, 15 Nov 2020 18:58:58 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-464-g2293ac9d9</title><guid isPermaLink="false">4608349@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2293ac9d984d2cad7718d22c10349610d3e86741 (commit)
      from  97812f00652c44ac174a4ec2a3e17e94863c8bbe (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2293ac9d984d2cad7718d22c10349610d3e86741
commit 2293ac9d984d2cad7718d22c10349610d3e86741
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 15 18:58:54 2020 -0500

    Fixed an edge case that could crash the server from a malformed message

-----------------------------------------------------------------------

Summary of changes:
 citadel/msgbase.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4608348</link><pubDate>Sun, 15 Nov 2020 16:33:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-463-g97812f006</title><guid isPermaLink="false">4608348@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  97812f00652c44ac174a4ec2a3e17e94863c8bbe (commit)
      from  175de9b09446460c4572117c9685ed7e4df14810 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=97812f00652c44ac174a4ec2a3e17e94863c8bbe
commit 97812f00652c44ac174a4ec2a3e17e94863c8bbe
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 15 16:32:56 2020 -0500

    msgbase.c: some of the field conversion buffer fields were too small, increased them from 100 bytes to 1024 bytes to handle messages converted from RFC822 or RSS.

-----------------------------------------------------------------------

Summary of changes:
 citadel/msgbase.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4608347</link><pubDate>Sun, 15 Nov 2020 16:11:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-462-g175de9b09</title><guid isPermaLink="false">4608347@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  175de9b09446460c4572117c9685ed7e4df14810 (commit)
      from  c60594cc03ecbac2a47863b7d09c9c67913c2817 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=175de9b09446460c4572117c9685ed7e4df14810
commit 175de9b09446460c4572117c9685ed7e4df14810
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 15 16:11:15 2020 -0500

    serv_rssclient.c: RFC2047-encode fields where needed

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/rssclient/serv_rssclient.c | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4608307</link><pubDate>Thu, 19 Nov 2020 23:01:12 +0500</pubDate><title>Re: Subject lines</title><guid isPermaLink="false">4608307@Uncensored</guid><description><![CDATA[ >There is all kinds of junk in those subject lines.. even CDATA.  Also 

 >"Author/Creator". I think the Author/Creator code should be revisited...
   
  
 Are you making this observation from an audit and/or test of the latest commit,
or from what is on Uncensored?  I'm not *running* the fixed code yet because
there is another part of the build that is broken.  When I finish the new
inbox rule parser I'll publish it all at once. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4607905</link><pubDate>Thu, 19 Nov 2020 11:17:31 +0500</pubDate><title>A keep source option for easyinstall..</title><guid isPermaLink="false">4607905@Uncensored</guid><description><![CDATA[<html><body>

<p>Attached for consideration is a minor addition to easyinstall..</p>
<p>-k or --keep  Keep (retain) sources in /usr/src</p>
<p>Diff is attached.  I think this (or something like it) would be helpful for growing the installed base of Citadel source code.</p>
<p>It certainly makes it easy to build.  Anytime after installation..</p>
<pre>
cd /usr/src/citadel-build-xxxx
# edit some files..
make upgrade
make install
</pre>
<p>I'm going to post it in support for anybody who wants take a stab at fixing/changing things.</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4607897</link><pubDate>Thu, 19 Nov 2020 11:08:58 +0500</pubDate><title>Subject lines</title><guid isPermaLink="false">4607897@Uncensored</guid><description><![CDATA[<html><body>

<p>There is all kinds of junk in those subject lines.. even CDATA.  Also "Author/Creator". I think the Author/Creator code should be revisited...</p>
<p>I'm not sure why those email addresses show up as bobsmith@someorg.citadelhost .. but they are always clearly undeliverable. Is that part of a standard somewhere? Neither is rss@host which creates a link to basically nothing in webcit. </p>
<p>If it isn't clearly a deliverable email address, my thought is it should be left out, or standardized to 'rss-subsystem-do-not-reply@'.fqdn</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Nov 15 2020 03:55:35 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Regarding the proper RFC 2047 encoding of Subject and other lines in RSS feeds... <br /><br />I saw the "fixed_01" version of serv_rssclient.c and I don't understand why it makes calls to html_to_ascii. HTML is not allowed in subject fields, is it? <br /><br />I fixed the problem (or at least I think I did) with just the following code: <br /><br />else if (!strcasecmp(el, "title")) { // item subject (rss and atom) <br />if ((r-&gt;msg != NULL) &amp;&amp; (CM_IsEmpty(r-&gt;msg, eMsgSubject))) { <br />//CM_SetField(r-&gt;msg, eMsgSubject, ChrPtr(r-&gt;CData), StrLength(r-&gt;CData)); <br />StrBuf *encoded_field = NewStrBuf(); <br />StrBufRFC2047encode(&amp;encoded_field, r-&gt;CData); <br />CM_SetAsFieldSB(r-&gt;msg, eMsgSubject, &amp;encoded_field); <br />} <br />} <br /><br />(Excuse the formatting, please). So basically that one line that is commented out is replaced with the following three lines, which RFC2047-encode the field before saving it. Leading and trailing whites
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4604251</link><pubDate>Sun, 15 Nov 2020 16:45:21 +0500</pubDate><title>re: &quot;like&quot;, &quot;upvote&quot;, and other features...</title><guid isPermaLink="false">4604251@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Sun Nov 15 2020 13:11:47 EST</span> <span>from warbaby @ Uncensored </span> <span class="message_subject">Subject: re: "like", "upvote", and other features...</span></div>
<div class="message_content">
<p>You raise some good issues, and I don't think 'liking' or 'voting', goes against anybodies sacred beliefs. Some conversations lend themselves things like that. </p>
<p>[I myself was thinking recently, Citadel could use some a project management feature.. &lt;project&gt;&lt;task&gt;&lt;status&gt; .. so, I thought about writing a new module for that.  Then I though we should have better examples of writing modules, in case people want to write one, so then we're just back to the documentation project. :) ]</p>
<p>The goal is freedom and free speech, not necessarily for or against features.</p>
<p>There's nothing wrong in wanting something more like twitter, or facebook to create a community.  Citadel in fact, even has the largely unused feature of message expiration, which can allow it to be configured to be more ephemeral like reddit, or 4chan where posts expire and disappear (or get archived) over time. With relatively little effort, you could turn Webcit into a 4chan clone..</p>
<p>The question of votes/likes is who would write it, and where would it be implemented.  In Citadel itself, it would require a key/keys to store votes/likes under, and a sorting function for messages which doesn't exist yet, and some additions to the webcit interface.  How far do you want to take it?  All the way to the text client?  Then that also would need to be updated.</p>
<p>It's also something that can be done in other client systems, and I think that's where things are headed.  Through things that connects to Citadel through a protocol, or API, or something that Citadel exposes as a feed.</p>
<p>There are a lot of interesting questions which should be discussed. There will always be a feature du-jour.  But, how true should Citadel stay to it's origin?  It was a simple text-based bulletin board, which later developed the ability to send emails.  But true to the unix design philosophy over the years, the Citadel project has been open to integration with many different kinds of systems.. hence the "Groupware" appellation. Therefore, when we talk about these things, we should be thinking about the lower-level architecture, and what belongs in Citadel, and what can be handled by a connector.</p>
<p>For many installations, Citadel is just a mail server. A great deal of effort has gone into that, and we should respect it.  There should always be a path for someone to quickly build a mail server from the command line. There are many of these in use for both business and personal needs.. Any differentiation here could be reflected as "Themes".. (currently, files in static, or static.local) For a Business/Personal or Community look and features. This is almost a must, and something I'm currently working on.</p>
<p>I'm thinking more and more, Citadel has the potential to be the powerhouse back end for many different things.  What we really need work on is the json/javascript API, and the various "diaspora" protocols. PubSub/Activity Feed and things like that, as Art has pointed out.  Citadel itself is largely okay.  But the growing scarcity of c programmers is going to make the addition of features like this hard to accomplish.  If anything, we need more convenience methods or a scripting language.  Citadel is lacking in middle-ware to implement business logic outside of the core. </p>
<p>I have a lot of thoughts about this, possibly an nginx-citadel module, that lets you implement things in Lua, or php or something.   Maybe just a library of convenience wrappers to make the C more accessible to less experienced programmers.</p>
<p>We also don't have to mistake Webcit for Citadel.  There are so many things which can be done.  It's just a matter of understanding whether we are inside, or outside.  [By this I mean things like static site generators, to generate websites based on a whole system, or user/blog posts, by just iterating through blog posts and writing them out somewhere. ]</p>
<p>Also, XMPP Integrations shouldn't be overlooked.  It ain't perfect as protocol, but still has a lot going for it.  Mainly lots of users and clients.  </p>
<p>One way would be to expose Citadel (Rooms) as a Component (MUC Component) as an option to using the internal XMPP server.  This would open the door for a lot of cool things, like phone calls, and video conferencing, without the hassle of keeping up with XMPP and rewriting erlang or lua code in C, since there are already mature XMPP servers out there..</p>
<p>The Tech Giants have shown their desire and ability to censor, so it's all hands to the battle stations.  It's time for the Federation of all free systems..</p>
<p>Feel free to jump in, get involved, and help out.</p>
<p>Also, don't underestimate your programming ability until you've actually tried.  If you've programming anything, it's probably not beyond you. </p>
<p>Mostly it's just an investment of time..</p>
<blockquote>
<div class="message_header"> </div>
<div class="message_content"><br /><br /></div>
</blockquote>
<p>I'm actually an original old school Citadel user. I would prefer it to be *just* like an original text based Citadel experience. But I'm a realist. The reason that this kind of BBS experience died out is because it is difficult to compete with modern forums, even Usenet - for mindshare. The ironic thing is that Citadel started out as an attempt to create a room based MUD style fantasy gaming experience - and instead found a niche as a conversation-forum based telecommunications platform. That in turn caused a cascade of evolution - with many Citadel users being early adopters of Usenet, then forums like The Well, and eventually among the earliest adopters of emerging social media platforms like MySpace, Digg, Facebook and Twitter. <br /><br />And like personal electronic devices - as the experience became more accessible with fewer barriers to entry, less thought required in being an engaged part of the community, those communities grew. So, the goal in being a sysop of a bulletin board system is to crea
<p> </p>
</div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4604227</link><pubDate>Sun, 15 Nov 2020 15:55:35 +0500</pubDate><title>Message #4604227</title><guid isPermaLink="false">4604227@Uncensored</guid><description><![CDATA[  
 Regarding the proper RFC 2047 encoding of Subject and other lines in RSS
feeds... 
  
 I saw the "fixed_01" version of serv_rssclient.c and I don't understand why
it makes calls to html_to_ascii.   HTML is not allowed in subject fields,
is it? 
  
 I fixed the problem (or at least I think I did) with just the following code:

  
 else if (!strcasecmp(el, "title")) {                    // item subject (rss
and atom) 
 if ((r->msg != NULL) && (CM_IsEmpty(r->msg, eMsgSubject))) { 
 //CM_SetField(r->msg, eMsgSubject, ChrPtr(r->CData), StrLength(r->CData));

 StrBuf *encoded_field = NewStrBuf(); 
 StrBufRFC2047encode(&encoded_field, r->CData); 
 CM_SetAsFieldSB(r->msg, eMsgSubject, &encoded_field); 
 } 
 } 
  
 (Excuse the formatting, please).   So basically that one line that is commented
out is replaced with the following three lines, which RFC2047-encode the field
before saving it.   Leading
and trailing whitespace are now stripped elsewhere, so it doesn't have to
be done here. 
  
 I'm committing this change so please let me know if I'm missing something.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4604159</link><pubDate>Sun, 15 Nov 2020 13:11:47 +0500</pubDate><title>re: &quot;like&quot;, &quot;upvote&quot;, and other features...</title><guid isPermaLink="false">4604159@Uncensored</guid><description><![CDATA[<html><body>

<p>You raise some good issues, and I don't think 'liking' or 'voting', goes against anybodies sacred beliefs. Some conversations lend themselves things like that. </p>
<p>[I myself was thinking recently, Citadel could use some a project management feature.. &lt;project&gt;&lt;task&gt;&lt;status&gt; .. so, I thought about writing a new module for that.  Then I though we should have better examples of writing modules, in case people want to write one, so then we're just back to the documentation project. :) ]</p>
<p>The goal is freedom and free speech, not necessarily for or against features.</p>
<p>There's nothing wrong in wanting something more like twitter, or facebook to create a community.  Citadel in fact, even has the largely unused feature of message expiration, which can allow it to be configured to be more ephemeral like reddit, or 4chan where posts expire and disappear (or get archived) over time. With relatively little effort, you could turn Webcit into a 4chan clone.. </p>
<p>The question of votes/likes is who would write it, and where would it be implemented.  In Citadel itself, it would require a key/keys to store votes/likes under, and a sorting function for messages which doesn't exist yet, and some additions to the webcit interface.  How far do you want to take it?  All the way to the text client?  Then that also would need to be updated. </p>
<p>It's also something that can be done in other client systems, and I think that's where things are headed.  Through things that connects to Citadel through a protocol, or API, or something that Citadel exposes as a feed. </p>
<p>There are a lot of interesting questions which should be discussed. There will always be a feature du-jour.  But, how true should Citadel stay to it's origin?  It was a simple text-based bulletin board, which later developed the ability to send emails.  But true to the unix design philosophy over the years, the Citadel project has been open to integration with many different kinds of systems.. hence the "Groupware" appellation. Therefore, when we talk about these things, we should be thinking about the lower-level architecture, and what belongs in Citadel, and what can be handled by a connector. </p>
<p>For many installations, Citadel is just a mail server. A great deal of effort has gone into that, and we should respect it.  There should always be a path for someone to quickly build a mail server from the command line. There are many of these in use for both business and personal needs.. Any differentiation here could be reflected as "Themes".. (currently, files in static, or static.local) For a Business/Personal or Community look and features. This is almost a must, and something I'm currently working on. </p>
<p>I'm thinking more and more, Citadel has the potential to be the powerhouse back end for many different things.  What we really need work on is the json/javascript API, and the various "diaspora" protocols. PubSub/Activity Feed and things like that, as Art has pointed out.  Citadel itself is largely okay.  But the growing scarcity of c programmers is going to make the addition of features like this hard to accomplish.  If anything, we need more convenience methods or a scripting language.  Citadel is lacking in middle-ware to implement business logic outside of the core. </p>
<p>I have a lot of thoughts about this, possibly an nginx-citadel module, that lets you implement things in Lua, or php or something.   Maybe just a library of convenience wrappers to make the C more accessible to less experienced programmers. </p>
<p>We also don't have to mistake Webcit for Citadel.  There are so many things which can be done.  It's just a matter of understanding whether we are inside, or outside.  [By this I mean things like static site generators, to generate websites based on a whole system, or user/blog posts, by just iterating through blog posts and writing them out somewhere. ]</p>
<p>Also, XMPP Integrations shouldn't be overlooked.  It ain't perfect as protocol, but still has a lot going for it.  Mainly lots of users and clients.  </p>
<p>One way would be to expose Citadel (Rooms) as a Component (MUC Component) as an option to using the internal XMPP server.  This would open the door for a lot of cool things, like phone calls, and video conferencing, without the hassle of keeping up with XMPP and rewriting erlang or lua code in C, since there are already mature XMPP servers out there.. </p>
<p>The Tech Giants have shown their desire and ability to censor, so it's all hands to the battle stations.  It's time for the Federation of all free systems..</p>
<p>Feel free to jump in, get involved, and help out. </p>
<p>Also, don't underestimate your programming ability until you've actually tried.  If you've programming anything, it's probably not beyond you. </p>
<p>Mostly it's just an investment of time..</p>
<blockquote>
<div class="message_header"><span>Tue Nov 10 2020 11:12:52 AM EST</span> <span>from ParanoidDelusions @ Uncensored </span></div>
<div class="message_content">
<p>I know you're going to hate this suggestion, that it is difficult or impossible to implement, and it makes Citadel *closer* to what you're trying to get away from  - but I think if it could happen - it would generate more traffic and encourage more repeat traffic. <br /><br />First - the ability to "like" posts. I know... I know... but what happens with likes is it encourages lurkers to interact. They don't have to say anything, but they can go, "I agree with this post," or "I like what this post is saying," without going through making a whole post to say, "Yeah... what he said..." <br /><br />Second, it encourages content producers to create more content. Often, if I get several likes on a post, I'll expand on my original post, and that creates a positive feedback loop where I post more. Often, that will get people who agree to speak up and elaborate on their read of my post, stimulating conversation. Or, people will see the post getting likes, disagree, and feel like they have to speak up their oppo
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4604064</link><pubDate>Sun, 15 Nov 2020 10:27:47 +0500</pubDate><title>Re: Missing space in subject line patch - Use this instead..</title><guid isPermaLink="false">4604064@Uncensored</guid><description><![CDATA[<html><body>

<p>Just saw this.. guess I'm going to have to setup IMAP again.. </p>
<blockquote>
<div class="message_header"><span>Mon Nov 02 2020 01:51:37 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Missing space in subject line patch - Use this instead..</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">You have write access to the repository. If the fix is well tested, go ahead and put it in. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4599735</link><pubDate>Tue, 10 Nov 2020 11:12:52 +0500</pubDate><title>Message #4599735</title><guid isPermaLink="false">4599735@Uncensored</guid><description><![CDATA[<html><body>

<p>I know you're going to hate this suggestion, that it is difficult or impossible to implement, and it makes Citadel *closer* to what you're trying to get away from  - but I think if it could happen - it would generate more traffic and encourage more repeat traffic. <br /><br />First - the ability to "like" posts. I know... I know... but what happens with likes is it encourages lurkers to interact. They don't have to say anything, but they can go, "I agree with this post," or "I like what this post is saying," without going through making a whole post to say, "Yeah... what he said..." <br /><br />Second, it encourages content producers to create more content. Often, if I get several likes on a post, I'll expand on my original post, and that creates a positive feedback loop where I post more. Often, that will get people who agree to speak up and elaborate on their read of my post, stimulating conversation. Or, people will see the post getting likes, disagree, and feel like they have to speak up their oppo
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4598975</link><pubDate>Mon, 09 Nov 2020 18:39:44 +0500</pubDate><title>Re: Citadel room sharing</title><guid isPermaLink="false">4598975@Uncensored</guid><description><![CDATA[<html><body>

<p>Here is what multiple, single user dialup BBSs with different user-bases used to provide... <br /><br />Volume of content. I called Earl's Castle, and once I was done there, I hung up and I called Omni BBS, then the Rubber Crutch, then I logged into my own BBS... and I repeated that throughout the day. Call, no new messages, hang up, try the next one. <br /><br />Facebook and Twitter consolidate all of that. You can hardly EVER get enough content. There is always something to occupy your time, to idle away moments when you can be productive. Citadels had moments of peace and moments of war - but the flames are ALWAYS burning somewhere on Facebook or Twitter, if you are itching to flex your mental acuity and prove the other guy is a complete moron... <br /><br />Shared rooms and messages help with that - by creating volume of content. But, what we need it contributing content creators. Facebook has funneled people like myself, who create content voraciously, away from BBS and message forums. I have a ci
<p><br /><br /><br /><br /></p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4597928</link><pubDate>Sun, 08 Nov 2020 16:28:34 +0500</pubDate><title>Re: Citadel room sharing</title><guid isPermaLink="false">4597928@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Sep 08 2020 09:00:50 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Citadel room sharing</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Believe me, I get it. An exodus from the big sites is exactly what I want. <br />Facebook and Twitter are cancer on the Internet and must be eradicated. Recently I've begun thinking that the failure of our largest cities is the exact same thing happening in meatspace, and what we really want is to be able to work the same way we did in cities while living in small towns where you know your neighbors, and your community is people you meet at the barber shop and at church and in the bowling league. This is what we want online too, and Citadel will be uniquely positioned to ride that wave if and when it happens. </div>
</div>
</blockquote>
<p>Absolutely agree, and was having a conversation with a guy at work about just this concept - that smaller communities have more freedom, and far fewer of the problems that big cities are starting to display. <br /><br />As it relates to Citadel Room sharing - or BBS room sharing in general - I've always found that it doesn't do much except give more "burner content," you can read to pass time. It creates an illusion of more activity than actually exists - and some people get involved with it - but for the most part... a BBS is a community itself. It tends to attract a group of like-minded people to the Sysop and/or Aides. They develop their own culture and norms. "Citadelphians," tend to think of all of us, what every Citadel community we are part of, as Citadephians - unique and with common understandings of our community. But the different regional Citadel communities have ALWAYS been pretty exclusively defined by that region. I'm part of Sacramento Citadelphia - and we're different than the other Cita
<p><br /><br /></p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4595191</link><pubDate>Mon, 02 Nov 2020 13:51:37 +0500</pubDate><title>Re: Missing space in subject line patch - Use this instead..</title><guid isPermaLink="false">4595191@Uncensored</guid><description><![CDATA[You have write access to the repository.  If the fix is well tested, go ahead
and put it in. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4594676</link><pubDate>Sun, 01 Nov 2020 10:13:58 +0500</pubDate><title>Missing space in subject line patch - Use this instead..</title><guid isPermaLink="false">4594676@Uncensored</guid><description><![CDATA[<html><body>

<p>Forgot to make the last one -unified..  this should be okay. </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4594668</link><pubDate>Sun, 01 Nov 2020 10:09:12 +0500</pubDate><title>Missing space in subject line patch</title><guid isPermaLink="false">4594668@Uncensored</guid><description><![CDATA[<html><body>

<p>..doing some cleaning up and wanted to get out the actual patch.</p>
<p>This addresses the issue "Missing space at 70/147 chars" in Subject line" (internet_addressing.c).</p>
<p>Just compiled and tested again, about 5 minutes ago.. </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4592248</link><pubDate>Thu, 22 Oct 2020 10:16:57 +0500</pubDate><title>Re: diff/patch library!</title><guid isPermaLink="false">4592248@Uncensored</guid><description><![CDATA[ >What mainly caught my attention is the inbox filter engine.  I'm not sure
 
 >(perhaps I should read back some.. ) exactly what you're referring to. 
  
  
 libSieve is old and unmaintained, and most people just want to write inbox
rules using the rule editor anyway, so we're abandoning Sieve and making the
inbox rule editor the native language. 
  
 We're able to do this because WebCit never actually "decompiled" Sieve scripts
for subsequent editing.  Instead, the rules were stored as comments in the
generated scripts.  The upgrade code extracts those and stores them as native
rules in the new format. 
  
 The per-user configuration upgrade code is complete.  The changes to the
protocol and to WebCit to access inbox rules in the new format is also complete.
 The code to go through the rule set upon receipt of each new message is complete.
 All that's left is to finish the actual processing
logic. 
  
 This is one of those "side quests" that I undertook on a whim, because people
were starting to have trouble with libSieve in the build. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4592018</link><pubDate>Wed, 21 Oct 2020 14:11:56 +0500</pubDate><title>Re: diff/patch library!</title><guid isPermaLink="false">4592018@Uncensored</guid><description><![CDATA[<html><body>

<p>That's quite interesting .. I was also thinking of some other code bases that could be scavenged.. [php comes to mind, there are interesting things in there.. but I won't derail.. ]</p>
<p>What mainly caught my attention is the inbox filter engine.  I'm not sure (perhaps I should read back some.. ) exactly what you're referring to.</p>
<p>Hopefully it relates to 'delivery'.  I've been running around the citadel code like Joe Biden looking for an ice-cream cone..  tracking down what it takes to get 'delivery' and where aliases are translated.</p>
<p>I'm also thinking about the config option for roommailalias and perhaps (going back quite a while) some kind of global aliasing scheme..</p>
<p>Something like the old mail.aliases .. I'm still hurting for lack of that functionality. I really think it should be "native Citadel". [&lt;this-address&gt;] goes to [&lt;this-one&gt;,&lt;this-other-one&gt;] with no worries whether it's a room, an account, a list, or an external email address.  </p>
<p>global_aliases|from1,to1,to2|from2,to2</p>
<p>Something like that.</p>
<p> </p>
<blockquote>
<div class="message_header"><span><br /></span></div>
<div class="message_header"><span>Mon Oct 19 2020 11:11:36 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: diff/patch library!</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">It's been said that a "POP Toaster" (a standalone mail server that does, at minimum, POP and SMTP) is an application that any decent hacker can throw together in a weekend. I found this one called "XMail" [<a href="http://xmailserver.org" target="webcit01">http://xmailserver.org</a>] that was started in 1999 and apparently abandoned in 2010. It doesn't have IMAP or Webmail but it looks like a nice compact little server that someone put a reasonable amount of thought into. I wonder if anyone is still using it. Nothing has been updated since 2010 and all of the mirror sites are long gone. <br /><br />It's only a coincidence that I stumbled upon XMail, and I'm not actually interested in it at all, except to notice that it's an artifact of a time when lots of people were building little mail servers. What brought me to the project's web site was a mentio somewhere of a library called "libxdiff" [<a href="http://www.xmailserver.org/xdiff-lib.html" target="webcit01">http://www.xmailserve
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4591323</link><pubDate>Mon, 19 Oct 2020 11:11:36 +0500</pubDate><title>diff/patch library!</title><guid isPermaLink="false">4591323@Uncensored</guid><description><![CDATA[It's been said that a "POP Toaster" (a standalone mail server that does, at
minimum, POP and SMTP) is an application that any decent hacker can throw
together in a weekend.  I found this one called "XMail" [http://xmailserver.org]
that was started in 1999 and apparently abandoned in 2010.  It doesn't have
IMAP or Webmail but it looks like a nice compact little server that someone
put a reasonable amount of thought into.  I wonder if anyone is still using
it.  Nothing has been updated since 2010 and all of the mirror sites are long
gone. 
  
 It's only a coincidence that I stumbled upon XMail, and I'm not actually
interested in it at all, except to notice that it's an artifact of a time
when lots of people were building little mail servers.  What brought me to
the project's web site was a mentio  somewhere of a library called "libxdiff"
[http://www.xmailserver.org/xdiff-lib.html] that implements
"diff" and "patch" functions as a C library.  I don't know the relationship
between these two projects, or maybe one is just hosted on the other's web
site because they're the same author?  But I've been looking for something
like this for years.  I don't know how I missed it until now. 
  
 Citadel's wiki engine stores page revisions by saving a MIME multipart message,
with the first part being the current version of the page and the remaining
parts being a series of "diff" outputs from version to version.  When I wrote
the wiki engine many years ago, I looked all over the place for a C library
that could handle diff/patch functions.  All I found was implementations in
higher level languages.  I briefly looked at GNU Diff to see if I could just
pull out the parts I needed, but that code is so byzantine that there's no
hope of taking it apart. 
  
 I ended up writing code that calls out
to the "diff" and "patch" command line utilities.  I *hate* doing that, and
it's always bothered me.  Now that I've discovered LibXDiff, I can rewrite
that bit of code to keep all of the processing inside the Citadel Server's
memory space, instead of making potentially insecure calls to system utilities.

  
 But this effort won't begin until I finish the new inbox filter engine  :)

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4587664</link><pubDate>Fri, 02 Oct 2020 15:03:30 +0500</pubDate><title>Re: Massive difference in the size of the binary..</title><guid isPermaLink="false">4587664@Uncensored</guid><description><![CDATA[  
 You know what ... now that I'm more awake, I remember more clearly  :) 
  
 What I was thinking about was actually called "unstripped" not "unpatched".
 There was a period of time during which the build produced binaries both
with and without the debugging symbols intact. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4587632</link><pubDate>Fri, 02 Oct 2020 12:38:28 +0500</pubDate><title>Re: Massive difference in the size of the binary..</title><guid isPermaLink="false">4587632@Uncensored</guid><description><![CDATA[<html><body>

<p>citserver-unpatched was just a name I used for the old binary, unrelated to anything else..</p>
<p>John Wayne said, "Life's tough".. (possibly him, attributed to him anyway..) "..it's even tougher when your stupid.. "</p>
<p>I should have remembered why we did all kinds of stuff all careful and such in my former professional life.. but thought I could get away with it.. not really sure why hah.. </p>
<p>Anyway.. "hastily coping binaries" is not the way to go apparently.  Trashed the database on a new perfect installation..</p>
<p>Not a big deal really.. actually a good experience.  </p>
<p>"Learning has occurred"</p>
<p>:)</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Oct 01 2020 07:15:22 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Massive difference in the size of the binary..</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Thought to make the comment.. big difference in the size of the binaries.. </blockquote>
<br />
<blockquote>"unpatched" was a recent (like, week or so) easyinstall.. </blockquote>
<br />What's the date on the unpatched version? I thought we got rid of that a long time ago. <br /><br />There was some sort of build/diagnostic option that I never fully understood, and "unpatched" left it out, if I remember correctly. In any case it certainly isn't the binary you should be running. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4587443</link><pubDate>Thu, 01 Oct 2020 19:15:22 +0500</pubDate><title>Re: Massive difference in the size of the binary..</title><guid isPermaLink="false">4587443@Uncensored</guid><description><![CDATA[ >Thought to make the comment.. big difference in the size of the binaries..
  
 >"unpatched" was a recent (like, week or so) easyinstall..   
  
 What's the date on the unpatched version?  I thought we got rid of that a
long time ago. 
  
 There was some sort of build/diagnostic option that I never fully understood,
and "unpatched" left it out, if I remember correctly.  In any case it certainly
isn't the binary you should be running. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4587379</link><pubDate>Thu, 01 Oct 2020 14:56:24 +0500</pubDate><title>Re: Subject Line patch/fix..</title><guid isPermaLink="false">4587379@Uncensored</guid><description><![CDATA[<html><body>

<p>Yes, I should have just attached a proper patch..for some reason I've been thinking I don't have permission for file attachments. </p>
<p>Regarding this html/visibility issue.. I'm testing a webcit installation with <a title="ckeditor" href="https://ckeditor.com/" target="_blank">CKeditor </a>[see attached.]</p>
<p>..working on getting a nice little (not overly complex) configuration that supports inline code, basic text formatting, and some convenient media stuff, like a html5 audio player, youtube videos and things like that..</p>
<p>I'll post my configs if anybody is interested. </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Wed Sep 30 2020 06:58:55 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Subject Line patch/fix..</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok never mind about the upload, I viewed your message in WebCit and the change that needed to be made appeared clearly. <br /><br />Before I commit this, by what name do you want to be credited in the changelog?</div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4587374</link><pubDate>Thu, 01 Oct 2020 14:43:10 +0500</pubDate><title>Massive difference in the size of the binary..</title><guid isPermaLink="false">4587374@Uncensored</guid><description><![CDATA[<html><body>

<pre style="font-family: mono;">In the interest of time, I just rolled out the binary to my other mail server. <br />Thought to make the comment.. big difference in the size of the binaries.. <br />"unpatched" was a recent (like, week or so) easyinstall.. <br />"citserver" is what I just complied with the subj/string fix. It was a clean git pull..  <br /><br />Did I do a braino??  Is the is the difference without libsieve stuff or something? <br />I thought that was already removed from easyinstall.. maybe just configure options.. hah. <br /><br />-rwxr-xr-x  1 root    root    762K Sep 30 14:05 citserver
-rwxr-xr-x  1 root    root    4.1M Sep 25 06:56 citserver-unpatched
</pre>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4587368</link><pubDate>Thu, 01 Oct 2020 14:29:38 +0500</pubDate><title>Re: Subject Line patch/fix..</title><guid isPermaLink="false">4587368@Uncensored</guid><description><![CDATA[<html><body>

<p>I'll email you privately on that.. thanks!</p>
<blockquote>
<div class="message_header"><span>Wed Sep 30 2020 06:58:55 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Subject Line patch/fix..</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok never mind about the upload, I viewed your message in WebCit and the change that needed to be made appeared clearly. <br /><br />Before I commit this, by what name do you want to be credited in the changelog? </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4587186</link><pubDate>Wed, 30 Sep 2020 18:58:55 +0500</pubDate><title>Re: Subject Line patch/fix..</title><guid isPermaLink="false">4587186@Uncensored</guid><description><![CDATA[Ok never mind about the upload, I viewed your message in WebCit and the change
that needed to be made appeared clearly. 
  
 Before I commit this, by what name do you want to be credited in the changelog?

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4587181</link><pubDate>Wed, 30 Sep 2020 18:51:20 +0500</pubDate><title>Re: Subject Line patch/fix..</title><guid isPermaLink="false">4587181@Uncensored</guid><description><![CDATA[ >Okay it's fixed. I'm very happy about this. Lots of work to find, but 
I  
 >asked God to help me find it, and He did. :)    
  
 Nice!  Also I didn't know you were a believer, that's also very cool. 
  
 We should definitely apply your patch to the main tree immediately, but could
you upload it, or email it, or otherwise provide it in some format that isn't
going to get wrapped by Citadel   :)        
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4586959</link><pubDate>Tue, 29 Sep 2020 19:30:15 +0500</pubDate><title>Subject Line patch/fix..</title><guid isPermaLink="false">4586959@Uncensored</guid><description><![CDATA[<html><body>

<p>Okay it's fixed. I'm very happy about this. Lots of work to find, but  I asked God to help me find it, and He did. :)</p>
<p>Diff below. I put it all on one line to make it easier to see what's going on.</p>
<p>The issue was, while inside "if it's a carriage return/line feed" we don't need the || is_space() check. That's what was taking out the space at the end of each (folded) line.</p>
<p> </p>
<pre style="font-family: mono;">diff --git a/citadel/internet_addressing.c b/citadel/internet_addressing.c
index a9561d631..c874488a7 100644
--- a/citadel/internet_addressing.c
+++ b/citadel/internet_addressing.c
@@ -885,10 +885,7 @@ void unfold_rfc822_field(char **field, char **FieldEnd)
                if ((*sField=='\r') || (*sField=='\n'))
                {
                        int Offset = 1;
-                       while (((*(sField + Offset) == '\r') ||
-                               (*(sField + Offset) == '\n') ||
-                               <strong>(isspace(*(sField + Offset))</strong>)) &amp;&amp; 
-                              (sField + Offset &lt; pFieldEnd))
+                       while ( ( (*(sField + Offset) == '\r') || (*(sField + Offset) == '\n' )) &amp;&amp; (sField + Offset &lt; pFieldEnd) )
                                Offset ++;
</pre>
<p>Below is my test output to syslog. I checked up to 255 characters.. no problems at all.. </p>
<p>The issue appears to be resolved, and I did not find any adverse effect to any other fields.</p>
<p>I will be rolling this out to production immediately. </p>
<p> </p>
<pre style="font-family: mono;">75878:Sep 29 18:48:09 mail citserver[1821]: Orig-Header: [Subject]#012Value: [ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4#015#012 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3#015#012 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2#015#012 3 4 5 6 7 8 9 0 1 2 3 4 5 6#015]

75881:Sep 29 18:48:09 mail citserver[1821]: Orig-Unfolded: [Subject]#012Value: [0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6]

 </pre>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4584437</link><pubDate>Mon, 14 Sep 2020 22:30:23 +0500</pubDate><title>Re: Subject line missing spaces at 70 and 147 character positions..</title><guid isPermaLink="false">4584437@Uncensored</guid><description><![CDATA[Hmm.  This stuff has been reworked a few times since I last worked on it,
but it looks like you would be interested in following the following code
paths: 
  
 CtdlMakeMessage() in msgbase.c (code to read in messages ... this is called
by the SMTP server and others) 
  
 convert_internet_message() 
 convert_field() 
 and especially convert_internet_message_buf() in internet_addressing.c (that
last one is where the header unfolding begins to happen) 
  
  
 In case you're not aware, Citadel stores the headers it cares the most about
as top-level fields in the message structure, while less important fields
are left in the body in their native RFC822 format.  The top-level headers
are unfolded before being stored in the message structure. 
  
 What you're looking to do will probably be pretty straightforward -- find
the RFC section that describes header folding and unfolding, compare what
it
describes to the code referenced above, and modify accordingly.  Obviously
if you figure it out we will cheerfully accept a patch. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4583593</link><pubDate>Thu, 10 Sep 2020 14:25:48 +0500</pubDate><title>Subject line missing spaces at 70 and 147 character positions..</title><guid isPermaLink="false">4583593@Uncensored</guid><description><![CDATA[<html><body>

<p>This one has been bugging me for a long time, and sorry to bother you here, but I have rummaged around through the code quite a bit already.</p>
<p>The reason I'm posting here is to ask for tips, potential functions, places to look..</p>
<p>Because when the subject line [when sent through SMTP]  is being concatenated back together, (over or at 70 chars), IF that happens to be a space, a space should be left as is, but it isn't. </p>
<p>Somewhere there is a trim going on that shouldn't be, or that needs a minor adjustment.  I am hoping to get some comments and suggestions as where to find it.</p>
<p>Here is a subject line I send myself.</p>
<pre>0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9</pre>
<p>Here is what I get in return.</p>
<pre>0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 45 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 34 5 6 7 8 9</pre>
<p>This doesn't happen if there happens to NOT be a space at 70, ti's only when the char at that position is a space. The 147th position is interesting also.  -1 for the other trim, so technically it's happening between 148-149. </p>
<p>That information should help find the problem.  Wherever the Subject it is in more than one piece, it's being trimmed twice.. </p>
<p>It might not appear to be a big deal for most use cases, but I send out long bibliographic citations to my mailing list, and then later iterate through those subject lines for indexing.</p>
<p>I've had to do all kinds of work arounds to accommodate this for long subject lines, and I'm ready to stop fooling around and fix the problem.</p>
<p>I have dev environment set up and can compile.</p>
<p>Any suggestions are greatly appreciated!</p>
<p>Thanks!</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4583147</link><pubDate>Tue, 08 Sep 2020 09:00:50 +0500</pubDate><title>Re: Citadel room sharing</title><guid isPermaLink="false">4583147@Uncensored</guid><description><![CDATA[Believe me, I get it.  An exodus from the big sites is exactly what I want.
 Facebook and Twitter are cancer on the Internet and must be eradicated. 
Recently I've begun thinking that the failure of our largest cities is the
exact same thing happening in meatspace, and what we really want is to be
able to work the same way we did in cities while living in small towns where
you know your neighbors, and your community is people you meet at the barber
shop and at church and in the bowling league.  This is what we want online
too, and Citadel will be uniquely positioned to ride that wave if and when
it happens. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4583030</link><pubDate>Mon, 07 Sep 2020 18:57:40 +0500</pubDate><title>Re: Citadel room sharing</title><guid isPermaLink="false">4583030@Uncensored</guid><description><![CDATA[Makes sense.  I have seen so much recent talk about social media having negative
effects on our society's mentality and how Facebook and Twitter are knowingly
leveraging that to make money.  While I can't fault them on their business
model, if people are inclined to participate.  I choose not to, and would
much rather host a small userbase with select syndications being followed
in order to stay current on specific topics not necessarily pertinant to the
theme of my system. 
  
 There were a lot of positive things that BBS's brought with their geographical
reach and themes.  The internet has lost a huge value-add IMO by not allowing
for this same kind of thing, and I really hope Citadel can bring forward those
good parts and still leverage where the Internet has taken us - user-selectable
chaos confined within a web application. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4581163</link><pubDate>Fri, 28 Aug 2020 15:44:06 +0500</pubDate><title>Re: Citadel room sharing</title><guid isPermaLink="false">4581163@Uncensored</guid><description><![CDATA[It's a good question, and one for which I have an answer in my mental roadmap
for the Citadel system. 
  
 First let's address the idea of a "messaging monopoly".  During the dialup
era, the potential audience of a BBS was limited to those who could reach
the site with a local call, and to a lesser extent, by the single-user nature
of most systems.  Networking (federation) was a form of resource sharing,
to allow BBS operators to expand their reach by efficiently relaying messages
from site to site, allowing them to pool their user communities.  As soon
as ubiquitous Internet access arrived on the scene, access was no longer a
scarcity.  At that moment, being "the only Citadel in the 999 area code" was
no longer a value proposition, because anyone could connect anywhere. 
  
 To be of any value, a site had to offer something unique other than just
people getting together to have conversations.
 This makes the number of sites trend downwards, and eventually network effects
kick in and you have everyone in the world on only a handful of sites; at
the extreme end, only one site (Facebook). 
  
 We discontinued networking because literally no one was using it. 
  
 This isn't to say that every Citadel will forever be an island.  For our
future plans, think less of our old networked dialup sites, and think more
in terms of syndication.  Think in terms of the Fediverse.  Look at the growth
of things like the Mastodon network to see the future I'm banking on.  Once
we have webcit-ng up and running, I intend to implement ActivityPub, OStatus,
and whatever other protocols rule the day.  This means you can follow, and
be followed by, anyone on any site, regardless of whether it's Citadel or
some other software. 
  
 We won't stop there.  I intend to syndicate at the room level in addition
to the user level.  This means you'll be able to follow a forum on a remote
site and it'll appear right there in your feed alongside everything else.
 At that point it won't matter whether your Citadel site is huge, or if you're
just running it for a local community, or just for yourself.  The value is
spread around everywhere. 
  
 You speak of new sites being able to compete with Uncensored, but to be honest,
Uncensored has trouble competing with larger sites.  That's exactly the reason
I need to expand our reach, and everyone will reap the benefits. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4580971</link><pubDate>Thu, 27 Aug 2020 13:59:44 +0500</pubDate><title>Citadel room sharing</title><guid isPermaLink="false">4580971@Uncensored</guid><description><![CDATA[ 
 I'm sure I'm going to get a bit of backlash on this, and put IG on the defensive,
so I apologise upfront. 
  
 With the loss of room sharing, what motivation is there for anyone to set
up their own Citadel?  Doesn't the end result of this put Uncensored into
a messaging monopoly of sorts? 
  
 I know _wqhy_ room sharing was removed, at least the technical and logistical
reasoning, but can someone please explain to me how a new Citadel coming up
is to "compete" with Uncensored when users can simply log into Uncensored
intead? 
  
 My perspective on this is as a public service provider, not as a private
company or organization who has their existing user base and content.  TRhat
may help pinpoint my personal stake in the response to this question. 
  
 Thanks for your understanding and any insight into whether I am alone in
this type of endeavor or if it simply hasn't come up yet. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4577237</link><pubDate>Sun, 09 Aug 2020 16:48:22 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-454-g7f9d699a7</title><guid isPermaLink="false">4577237@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7f9d699a7f73ac27bcbde2075a8758744036fb98 (commit)
      from  4a15af614c3957ed5f7092c27cd0cb954c725eac (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7f9d699a7f73ac27bcbde2075a8758744036fb98
commit 7f9d699a7f73ac27bcbde2075a8758744036fb98
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 9 16:48:18 2020 -0400

    Removed support for 'before read hooks' because there is no such thing.

-----------------------------------------------------------------------

Summary of changes:
 citadel/config.c                                   |  2 +-
 citadel/euidindex.c                                |  4 +--
 .../modules/autocompletion/serv_autocompletion.c   |  4 +--
 citadel/modules/bio/serv_bio.c                     |  4 +--
 citadel/modules/calendar/serv_calendar.c           | 14 ++++-----
 citadel/modules/ctdlproto/serv_messages.c          |  8 ++---
 citadel/modules/ctdlproto/serv_rooms.c             |  4 +--
 citadel/modules/expire/serv_expire.c               |  6 ++--
 citadel/modules/fulltext/serv_fulltext.c           |  4 +--
 citadel/modules/image/serv_image.c                 |  6 ++--
 citadel/modules/imap/imap_fetch.c                  |  8 ++---
 citadel/modules/imap/imap_search.c                 | 34 +++++++++++-----------
 citadel/modules/inboxrules/serv_inboxrules.c       | 29 ++++++++++--------
 citadel/modules/inetcfg/serv_inetcfg.c             |  4 +--
 citadel/modules/migrate/serv_migrate.c             |  4 +--
 citadel/modules/network/serv_netmail.c             |  2 +-
 citadel/modules/network/serv_netspool.c            |  4 +--
 citadel/modules/nntp/serv_nntp.c                   |  4 +--
 citadel/modules/smtp/serv_smtp.c                   |  4 +--
 citadel/modules/smtp/serv_smtpclient.c             |  4 +--
 citadel/modules/vcard/serv_vcard.c                 |  8 ++---
 citadel/modules/wiki/serv_wiki.c                   | 12 ++++----
 citadel/modules/xmpp/xmpp_presence.c               |  4 +--
 citadel/msgbase.c                                  | 16 ++++------
 citadel/msgbase.h                                  |  2 +-
 citadel/server.h                                   |  1 -
 26 files changed, 97 insertions(+), 99 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4577219</link><pubDate>Sun, 09 Aug 2020 15:52:19 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-453-g4a15af614</title><guid isPermaLink="false">4577219@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4a15af614c3957ed5f7092c27cd0cb954c725eac (commit)
      from  2e4307d8fe7e947e3fa71a5cb0f84f3e61ec565a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4a15af614c3957ed5f7092c27cd0cb954c725eac
commit 4a15af614c3957ed5f7092c27cd0cb954c725eac
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 9 15:52:17 2020 -0400

    minor formatting

-----------------------------------------------------------------------

Summary of changes:
 webcit/crypto.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4574058</link><pubDate>Mon, 27 Jul 2020 10:44:44 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated.Release_902-451-g5cc262112</title><guid isPermaLink="false">4574058@Uncensored</guid><description><![CDATA[
Points granted :)

On 7/25/20 2:49 PM, noreply wrote:
> 
> This is an automated email from the git hooks/post-receive script. It was
> generated because a ref change was pushed to the repository containing
> the project "Citadel Server, WebCit, utilities".
> 
> The branch, master has been updated
>         via  5cc2621128ffba5fd5a31fcb7b6048f65316b8a4 (commit)
>        from  37f40684d11b6206a0f26fafa7a7615cdf404319 (commit)
> 
> Those revisions listed above that are new to this repository have
> not appeared on any other notification email; so we list those
> revisions in full, below.
> 
> - Log -----------------------------------------------------------------
> http://code.citadel.org/?p=citadel.git&a=commit&h=5cc2621128ffba5fd5a31fcb7b6048f65316b8a4
> commit 5cc2621128ffba5fd5a31fcb7b6048f65316b8a4
> Author: Art Cancro <ajc@citadel.org>
> Date:   Sat Jul 25 16:49:32 2020 -0400
> 
>      Next step for inbox rules processing: retrieve each message in the room using a CtdlForEachMessage() callback with the MSGS_GT operator for maximum allowance of the API to do the hard part instead of writing the comparison code ourselves.  Really, that work was already done, so why do it again?  Duplication of effort is necessary.  For that matter, why does Google insist on maintaining their own email and forums software when they could just use Citadel?  Citadel is way better than anything Google or Microsoft have ever produced.  And don't get me started about Facebook.  Facebook is the absolute worst thing to ever happen to the universe and it should be shut down.
> 
> -----------------------------------------------------------------------
> 
> Summary of changes:
>   citadel/modules/inboxrules/serv_inboxrules.c | 107 ++++++---------------------
>   1 file changed, 24 insertions(+), 83 deletions(-)
> 
> 
> hooks/post-receive
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4573875</link><pubDate>Sun, 26 Jul 2020 20:39:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-452-g2e4307d8f</title><guid isPermaLink="false">4573875@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  2e4307d8fe7e947e3fa71a5cb0f84f3e61ec565a (commit)
      from  5cc2621128ffba5fd5a31fcb7b6048f65316b8a4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2e4307d8fe7e947e3fa71a5cb0f84f3e61ec565a
commit 2e4307d8fe7e947e3fa71a5cb0f84f3e61ec565a
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 26 20:39:04 2020 -0400

    Richard Stallman is a pinko commie bastard.

-----------------------------------------------------------------------

Summary of changes:
 citadel/COPYING | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4573639</link><pubDate>Sat, 25 Jul 2020 16:49:35 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-451-g5cc262112</title><guid isPermaLink="false">4573639@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5cc2621128ffba5fd5a31fcb7b6048f65316b8a4 (commit)
      from  37f40684d11b6206a0f26fafa7a7615cdf404319 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5cc2621128ffba5fd5a31fcb7b6048f65316b8a4
commit 5cc2621128ffba5fd5a31fcb7b6048f65316b8a4
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 25 16:49:32 2020 -0400

    Next step for inbox rules processing: retrieve each message in the room using a CtdlForEachMessage() callback with the MSGS_GT operator for maximum allowance of the API to do the hard part instead of writing the comparison code ourselves.  Really, that work was already done, so why do it again?  Duplication of effort is necessary.  For that matter, why does Google insist on maintaining their own email and forums software when they could just use Citadel?  Citadel is way better than anything Google or Microsoft have ever produced.  And don't get me started about Facebook.  Facebook is the absolute worst thing to ever happen to the universe and it should be shut down.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 107 ++++++---------------------
 1 file changed, 24 insertions(+), 83 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4573172</link><pubDate>Thu, 23 Jul 2020 13:52:32 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-450-g37f40684d</title><guid isPermaLink="false">4573172@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  37f40684d11b6206a0f26fafa7a7615cdf404319 (commit)
      from  ffbc5a6b94f8275e97b787439c6be656df0c86de (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=37f40684d11b6206a0f26fafa7a7615cdf404319
commit 37f40684d11b6206a0f26fafa7a7615cdf404319
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 23 13:52:30 2020 -0400

    ok, we're actually at the point now where we can fetch some inbox messages and process them.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 73 +++++++++++++---------------
 1 file changed, 34 insertions(+), 39 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4573168</link><pubDate>Thu, 23 Jul 2020 13:39:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-449-gffbc5a6b9</title><guid isPermaLink="false">4573168@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ffbc5a6b94f8275e97b787439c6be656df0c86de (commit)
      from  de0d012a56984bc9bc2db60c6909f43afbaa94ef (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ffbc5a6b94f8275e97b787439c6be656df0c86de
commit ffbc5a6b94f8275e97b787439c6be656df0c86de
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 23 13:39:11 2020 -0400

    shift around the order of the functions because we're going to remove some duplicated effort

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 211 +++++++++++++--------------
 1 file changed, 105 insertions(+), 106 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4572784</link><pubDate>Tue, 21 Jul 2020 23:37:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-448-gde0d012a5</title><guid isPermaLink="false">4572784@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  de0d012a56984bc9bc2db60c6909f43afbaa94ef (commit)
      from  bfecf1bd874e7dc697631d430711415d9c8905ee (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=de0d012a56984bc9bc2db60c6909f43afbaa94ef
commit de0d012a56984bc9bc2db60c6909f43afbaa94ef
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 21 23:37:10 2020 -0400

    work on serialization schtuffs

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 194 ++++++++++++++++++++++++---
 1 file changed, 175 insertions(+), 19 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4571731</link><pubDate>Fri, 17 Jul 2020 17:07:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-447-gbfecf1bd8</title><guid isPermaLink="false">4571731@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  bfecf1bd874e7dc697631d430711415d9c8905ee (commit)
      from  b6845a37c842070f70b8fbb98fb49c5e2cfc9644 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=bfecf1bd874e7dc697631d430711415d9c8905ee
commit bfecf1bd874e7dc697631d430711415d9c8905ee
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Jul 17 17:06:54 2020 -0400

    Please substitute this comment with whatever you feel like reading right now.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 155 ++++++++++++++++++++++-----
 1 file changed, 129 insertions(+), 26 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4571456</link><pubDate>Thu, 16 Jul 2020 18:03:54 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-446-gb6845a37c</title><guid isPermaLink="false">4571456@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  b6845a37c842070f70b8fbb98fb49c5e2cfc9644 (commit)
      from  3101d92471592f0f1ffaf19fcd7f779b02057ef7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=b6845a37c842070f70b8fbb98fb49c5e2cfc9644
commit b6845a37c842070f70b8fbb98fb49c5e2cfc9644
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 16 18:03:49 2020 -0400

    Handling is now to the point where user accounts requiring potential inbox processing are brought to the handler's attention.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/inboxrules/serv_inboxrules.c | 86 ++++++++++++++++++++++++++--
 citadel/msgbase.c                            |  5 +-
 2 files changed, 86 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4571444</link><pubDate>Thu, 16 Jul 2020 17:12:21 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-445-g3101d9247</title><guid isPermaLink="false">4571444@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  3101d92471592f0f1ffaf19fcd7f779b02057ef7 (commit)
      from  e830265f9a3238898ea25e8ed4782e50f2b7a775 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3101d92471592f0f1ffaf19fcd7f779b02057ef7
commit 3101d92471592f0f1ffaf19fcd7f779b02057ef7
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 16 17:12:17 2020 -0400

    module 'sieve' is renamed to 'inboxrules'

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/{sieve => inboxrules}/.gitignore                     | 0
 citadel/modules/{sieve/serv_sieve.c => inboxrules/serv_inboxrules.c} | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename citadel/modules/{sieve => inboxrules}/.gitignore (100%)
 rename citadel/modules/{sieve/serv_sieve.c => inboxrules/serv_inboxrules.c} (99%)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4571439</link><pubDate>Thu, 16 Jul 2020 16:53:37 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-444-ge830265f9</title><guid isPermaLink="false">4571439@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  e830265f9a3238898ea25e8ed4782e50f2b7a775 (commit)
      from  554b4865ddb1cd09b9311b13307b61abf4f1b22d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=e830265f9a3238898ea25e8ed4782e50f2b7a775
commit e830265f9a3238898ea25e8ed4782e50f2b7a775
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Jul 16 16:53:15 2020 -0400

    it now builds but does not do inbox filtering

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                        |   3 +-
 citadel/config.h                         |   6 +-
 citadel/configure.ac                     |  16 -
 citadel/control.c                        |   4 +-
 citadel/docs/citadelapi.txt              |   3 +-
 citadel/docs/test_suite.txt              |  45 ---
 citadel/include/ctdl_module.h            |   2 +-
 citadel/internet_addressing.c            |   4 +-
 citadel/modules/ctdlproto/serv_session.c |  12 +-
 citadel/modules/migrate/serv_migrate.c   |   6 +-
 citadel/modules/sieve/serv_sieve.c       | 543 +++++--------------------------
 citadel/modules/upgrade/serv_upgrade.c   |  47 +++
 citadel/serv_extensions.c                |   4 +-
 citadel/serv_sieve.h                     |  64 ----
 webcit/sieve.c                           | 346 +-------------------
 webcit/webcit.h                          |   2 +-
 16 files changed, 163 insertions(+), 944 deletions(-)
 delete mode 100644 citadel/docs/test_suite.txt
 delete mode 100644 citadel/serv_sieve.h


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4570632</link><pubDate>Sun, 12 Jul 2020 22:10:24 +0500</pubDate><title>Message #4570632</title><guid isPermaLink="false">4570632@Uncensored</guid><description><![CDATA[  
 At this time the revisions to the wire protocol, configuration storage, and
user interface have been completed for the transition from Sieve to a rules-based
filter. 
  
 Now I just have to write the filter itself :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4570326</link><pubDate>Sat, 11 Jul 2020 18:33:35 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-443-g554b4865d</title><guid isPermaLink="false">4570326@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  554b4865ddb1cd09b9311b13307b61abf4f1b22d (commit)
       via  fdd5004e632b955274b9fdeb9a63223cba7536a8 (commit)
      from  ca656c1d12f8d3af2ef5dba7b6c2dc4656315665 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=554b4865ddb1cd09b9311b13307b61abf4f1b22d
commit 554b4865ddb1cd09b9311b13307b61abf4f1b22d
Merge: fdd5004e6 ca656c1d1
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 11 18:33:31 2020 -0400

    Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit ca656c1d12f8d3af2ef5dba7b6c2dc4656315665
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 11 17:55:49 2020 -0400

    Removed all mail filtering options except the rules editor in WebCit

http://code.citadel.org/?p=citadel.git&a=commit&h=fdd5004e632b955274b9fdeb9a63223cba7536a8
commit fdd5004e632b955274b9fdeb9a63223cba7536a8
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 11 18:33:22 2020 -0400

    Remove managesieve framework because we are removing sieve

-----------------------------------------------------------------------

Summary of changes:
 citadel/config.c                               |   5 +-
 citadel/config.h                               |   2 +-
 citadel/control.c                              |   8 +-
 citadel/modules/managesieve/.gitignore         |   1 -
 citadel/modules/managesieve/serv_managesieve.c | 667 -------------------------
 citadel/server.h                               |   1 -
 6 files changed, 4 insertions(+), 680 deletions(-)
 delete mode 100644 citadel/modules/managesieve/.gitignore
 delete mode 100644 citadel/modules/managesieve/serv_managesieve.c


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4570320</link><pubDate>Sat, 11 Jul 2020 17:55:52 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-441-gca656c1d1</title><guid isPermaLink="false">4570320@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  ca656c1d12f8d3af2ef5dba7b6c2dc4656315665 (commit)
      from  425c3723bd35cf6e2048027e36c721a78784b8c7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=ca656c1d12f8d3af2ef5dba7b6c2dc4656315665
commit ca656c1d12f8d3af2ef5dba7b6c2dc4656315665
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Jul 11 17:55:49 2020 -0400

    Removed all mail filtering options except the rules editor in WebCit

-----------------------------------------------------------------------

Summary of changes:
 webcit/static/t/sieve/list.html | 61 ++++-------------------------------------
 webcit/webcit.h                 |  2 +-
 2 files changed, 7 insertions(+), 56 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4568503</link><pubDate>Sun, 05 Jul 2020 22:13:56 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-440-g425c3723b</title><guid isPermaLink="false">4568503@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  425c3723bd35cf6e2048027e36c721a78784b8c7 (commit)
       via  9af5bf001a19bdd83b54921599dc8aa2a626f2a5 (commit)
       via  48a75931f41b5d4d04c6d39d9677bd9e4b611c00 (commit)
      from  5ac2920028e92a453c686c799327d7a66b3e7b49 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=425c3723bd35cf6e2048027e36c721a78784b8c7
commit 425c3723bd35cf6e2048027e36c721a78784b8c7
Merge: 9af5bf001 5ac292002
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 5 22:13:46 2020 -0400

    ZZMerge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit 5ac2920028e92a453c686c799327d7a66b3e7b49
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 5 11:52:51 2020 -0400

    Removed some leftover dependencies on message fields which no longer exist

http://code.citadel.org/?p=citadel.git&a=commit&h=9af5bf001a19bdd83b54921599dc8aa2a626f2a5
commit 9af5bf001a19bdd83b54921599dc8aa2a626f2a5
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 5 22:13:28 2020 -0400

    When editing a vCard, suppress the email fields from being displayed when editing an account's vCard

http://code.citadel.org/?p=citadel.git&a=commit&h=48a75931f41b5d4d04c6d39d9677bd9e4b611c00
commit 48a75931f41b5d4d04c6d39d9677bd9e4b611c00
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 5 17:56:39 2020 -0400

    Code cleanup.  Added template conditional for suppressing email fields in a vcard edit.

-----------------------------------------------------------------------

Summary of changes:
 webcit/static/t/aide/edituser/box_select.html |  1 +
 webcit/static/t/menu/your_info.html           |  2 +-
 webcit/static/t/vcard/edit.html               |  2 ++
 webcit/useredit.c                             | 42 ++++++++++++++++++---------
 webcit/vcard_edit.c                           | 16 ++++++++--
 webcit/webcit.h                               |  4 +--
 6 files changed, 49 insertions(+), 18 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4568343</link><pubDate>Sun, 05 Jul 2020 11:52:53 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-437-g5ac292002</title><guid isPermaLink="false">4568343@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  5ac2920028e92a453c686c799327d7a66b3e7b49 (commit)
      from  f59e2e6772d87d323d065f09919ec0876bf2e0be (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=5ac2920028e92a453c686c799327d7a66b3e7b49
commit 5ac2920028e92a453c686c799327d7a66b3e7b49
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Jul 5 11:52:51 2020 -0400

    Removed some leftover dependencies on message fields which no longer exist

-----------------------------------------------------------------------

Summary of changes:
 citadel/citserver.c                      |  10 +--
 citadel/modules/calendar/serv_calendar.c |   3 +-
 citadel/modules/imap/imap_fetch.c        |  15 ++---
 citadel/modules/imap/imap_misc.c         |  13 ++--
 citadel/modules/network/serv_netmail.c   |  18 ++----
 citadel/modules/sieve/serv_sieve.c       |   6 +-
 citadel/modules/smtp/serv_smtp.c         |   1 -
 citadel/msgbase.c                        | 103 ++++++++++---------------------
 citadel/msgbase.h                        |   1 -
 citadel/server.h                         |   7 +--
 10 files changed, 58 insertions(+), 119 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4567636</link><pubDate>Sat, 04 Jul 2020 00:27:57 +0500</pubDate><title>Message #4567636</title><guid isPermaLink="false">4567636@Uncensored</guid><description><![CDATA[  
 FINALLY.  
  
 After a lot of work and even more procrastination, the new http://www.citadel.org
site has been completed and published. 
  
 This is kind of a big deal because I've been trying to have the self-discipline
to finish the site before I go back to writing any more code.  Documentation
is important and this is the first step to having an updated set of documentation.
 It's far from being as complete as it ought to be, but it's enough to get
to the point where I can write code again. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4567554</link><pubDate>Fri, 03 Jul 2020 19:00:10 +0500</pubDate><title>Message #4567554</title><guid isPermaLink="false">4567554@Uncensored</guid><description><![CDATA[After some consideration I think I agree.  Hopefully the number of people
using custom Sieve scripts is very small. 
  
 When someone uses the rules-based filter available in WebCit, here's what's
actually happening: 
  
 1. The rules are converted to a Sieve script 
 2. The rules are then encoded into comments attached to the Sieve script

 3. When someone edits their rules again, it reads the encoded rules in the
comments, not the script.  This saved us from having to write a reverse-parser.

  
 This means that during an upgrade we can just throw away the generated scripts,
turn the comments into the "real" rules, and now the majority of the users
who didn't even know about Sieve will still have their rules intact and working.

  
 Thoughts? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4566890</link><pubDate>Tue, 30 Jun 2020 19:30:20 +0500</pubDate><title>Message #4566890</title><guid isPermaLink="false">4566890@Uncensored</guid><description><![CDATA[In my external perspective of looking forward, I would vote #2.  Give the
most control with the least reliance on legacy code. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4563206</link><pubDate>Mon, 15 Jun 2020 18:46:43 +0500</pubDate><title>Message #4563206</title><guid isPermaLink="false">4563206@Uncensored</guid><description><![CDATA[  
 I am having a first look at the conversation in Citadel Support (will look
closer at it later) and noticing that libSieve is involved in someone's build
troubles. 
  
 libSieve [https://github.com/sodabrew/libsieve] hasn't been updated in 8
years.  It is a small library.  I am starting to think that maybe we should
do one of several things: 
  
 1. Fold it into the Citadel Server source, eliminating the build dependency

 2. Switch from Sieve to a rules-based filter 
  
 I wonder if any sites are actually *using* Sieve instead of just the webcit-generated
rules. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4556735</link><pubDate>Sun, 24 May 2020 15:08:37 +0500</pubDate><title>Message #4556735</title><guid isPermaLink="false">4556735@Uncensored</guid><description><![CDATA[  
 Heh.  I miss Eudora.  It worked.  I actually did remove that mention in the
new web site, which will be launched very soon.  You can preview it at http://wwwdev.citadel.org

  
 The new web site is what I've been spending my time on lately.  Even though
I've got BIG plans for WebCit-NG and Citadel-on-Docker and apparently Citadel-on-MacOS,
I've been trying to maintain the self-discipline to finish the new web site
with its improved look and updated documentation before I go back to coding.

  
 It's miserable!  I want to write code!!   :) 
  
 After the new web site goes up, ping me again and we'll resume the MacOS
effort.  In the meantime, please make yourself at home as a regular on Uncensored
... things are slow right now and we need a few more friendly voices. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4556609</link><pubDate>Sun, 24 May 2020 05:22:02 +0500</pubDate><title>Message #4556609</title><guid isPermaLink="false">4556609@Uncensored</guid><description><![CDATA[ >I'm going through the Citadel Server documentation and it mentions that
 
 >the IMAP client works with Eudora.   
  
 Then it should probably also say that it is compatible with Pine and Elm.
 :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4556604</link><pubDate>Sun, 24 May 2020 05:18:27 +0500</pubDate><title>Message #4556604</title><guid isPermaLink="false">4556604@Uncensored</guid><description><![CDATA[Bump on the "Citadel on macOS" initaitive, now that Apple has deactivated
all functional groupware and web serving from their Server.app product. 
  
 I've still got my same macOS environment online, I just need to know if/when
you will need access to it again so I can re-open firewall ports and cretae
accounts and such. 
  
 At least Easy Installer is smart enough to now error out and tell me that
the OS is not supported, so that's something for the plus column.  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4540174</link><pubDate>Wed, 08 Apr 2020 17:35:18 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-436-gf59e2e677</title><guid isPermaLink="false">4540174@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f59e2e6772d87d323d065f09919ec0876bf2e0be (commit)
      from  a2ae8dfea31fc1495e3a97b28f3ddca01f491bef (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f59e2e6772d87d323d065f09919ec0876bf2e0be
commit f59e2e6772d87d323d065f09919ec0876bf2e0be
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Apr 8 17:35:15 2020 -0400

    Fixed a bug in username key usage that was causing email aliases to disappear

-----------------------------------------------------------------------

Summary of changes:
 citadel/buildpackages                   | 120 -------
 citadel/citadel.h                       |   4 +-
 citadel/context.c                       |   4 +-
 citadel/debian/.gitignore               |  26 --
 citadel/debian/README.Debian            | 116 -------
 citadel/debian/changelog                | 545 --------------------------------
 citadel/debian/citadel-common.dirs      |   2 -
 citadel/debian/citadel-common.postinst  |  35 --
 citadel/debian/citadel-doc.install      |   5 -
 citadel/debian/citadel-mta.install      |   1 -
 citadel/debian/citadel-mta.postinst     |  21 --
 citadel/debian/citadel-server.1.manpage |  68 ----
 citadel/debian/citadel-server.config    |  88 ------
 citadel/debian/citadel-server.dirs      |   9 -
 citadel/debian/citadel-server.install   |  19 --
 citadel/debian/citadel-server.postinst  |  93 ------
 citadel/debian/citadel-server.postrm    |  26 --
 citadel/debian/citadel-server.prerm     |  21 --
 citadel/debian/citadel-server.templates |  77 -----
 citadel/debian/citadel.init             | 178 -----------
 citadel/debian/compat                   |   1 -
 citadel/debian/control                  | 101 ------
 citadel/debian/copyright                | 131 --------
 citadel/debian/po/POTFILES.in           |   1 -
 citadel/debian/po/templates.pot         |  81 -----
 citadel/debian/rules                    | 176 -----------
 citadel/modules/ctdlproto/serv_user.c   |  26 +-
 citadel/modules/openid/serv_openid_rp.c |   3 +-
 citadel/modules/upgrade/serv_upgrade.c  |   4 +-
 citadel/user_ops.c                      |  69 ++--
 citadel/user_ops.h                      |   6 +-
 31 files changed, 60 insertions(+), 1997 deletions(-)
 delete mode 100755 citadel/buildpackages
 delete mode 100644 citadel/debian/.gitignore
 delete mode 100644 citadel/debian/README.Debian
 delete mode 100644 citadel/debian/changelog
 delete mode 100644 citadel/debian/citadel-common.dirs
 delete mode 100644 citadel/debian/citadel-common.postinst
 delete mode 100644 citadel/debian/citadel-doc.install
 delete mode 100644 citadel/debian/citadel-mta.install
 delete mode 100644 citadel/debian/citadel-mta.postinst
 delete mode 100644 citadel/debian/citadel-server.1.manpage
 delete mode 100755 citadel/debian/citadel-server.config
 delete mode 100644 citadel/debian/citadel-server.dirs
 delete mode 100644 citadel/debian/citadel-server.install
 delete mode 100644 citadel/debian/citadel-server.postinst
 delete mode 100644 citadel/debian/citadel-server.postrm
 delete mode 100644 citadel/debian/citadel-server.prerm
 delete mode 100644 citadel/debian/citadel-server.templates
 delete mode 100644 citadel/debian/citadel.init
 delete mode 100644 citadel/debian/compat
 delete mode 100644 citadel/debian/control
 delete mode 100644 citadel/debian/copyright
 delete mode 100644 citadel/debian/po/POTFILES.in
 delete mode 100644 citadel/debian/po/templates.pot
 delete mode 100755 citadel/debian/rules


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4539465</link><pubDate>Mon, 06 Apr 2020 15:07:34 +0500</pubDate><title>Message #4539465</title><guid isPermaLink="false">4539465@Uncensored</guid><description><![CDATA[I'm going through the Citadel Server documentation and it mentions that the
IMAP client works with Eudora. 
  
 LOL 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4539436</link><pubDate>Mon, 06 Apr 2020 13:11:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-435-ga2ae8dfea</title><guid isPermaLink="false">4539436@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  a2ae8dfea31fc1495e3a97b28f3ddca01f491bef (commit)
      from  f3d67d7b31c63a0830c714420f6c3af0fdbbb13b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=a2ae8dfea31fc1495e3a97b28f3ddca01f491bef
commit a2ae8dfea31fc1495e3a97b28f3ddca01f491bef
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Apr 6 13:10:57 2020 -0400

    'Network User' is now 'Normal User'

-----------------------------------------------------------------------

Summary of changes:
 textclient/citadel_ipc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4514914</link><pubDate>Tue, 07 Jan 2020 00:15:33 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-434-gf3d67d7b3</title><guid isPermaLink="false">4514914@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  f3d67d7b31c63a0830c714420f6c3af0fdbbb13b (commit)
      from  6d051cee6f669b6ecd950e933a95644f3cf097ea (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=f3d67d7b31c63a0830c714420f6c3af0fdbbb13b
commit f3d67d7b31c63a0830c714420f6c3af0fdbbb13b
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jan 7 00:15:31 2020 -0500

    cleaned up some spacing while admiring how clean this code is

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/rssclient/serv_rssclient.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4514084</link><pubDate>Fri, 03 Jan 2020 17:49:28 +0500</pubDate><title>Message #4514084</title><guid isPermaLink="false">4514084@Uncensored</guid><description><![CDATA[ >Though just one question, is a strong knowledge of Citadel required  
 >for the task?  
 >I must admit I have not played/experimented with Citadel for the last  
 >months...  
  
 No, but you might need to have a working Citadel system that you're willing
to play around with, to verify that what you see in the documentation is still
correct. 
  
 I'm in the process of cleaning up the FAQ (Knowledge Base) section.  I'm
dreading the Documentation section, so some help would be awesome.   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4513325</link><pubDate>Wed, 01 Jan 2020 15:34:22 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-433-g6d051cee6</title><guid isPermaLink="false">4513325@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  6d051cee6f669b6ecd950e933a95644f3cf097ea (commit)
      from  7823515de1fd4ecd7bde64f93b160c92c150653b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=6d051cee6f669b6ecd950e933a95644f3cf097ea
commit 6d051cee6f669b6ecd950e933a95644f3cf097ea
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Jan 1 15:34:18 2020 -0500

    Shamlessly slapped a 2020 copyright date on all startup banners.

-----------------------------------------------------------------------

Summary of changes:
 citadel/server_main.c | 4 ++--
 ctdlsh/main.c         | 4 ++--
 webcit-ng/main.c      | 4 ++--
 webcit/webserver.c    | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4506737</link><pubDate>Sat, 07 Dec 2019 01:08:13 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-432-g7823515de</title><guid isPermaLink="false">4506737@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  7823515de1fd4ecd7bde64f93b160c92c150653b (commit)
      from  21185d642546b081924a541bad2adcaad9416fca (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=7823515de1fd4ecd7bde64f93b160c92c150653b
commit 7823515de1fd4ecd7bde64f93b160c92c150653b
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Dec 7 01:08:04 2019 -0500

    Applied patch sent by Vijay Kumar to correct SMTP dot de-stuffing

-----------------------------------------------------------------------

Summary of changes:
 citadel/msgbase.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4506669</link><pubDate>Fri, 06 Dec 2019 22:10:36 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-431-g21185d642</title><guid isPermaLink="false">4506669@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  21185d642546b081924a541bad2adcaad9416fca (commit)
      from  1ab27069271df6ed100343866c93c0ef2eb2a888 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=21185d642546b081924a541bad2adcaad9416fca
commit 21185d642546b081924a541bad2adcaad9416fca
Author: Art Cancro <ajc@citadel.org>
Date:   Fri Dec 6 22:10:31 2019 -0500

    Suppress output of inline HTML styles when converting to plain text

-----------------------------------------------------------------------

Summary of changes:
 libcitadel/lib/html_to_ascii.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4505163</link><pubDate>Sun, 01 Dec 2019 18:57:45 +0500</pubDate><title>Message #4505163</title><guid isPermaLink="false">4505163@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Sun Nov 24 2019 23:10:08 EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Is anyone interested in helping to clean up our documentation for the new-and-improved Citadel website? <br /><br />We have 145 documents from the FAQ / Knowledge Base / Documentation portion of the old site. I have bulk-converted them as best as I could from wiki markup to "real" HTML, which you can see here: <br /><br />[ <a href="http://wwwdev.citadel.org/documentation.html" target="webcit01">http://wwwdev.citadel.org/documentation.html</a> ] <br /><br />I could really use some help from someone who would be willing to: <br />* Read each document and point out the ones that are obsolete and need to be deleted <br />* ...or updated <br />* Clean up any remaining wiki markup and make it look like (very simple) HTML <br /><br />Any takers? I would really like to bring the new site online. </div>
</div>
</blockquote>
<p>&gt;*Raises hand*</p>
<p>Though just one question, is a strong knowledge of Citadel required for the task?<br />I must admit I have not played/experimented with Citadel for the last months...</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4503354</link><pubDate>Sun, 24 Nov 2019 23:45:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-430-g1ab270692</title><guid isPermaLink="false">4503354@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1ab27069271df6ed100343866c93c0ef2eb2a888 (commit)
      from  93f719e3132da1eb448f7ca27c852fbe0953a63c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1ab27069271df6ed100343866c93c0ef2eb2a888
commit 1ab27069271df6ed100343866c93c0ef2eb2a888
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Nov 24 23:45:05 2019 -0500

    The user principal identity is now used as the JID in all XMPP protocol stanzas.

-----------------------------------------------------------------------

Summary of changes:
 citadel/context.h                           |  1 +
 citadel/modules/instmsg/serv_instmsg.c      |  2 +-
 citadel/modules/xmpp/serv_xmpp.c            |  6 +++---
 citadel/modules/xmpp/xmpp_messages.c        |  4 ++--
 citadel/modules/xmpp/xmpp_presence.c        | 10 +++++-----
 citadel/modules/xmpp/xmpp_query_namespace.c |  2 +-
 citadel/user_ops.c                          |  6 ++++++
 7 files changed, 19 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4503350</link><pubDate>Sun, 24 Nov 2019 23:10:08 +0500</pubDate><title>Message #4503350</title><guid isPermaLink="false">4503350@Uncensored</guid><description><![CDATA[  
 Is anyone interested in helping to clean up our documentation for the new-and-improved
Citadel website? 
  
 We have 145 documents from the FAQ / Knowledge Base / Documentation portion
of the old site.  I have bulk-converted them as best as I could from wiki
markup to "real" HTML, which you can see here: 
  
  [ http://wwwdev.citadel.org/documentation.html ] 
  
 I could really use some help from someone who would be willing to: 
 * Read each document and point out the ones that are obsolete and need to
be deleted 
 * ...or updated 
 * Clean up any remaining wiki markup and make it look like (very simple)
HTML 
  
 Any takers?  I would really like to bring the new site online. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4501097</link><pubDate>Sat, 16 Nov 2019 17:44:06 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-429-g93f719e31</title><guid isPermaLink="false">4501097@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  93f719e3132da1eb448f7ca27c852fbe0953a63c (commit)
       via  86052c3ecad8ea7705e9c895d5c0ae3aab549c90 (commit)
       via  aae29a7692b6df8429a1d81b1f33b43f703e78dd (commit)
       via  60970bec64e3c20fc8259748179b3c4410f080bd (commit)
       via  67be6683e8603c4f8926e3d0c06afc7add9f4cae (commit)
      from  79609016818c50dedddfbb778de3ba9678391ddc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=93f719e3132da1eb448f7ca27c852fbe0953a63c
commit 93f719e3132da1eb448f7ca27c852fbe0953a63c
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Nov 16 17:44:03 2019 -0500

    playing around with readline

http://code.citadel.org/?p=citadel.git&a=commit&h=86052c3ecad8ea7705e9c895d5c0ae3aab549c90
commit 86052c3ecad8ea7705e9c895d5c0ae3aab549c90
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 30 15:27:29 2019 -0400

    do nothing with blank lines, exit on EOF

http://code.citadel.org/?p=citadel.git&a=commit&h=aae29a7692b6df8429a1d81b1f33b43f703e78dd
commit aae29a7692b6df8429a1d81b1f33b43f703e78dd
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 30 15:26:05 2019 -0400

    do nothing with blank lines, exit on EOF

http://code.citadel.org/?p=citadel.git&a=commit&h=60970bec64e3c20fc8259748179b3c4410f080bd
commit 60970bec64e3c20fc8259748179b3c4410f080bd
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Oct 30 12:25:10 2019 -0400

    moving towards the new autocompleter

http://code.citadel.org/?p=citadel.git&a=commit&h=67be6683e8603c4f8926e3d0c06afc7add9f4cae
commit 67be6683e8603c4f8926e3d0c06afc7add9f4cae
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 29 21:08:00 2019 -0400

    Real zombies are undead, not the kind you see on TV.

-----------------------------------------------------------------------

Summary of changes:
 ctdlsh/ctdlsh.h   |  4 +++
 ctdlsh/main.c     | 93 +++++++++++++++++++------------------------------------
 ctdlsh/shutdown.c |  2 +-
 3 files changed, 36 insertions(+), 63 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4498476</link><pubDate>Wed, 06 Nov 2019 16:25:15 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4498476@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Mon Aug 19 2019 09:06:15 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Webcit-ng</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />WebCit-NG is still the intended direction of the project. I want to retire WebCit Classic. It's just a matter of time. <br /><br />By "citadel-thunderbird interactivity" I assume you mean CalDAV. Yes, that's already in WebCit- <br />NG and it already works. So it'll be there out of the gate. Remember, WebCit-NG is being built in a "REST-first" mode of operation. </div>
</div>
</blockquote>
<p>Yes, I meant CalDAV. sorry.</p>
<p>Anyway, some news in regard, by any chance?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4494230</link><pubDate>Mon, 21 Oct 2019 14:38:15 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-424-g796090168</title><guid isPermaLink="false">4494230@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  79609016818c50dedddfbb778de3ba9678391ddc (commit)
       via  a1d3a2ae9d2bac5aec05e8d95d2a5adc93e6c29d (commit)
      from  4476063e3bc75a548fa3a96e518cc8cbeacc8935 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=79609016818c50dedddfbb778de3ba9678391ddc
commit 79609016818c50dedddfbb778de3ba9678391ddc
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 21 14:38:13 2019 -0400

    On the first run of the server on an empty database, create a default administrator account.  This should eliminate the need to run setup on most systems.

http://code.citadel.org/?p=citadel.git&a=commit&h=a1d3a2ae9d2bac5aec05e8d95d2a5adc93e6c29d
commit a1d3a2ae9d2bac5aec05e8d95d2a5adc93e6c29d
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 21 14:17:07 2019 -0400

    cosmetic cleanup to serv_virus.c

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h                      |  7 +++++++
 citadel/modules/clamav/serv_virus.c    | 34 +++++++++++-----------------------
 citadel/modules/upgrade/serv_upgrade.c | 22 ++++++++++++++++++++++
 3 files changed, 40 insertions(+), 23 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4494227</link><pubDate>Mon, 21 Oct 2019 14:13:44 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-422-g4476063e3</title><guid isPermaLink="false">4494227@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  4476063e3bc75a548fa3a96e518cc8cbeacc8935 (commit)
      from  55d2810730edbcf5724b020132ef714ea8d25644 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=4476063e3bc75a548fa3a96e518cc8cbeacc8935
commit 4476063e3bc75a548fa3a96e518cc8cbeacc8935
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 21 14:13:42 2019 -0400

    fix_other_mtas() is old news

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/setup.c | 11 -----------
 1 file changed, 11 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4494223</link><pubDate>Mon, 21 Oct 2019 14:08:00 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-421-g55d281073</title><guid isPermaLink="false">4494223@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  55d2810730edbcf5724b020132ef714ea8d25644 (commit)
      from  288673812af6b3081aae5143f93c6674ff63e6ed (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=55d2810730edbcf5724b020132ef714ea8d25644
commit 55d2810730edbcf5724b020132ef714ea8d25644
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Oct 21 14:07:56 2019 -0400

    Removed the fixnss() step from setup.  I don't think it's needed anymore.  Moving towards eliminating setup entirely.

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/setup.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4494191</link><pubDate>Mon, 21 Oct 2019 11:38:55 +0500</pubDate><title>Re: Citadel in Docker</title><guid isPermaLink="false">4494191@Uncensored</guid><description><![CDATA[That seems sensible enough.  I might even go the ultra-old-skool way and have
the server configure a default user name and password when it's coming up
for the first time on an empty database ... but if it sees that environment
variable, it means someone knows what they're doing and it could use that
instead. 
  
 The number of things that the setup program does, is getting smaller and
smaller.  Ultimately I want the setup program to go away entirely.  We might
be close. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4493233</link><pubDate>Thu, 17 Oct 2019 11:04:33 +0500</pubDate><title>Re: Citadel in Docker</title><guid isPermaLink="false">4493233@Uncensored</guid><description><![CDATA[ >"docker exec -it my-citadel-container /usr/local/citadel/setup" to set 
 
 >the administrator password.   
  
 A traditional way to do this might be to set an environment variable on the
first boot of the container. 
  
 It's good practice to keep the containers as self-contained as possible;
not do too much *outside* of it in a wrapper script or whatever. That'll make
it easy to host on various environments like ECS or k8s. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4493216</link><pubDate>Thu, 17 Oct 2019 09:01:39 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 2e8ed5d4963ca9cc2d86e70024543eabb99b238f</title><guid isPermaLink="false">4493216@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  2e8ed5d4963ca9cc2d86e70024543eabb99b238f (commit)
      from  ba96c571eb2061b2ebf3b9b64f66f66e0683f412 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2e8ed5d4963ca9cc2d86e70024543eabb99b238f
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 17 09:01:37 2019 -0400

    Made some modifications to the license file.

-----------------------------------------------------------------------

Summary of changes:
 COPYING | 55 ++++---------------------------------------------------
 1 file changed, 4 insertions(+), 51 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4493213</link><pubDate>Thu, 17 Oct 2019 08:51:29 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. ba96c571eb2061b2ebf3b9b64f66f66e0683f412</title><guid isPermaLink="false">4493213@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  ba96c571eb2061b2ebf3b9b64f66f66e0683f412 (commit)
      from  2bb55e4ad7fe19905142babb26f5dc76ae06354f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit ba96c571eb2061b2ebf3b9b64f66f66e0683f412
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Oct 17 08:51:27 2019 -0400

    more tuning to startup scripts

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile                | 19 ++++---------------
 citadel-docker-startup.sh | 25 ++++++++++++-------------
 2 files changed, 16 insertions(+), 28 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4493185</link><pubDate>Thu, 17 Oct 2019 08:13:00 +0500</pubDate><title>Re: Citadel in Docker</title><guid isPermaLink="false">4493185@Uncensored</guid><description><![CDATA[ >How likely will it work in a mid/high range synology nas?  
  
 I have no way of giving you any answer other than "try it and see".  If they're
supporting Docker and it's standard Linux on AMD64, it ought to work, but
we won't know until someone tries it. 
  
 Some more work was done on this yesterday.  It is starting to get to the
point where the data (external volume) continues to be reliably remounted
when you destroy the container and then create a new one.  I'd like to try
it with a couple of different volume drivers but I only have the standard
one at the moment.  Also it doesn't have an easy way of starting the setup
program; right now you have to do something like "docker exec -it my-citadel-container
/usr/local/citadel/setup" to set the administrator password. 
  
 But it *is* working, if you want to try building it yourself.  When I feel
it's reached a reliable beta quality I'll push a pre-built one out to DockerHub.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4492699</link><pubDate>Tue, 15 Oct 2019 14:28:02 +0500</pubDate><title>Re: Citadel in Docker</title><guid isPermaLink="false">4492699@Uncensored</guid><description><![CDATA[
How likely will it work in a mid/high range synology nas?

Regards!

On 8/21/19 12:56 PM, IGnatius T Foobar wrote:
> There's a new repo called "citadel-docker" which will be used for Citadel
> running in a Docker container.  Commits will appear here as well.
>   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4492686</link><pubDate>Tue, 15 Oct 2019 13:46:22 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. 2bb55e4ad7fe19905142babb26f5dc76ae06354f</title><guid isPermaLink="false">4492686@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  2bb55e4ad7fe19905142babb26f5dc76ae06354f (commit)
      from  fc664a5b94203934293d5b9b84e264c25ae99424 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2bb55e4ad7fe19905142babb26f5dc76ae06354f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 15 13:46:20 2019 -0400

    New startup script

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile                |  3 ++-
 citadel-docker-startup.sh | 16 ++++++++++++----
 2 files changed, 14 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4492676</link><pubDate>Tue, 15 Oct 2019 13:16:07 +0500</pubDate><title>[SCM] Configuration for building a Citadel container in Docker branch master updated. fc664a5b94203934293d5b9b84e264c25ae99424</title><guid isPermaLink="false">4492676@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Configuration for building a Citadel container in Docker".

The branch, master has been updated
       via  fc664a5b94203934293d5b9b84e264c25ae99424 (commit)
      from  e5d08c815bbbda67664caf98854e7684b1a6b5b8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fc664a5b94203934293d5b9b84e264c25ae99424
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Oct 15 13:16:05 2019 -0400

    aliases need to be built at runtime

-----------------------------------------------------------------------

Summary of changes:
 Dockerfile                |  7 ++++---
 build.sh                  | 22 ----------------------
 citadel-docker-startup.sh | 11 +++++++++++
 run-citadel.sh            |  4 +---
 4 files changed, 16 insertions(+), 28 deletions(-)
 delete mode 100644 build.sh
 create mode 100755 citadel-docker-startup.sh


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4488410</link><pubDate>Sat, 28 Sep 2019 16:54:50 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-420-g288673812</title><guid isPermaLink="false">4488410@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  288673812af6b3081aae5143f93c6674ff63e6ed (commit)
       via  6d624cc4161ba0ce4892a7e7aaee7fd89dffa245 (commit)
      from  0c90ed3253337bfd864b4d780df4701d0cc0f2c4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=288673812af6b3081aae5143f93c6674ff63e6ed
commit 288673812af6b3081aae5143f93c6674ff63e6ed
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 28 16:54:46 2019 -0400

    ForEachUser() linked list , keep track of last item so we don't have to traverse backwards

http://code.citadel.org/?p=citadel.git&a=commit&h=6d624cc4161ba0ce4892a7e7aaee7fd89dffa245
commit 6d624cc4161ba0ce4892a7e7aaee7fd89dffa245
Author: Art Cancro <ajc@citadel.org>
Date:   Sat Sep 28 16:03:37 2019 -0400

    ForEachUser() now uses a linked list

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/xmpp/xmpp_sasl_service.c | 21 ++-----------
 citadel/user_ops.c                       | 54 ++++++++++++++++++--------------
 2 files changed, 32 insertions(+), 43 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4487579</link><pubDate>Wed, 25 Sep 2019 10:04:14 +0500</pubDate><title>Re: [SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-418-g0c90ed325</title><guid isPermaLink="false">4487579@Uncensored</guid><description><![CDATA[  
 This may seem like a small change, but it's going to be used in a lot of
different places (and it was a pain in the neck to do this because it didn't
fit well into the normal serv_upgrade.c module). 
  
 This will eliminate the places where a user name that has spaces or punctuation
in it is no longer ambiguous.  Now I don't have to worry about whether the
software wants "ignatius_t_foobar@example.com" and whether the underscores
are actually in the username or if they're converted from spaces or whatever.

  
 Furthermore, these are now all the same:  "IGnatius T Foobar" "ignatius t
foobar" "ignatius.t.foobar" "ignatiustfoobar" "ig.natius-t_foo.BAR" 
  
 Yes, there's a reason I'm doing this!  It will make the user's identity token
UNAMBIGUOUS in protocols like XMPP, where we have in the past had to deal
with identities that cannot have spaces, but then we have to replace the spaces
and
we don't know for sure that they're actually spaces.  So a user whose screen
name is "The AWESOME D00D!!!1" will be indexed as "theawesomed00d1" in XMPP.

  
 No, I don't actually care much about XMPP these days, but this is going to
make ActivityPub work a whole lot better when I implement that. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4487576</link><pubDate>Wed, 25 Sep 2019 09:49:30 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-418-g0c90ed325</title><guid isPermaLink="false">4487576@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  0c90ed3253337bfd864b4d780df4701d0cc0f2c4 (commit)
      from  cfa09472a585c534fd05c8a35811cff9ef18965f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0c90ed3253337bfd864b4d780df4701d0cc0f2c4
commit 0c90ed3253337bfd864b4d780df4701d0cc0f2c4
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Sep 25 09:49:27 2019 -0400

    The index key for user records now omits non-alphanumeric characters, in addition to the previous behavior of converting to lower case.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h     |  4 ++--
 citadel/citserver.c   |  7 ++++++
 citadel/server_main.c |  2 +-
 citadel/threads.c     |  1 -
 citadel/user_ops.c    | 62 ++++++++++++++++++++++++++++++++++++++++++++++-----
 citadel/user_ops.h    |  1 +
 6 files changed, 68 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4484187</link><pubDate>Thu, 12 Sep 2019 13:45:41 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-417-gcfa09472a</title><guid isPermaLink="false">4484187@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  cfa09472a585c534fd05c8a35811cff9ef18965f (commit)
      from  41544d6edeaaee1d6563b3e30e0ec2c29d5cca41 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=cfa09472a585c534fd05c8a35811cff9ef18965f
commit cfa09472a585c534fd05c8a35811cff9ef18965f
Author: Art Cancro <ajc@citadel.org>
Date:   Thu Sep 12 13:45:36 2019 -0400

    Removed md5.c and md5.h because the APOP implementation which used it is no longer part of Citadel Server

-----------------------------------------------------------------------

Summary of changes:
 citadel/Makefile.in                         |   4 +-
 citadel/md5.c                               | 360 ----------------------------
 citadel/md5.h                               |  31 ---
 citadel/modules/pop3/serv_pop3.c            |   3 +-
 citadel/modules/rssclient/serv_rssclient.c  |   1 -
 citadel/modules/xmpp/serv_xmpp.c            |   1 -
 citadel/modules/xmpp/xmpp_messages.c        |   1 -
 citadel/modules/xmpp/xmpp_presence.c        |   1 -
 citadel/modules/xmpp/xmpp_query_namespace.c |   1 -
 citadel/modules/xmpp/xmpp_queue.c           |   1 -
 citadel/modules/xmpp/xmpp_sasl_service.c    |   1 -
 citadel/msgbase.c                           |   1 -
 12 files changed, 3 insertions(+), 403 deletions(-)
 delete mode 100644 citadel/md5.c
 delete mode 100644 citadel/md5.h


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4483273</link><pubDate>Mon, 09 Sep 2019 10:14:12 +0500</pubDate><title>Message #4483273</title><guid isPermaLink="false">4483273@Uncensored</guid><description><![CDATA[Actually yes, that's exactly what it does.  Easy Install was designed to be
run over and over again, updating the software and keeping your data intact.
 I've been running Uncensored using the Easy Install distribution for years
and I've never had a problem.  When people do have problems, it's usually
because they introduced some sort of incompatibility with their underlying
operating system, or somehow they got two Citadel servers running at the same
time and it corrupted the db (but the software is supposed to prevent that
from happening, so I don't know how they actually pulled that off). 
  
 So yes, you can just keep running Easy Install over and over again to get
the latest version.  But if you do manage to break it, I always advise reading
this FAQ article: [ http://citadel.org/doku.php?id=faq:troubleshooting:no_backups
] 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4483157</link><pubDate>Mon, 09 Sep 2019 01:28:20 +0500</pubDate><title>Message #4483157</title><guid isPermaLink="false">4483157@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Fri Sep 06 2019 12:56:11 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Don't you have a snapshot feature on your VM hosts? It's common practice to snapshot a virtual machine before performing any sort of major upgrade, for exactly that reason. If it totally goes south you just revert, and it's far easier than restoring from a backup. </div>
</div>
</blockquote>
<p>LOL. I'm running on bare metal on the Pi. I can image the SD that runs the machine, of course - same net effect. </p>
<p><br />But even then, do I just run the latest easy-install - and it keeps the same databases, pointers, messages, users, rooms, etc.? </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4482503</link><pubDate>Fri, 06 Sep 2019 12:56:11 +0500</pubDate><title>Message #4482503</title><guid isPermaLink="false">4482503@Uncensored</guid><description><![CDATA[Don't you have a snapshot feature on your VM hosts?  It's common practice
to snapshot a virtual machine before performing any sort of major upgrade,
for exactly that reason.  If it totally goes south you just revert, and it's
far easier than restoring from a backup. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4482013</link><pubDate>Wed, 04 Sep 2019 22:04:05 +0500</pubDate><title>Message #4482013</title><guid isPermaLink="false">4482013@Uncensored</guid><description><![CDATA[I have a problem with sticking with a solid, stable production environment
as development continues because I like what I have and don't want to risk
losing things in the upgrade process. Often this results in a new feature
I want showing up, and there being a tremendous upgrade process between where
I am and where the feature exists that wouldn't be there if I had just bit
the bullet when I should have. It is one of my liabilities as a systems admin/engineer...
whatever the company wants to call my role supporting their servers and platforms.
 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4481876</link><pubDate>Wed, 04 Sep 2019 12:00:28 +0500</pubDate><title>Message #4481876</title><guid isPermaLink="false">4481876@Uncensored</guid><description><![CDATA[An airplane of a room, to be sure.  Welcome. 
  
 As you can see, the current Shiny Thing is getting Citadel to run inside
a container.  That ought to make deployment easier for a lot of people.  I'm
getting tired of listening to support requests from people running the outdated
.deb packages. 
  
 There's an effort in progress to change the way we index user records.  The
new index will make all non-alphanumeric characters insignificant, so when
you do (for example) an XMPP login, mine for example will be "ignatiustfoobar@"
(plus the domain name) and it won't matter if you try "ignatius.t.foobar@"
or "igna_tiust_foobar@" or "ig_na.tius_t-foo_bar@" it'll all be the same.
 This has always been a sticking point with XMPP, and as we begin to use these
tokens with other protocols it will matter. 
  
 One of those other protocols will be ActivityPub (the protocol used by Mastodon)
so we can join
the fediverse. 
  
 Most of this stuff will require webcit-ng, because the legacy WebCit code
has become unmaintainable and I'm not adding any new features to it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4481746</link><pubDate>Wed, 04 Sep 2019 01:10:43 +0500</pubDate><title>Message #4481746</title><guid isPermaLink="false">4481746@Uncensored</guid><description><![CDATA[767 new of 767 messages.  
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477652</link><pubDate>Wed, 21 Aug 2019 23:08:24 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-416-g41544d6ed</title><guid isPermaLink="false">4477652@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  41544d6edeaaee1d6563b3e30e0ec2c29d5cca41 (commit)
      from  c71df26b9d35c07eb9c1322a7e83caa86337ad82 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=41544d6edeaaee1d6563b3e30e0ec2c29d5cca41
commit 41544d6edeaaee1d6563b3e30e0ec2c29d5cca41
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 21 23:08:24 2019 -0400

    cleanup

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/upgrade/serv_upgrade.c | 34 +++++++++-------------------------
 citadel/user_ops.c                     | 18 ++++--------------
 2 files changed, 13 insertions(+), 39 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477622</link><pubDate>Wed, 21 Aug 2019 17:42:03 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-415-gc71df26b9</title><guid isPermaLink="false">4477622@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  c71df26b9d35c07eb9c1322a7e83caa86337ad82 (commit)
      from  51834f3a61644b1f6f5a5f528cf36fbfbc73b2de (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=c71df26b9d35c07eb9c1322a7e83caa86337ad82
commit c71df26b9d35c07eb9c1322a7e83caa86337ad82
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 21 17:42:00 2019 -0400

    Removed all of the SYS_ user contexts, they aren't needed anymore

-----------------------------------------------------------------------

Summary of changes:
 citadel/euidindex.c                          | 4 ++--
 citadel/modules/network/serv_network.c       | 8 +-------
 citadel/modules/pop3client/serv_pop3client.c | 6 +-----
 citadel/modules/rssclient/serv_rssclient.c   | 6 ------
 citadel/modules/smtp/serv_smtpclient.c       | 3 ---
 citadel/utils/setup.c                        | 2 --
 6 files changed, 4 insertions(+), 25 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477606</link><pubDate>Wed, 21 Aug 2019 16:38:36 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-414-g51834f3a6</title><guid isPermaLink="false">4477606@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  51834f3a61644b1f6f5a5f528cf36fbfbc73b2de (commit)
      from  377231394f0f18628af378d85c4bbf4b518b9485 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=51834f3a61644b1f6f5a5f528cf36fbfbc73b2de
commit 51834f3a61644b1f6f5a5f528cf36fbfbc73b2de
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 21 16:38:07 2019 -0400

    Removed a lot of legacy cruft out of the setup utility.  Eventually I want to remove this utility entirely.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h     |   5 +
 citadel/utils/setup.c | 372 +++++++++++---------------------------------------
 2 files changed, 87 insertions(+), 290 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477576</link><pubDate>Wed, 21 Aug 2019 14:56:54 +0500</pubDate><title>Citadel in Docker</title><guid isPermaLink="false">4477576@Uncensored</guid><description><![CDATA[There's a new repo called "citadel-docker" which will be used for Citadel
running in a Docker container.  Commits will appear here as well. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477567</link><pubDate>Wed, 21 Aug 2019 14:18:24 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-413-g377231394</title><guid isPermaLink="false">4477567@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  377231394f0f18628af378d85c4bbf4b518b9485 (commit)
      from  1c5d73df9d3bc276c342d90e31ed2262e815f5b2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=377231394f0f18628af378d85c4bbf4b518b9485
commit 377231394f0f18628af378d85c4bbf4b518b9485
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 21 14:18:23 2019 -0400

    there it is ... found a stray endif

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/setup.c | 1 -
 1 file changed, 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477564</link><pubDate>Wed, 21 Aug 2019 14:01:51 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-412-g1c5d73df9</title><guid isPermaLink="false">4477564@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  1c5d73df9d3bc276c342d90e31ed2262e815f5b2 (commit)
      from  319a0b1f3302f13b470bc2f17f4eb60805eac2e9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=1c5d73df9d3bc276c342d90e31ed2262e815f5b2
commit 1c5d73df9d3bc276c342d90e31ed2262e815f5b2
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 21 14:01:49 2019 -0400

    Mark Zuckerberg is the Hitler of our era

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/setup.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477338</link><pubDate>Tue, 20 Aug 2019 20:12:07 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-411-g319a0b1f3</title><guid isPermaLink="false">4477338@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  319a0b1f3302f13b470bc2f17f4eb60805eac2e9 (commit)
      from  22c289f160172a16cc3bb4719fd6d4e827d70249 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=319a0b1f3302f13b470bc2f17f4eb60805eac2e9
commit 319a0b1f3302f13b470bc2f17f4eb60805eac2e9
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 20 20:12:04 2019 -0400

    oops

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/setup.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477316</link><pubDate>Tue, 20 Aug 2019 16:34:05 +0500</pubDate><title>[SCM] Citadel Server, WebCit, utilities branch master updated. Release_902-410-g22c289f16</title><guid isPermaLink="false">4477316@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Citadel Server, WebCit, utilities".

The branch, master has been updated
       via  22c289f160172a16cc3bb4719fd6d4e827d70249 (commit)
       via  012b6dd0ef1a671aec1e32821ca114095789e3b5 (commit)
      from  45fc293fa4f3071711a67c85b1337e5b1eebea23 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=22c289f160172a16cc3bb4719fd6d4e827d70249
commit 22c289f160172a16cc3bb4719fd6d4e827d70249
Merge: 012b6dd0e 45fc293fa
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 20 16:34:00 2019 -0400

    Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel

commit 45fc293fa4f3071711a67c85b1337e5b1eebea23
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 19 19:12:50 2019 +0000

    ctdl_tcp_server and ctdl_uds_server improved handling of error
    conditions in places like getprotobyname() which normally never throw an
    error, but in container universe it's a new game.

http://code.citadel.org/?p=citadel.git&a=commit&h=012b6dd0ef1a671aec1e32821ca114095789e3b5
commit 012b6dd0ef1a671aec1e32821ca114095789e3b5
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 20 16:33:48 2019 -0400

    minor changes

-----------------------------------------------------------------------

Summary of changes:
 citadel/utils/setup.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477072</link><pubDate>Mon, 19 Aug 2019 16:20:23 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-408-g45fc293fa</title><guid isPermaLink="false">4477072@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  45fc293fa4f3071711a67c85b1337e5b1eebea23 (commit)
      from  888efcf9c1b36ff6b41315c4b3675b19c098d335 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=45fc293fa4f3071711a67c85b1337e5b1eebea23
commit 45fc293fa4f3071711a67c85b1337e5b1eebea23
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Aug 19 19:12:50 2019 +0000

    ctdl_tcp_server and ctdl_uds_server improved handling of error
    conditions in places like getprotobyname() which normally never throw an
    error, but in container universe it's a new game.

-----------------------------------------------------------------------

Summary of changes:
 citadel/serv_extensions.c | 11 +++--------
 citadel/sysdep.c          | 41 +++++++++++++++++------------------------
 citadel/sysdep_decls.h    |  4 ++--
 3 files changed, 22 insertions(+), 34 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4477001</link><pubDate>Mon, 19 Aug 2019 09:06:15 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4477001@Uncensored</guid><description><![CDATA[  
 WebCit-NG is still the intended direction of the project.  I want to retire
WebCit Classic.  It's just a matter of time. 
  
 By "citadel-thunderbird interactivity" I assume you mean CalDAV.  Yes, that's
already in WebCit- 
 NG and it already works.  So it'll be there out of the gate.  Remember, WebCit-NG
is being built in a "REST-first" mode of operation. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4476998</link><pubDate>Mon, 19 Aug 2019 09:04:42 +0500</pubDate><title>Idle accounts on git.citadel.org are being removed</title><guid isPermaLink="false">4476998@Uncensored</guid><description><![CDATA[  
 Meta-update: 
  
 For security reasons, I have removed git.citadel.org accounts which have
not issued a commit in more than three years.  There were some accounts in
there that practically show the ancient history of the project, and it's a
security liability to have them all still out there, all with write access
to the repository. 
  
 Participation is still welcome and encouraged.  As always, anyone who contributes
frequent patches and would like to be considered for write access to the repo
is still welcome to request it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4476863</link><pubDate>Sun, 18 Aug 2019 19:14:34 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-407-g888efcf9c</title><guid isPermaLink="false">4476863@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  888efcf9c1b36ff6b41315c4b3675b19c098d335 (commit)
      from  3f4a665ae58de1ac116599326876f8dd5a2e7dc8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=888efcf9c1b36ff6b41315c4b3675b19c098d335
commit 888efcf9c1b36ff6b41315c4b3675b19c098d335
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 18 19:14:32 2019 -0400

    reversed previous change

-----------------------------------------------------------------------

Summary of changes:
 webcit/configure.ac | 1 -
 1 file changed, 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4476860</link><pubDate>Sun, 18 Aug 2019 19:09:22 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-406-g3f4a665ae</title><guid isPermaLink="false">4476860@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  3f4a665ae58de1ac116599326876f8dd5a2e7dc8 (commit)
      from  2439e193579e034fe2bad3fb6f039a440d60c556 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=3f4a665ae58de1ac116599326876f8dd5a2e7dc8
commit 3f4a665ae58de1ac116599326876f8dd5a2e7dc8
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 18 19:09:19 2019 -0400

    testing AC_SEARCH_LIBS(gettext, intl libintl)

-----------------------------------------------------------------------

Summary of changes:
 webcit/configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4476375</link><pubDate>Fri, 16 Aug 2019 13:20:25 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4476375@Uncensored</guid><description><![CDATA[<html><body>

<p>What about things such as shared calendars and address books?</p>
<p>I kinda think I reported long ago that these were not working properly on current Webcit (ok, maybe just calendar for now...).<br />With another quick look I remembered what's not working in the calendar: the attendees for when creating new events.<br />Clicking the contacts "book" icon to add attendees just shows empty box, when one would expect the whole list of users in the Citadel server. Of course, the "Check attendee availability" button does nothing at all as well.<br />Trying to share the calendar and address book (as in, one admin user being able to read and modify all other users' ones) also didn't work properly IIRC, though cannot remember exactly how...</p>
<p>Meanwhile I started reading the RFCs, for a start at least, but, certainly this would be nothing like XMPP bug reporting...</p>
<p>As final curious thing, is Citadel-Thunderbird interactivity still in beta?</p>
<p>Thanks again.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4476100</link><pubDate>Thu, 15 Aug 2019 13:58:01 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4476100@Uncensored</guid><description><![CDATA[Nearly all of my long term plans for Citadel *depend* on webcit-ng.  Specifically,
all of the ActivityPub (mastodon compatibility) and other global plans are
going to require the webcit-ng engine in order to work at all. 
  
 It's happening -- I just keep finding other things that need to be fixed
first.  The next thing you're going to see is a bunch of commits to citserver
which change the way we index user records, for example.  That's actually
part of the ActivityPub plan. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4475763</link><pubDate>Wed, 14 Aug 2019 11:45:07 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4475763@Uncensored</guid><description><![CDATA[<html><body>

<p>Er, by chance still any plans for Webcit-ng?<br />I'm still willing to contribute someway, in non-dev stuff -cause I'm no dev-...</p>
<p>Thanks</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4475760</link><pubDate>Wed, 14 Aug 2019 11:42:31 +0500</pubDate><title>Message #4475760</title><guid isPermaLink="false">4475760@Uncensored</guid><description><![CDATA[<html><body>

<p>Whoa, great progress!</p>
<p>I had read before that Citadel had pendant issues with Debian and derivatives, including of course Raspbian.<br />But now fixed, and also included systemd support.</p>
<p>Great work. Thanks.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4475455</link><pubDate>Tue, 13 Aug 2019 16:27:18 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-405-g2439e1935</title><guid isPermaLink="false">4475455@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  2439e193579e034fe2bad3fb6f039a440d60c556 (commit)
      from  d424d048b75f6ad6ddb3c92d8d1cf868d63e303f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=2439e193579e034fe2bad3fb6f039a440d60c556
commit 2439e193579e034fe2bad3fb6f039a440d60c556
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 13 16:27:13 2019 -0400

    Server restart via command no longer requires running as a daemon , uses execv() to restart.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/ctdlproto/serv_syscmds.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4475449</link><pubDate>Tue, 13 Aug 2019 16:16:19 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-404-gd424d048b</title><guid isPermaLink="false">4475449@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  d424d048b75f6ad6ddb3c92d8d1cf868d63e303f (commit)
      from  27014176ee36ef29b80da016f3fd5772189f8377 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=d424d048b75f6ad6ddb3c92d8d1cf868d63e303f
commit d424d048b75f6ad6ddb3c92d8d1cf868d63e303f
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 13 16:16:17 2019 -0400

    Server restart via command no longer requires running as a daemon , uses execv() to restart.

-----------------------------------------------------------------------

Summary of changes:
 citadel/modules/ctdlproto/serv_syscmds.c | 10 +---------
 citadel/server_main.c                    |  3 +++
 2 files changed, 4 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4475423</link><pubDate>Tue, 13 Aug 2019 14:37:17 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-403-g27014176e</title><guid isPermaLink="false">4475423@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  27014176ee36ef29b80da016f3fd5772189f8377 (commit)
      from  0566e798cbfc711e22b2e7328ed1d07a14265313 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=27014176ee36ef29b80da016f3fd5772189f8377
commit 27014176ee36ef29b80da016f3fd5772189f8377
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Aug 13 14:37:14 2019 -0400

    Initialize TSD key earlier in the startup process.  Newer Linux/Linux distributions were beginning to crash on an uninitialized key.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citadel.h        |  2 +-
 citadel/database.c       | 22 ++++++++++------------
 citadel/debian/changelog |  6 ++++++
 citadel/server_main.c    | 30 ++++++------------------------
 citadel/sysdep.c         | 14 +++++++-------
 citadel/threads.c        | 30 ++++++++++--------------------
 citadel/threads.h        |  1 +
 citadel/user_ops.c       |  7 +++----
 8 files changed, 44 insertions(+), 68 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4473447</link><pubDate>Wed, 07 Aug 2019 11:13:12 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-402-g0566e798c</title><guid isPermaLink="false">4473447@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  0566e798cbfc711e22b2e7328ed1d07a14265313 (commit)
      from  9ffea7c3315046ddcea2589656c13da5f5e0c076 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0566e798cbfc711e22b2e7328ed1d07a14265313
commit 0566e798cbfc711e22b2e7328ed1d07a14265313
Author: Art Cancro <ajc@citadel.org>
Date:   Wed Aug 7 11:12:40 2019 -0400

    People who disagree with me are always wrong and need to die.

-----------------------------------------------------------------------

Summary of changes:
 citadel/database.c | 73 ++++++++++++++++++++++--------------------------------
 citadel/user_ops.c |  1 +
 2 files changed, 31 insertions(+), 43 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4473178</link><pubDate>Tue, 06 Aug 2019 14:44:18 +0500</pubDate><title>Message #4473178</title><guid isPermaLink="false">4473178@Uncensored</guid><description><![CDATA[What originally manifested as "Citadel no longer runs on Raspberry Pi" is
turning into a pretty big deal.  As was discovered in the support room, it
crashes in the same place when running on the newest versions of Debian. 
As far as I can tell, the issue developed some time *during* the Buster train.
 It currently manifests on fully-updated installations of Buster, and on Sid.

  
 A bit of experimentation later, what I'm finding is that the server crashes
on the very first database read.  That happens to be a read of some configuration
values, but the behavior doesn't change if I budge in some dummy reads of
other tables before that. 
  
 This is a weird one.  This code hasn't changed in years.  Something on the
underlying platform is making it b0rk. 
  
 I even downloaded the very latest Berkeley DB and linked it in as a static
library, to make sure it wasn't a problem that has been discovered and fixed
by Oracle.  No dice. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4472637</link><pubDate>Sun, 04 Aug 2019 22:45:21 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-401-g9ffea7c33</title><guid isPermaLink="false">4472637@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  9ffea7c3315046ddcea2589656c13da5f5e0c076 (commit)
      from  bdfa2e9b6af7e32b11461433a28dd6551f830888 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=9ffea7c3315046ddcea2589656c13da5f5e0c076
commit 9ffea7c3315046ddcea2589656c13da5f5e0c076
Author: Art Cancro <ajc@citadel.org>
Date:   Sun Aug 4 22:44:34 2019 -0400

    Modified the behavior of ForEachUser() to do the two phase load/perform cycle
    as part of the function, since so many callbacks were implementing this anyway.

-----------------------------------------------------------------------

Summary of changes:
 citadel/citserver.h                    |   2 +-
 citadel/control.c                      |  17 +++--
 citadel/internet_addressing.c          |  56 +++------------
 citadel/modules/ctdlproto/serv_user.c  |  36 +++++++++-
 citadel/modules/expire/serv_expire.c   | 102 +++++++++------------------
 citadel/modules/migrate/serv_migrate.c |  36 ++++++----
 citadel/modules/upgrade/serv_upgrade.c | 124 +++++++++------------------------
 citadel/user_ops.c                     | 106 ++++++++++------------------
 citadel/user_ops.h                     |   3 +-
 9 files changed, 181 insertions(+), 301 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4471256</link><pubDate>Tue, 30 Jul 2019 09:40:53 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-400-gbdfa2e9b6</title><guid isPermaLink="false">4471256@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  bdfa2e9b6af7e32b11461433a28dd6551f830888 (commit)
      from  0acbb07fc840d92e9373edd3e70abd4bb2da2486 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=bdfa2e9b6af7e32b11461433a28dd6551f830888
commit bdfa2e9b6af7e32b11461433a28dd6551f830888
Author: Art Cancro <ajc@citadel.org>
Date:   Tue Jul 30 09:40:51 2019 -0400

    Renamed cutuserkey() to cutusername().  Function has nothing to do with keys.

-----------------------------------------------------------------------

Summary of changes:
 citadel/context.c                       |  2 +-
 citadel/modules/openid/serv_openid_rp.c |  4 ++--
 citadel/modules/upgrade/serv_upgrade.c  |  4 ++--
 citadel/user_ops.c                      | 14 +++++++-------
 citadel/user_ops.h                      |  2 +-
 5 files changed, 13 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4471057</link><pubDate>Mon, 29 Jul 2019 16:25:34 +0500</pubDate><title>[SCM] citadel.org branch master updated. Release_902-399-g0acbb07fc</title><guid isPermaLink="false">4471057@Uncensored</guid><description><![CDATA[
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "citadel.org ".

The branch, master has been updated
       via  0acbb07fc840d92e9373edd3e70abd4bb2da2486 (commit)
      from  03b525bdbd5fa51c1b5a56c5fdecfdb8200cb046 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://code.citadel.org/?p=citadel.git&a=commit&h=0acbb07fc840d92e9373edd3e70abd4bb2da2486
commit 0acbb07fc840d92e9373edd3e70abd4bb2da2486
Author: Art Cancro <ajc@citadel.org>
Date:   Mon Jul 29 16:25:27 2019 -0400

    Added header to user_ops.h

-----------------------------------------------------------------------

Summary of changes:
 citadel/user_ops.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)


hooks/post-receive
-- 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4470968</link><pubDate>Mon, 29 Jul 2019 10:49:04 +0500</pubDate><title>Message #4470968</title><guid isPermaLink="false">4470968@Uncensored</guid><description><![CDATA[A few things are going on behind the scenes.  Right now, I've got Easy Install
running on my Raspberry Pi and I was able to reproduce the problem where the
database is hosed from the very first install (manifests as "citadel-admin.socket"
missing).  Now to figure out what is going on, and to fix it.  This is weird
because Raspbian is basically just Debian, and it works fine on Debian. 
  
 I have another thing going on in my brain right now that's going to fix a
minor data model issue that's been poking me for years.  I've decided to make
Citadel user names not only case insensitive, but punctuation insensitive.
 So for example: 
  
 IGnatius T Foobar , ignatius.t.foobar , ig natius tfoobar , ignatiust_foobar

  
 ...are all the same user.  Hopefully this will not create a mess for anyone
out there when we reindex their databases.  The reason I want to do this,
is because we need the indexed
name as a primary identity for several protocols.  It's always been a mess
with XMPP, for example.   
   My identity for XMPP is "ignatius_t_foobar@uncensored.citadel.org" but
right now, it converts the underscores to spaces and assumes that my screen
name is "IGnatius T Foobar".  That's correct, but it's an assumption, and
we don't like assumptions.  I'd like to be "ignatiustfoobar@uncensored.citadel.org"
and it Just Works (tm). 
  
 Why this, why now?  Because I also want to be: 
  
       http://uncensored.citadel.org/~ignatiustfoobar      (home page, etc.)

       @ignatiustfoobar@uncensored.citadel.org             (ActivityPub) 
  
 ActivityPub seems to be winning as the federation protocol of choice (it's
what Mastodon and Gab use, for example) so it seems sensible to prepare for
it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4463644</link><pubDate>Mon, 01 Jul 2019 12:10:23 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4463644@Uncensored</guid><description><![CDATA[It goes in fits and spurts.  Once I get started on something it tends to happen
fast.  Most of the things I've been working on have been internal improvements
that don't show up in the user interface.   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4458560</link><pubDate>Tue, 11 Jun 2019 11:41:38 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4458560@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Mon May 27 2019 19:33:36 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Webcit-ng</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">It means if you're really interested and willing to commit to the work, I'll figure out a way to get you access to the server so you can help out. </div>
</div>
</blockquote>
<p>Thanks IG.</p>
<p>Just hope you are able to find another spare time (and for the project itself as well). I already read you're in busy full season again.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4454173</link><pubDate>Mon, 27 May 2019 19:33:36 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4454173@Uncensored</guid><description><![CDATA[It means if you're really interested and willing to commit to the work, I'll
figure out a way to get you access to the server so you can help out. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4445851</link><pubDate>Thu, 02 May 2019 13:10:05 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4445851@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Tue Apr 23 2019 08:45:32 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Webcit-ng</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Yes, we'd love some more help. Just need to figure out how to get you into the system. </div>
</div>
</blockquote>
<p>Mm, may I ask what this meant?<br />Thanks again.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4444952</link><pubDate>Mon, 29 Apr 2019 18:33:52 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4444952@Uncensored</guid><description><![CDATA[
I only Imagine what will you do if you where at full time developer.
Regards!


On 4/29/19 1:35 PM, IGnatius T Foobar wrote:
> Nope!  I'm an infrastructure architect for a data center company.  I write
> software in my spare time.
>   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4444915</link><pubDate>Mon, 29 Apr 2019 15:35:38 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4444915@Uncensored</guid><description><![CDATA[Nope!  I'm an infrastructure architect for a data center company.  I write
software in my spare time. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4444853</link><pubDate>Mon, 29 Apr 2019 11:34:26 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4444853@Uncensored</guid><description><![CDATA[<html><body>

<p>Good work mr IG.</p>
<p>("not a professional software developer"?)<br />...</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4443858</link><pubDate>Thu, 25 Apr 2019 23:15:25 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4443858@Uncensored</guid><description><![CDATA["march mode" code is in progress.  It's proving out the "REST API + JavaScript
UI" model pretty well.  (Yes I know, I'm the last person in the known universe
to start doing this but ... remember I'm not a professional software developer.)

  
 It reminds me of the old days, when we used to disagree with "those people"
about march mode vs. babble mode  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4443800</link><pubDate>Thu, 25 Apr 2019 17:14:01 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4443800@Uncensored</guid><description><![CDATA[Today I'm poking around in webcit-ng and adding some of the "goto next room"
code.  I'm thinking that we could put up a version of UNCENSORED! that uses
this code once we get some of the basic message board stuff usable. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4443029</link><pubDate>Tue, 23 Apr 2019 08:45:32 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4443029@Uncensored</guid><description><![CDATA[Yes, we'd love some more help.  Just need to figure out how to get you into
the system. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4437154</link><pubDate>Thu, 04 Apr 2019 15:46:17 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4437154@Uncensored</guid><description><![CDATA[<html><body>

<p>Sounds like a documentation-type job...</p>
<p>If it indirectly benefits Webcit even a bit, would you allow one more hand for the job by chance?<br />I could also test and check which pages from current Citadel website are outdated, and perhaps fix...</p>
<p>Also, wondering if you are planning to add SSL/TLS certificates to the new website and Uncensored</p>
<p>Thanks again.<br />And not meaning to be bothersome</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4435343</link><pubDate>Fri, 29 Mar 2019 09:24:26 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4435343@Uncensored</guid><description><![CDATA[Actually the other big deal going on right now is redoing the project web
site. 
  
 http://wwwdev.citadel.org 
  
 The new site removes DokuWiki and is being built with W3CSS, the exact same
framework that's being used for WebCit-NG.  Instead of being delivered via
a content management system, the site is *extremely* simple -- it's all static
pages, with server-side includes delivering the header and footer. 
  
 So another big job that needs to be done right now is to convert our knowledge
base over to the new site.  Each page has to be reviewed, to see if it's still
accurate, and then "de-wikified" back to plain HTML and placed in the new
site. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4430267</link><pubDate>Mon, 11 Mar 2019 12:41:54 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4430267@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks again mr IG.</p>
<p>So, IIUC, you're also prioritizing other stuff equally important to Citadel project.</p>
<p>So basically Webcit-ng will still be in the queue for the time being yet still considered, right?</p>
<p>As for me, even when I already started to read -right now the &lt;basics&gt; of databases-, it'd take me a big while to be able to contribute one small thing to webcit-ng, thought this doesn't mean I'll stop.</p>
<p>Anyway, if eventually there's a thing and help is needed with testing, documentation, etc, I'm still open.<br />(Unless you have further advise to give)</p>
<p>Thanks again.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4430199</link><pubDate>Mon, 11 Mar 2019 09:08:51 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4430199@Uncensored</guid><description><![CDATA[There are a couple of things I need to work on next.  webcit-ng is the big
one, but I've also been making a lot of changes in the background over the
last couple of months.  These changes don't add new features, but they are
moving the remaining standalone data files into the database.  netconfigs,
user profiles, room info profiles, system configuration, anything that's read/write
in the Citadel server has been moved into the database, with just one exception
(which I'll discuss in a minute).   
  
 The reason for this is: I want the entire Citadel Server footprint, except
for the database itself, to be read-only.  This will allow us to put Citadel
into a Docker container.  No more tedious mucking about with Easy Install
(but Easy Install will still be available ... in fact, that's probably how
we'll build the container).  Just pull down the container, start it up, and
go.  The data directory
will be *outside* of the container.  This way, when you upgrade the container
with a new version, you point it to the same data directory and things continue
to work. 
  
 (At least I think that's how it'll work.  I don't grok containers as much
as I should ... yet.) 
  
 The one exception, the one piece of data that hasn't been moved into the
database yet, is SSL keys and certificates.  I have to re-think this one,
because it's the one piece of data that has to originate outside of Citadel,
and when used for WebCit, is the one piece of data that WebCit has to maintain
on its own.  WebCit is currently not trusted by Citadel Server; it acts as
a completely untrusted client, and that's a good thing.  Unfortunately, for
Citadel Server to supply WebCit with its private key, the client has to be
trusted.  So this one isn't just a simple task of moving some piece of data
from a flat file to a database entry; I have to actually come up with a new
trust model. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4429334</link><pubDate>Fri, 08 Mar 2019 13:04:31 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4429334@Uncensored</guid><description><![CDATA[<html><body>

<p>What part of the code?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4427525</link><pubDate>Sat, 02 Mar 2019 14:47:01 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4427525@Uncensored</guid><description><![CDATA[I want to get this code into your hands, even if it's only a skeleton at this
point.  It's a very good framework and when I get around to fleshing it out,
it's going to be a much nicer base than the current WebCit code.  I think
what I'm going to do is offer it as a technology preview in the next release
of Easy Install.  We'll set it up so that the build doesn't fail if webcit-ng
fails, and it won't start it up by default either.   Then we will be able
to say "if you're on Easy Install and want to see webcit-ng, go to this directory
and start it with this command..." 
  
 I am in a busy season at work right now though.  In another couple of weeks
I'll be able to pound some more Citadel code. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4425362</link><pubDate>Fri, 22 Feb 2019 13:39:55 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4425362@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks again mr IG.<br />Mm... wouldn't I actually have a more or less "complete" development environment in the server already, thanks to Easy Install itself?<br />AFAIU, only differences would be, I'm using git clone instead of the tar-ed files, and the git-cloned sources ship more individual components (webcit-ng itself being one), which are also "latest/unstable" of course</p>
<p>Thing apart, it seems you got busy again these last weeks.<br />I'm still heavily interested in webcit-ng progress (and eventual release?) but, unlike the XMPP case, I'm more of lost regarding where to start... And it would seem like you're certainly the one most knowledgeable in having webcit-ng the correct way in the end...<br />By chance, do you think one could do stuff to benefit webcit-ng development? Or aside keep attempting to build it from source by trial-and-error, I better just wait?</p>
<p>Thanks again.<br />I hope I don't sound a bit cocky...</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4424200</link><pubDate>Mon, 18 Feb 2019 14:42:10 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4424200@Uncensored</guid><description><![CDATA[<html><body>

<p>Hmm.  I'm trying to think of an easy way to make webcit-ng available without requiring a complete build environment.</p>
<p>Maybe a hidden option in Easy Install that will make it download and build that component?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4415942</link><pubDate>Mon, 21 Jan 2019 15:49:06 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4415942@Uncensored</guid><description><![CDATA[<html><body>

<p>Running in test server, which was installed from scratch a month ago with Centos 7.6 and latest Citadel through Easy Install.<br />I do run Easy install script with certain frequency for update.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4415837</link><pubDate>Mon, 21 Jan 2019 10:48:09 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4415837@Uncensored</guid><description><![CDATA[Are you building on the same server that runs your production Citadel system,
or a different one?  The reason I am asking is because your production system
will already have the dependencies set up, especially if you ran Easy Install.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4413728</link><pubDate>Mon, 14 Jan 2019 16:52:38 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4413728@Uncensored</guid><description><![CDATA[<html><body>

<p>I apologize beforehand for this kind of question if it's a bit annoying; truth is this would be my very first time building something from source...</p>
<p>As mentioned, I git-cloned the whole Citadel tree (branch Master, since I didn't specify any branch to git).<br />Now, I thought I could build only the webcit-ng part and install it in a different directory than webcit.<br />I failed to find any configure script inside webcit-ng directory where to specify options such as the installation prefix and with libical; only the Makefile itself.<br />So I cd inside it, command make, and get "fatal error: libcitadel.h missing".</p>
<p>Something told me this was expected given my ignorance...</p>
<p>Apologizing again, may I ask for a bit of help?<br />Can I really just build the webcit-ng part, or do I need to build whole Citadel indeed?</p>
<p>Thanks.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4413674</link><pubDate>Mon, 14 Jan 2019 14:04:30 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4413674@Uncensored</guid><description><![CDATA[webcit-ng uses conf-IG-ure instead of GNU Autotools, so it doesn't need a
bootstrap script.  Just run the configure script and it will take care of
itself. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4413654</link><pubDate>Mon, 14 Jan 2019 13:05:26 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4413654@Uncensored</guid><description><![CDATA[<html><body>

<p>I cloned from git, and noticed, as Citadel website says, that there's no configure script; it must be generated.</p>
<p>I already checked I have GNU Autoconf and Libtools, but thing is, webcit-ng directory doesn't have any bootstrap script.<br />Could/should I use the one in webcit directory?</p>
<p>And for webcit-ng configure options, can I just use the same ones as webcit used by easy install?</p>
<p>Here in Centos 7 I'm using Make instead of Gmake; just if it matters...</p>
<p>Thanks.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4413424</link><pubDate>Sun, 13 Jan 2019 21:50:31 +0500</pubDate><title>Message #4413424</title><guid isPermaLink="false">4413424@Uncensored</guid><description><![CDATA[Makes sense.  :)  Now to find a Linux variant that doesn't suck...  <Shudder>

  
 I never should have sold off my SunFIRE server.  Something tells me that
with the addition of a 10tb RAID array, that could have made a very practical
application server...  I have so many regrets... 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4413371</link><pubDate>Sun, 13 Jan 2019 18:46:53 +0500</pubDate><title>Message #4413371</title><guid isPermaLink="false">4413371@Uncensored</guid><description><![CDATA[Microsoft, Apple, and the Linux Foundation have all been tainted by a lot
of the same problems, such as SJW's and "flat" user interfaces.  They all
suck now.  There's no escape. 
  
 But ... if you ran a Linux VM on a Mac, your data files would probably migrate
to a future native build without exporting them first, since it's the same
CPU architecture (64-bit x86).  As I said before ... getting Citadel to run
on both FreeBSD and OpenBSD cleanly will be a good step towards getting it
running on a Mac.  There's probably not much to it, but I'm not clear on any
of their build systems, and that's probably the biggest obstacle. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4413086</link><pubDate>Sat, 12 Jan 2019 19:59:47 +0500</pubDate><title>Message #4413086</title><guid isPermaLink="false">4413086@Uncensored</guid><description><![CDATA[But...but...  Windows is now at one with the open source community, so what
is to stop someone like me from feeling like it's the only viable choice when
Apple's "Just works" model is so obviously a lie? 
  
 Hmmm, maybe there is a middle ground...  Wonder if anyone came up with anything
that is not bound by Micro$oft or Apple?  ;) 
  
 macOS as a VM host for the Citadel appliance seems like it has potential.

  
 See?  Just a little deductive reasoning and suddenly options appear out of
nowhere!  :) 
  
 Ok, soapbox demolished. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4412813</link><pubDate>Fri, 11 Jan 2019 22:45:10 +0500</pubDate><title>Message #4412813</title><guid isPermaLink="false">4412813@Uncensored</guid><description><![CDATA[Easy there, chief.  I said it's ironic, not that it's the preferred way to
run ... well, pretty much anything, actually. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4412739</link><pubDate>Fri, 11 Jan 2019 14:55:57 +0500</pubDate><title>Message #4412739</title><guid isPermaLink="false">4412739@Uncensored</guid><description><![CDATA[ > The biggest irony is that it's running fine on Windows.   
  
 Well crap, why didn't I think of that?  Time to sell all my Apple hardware,
get a $500 server and spend 50 times that much on licenses for things that
I already have!  Paying for software I get get free or bundled without license
seems standard to Micro$oft, after all! 
  
 End rant... 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4411992</link><pubDate>Wed, 09 Jan 2019 09:54:15 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4411992@Uncensored</guid><description><![CDATA[Sure, you could run it on the same machine that runs your Citadel server,
just build it in another directory and run it on another port.  You'll have
to build it from the git repository.  It doesn't require any special privileges
and it won't interfere with your production system. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4411754</link><pubDate>Tue, 08 Jan 2019 17:21:35 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4411754@Uncensored</guid><description><![CDATA[<html><body>

<p>Is it possible to have both at same time, and in someway choosing either Webcit or Webcit-ng?</p>
<p>Or one does replace/overwrites the other?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4411722</link><pubDate>Tue, 08 Jan 2019 16:19:52 +0500</pubDate><title>Re: Webcit-ng</title><guid isPermaLink="false">4411722@Uncensored</guid><description><![CDATA[If you're interested, you should get a webcit-ng running, just to check out
the build system and the progress made on it so far.  It should build cleanly,
pretty much anywhere, and you can point it at any existing Citadel server
(such as your own production system, or even uncensored.citadel.org) without
disrupting anything. 
  
 Right now you can get logged in (or browse without logging in), jump to any
room by name, and read messages in BBS rooms.  Messages will *not* be marked
as read, so you can poke around on a production system in webcit-ng without
worrying about losing track of what you've seen. 
  
 There is also rudimentary CalDAV support.  I got it running with Thunderbird
(with the Lightning extension) and it worked pretty well, because Lightning
doesn't use any of the REPORT methods that aren't implemented yet. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4411656</link><pubDate>Tue, 08 Jan 2019 12:21:35 +0500</pubDate><title>Webcit-ng</title><guid isPermaLink="false">4411656@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Sun Jan 06 2019 12:51:05 EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: XMPP server</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I would rather work on getting webcit-ng up and running. </div>
</div>
</blockquote>
<p>Yes, you're right. I also think on better thought that Webcit-ng should be one of the priorities. I feel like current Webcit could even became unusable at mid term already!</p>
<p>And also, I'd like to see things such as shared calendars and address books revived with CalDAV and CardDAV as well.</p>
<p>I already began reading the RFCs, for a start at least, but, certainly this would be nothing like XMPP bug reporting...</p>
<p>Well, I have mentioned that I'm no dev but can still do some stuff.<br />Mr IG, do you think there could be any way I could help to slightly "speed up" Webcit-ng by any chance?<br />If coding were not much of an an option, perhaps testings, bug reports, documentation...</p>
<p>Or perhaps I'm already over-inflating myself? If so, apologies all</p>
<p>Thanks again.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4411040</link><pubDate>Sun, 06 Jan 2019 12:51:05 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4411040@Uncensored</guid><description><![CDATA[If you find a problem with another client, and can figure out where Citadel
is mis-speaking the protocol, I'm always willing to look at fixing that. 
As for new features, it's not where I currently want to focus my energy. 
I would rather work on getting webcit-ng up and running. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4410777</link><pubDate>Sat, 05 Jan 2019 13:24:44 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4410777@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks again.</p>
<p>Mm... may I take that something could be done at a later time regarding other XMPP clients, or is Citadel just ok with working just with Pidgin for the time being?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4410741</link><pubDate>Sat, 05 Jan 2019 10:26:29 +0500</pubDate><title>Message #4410741</title><guid isPermaLink="false">4410741@Uncensored</guid><description><![CDATA[  
 And now for the answers to some questions fleeb asked in email. 
  
 * Yes, ctdlsh uses libreadline.  It also ... doesn't do much yet.  Someday
it will replace the text client as a place to do system configuration from
the command line.  But it doesn't yet do enough useful things for it to assume
that role (or any role), which is why it hasn't been packaged. 
  
 * Yes, it's possible to build a WebCit package that ties into your Apache
or nginx installation.  I'd avoid doing it though, because there are soooooooooooo
many variables.  Remember, there are an infinite number of monkeys using their
infinite number of typewriters to generate support inquiries.  The original
version of WebCit used a cgi-bin to bind incoming HTTP connections to WebCit
sessions, and the *vast* majority of people having installation problems were
reporting issues in this area.  When we gave WebCit its own built-in
HTTP server, those support inquiries just stopped completely. 
  
 (The snarky version of this is that every time we make the installation easier,
we open up another stratum of users underneath the previous one, who have
even *less* of a clue how to install software, so the goal is to make it *infinitely*
easy.) 
  
 If you want to experiment though, maybe build another package like "citadel-webcit-nginx-integration"
or something like that, which finds your WebCit and Nginx installations and
tries to tie them together.  But maybe you want to wait until webcit-ng is
in production, since that one *strictly* uses the /ctdl prefix for all transactions.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4410736</link><pubDate>Sat, 05 Jan 2019 10:15:12 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4410736@Uncensored</guid><description><![CDATA[Thanks for the test.  From your message in the other room I am concluding
that it's working properly now (minus the features that you correctly observed
are not implemented).  This version is also running on Uncensored, so if anyone
wants to point their Pidgin client permanently at Uncensored, you can totally
do that. 
  
 I forgot to mention this, but you've probably discovered it already: Citadel
XMPP uses a set of heuristics we call "everyone's a buddy", which abuses the
XMPP roster to simply show you everyone who's online instead of only buddies
you've pre-selected.   
 For the type of systems where people use Citadel, this is almost always what
they wanted anyway. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4410401</link><pubDate>Fri, 04 Jan 2019 13:30:41 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4410401@Uncensored</guid><description><![CDATA[<html><body>

<p>First, a delayed Happy New Year.</p>
<p>Finally! Long live XMPP! Thanks very much mr IG.<br />I just had 2 horrible weeks due to the Christmas/New Year days and wasn't able to test anything until now.</p>
<p>I just tested with latest Pidgin again, and finally it did work.<br />Just a couple of small issues I preferred to ask in the support room since they're more like questions.</p>
<p>On the other hand, I also tried other XMPP clients on Windows 10, in particular Miranda-ng, Gajim and Jitsi.<br />I was particularly interested in Miranda-ng because of its small size and portable version (and low resource consuming according to documentation).<br />Unfortunately I didn't succeed in any of these clients.</p>
<p>In Miranda-ng I had to install 2 plugins "Console" and "OpenSSL" (Main Menu -&gt; Available Components List), then restart the client, configure my account and disable "Verify certificates" in Menu -&gt; Options -&gt; Network; this because seemingly there's no way to add custom certs like in Pidgin...<br />And client just gets stuck infinitely in attempting to connect; I attached console's log here.<br />Judging by last 3 lines seemingly Citadel server never answers to Miranda-ng client for some reason.</p>
<p>Gajim and Jitsi were not even able to find the server, with no further way to debug...<br />Gajim's debug console only said " gajim.c.resolver: Could not resolve host: No DNS record of the requested type for "_xmppconnect.192.168.1.2" "<br />Guess these clients only accept "official" recognized XMPP networks?</p>
<p>Asking in their mailing lists didn't help at all this time. People were basically low in interest, and some few even heavily mocking at Citadel project, claiming disliking and criticizing project's overall coding, and dunno what else.</p>
<p>Mm... think it's just that Citadel XMPP server currently only works with Pidgin?<br />Wouldn't be that bad neither even if it was the case.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4408194</link><pubDate>Fri, 28 Dec 2018 13:53:25 +0500</pubDate><title>Message #4408194</title><guid isPermaLink="false">4408194@Uncensored</guid><description><![CDATA[Every revision gets us closer to OSX compatibility, so there's a good chance
we'll get there around version 1000.  As we continue cleaning up old code
and removing obsolete features, the build gets cleaner and cleaner on things
like FreeBSD and OpenBSD.  My eventual goal is to streamline it so much that
we can remove GNU Autotools entirely because we're sticking to standards and
not relying on platform-specific hacks.    
  
  
 The biggest irony is that it's running fine on Windows. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4408128</link><pubDate>Fri, 28 Dec 2018 10:23:24 +0500</pubDate><title>Message #4408128</title><guid isPermaLink="false">4408128@Uncensored</guid><description><![CDATA[Any chance that the OSX port can be 1000?  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4406091</link><pubDate>Fri, 21 Dec 2018 14:30:40 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4406091@Uncensored</guid><description><![CDATA[Ok, that happened faster than I thought it would.  :) 
  
 924 is running on Uncensored and is also downloadable via Easy Install. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4405868</link><pubDate>Fri, 21 Dec 2018 01:57:49 +0500</pubDate><title>Message #4405868</title><guid isPermaLink="false">4405868@Uncensored</guid><description><![CDATA[  
 By the way ... in case I haven't mentioned this ... you can go to http://code.citadel.org
to look at the git repository, read the commit history, browse the code, etc.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4405866</link><pubDate>Fri, 21 Dec 2018 01:55:28 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4405866@Uncensored</guid><description><![CDATA[  
 Sorry if I wasn't clear about this:  version 924 is not published yet ! 

  
 It's in the git repository and I believe it's functionally complete, but
I have not tested it enough to release it to the world yet.  I will probably
test it here on Uncensored first. 
  
 While I was working in this part of the code I made a bunch of other changes.
 I now understand more about how a JID is constructed and that it doesn't
have to strictly match the account name; it just has to be unique for XMPP
to work properly.  I also understand that the client must accept the JID that
the server assigns to it.  So the heuristics of the protocol handler now work
with those assumptions. 
  
 The JID is now constructed from the user's primary Internet e-mail address.
 But not every user had one of those.  They do now!  When a user logs in,
Citadel Server now checks to see if the "primary internet email address"
field of the user account is empty, and if it is, it generates a new address
and assigns it to the account. 
  
 Login handlers have been simplified.  I've eliminated the "master user" feature
which wasn't being used by anyone and was probably a security risk anyway.
 This was originally written for a project involving Asterisk where a Citadel
server was used as a voice mailbox, using IMAP instead of simply forwarding
voicemails to email, which is how everyone does it now.  If we ever need this
in the future, I have an idea for how it could be done more cleanly. 
  
 It's all much cleaner and I feel good about it.  After it's been tested some
more, it'll be published. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4405730</link><pubDate>Thu, 20 Dec 2018 15:30:02 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4405730@Uncensored</guid><description><![CDATA[<html><body>

<p>Mr IG, glad to see back!!</p>
<p>Also, thanks very much for your recent work on XMPP.<br />But I have bad news though...</p>
<p>I decided to make a new Centos installation from scratch, using latest ISO, updating it, then downloading and running easy install bash script to install Citadel from scratch. Everything went smoothly. But, when trying to test XMPP from a Win10 (version 1810) client with Pidgin 2.13.0, OUCH, I got the very same errors, and due to the very same causes, as if my current Citadel installation didn't include your recent XMPP commitments at all...<br /><br />According to this,<br />http://code.citadel.org/?p=citadel.git;a=summary<br />version 924 was launched yesterday, and I ran Citadel easy install circa between 3 and 4 hours ago (time right now is 20:26 UTC).<br />Did I miss something?</p>
<p>Thanks again very much.</p>
<p>Edit: does version 924 setup now uses systemd instead of sysv init scripts?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4405188</link><pubDate>Wed, 19 Dec 2018 00:50:54 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4405188@Uncensored</guid><description><![CDATA[  
 XMPP is working again.  A change from about a year ago made the server stop
generating a default email address for new users if they didn't have one configured.
 Empty email addresses beget broken JIDs.  I believe I have it fixed. 
  
 Now in the place where the default address change was made, I had written
a comment that says "this breaks things" but I don't remember what it broke.
 So before I release this code I've got to see if there were any side effects.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4405070</link><pubDate>Tue, 18 Dec 2018 17:52:35 +0500</pubDate><title>Message #4405070</title><guid isPermaLink="false">4405070@Uncensored</guid><description><![CDATA[ >On a RPM-based system, uninstalling would also need to initiate a few  

 >commands to disable/remove the startup scripts:   
 >    
 > # service citadel stop   
 > # service citadel remove   
  
 True, but the next time I update the setup program, I'm probably going to
switch it to use systemd instead of sysvinit scripts anyway. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4405067</link><pubDate>Tue, 18 Dec 2018 17:50:47 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4405067@Uncensored</guid><description><![CDATA[ >But I didn't because I thought Citadel's XMPP server supported a  
 >thing called "resource binding":  
 >https://xmpp.org/rfcs/rfc3920.html#bind  
 >Citadel is not able to "generate a resource identifier on behalf of a  
 >client", and currently can only send a strange (misleading for me)  
 >error saying "don't know how to do set".   
  
 It turns out you're 100% correct here.  I read through RFC3920 section 7
again, and modified the code to generate a synthetic Resource ID if the client
has not supplied one in the bind request.  This is fixed in commit # 5e630368347015f99043c6edbc8c1b474cf892ff
. 
  
 Now, I was able to reproduce your other problem on my test server but not
on Uncensored.  In fact, right now I can't get Pidgin to connect to my test
server at all.  This is good news because it means I'm finally seeing the
problem.  Let me see what I can do with this. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4400221</link><pubDate>Sat, 01 Dec 2018 13:16:19 +0500</pubDate><title>&#39;autom4te.cache&#39; directory in distribution archive?</title><guid isPermaLink="false">4400221@Uncensored</guid><description><![CDATA[
I've been looking at working on updating the packages in Debian but
noticed that two of the new archives (citadel-923.tar.gz &
libcitadel-922.tar.gz) have 'autom4te.cache' directories in them.  Is
that something permanent or just an artifact in these updates?


-- 
Robert J. Clay
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4388494</link><pubDate>Wed, 24 Oct 2018 14:55:36 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4388494@Uncensored</guid><description><![CDATA[<html><body>

<p>I did imagine so.</p>
<p>Thanks very much IG.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4388479</link><pubDate>Wed, 24 Oct 2018 13:49:49 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4388479@Uncensored</guid><description><![CDATA[Hey everyone ... just letting you know this stuff is still on my radar, but
I'm buried deep in work right now ... when I come up for air we'll continue
looking at the XMPP stuff. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4386989</link><pubDate>Fri, 19 Oct 2018 10:35:49 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4386989@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, if possible, could you provide a bit of advise as for what I could check in my Citadel user or other settings that makes XMPP to fail?</p>
<p>Based on what you said that it works perfectly for you, I'd like to try checking this first before attempting to go into the source code.</p>
<p>Thanks.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4386117</link><pubDate>Tue, 16 Oct 2018 11:19:39 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4386117@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks winzlo.</p>
<p>Just a quick correction:<br />Latest Pidgin *does* have an "allow plaintext auth" option (again, my very bad...), however at least for me it's been just ignored or overridden by the other Pidgin's SSL/TLS options.</p>
<p>...perhaps a missing configuration in the users I added, or something?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4385569</link><pubDate>Sun, 14 Oct 2018 05:07:32 +0500</pubDate><title>Message #4385569</title><guid isPermaLink="false">4385569@Uncensored</guid><description><![CDATA[On a RPM-based system, uninstalling would also need to initiate a few commands
to disable/remove the startup scripts: 
  
 # service citadel stop 
 # service citadel remove 
  
 I could be wrong on the precise options here, I do not have a system to confirm
these against, but this is to the best of my recollection from many years
back when I did run on Linux.  FreeBSD and other OS's will have their own
commands. 
  
 I believe the setup binary creates these, I can't imagine it would be too
difficult to add an --disable parameter to remove the startup scripts, and
potentially to do the file system cleanup with an --uninstall option. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4385413</link><pubDate>Sat, 13 Oct 2018 12:32:33 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4385413@Uncensored</guid><description><![CDATA[<html><body>

<p>Just in case, tried connecting Pidgin to uncensored.citadel.org with my user account.</p>
<p>Exactly same result: invalid response from server due to incomplete JID.<br />Well, almost exactly same result: only difference is, instead of just rejecting uncensored's TLS certificate, Pidgin asks whether I want to accept it because it's expired.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4385400</link><pubDate>Sat, 13 Oct 2018 11:45:42 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4385400@Uncensored</guid><description><![CDATA[<html><body>

<p>By the way, could you perhaps also help with this?</p>
<p>"So if one wants to uninstall Citadel one just deletes the directories inside /usr.<br />But what happens to the systemd unit or system scripts used to start Citadel at boot? Shouldn't they be also deleted?"</p>
<p>Because I already tried uncommenting the line at the end of easy install script that deletes the build directory (which is placed inside /tmp), but when running again the script it no longer downloads the actual gz files, seemingly because out of hash comparison script determines that Citadel installation doesn't require any update.<br />So I'd need to completely uninstall Citadel, or so I guess...</p>
<p>Thanks.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4385397</link><pubDate>Sat, 13 Oct 2018 11:39:54 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4385397@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Fri Oct 12 2018 15:54:35 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: XMPP server</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">How are you getting Pidgin to generate those client-side traces? </div>
</div>
</blockquote>
<p>Sorry, I think I couldn't understand the question...<br />If you meant the log, in Pidgin I just went to Help -&gt; Debug window before attempting connection.</p>
<p>I use latest stable Pidgin, and for its settings I'm following almost verbosely this article <a href="http://www.citadel.org/doku.php?id=faq:everydayuse:jabber#configuring.a.jabber.client.to.access.citadel" target="webcit01">http://www.citadel.org/doku.php?id=faq:everydayuse:jabber#configuring.a.jabber.client.to.access.citadel</a><br />And I say "almost verbosely" because of just 2 differences: I use my own account data obviously, and I can't use "allow plaintext auth" option due to what I described in the Support room.</p>
<p>Now, you mention Pidgin works perfectly for you. Then could problem be actually on Citadel settings on my side?<br />I run easy install once a day, so I always have current Citadel release. Also, since first time install I use "internal user database" and created new users just like "a username" and "a password for username". No FQDNs, no email addresses (I even disabled Citadel's email ports because I don't use this function).<br />Any server's settings data I could show here in order to debug the problem?</p>
<p>I apologize if it's rude to repeating the same question in two rooms; I just thought it'd serve as "easier" reference...</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4385196</link><pubDate>Fri, 12 Oct 2018 15:54:35 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4385196@Uncensored</guid><description><![CDATA[How are you getting Pidgin to generate those client-side traces? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4384970</link><pubDate>Thu, 11 Oct 2018 20:04:30 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4384970@Uncensored</guid><description><![CDATA[<html><body>

<p>Continuing from previous post, after sorting out the strange error I got a new one.<br />I attached Pidgin's debug window output.<br />Error is in line 72: "Invalid response from server"</p>
<p>It seems it's due to line 69: server is returning just<br />&lt;jid&gt;/work&lt;/jid&gt;<br />instead of the full JID<br />&lt;jid&gt;usert@192.168.1.2/work&lt;/jid&gt;</p>
<p>For this I did have to ask for an opinion in the XMPP community.<br />Of course I didn't expect something given how specific all of this is. However I think I may have run with luck.</p>
<p>Someone there mentioned:<br />Here:<br />http://code.citadel.org/?p=citadel.git;a=blob;f=citadel/user_ops.c;hb=6fa6542eb4a8f390488f2a453baec1bf8de1a1fb#l649<br />CC-&gt;cs_inet_email    looks empty, only unless using an LDAP database?</p>
<p>What if uncommenting lines 663-668 in order to obtain a FQDN and JID for XMPP becomes complete?</p>
<p>I'll try playing with the source code as you suggested, but I must say I feel very insecure. TBH I've never ever build something from source.</p>
<p>Hope you could take a look at this meanwhile, IG.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4384966</link><pubDate>Thu, 11 Oct 2018 19:47:17 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4384966@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks mr IG! Sorry if I looked like an idiot...</p>
<p>But on the other hand, finally made a bit more progress; sorted out my " Don't know howto do 'set' " error.</p>
<p>(gdb) p ((citxmpp *)MyContext()-&gt;session_specific_data)-&gt;iq_client_resource<br />$2 = '\000' &lt;repeats 255 times&gt;</p>
<p>Client resource is certainly empty, that's why line 409 from serv_xmpp.c fails the condition and doesn't enter the "if" block!<br />And it's empty because... I didn't put a resource in the Pidgin client!</p>
<p>But I didn't because I thought Citadel's XMPP server supported a thing called "resource binding":<br />https://xmpp.org/rfcs/rfc3920.html#bind<br />Citadel is not able to "generate a resource identifier on behalf of a client", and currently can only send a strange (misleading for me) error saying "don't know how to do set".</p>
<p>So I just manually put a resource called "work" in Pidgin.<br />This gave me a different error I prefer to describe in a separate post.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4384953</link><pubDate>Thu, 11 Oct 2018 19:33:23 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4384953@Uncensored</guid><description><![CDATA[There are a couple of options here.  If you're going to truly work on the
code you probably should set up a build environment instead of using the Easy
Install runtime.  But if that's not possible, you can just do "wget http://easyinstall.citadel.org/install"
to grab the install script, then comment out the lines that remove the build
directory before running it.  You could also edit the compile options to add
whatever debugging symbols you need. 
  
 "XMPP" is an unknown symbol because it's not a symbol.  It's a macro: 
  
 #define XMPP ((citxmpp *)CC->session_specific_data) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4384715</link><pubDate>Wed, 10 Oct 2018 20:03:44 +0500</pubDate><title>Re: XMPP server</title><guid isPermaLink="false">4384715@Uncensored</guid><description><![CDATA[<html><body>

<p>Apologies for the big delay; I'm having *hellish* times at part time job and I was not able to keep looking into Citadel. Literally got sick due to these past 3 weeks...</p>
<p>Anyway, I tried getting started with gdb.</p>
<p>Attached gdb to citadel service<br />gdb -p &lt;xxx&gt;         where xxx = citadel service PID number</p>
<p>Set breakpoint at line 406 in serv_xmpp.c (it didn't let me in serv_xmpp.h, said "no such source file")<br />(gdb) b serv_xmpp.c:406</p>
<p>Started Pidgin on a Windows pc, opened its debug window, and attempted to connect to Citadel xmpp server.</p>
<p>Hit "next" at gdb lots of times, at several times getting messages "xxxxx.c no such file or directory", yet continuing the debugging with no problems seemingly.</p>
<p>Finally got to serv_xmpp's line 406, hit "next" a few times... confirmed it always jumps from line 409 to 430, then 436. The needed "if" block for the stanza never enters.</p>
<p>I tried to print output of XMPP function during lines 4xx<br />(gdb) p *XMPP</p>
<p>Always resulted in "no symbol XMPP in this context".</p>
<p>Not sure if it's because gdb expects all source code to exist locally in server at certain exact paths (while easy install script always deletes all source code after installing), or because Citadel is built without debug options in make file, or any other thing...</p>
<p>IGnatius, could I ask you for a bit of help in this?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4378346</link><pubDate>Thu, 20 Sep 2018 18:30:24 +0500</pubDate><title>XMPP server</title><guid isPermaLink="false">4378346@Uncensored</guid><description><![CDATA[<html><body>

<p>Er, I realized how wrong I just was above. Apologies for that.</p>
<p>The stanza IS given, right in this "if" branch inside the void xmpp_xml_end function<br />http://code.citadel.org/?p=citadel.git;a=blob;f=citadel/modules/xmpp/serv_xmpp.c;h=3248a11cb39bbbf98b1281ec78082c10d3da3774;hb=refs/heads/master#l406</p>
<p>Problem is, this branch never enters! Instead, this one always<br />http://code.citadel.org/?p=citadel.git;a=blob;f=citadel/modules/xmpp/serv_xmpp.c;h=3248a11cb39bbbf98b1281ec78082c10d3da3774;hb=refs/heads/master#l435</p>
<p>I'm having hard time to find out why...</p>
<p>Meanwhile I leave attached the error log obtained from Pidgin's debug console. Notice lines 67 and 69</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4377605</link><pubDate>Tue, 18 Sep 2018 19:33:58 +0500</pubDate><title>Message #4377605</title><guid isPermaLink="false">4377605@Uncensored</guid><description><![CDATA[<html><body>

<p>Hello.<br />First time in the Development room.</p>
<p>First, I'm not really a developer, but FWIW I do have some time for reading, and testing &lt;-- hope this serves.</p>
<p>Actually, even after reading IG's comments regarding XMPP and IRC protocols, I remained a bit insecure about which would be better. Also I thought, if Citadel project decided to favor one of them for good, wouldn't it be better to drop the other one for good as well? Is it worth to maintain *two* different protocol implementations?</p>
<p>After taking a look at RFCs about IRC protocol and serv_xmpp.c, I'm still clueless about how a "mapping of IRC protocol to the existing Citadel internals" would be done.</p>
<p>And in the way, while reviewing serv_xmpp.c, I thought "what if it was just a patching matter after all"?</p>
<p>According to<br />https://tools.ietf.org/html/rfc6120#section-7.6<br />https://xmpp.org/rfcs/rfc3920.html#bind<br />it would seem the function void xmpp_stream_start (starting at line 180) is totally lacking at its end the needed IQ stanza of type "result" that must be sent back to the client.</p>
<p>While currently XMPP seems to somewhat "work" on Webcit, this would explain why it doesn't work with XMPP clients.</p>
<p>In the meanwhile I'll try imagining how to do this "patch"......</p>
<p>Sorry for my indecisiveness beforehand; if you say "forget about XMPP, better focus on IRC", I'll take the advise.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4375425</link><pubDate>Mon, 10 Sep 2018 17:19:46 +0500</pubDate><title>Message #4375425</title><guid isPermaLink="false">4375425@Uncensored</guid><description><![CDATA[Sounds like a plan.  MySQL has a similar mechanism, probably for similar functionality
(though also for much more). 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4375372</link><pubDate>Mon, 10 Sep 2018 13:26:14 +0500</pubDate><title>Message #4375372</title><guid isPermaLink="false">4375372@Uncensored</guid><description><![CDATA[If both programs are running on the same server, and WebCit is running under
the same uid as Citadel Server (or as root), it will be able to access citadel-admin.socket,
which offers super-privileged access to the server.  I'm inclined to use this
as the conduit for certificate installation, since the security model is already
in place and already effective, and for sites that have Citadel Server and
WebCit running on different hosts, we will just have to say sorry, you have
to do certificate management manually. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4375272</link><pubDate>Mon, 10 Sep 2018 07:42:47 +0500</pubDate><title>Message #4375272</title><guid isPermaLink="false">4375272@Uncensored</guid><description><![CDATA[What if citserver listened on an auxiliary port in order to perform this kind
of transaction, in a space that would not have access to any other data than
what is absolutely needed?  Webcit already needs to know where the citserver
process is running from, so it would not mean any additional inconvenience
for the admin setting it up.  Since it's a one-time setup, I think security
impacts of using a non-secured TCP connection for this exchange could be overlooked.

  
 A case where 'localhost' is used would also need to be looked into, since
that is the third type of FQDN that could be used to connect Webcit to citserver.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4374848</link><pubDate>Fri, 07 Sep 2018 16:17:42 +0500</pubDate><title>Message #4374848</title><guid isPermaLink="false">4374848@Uncensored</guid><description><![CDATA[WebCit and Citadel Server are not guaranteed to be on the same host system.
 And there might be multiple instances of WebCit on different host systems.

  
 Also ... the reason WebCit needs to be the agent which configures the SSL
elements is because I want to do one-button SSL enrollment.  If the site operator
wants to use the Let's Encrypt free certificates, for example, it should say
"you are accessing this site as https://ctdl.example.com , do you want to
obtain a certificate for this name?" and then it generates a key and CSR,
and uses ACME protocol to contact the Let's Encrypt servers, which then connect
back to https://ctdl.example.com to perform domain validation, and the certificate
is generated.  That key and cert then need to be pushed down into Citadel
Server so that it can be used for other protocols, and then pushed back up
to WebCit for future startups. 
  
 I suppose we could
also do your idea where both programs point to the same keystore, but it breaks
the data model.  However, I'd be willing to bet that 99.99% of Citadel installations
have both programs running on the same host system anyway, so we could just
be lazy and say "sorry you have to do certificate installation manually" to
the other 0.01% , who are likely to be advanced administrators, and not the
type who will just run Easy Install and then whine in the Lobby in a foreign
language when it doesn't work. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4374701</link><pubDate>Thu, 06 Sep 2018 21:42:46 +0500</pubDate><title>Message #4374701</title><guid isPermaLink="false">4374701@Uncensored</guid><description><![CDATA[I see your point, IG.  Java applications that access services over SSL use
the JVM's keystore and keep everything self contained.  When WebCit is installed,
couldn't an external call to the citserver binary be used to generate the
certs/keys for WebCit to import and serve?  Ok, I'm not great when it comes
to knowing about this kind of stuff, but just trying to offer some food for
thought. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4374473</link><pubDate>Wed, 05 Sep 2018 15:25:29 +0500</pubDate><title>Message #4374473</title><guid isPermaLink="false">4374473@Uncensored</guid><description><![CDATA[Well, there are plenty of applications where you can perform key and certificate
maintenance from a web interface.  There are typically buttons to generate
or import keys, to generate and export certificate signing requests, and to
import certificates and chains.  That much is not in question. 
  
 To do this with the Citadel system, the agent acting on behalf of the site
would be WebCit, not Citadel Server.  This breaks our data model somewhat
because we would require a true keystore *in* Citadel Server, which would
then have to deliver the private key to WebCit when it starts up, so that
WebCit can serve up SSL sessions.  The reason this breaks our data model is
because WebCit is currently not trusted -- it only has the security level
of the user who is logged into it.  A central design tenet has always been
that the client on the other end of the 504 protocol is no more trustworthy
than
an end user; a protocol connection has the same security level as a telnet
connection. 
  
 Key management from WebCit will require the addition of some sort of trust
model.  I suppose each instance of WebCit will have to generate its own identity
the first time it starts up, and register itself with Citadel Server the first
time an Administrator logs in.  Then on subsequent startups it would use that
registration to download the private key and the certificate. 
  
 I hate this but I'm unable to think of any other way. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4374158</link><pubDate>Mon, 03 Sep 2018 18:17:32 +0500</pubDate><title>Message #4374158</title><guid isPermaLink="false">4374158@Uncensored</guid><description><![CDATA[For SSL certs, especially ones that are not self-signed, the provider packages
the cert(s) as files, with the assumption that if a cert is for multiple subdomains
or web sites within the same domain, that it would need to exist as a file
for servers such as Apache HTTPD.  The most obvious benefit of this is so
that backup solutions (most notably enterprise tape backups) can benefit from
having a static file rather than having to continually treat the database
as 'dirty' because other non-SSL certification content was modified.  This
also makes recovery much simpler, if necessary. 
  
 (FWIW, I loathe recovery from tape, especially when the full backup set is
off site and I only have access to incrementals.  Grrr.) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4374135</link><pubDate>Mon, 03 Sep 2018 15:40:02 +0500</pubDate><title>Message #4374135</title><guid isPermaLink="false">4374135@Uncensored</guid><description><![CDATA[  
 I have officially Done The Needful.  AdjRefCount() is now a synchronous operation.
 If there happens to be a refcount_adjustments.dat lying around from a previous
version, it is ingested at startup and then deleted.  I *may* come back later
and have zero-refcount messages deleted by TDAP instead of by AdjRefCount()
itself, but for now it seems to perform well enough as is.  Deleting a room
is a deferred operation (from the user's perspective) anyway, so that's not
something they'll have to sit around and wait for.  I haven't yet tried a
bulk deletion in IMAP, so when that's tested it might tell me that I have
to do the deferred delete sooner than later. 
  
 Internal server version is now 922. 
  
 That's the last of the server state that was directly in the filesystem,
that has now been moved into the database.  A packager can now build Citadel
and only needs to resolve the paths to
the following three directories: 
     data/ 
     files/ 
     keys/ 
  
 We can have a discussion about whether SSL keys and certificates should be
in-db or remain in the filesystem.  I'm not thrilled about the way we handle
key and certificate management.  Right now it has to be handled manually because
the client (i.e. WebCit) is not trusted.  Because of this, there is no way
to set up SSL from the client side, even if you are an administrator.  From
a security perspective, this separation of trust is outstandingly good.  However,
I've got Let's Encrypt in my sights, and there's no way that Citadel Server
will ever be able to speak ACME protocol without exposing a web service. 
This means WebCit has to be trusted, even when there is not an administator
logged in. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4374124</link><pubDate>Mon, 03 Sep 2018 14:38:13 +0500</pubDate><title>Message #4374124</title><guid isPermaLink="false">4374124@Uncensored</guid><description><![CDATA[Yeah, the server didn't answer at all.  :( 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4372907</link><pubDate>Mon, 27 Aug 2018 10:42:58 +0500</pubDate><title>Message #4372907</title><guid isPermaLink="false">4372907@Uncensored</guid><description><![CDATA[I believe the odd characters have something to do with images contained within
messages input from WebCit.  I've seen several messages by multiple users
(including yourself in your last post in Small Achievements> which you indicated
a photo of a cylindar. 
  
 Hope that helps track it down a little more. 
  
 As for the macOS port, just let me know if you have any issues logging into
the server, I've been slowly migration my macOS environemnt to the macOS Server
add-on application, which adds a whole new set of layers to authentication
and securitry. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4372425</link><pubDate>Fri, 24 Aug 2018 13:43:16 +0500</pubDate><title>Message #4372425</title><guid isPermaLink="false">4372425@Uncensored</guid><description><![CDATA[I don't see the stray characters on my terminal.  Maybe this is a Mac thing.
 I'll check it out when I log in to your system. 
  
 Speaking of which, before I do that, I've been cleaning up some random bits
of code and data that seem to serve no purpose in the current build.  For
example, the "upload_type" field in CitContext only applies to API calls that
have been gone for about a year.  So that's gone.  I also found a 64-byte
field in struct MetaData called "mimetype" which seems to be a duplicate of
meta_content_type that isn't used anywhere.  I don't know the intentions of
whoever put it there, but since it isn't used I took that out too. 
  
 My short-term intention is to remove the refcount_adjustments.dat flat file,
and make reference count adjustments directly to the message metadata records.
 This of course makes it a Good Thing to have those records as small as possible.
 So why
is IG getting hung up on this seemingly little thing? 
  
 The answer is that refcount_adjustments.dat is the VERY LAST bit of system
state that is not stored in the main database.  Once it's gone, ALL data will
be in the data/ directory (and also in files/ if you have upload rooms, but
that's ok).  Over the last year or so I've been working towards this goal,
because it will allow us to put the Citadel system into a container.  This
neatly solves almost all of our build and packaging challenges, at least on
Linux.  All you have to do is install the container point it back to off-container
data/ and files/ directories.  When it's time to upgrade, simply delete the
container, install one with the new version, and hitch up your existing data/
and files/ directories. 
  
 And no I don't consider myself to be part of the cargo cult of containers.
 I do want to try it and see if it is a win.
 The way I see it, this kind of modularization is a win regardless of the
final packaging format. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4371339</link><pubDate>Sun, 19 Aug 2018 04:42:16 +0500</pubDate><title>Message #4371339</title><guid isPermaLink="false">4371339@Uncensored</guid><description><![CDATA[Feel free to move this to Save the Text Client> if you feel it more appropriate
there.  I thought a more limited audience was better for this.  :) 
  
 Not sure if this has been reported, or if it is a byproduct of how SSH is

 pasing between the daemon and local text client, but I've spotted a couple
of 
 oddities that I wondered about. 
  
 1.  I see the letters 'ta' in high ASCII form while reading messages that

 include line feeds. 
  
 2.  The .<R>ead <B>io feature appears broken if you enter ? for a list. 
The 
 reponse is "Unrecognized or unsupported command." 
  
 I know it's been a long time since I've been online, loads of personal 
 issues that needed attention, but in case it helps explain my own interest
in 
 the betterment of the text client, I am legally blind, and while I do not

 need screen readers, I do need large text, and the web interface is not 
 overly practical for
me due to limited space in each frame with larger text 
 (through no fault of webcit's own).  I started on BBS's back in the 80's,
and 
 the keyboard is where I am most at home, and remains the simplest way to
stay connected with everyone, and still exchange e-mail and all that jazz.

  
  Just thought I'd pass that along to see if anyone else has encountered these,
and if a fix is warranted. 
  
 Thanks! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4369961</link><pubDate>Sat, 11 Aug 2018 13:32:28 +0500</pubDate><title>Message #4369961</title><guid isPermaLink="false">4369961@Uncensored</guid><description><![CDATA[It would have been Wednesday and Thursday.  That same 70+ MB email getting
pushed and indexed over and over again was slowing everything else down, exacerbated
by hardware that is still showing some issues.  I think we're good now, unless
the hardware quits entirely.  Let me know if you still see anything. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4369746</link><pubDate>Fri, 10 Aug 2018 15:00:11 +0500</pubDate><title>Message #4369746</title><guid isPermaLink="false">4369746@Uncensored</guid><description><![CDATA[Hiya Ig.. I think that I was seeing the same problem that was experienced
by fleeb the other day. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4369738</link><pubDate>Fri, 10 Aug 2018 14:01:43 +0500</pubDate><title>Message #4369738</title><guid isPermaLink="false">4369738@Uncensored</guid><description><![CDATA[  
 Ugh. 
  
 My phone has been killing Uncensored. 
  
 Over and over again it's been trying to push a 70+ MB email from one folder
to another, and timing out before Citadel delivers the reply saying the operation
was completed.  I think the message was local on the phone.  Not quite sure.

  
 I finally noticed when my Trash folder kept filling up with new copies of
this message.  And they were individual copies, not linked clones, so it kept
trying to add it to the fulltext index over and over again.  TDAP wasn't helping
either. 
  
 I still think I've got a hardware problem somewhere, and this just exacerbated
it a bit. 
  
 The indexer has always been configured to stop after 2500 messages so that
it can flush its buffers, let other housekeeping tasks take place, and do
a database checkpoint.  We were getting biglybytes of database logs filling
up the disk.  As an emergency measure I
changed it to 25 messages and it started keeping up.  I wonder if this is
a problem some of the unhappier Citadel users were having a few months ago.

  
 I think I'm going to change the indexer to flush after "x messages or y amount
of time" which should give it a good balance. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4345233</link><pubDate>Wed, 11 Apr 2018 23:24:25 +0500</pubDate><title>Message #4345233</title><guid isPermaLink="false">4345233@Uncensored</guid><description><![CDATA[(I did it ... and it works) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4345157</link><pubDate>Wed, 11 Apr 2018 18:37:30 +0500</pubDate><title>Message #4345157</title><guid isPermaLink="false">4345157@Uncensored</guid><description><![CDATA[ > Ugly, I know.  This is the one downside to using libcurl for outbound 
   
 >SMTP: it doesn't have the ability to fetch back the *actual* error     
 >message sent back by the remote server; it only gives back the numeric 
   
 >code (550).  But it reduced thousands of lines of code, that we were   
 
 >having trouble maintaining, down to a few screenfuls, and added a bunch
   
 >of features that were built into the library.     
    
  
 While re-reading the libcurl documentation to see if there is any way around
this omission in their API, I came across a particularly ugly way of capturing
the remote server's error messages, and am giving it some consideration. 
  
 The libcurl API has a debug mode you can turn on, which spits all of the
protocol chatter out to stderr.  It also has a callback hook that lets you
do send the debug messages to a user-supplied function instead of stderr.
 We could theoretically abuse this function to capture the responses to SMTP
commands, ignore all transmitted data (so we don't re-capture the entire message
being sent out), and then filter for lines beginning with the numeric SMTP
response (such as 550) that the library *did* return to us. 
  
 Like I said ... it's ugly.  But it's 100% permitted by the API, doesn't resort
to using undocumented calls, and it's way better than maintaining our own
protocol handler. 
  
 <Trump voice> "Believe me.  I know protocol handlers.  libcurl has the best
protocol handlers." </Trump voice> 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4344374</link><pubDate>Fri, 06 Apr 2018 14:48:36 +0500</pubDate><title>Message #4344374</title><guid isPermaLink="false">4344374@Uncensored</guid><description><![CDATA[  
 And furthermore... 
  
 I just did an awful lot of hacking and slashing to the text client.  Billions,
perhaps trillions, of lines of legacy and experimental code were removed.
 It's all back in a single directory with a single include file.  Like ctdlsh
and webcit-ng, it no longer uses GNU Autotools, but instead uses a script
I'm calling "conf-IG-ure" for now, which works perfectly on the 99.999% of
the target hosts that run modern operating systems.  No, we don't need to
support SGI IRIX running on a modified TI-99/4A with Cygwin for TMS9900, even
if Autotools knows how to do that. 
  
 It's pretty clever, actually.  For most installations you just type "make"
and it figures everything out.  Makefile requires config.mk which is generated
by configure, and it runs configure if it doesn't have config.mk.  Quadrillions
of lines of m4 macros are replaced by about two screenfuls of shell script.

  
 I am WAY smarter than Richard Marx Stallman. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4343418</link><pubDate>Fri, 30 Mar 2018 14:17:43 +0500</pubDate><title>Message #4343418</title><guid isPermaLink="false">4343418@Uncensored</guid><description><![CDATA[  
 Based on the kind of feedback we've been getting on the Easy Install system,
here's what we're learning: 
  
 * People really do read the "how to install the dependencies for your OS"
section 
 * But they're not smart enough to figure out how to fix it if it's slightly
wrong 
  
 I've removed the bits of Easy Install that make it send the compiler output
to a log file instead of the screen.  Everything goes to the screen now. 
Messages and prompts that are generated by Easy Install now show up in color.
 Yes, I'm making the assumption that everyone's got an ANSI-like terminal
at this point.  The compiler output will output in the default screen color.

  
 Next, I'm going to try to put a few lines of shell script in that will detect
the host OS and offer to run the "apt install" or "yum install" command to
install the dependencies, instead of relying on the user to put them in first.
 This is probably a big can of worms to open and I'm going to regret it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4339578</link><pubDate>Tue, 06 Mar 2018 12:05:04 +0500</pubDate><title>git.citadel.org moving to a new server</title><guid isPermaLink="false">4339578@Uncensored</guid><description><![CDATA[  
 I'm moving the git repo (and eventually other things) to a new server. 
  
 If anyone has trouble accessing it, let me know. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4335216</link><pubDate>Thu, 15 Feb 2018 15:49:30 +0500</pubDate><title>Re: (no subject)</title><guid isPermaLink="false">4335216@Uncensored</guid><description><![CDATA[  
 Yes, it is a rolling release.   :) 
  
 The version numbers just gradually tick up with things being added, changed,
improved here and there.  I suppose the downside of a rolling release model
is that you don't really have the opportunity to call out really good known
super-stable versions and run them through your test, stage, and production
systems.  Or, I suppose you can, just not with a deployment system like Easy
Install.  You'll need to build from source tarballs if you want to do it that
way. 
  
 In the long term it's all going to go into a container that you just drop
in and start up. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4335209</link><pubDate>Thu, 15 Feb 2018 15:27:33 +0500</pubDate><title>Re: (no subject)</title><guid isPermaLink="false">4335209@Uncensored</guid><description><![CDATA[

I'm interested!

I'm waiting for the next stable release (if ever exists one :) ) *
To migrate from our old & almost (99.9%) trusted version.

Thank you for your effort IG!

* Because Easy Install looks like a rolling release! (a good thing)


On 02/14/2018 08:30 PM, IGnatius T Foobar wrote:
> In case anyone is interested ... I am once again working hard on WebCit-NG
> (which will become simply "WebCit" when it replaces the old code).  Progress
> is slow because no shortcuts are being taken; every layer needs to be perfect.
> 
>    
>   The current code supports various dialects of DAV (even enough of CalDAV
> to work with Lightning), HTTPS, and a client-side renderer that works with
> both big screens and mobile.  The "forum" view (bbs view) is starting to take
> shape.  You can log in (but it won't mark any messages as read, so feel free
> to move from room to room).
>    
>   No there isn't a demo site yet.  That will come at some point.  In the mean
> time you can download the code and run it.  :)
>   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4335206</link><pubDate>Thu, 15 Feb 2018 15:23:46 +0500</pubDate><title>Re: (no subject)</title><guid isPermaLink="false">4335206@Uncensored</guid><description><![CDATA[

I'm interested!

I'm waiting for the next stable release (if ever exists one :) )
To migrate from our old & almost (99.9%) trusted version.

Thank you for your effort IG!


On 02/14/2018 08:30 PM, IGnatius T Foobar wrote:
> In case anyone is interested ... I am once again working hard on WebCit-NG
> (which will become simply "WebCit" when it replaces the old code).  Progress
> is slow because no shortcuts are being taken; every layer needs to be perfect.
> 
>    
>   The current code supports various dialects of DAV (even enough of CalDAV
> to work with Lightning), HTTPS, and a client-side renderer that works with
> both big screens and mobile.  The "forum" view (bbs view) is starting to take
> shape.  You can log in (but it won't mark any messages as read, so feel free
> to move from room to room).
>    
>   No there isn't a demo site yet.  That will come at some point.  In the mean
> time you can download the code and run it.  :)
>   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4335116</link><pubDate>Wed, 14 Feb 2018 22:30:55 +0500</pubDate><title>Message #4335116</title><guid isPermaLink="false">4335116@Uncensored</guid><description><![CDATA[In case anyone is interested ... I am once again working hard on WebCit-NG
(which will become simply "WebCit" when it replaces the old code).  Progress
is slow because no shortcuts are being taken; every layer needs to be perfect.

  
 The current code supports various dialects of DAV (even enough of CalDAV
to work with Lightning), HTTPS, and a client-side renderer that works with
both big screens and mobile.  The "forum" view (bbs view) is starting to take
shape.  You can log in (but it won't mark any messages as read, so feel free
to move from room to room). 
  
 No there isn't a demo site yet.  That will come at some point.  In the mean
time you can download the code and run it.  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4331095</link><pubDate>Wed, 24 Jan 2018 14:10:29 +0500</pubDate><title>Message #4331095</title><guid isPermaLink="false">4331095@Uncensored</guid><description><![CDATA[  
 Many years ago, someone on Uncensored was playing around with SCO and asked,
"What the heck is 'micnet' and what is it for?  As far as I can tell, all
it does is duplicate the functionality of UUCP."  And they were correct: the
micnet code continued to exist in the descendents of Xenix long after no one
was using it.  Everyone had long since implemented UUCP, even within the halls
of Microsoft and SCO. 
  
 This is the feeling I am now getting as I remove IGnet from the Citadel system.
 It served its purpose, but aside from Uncensored and Dogpound, no one was
using it.  And it raised the question: if Citadel speaks all of the standard
protocols, why do Citadel sites need a special protocol to connect to each
other?  The answer, quite simply, is that they don't. 
  
 Giant hunks of code are now removed.  An entire layer of complexity is gone.
 All sorts of cruft that made assumptions about
dialup BBS and UUCP networking from 30 years ago has finally been removed.
 There is only one network now: the standard TCP/IP Internet.  Mail is always
SMTP, syndication is always RSS, and we might throw in more robust NNTP eventually.

  
 I'm sad to see IGnet go away, but the gigantic reduction of complexity in
the code more than makes up for it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4330486</link><pubDate>Mon, 22 Jan 2018 09:57:01 +0500</pubDate><title>Re: Error about &#39;c_Default_cal_zone is empty&#39; ?</title><guid isPermaLink="false">4330486@Uncensored</guid><description><![CDATA[  
 c_default_cal_zone is a setting for the calendar server.  It tells Citadel
what time zone to place onto calendar items that do not carry any indication
of the time zone in which they originated. 
  
 I'm not sure how we ended up with code that throws such a scary looking alert
for such a minor configuration issue.  I'll look into it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4328920</link><pubDate>Thu, 11 Jan 2018 20:02:02 +0500</pubDate><title>Error about &#39;c_Default_cal_zone is empty&#39; ?</title><guid isPermaLink="false">4328920@Uncensored</guid><description><![CDATA[
On Thu, Jan 11, 2018 at 10:12 AM, IGnatius T Foobar <ajc@citadel.org> wrote:
> Citadel 917, WebCit 917, libcitadel 917, textclient 917 all made it into Debian
> Testing after clean auto-builds.

   One of the open bugs in Debian is related to an error about that
the 'c_Default_cal_zone is empty'.  The bug itself (it seems to me) is
more about the install failing because of the error and that does not
seem to be happening any longer.

    The citserver error itself, however, still comes up after a new
package install.  On a newly installed Debian Testing system (an LXC
container, as it happens), it showed up as follows:

Jan 11 16:21:37 ctdltest citserver[17424]: config: setting
c_default_cal_zone is empty, but must not - check your config!

     Note that the setting is also not set up during an easyinstall,
although I haven't seen that same error come up yet on that (separate)
systems logs.

     How does that setting effect the operation of Citadel?  If it
does; I was able to log in as the admin user via webcit on the
eazyinstall system seemingly with no problems....





-- 
Robert J. Clay
rjclay@gmail.com
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4328860</link><pubDate>Thu, 11 Jan 2018 11:15:58 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4328860@Uncensored</guid><description><![CDATA[
On Thu, Jan 11, 2018 at 10:12 AM, IGnatius T Foobar <ajc@citadel.org> wrote:
> Citadel 917, WebCit 917, libcitadel 917, textclient 917 all made it into Debian
> Testing after clean auto-builds.  Nice.

   Indeed.  Now that those made it to Testing, I'm setting up a new
Debian Testing system in order to be able to review the rest of the
Debian Bugs in light of the new versions.



]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4328850</link><pubDate>Thu, 11 Jan 2018 10:12:33 +0500</pubDate><title>Message #4328850</title><guid isPermaLink="false">4328850@Uncensored</guid><description><![CDATA[Citadel 917, WebCit 917, libcitadel 917, textclient 917 all made it into Debian
Testing after clean auto-builds.  Nice. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4327936</link><pubDate>Fri, 05 Jan 2018 13:38:24 +0500</pubDate><title>Re: Citadel source archives?</title><guid isPermaLink="false">4327936@Uncensored</guid><description><![CDATA[
On Wed, Jan 3, 2018 at 6:34 PM, Art Cancro <ajc@citadel.org> wrote:
> Note that the pages I looked at, not even the page noting the Debian &
> Ubuntu package requirements that the easyinstall page pointed to, do
> not note any OpenLDAP related package(s) that I could fine...
>
> Sorry about that ... OpenLDAP is now a dependency and the documentation on
> that may be lagging a bit behind.  On a debian system please do "apt install
> libldap2-dev" and then run the installation again, and you should be fine.

   Installed that package on the test system and I then had no problem
running the easyinstall and then accessing the citadel system via the
webcit interface with no problems. (Ended up with v917.) Thanks for
the info!




-- 
Robert J. Clay
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4327617</link><pubDate>Wed, 03 Jan 2018 18:34:57 +0500</pubDate><title>Re: Citadel source archives?</title><guid isPermaLink="false">4327617@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content"><tt>checking ldap.h usability... no</tt><br /> <tt>checking ldap.h presence... no</tt><br /> <tt>checking for ldap.h... no</tt><br /> <tt>configure: error: OpenLDAP development headers were not found and are</tt><br /> <tt>required. More info:</tt><br /> <tt><a href="http://www.citadel.org/doku.php/installation:start" target="webcit01">http://www.citadel.org/doku.php/installation:start</a></tt><br /> <tt></tt><br /> <tt>Note that the pages I looked at, not even the page noting the Debian &amp;</tt><br /> <tt>Ubuntu package requirements that the easyinstall page pointed to, do</tt><br /> <tt>not note any OpenLDAP related package(s) that I could fine...</tt></div>
</blockquote>
<p>Sorry about that ... OpenLDAP is now a dependency and the documentation on that may be lagging a bit behind.  On a debian system please do "apt install libldap2-dev" and then run the installation again, and you should be fine.</p>
<p>We've removed a number of dependencies, and I'd like to eventually make most of the remaining ones mandatory.  The objective here is to reduce the amount of variation in the builds.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4327610</link><pubDate>Wed, 03 Jan 2018 18:31:10 +0500</pubDate><title>Re: Citadel source archives?</title><guid isPermaLink="false">4327610@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content"><tt>Where at? And are the archives versioned?</tt><br /> <tt>Only thing I could find at the <a href="http://easyinstall.citadel.org" target="webcit01">http://easyinstall.citadel.org</a></tt><br /> <tt>site (which I found because I was also going to try the easyinstall)</tt><br /> <tt>was an unversioned 'citadel.tar.gz' archive file.</tt><br /> <tt></tt><br /> <tt>The debian/watch file does currently point to that same site &amp;</tt><br /> <tt>can't find anything...</tt></div>
</blockquote>
<p>This is something we're currently discussing and working on.  The filenames don't normally contain version numbers.  We put together a hack to create filenames with commit hashes in them, but that doesn't seem to be sufficient either.</p>
<p>I started looking around the build system to determine where we can pull the version number from the build script, and discovered that there are now m4 macros that we can use to avoid having to update the version number in configure.ac or configure.in in the first place, as it can pull from the version numbers in the header files.  That's awesome.  Once everything is consistent between all major components, we'll adjust the build system so that it can expose a version number when we build the tarballs.</p>
<p>Long term, I want to get rid of autoconf completely.  It's really ugly.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4327456</link><pubDate>Tue, 02 Jan 2018 22:06:13 +0500</pubDate><title>Re: Citadel source archives?</title><guid isPermaLink="false">4327456@Uncensored</guid><description><![CDATA[
Art,

On Tue, Jan 2, 2018 at 9:37 PM, Robert J. Clay <rjclay@gmail.com> wrote:
> Art,
>
> On Tue, Dec 26, 2017 at 10:30 PM, Art Cancro <ajc@citadel.org> wrote:
>> Ok, everything is set.  Version 914 of all Citadel components is now
>> available from the main website,

   Are there any other locations where the archives might be kept?
Besides the easy install site?


>   ....  Only thing I could find at the  http://easyinstall.citadel.org
> site (which I found because I was also going to try the easyinstall)
> was an unversioned 'citadel.tar.gz' archive file.

    I did try an easyinstall, following the current info on the page
at www.citadel.org, on a Debian 9 ('Stretch') install, but it failed
with the following errors:

checking ldap.h usability... no
checking ldap.h presence... no
checking for ldap.h... no
configure: error: OpenLDAP development headers were not found and are
required.  More info:
http://www.citadel.org/doku.php/installation:start

Note that the pages I looked at, not even the page noting the Debian &
Ubuntu package requirements that the easyinstall page pointed to, do
not note any OpenLDAP related package(s) that I could fine...

Note also that if I was reading the right file in the citadel.tar.gz
archive that was available via the easyinstall site, that seemed to be
version 916.





-- 
Robert J. Clay
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4327449</link><pubDate>Tue, 02 Jan 2018 21:37:26 +0500</pubDate><title>Citadel source archives?</title><guid isPermaLink="false">4327449@Uncensored</guid><description><![CDATA[
Art,

On Tue, Dec 26, 2017 at 10:30 PM, Art Cancro <ajc@citadel.org> wrote:
> Ok, everything is set.  Version 914 of all Citadel components is now
> available from the main website,

    Where at?  And are the archives versioned?
    Only thing I could find at the  http://easyinstall.citadel.org
site (which I found because I was also going to try the easyinstall)
was an unversioned 'citadel.tar.gz' archive file.

    The debian/watch file does currently point to that same site &
can't find anything...




-- 
Robert J. Clay
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4326586</link><pubDate>Tue, 26 Dec 2017 17:02:58 +0500</pubDate><title>Message #4326586</title><guid isPermaLink="false">4326586@Uncensored</guid><description><![CDATA[  
 DAMMIT ... I *fixed* the problem, upgraded Uncensored *again* , and *still*
got the directory wiped out. 
  
 Fortunately I took an image-level backup of the system immediately before
running the upgrade. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4325339</link><pubDate>Fri, 15 Dec 2017 11:53:49 +0500</pubDate><title>Message #4325339</title><guid isPermaLink="false">4325339@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Dec 14 2017 07:26:17 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>How did it go? </blockquote>
<br />Very badly. It wiped out most of my Internet email address directory. I had to restore from a backup. </div>
</div>
</blockquote>
<p>Oy gevalt!</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4325236</link><pubDate>Thu, 14 Dec 2017 19:26:17 +0500</pubDate><title>Message #4325236</title><guid isPermaLink="false">4325236@Uncensored</guid><description><![CDATA[ >How did it go?  
  
 Very badly.  It wiped out most of my Internet email address directory.  I
had to restore from a backup. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4325207</link><pubDate>Thu, 14 Dec 2017 15:16:46 +0500</pubDate><title>Message #4325207</title><guid isPermaLink="false">4325207@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Sat Dec 09 2017 03:48:11 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Ok, I'm gonna take the plunge here, and upgrade both Uncensored and Easy Install to the current git-master. <br /><br />This will either be a disaster or totally awesome. </div>
</div>
</blockquote>
<p>How did it go?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4324034</link><pubDate>Wed, 06 Dec 2017 23:22:28 +0500</pubDate><title>Message #4324034</title><guid isPermaLink="false">4324034@Uncensored</guid><description><![CDATA[  
 I've got the entire Citadel system running smoothly on the latest Debian.
 I think the changes we made were all good, but I must have missed something
in the backporting. 
  
 So it's in our best interest to get a new release of Citadel published as
soon as possible.  I think it's all working properly, but I need someone with
an LDAP system (bennabiy) to give it a good solid testing. 
  
 The current git master code synchronizes the entire user list from LDAP,
at startup and every 5 minutes thereafter.  It also has the undocumented (we'll
fix that) setting that lets you configure your users' email addresses from
LDAP instead of from Citadel, and this is disabled by default. 
  
 It's working with OpenSSL 1.1, libical 2.0, and Berkeley DB 5.x, which are
all shipping with the latest Debian. 
  
 In other news, when you look at things like Docker, it seems that the rest
of the world is following
Citadel's lead and simply bringing along the versions of the libraries the
package needs.  Because of this, efforts will continue to remove any system
state from anywhere other than /usr/local/citadel/data/ so we can put everything
else in a container, or maybe even a "Really Easy Install" with precompiled
binaries and self-contained libraries. 
  
 We've *really* got to get the webcit-ng effort going again. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4323495</link><pubDate>Sat, 02 Dec 2017 12:59:25 +0500</pubDate><title>Re: New LDAP sync code in git master is ready to test</title><guid isPermaLink="false">4323495@Uncensored</guid><description><![CDATA[  
 NOTE: there is a new site configurable setting "c_ldap_sync_email_addrs"
which must be set to 1 in order to sync email addresses from LDAP to Citadel.
 This is not yet settable in any clients. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4323123</link><pubDate>Wed, 29 Nov 2017 22:58:00 +0500</pubDate><title>New LDAP sync code in git master is ready to test</title><guid isPermaLink="false">4323123@Uncensored</guid><description><![CDATA[  
 After a lot of reworking, I think I have most of it hammered out.  Synchronization
of accounts from LDAP to Citadel is now complete, including the synchronization
of email addresses. 
  
 I still need to make the email piece a site-configurable setting, otherwise
the majority of sites, which currently configure email addresses from within
Citadel, will suddenly get their addresses clobbered and will be very angry.
 But since you (bennabiy) want that effect, go ahead and test it if you have
the time. 
  
 Still need to do: 
 * Make email address synchronization a site-configurable setting 
 * Make the sync frequency a site-configurable setting 
  
 I'm looking to get this wrapped up before we do anything else with LDAP,
because we're behind on a bunch of other stuff now.  It seems we have a lot
of catching up to do, if we want to make Citadel work reliably on Debian 9.
 I think we're going to upgrade the minimum required Berkeley DB version and
then add that to Easy Install. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4320852</link><pubDate>Fri, 17 Nov 2017 13:54:34 +0500</pubDate><title>Message #4320852</title><guid isPermaLink="false">4320852@Uncensored</guid><description><![CDATA[<html><body>

<p>Yup. Now I am going to be switching locations in a week or two, and testing will probably have to stop at that point for a while ( I am taking a technical break ) so if we can get some things hammered out and solid, it will free you to get the new version out :)</p>
<blockquote>
<div class="message_header"><span>Fri Nov 17 2017 10:57:03 AM EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">That's fine, so far. Right now I'm only looking to see if it picks up all of your users during what will become the directory sync process. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4320830</link><pubDate>Fri, 17 Nov 2017 10:57:03 +0500</pubDate><title>Message #4320830</title><guid isPermaLink="false">4320830@Uncensored</guid><description><![CDATA[That's fine, so far.  Right now I'm only looking to see if it picks up all
of your users during what will become the directory sync process. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4320672</link><pubDate>Thu, 16 Nov 2017 10:58:35 +0500</pubDate><title>Message #4320672</title><guid isPermaLink="false">4320672@Uncensored</guid><description><![CDATA[<html><body>

<p>Logging CN and DN in debug output like so (names changed...)</p>
<p>citserver[68186]: ldap: found uid=someone-mn,ou=Mn,ou=People,dc=servername,dc=net</p>
<p>citserver[68186]: ldap: cn = Someone of Mn</p>
<p>citserver[68186]: ldap: display name: &lt;Someone of Mn&gt; , uid = &lt;10073&gt;</p>
<div> </div>
<div>I can log into my aide fine, with uid, but to log in to LDAP users, I would need to type the full CN, which simply will not work. but this is a step in the right direction. </div>
<div> </div>
<div>I need users to be able to use uid for their login name, not CN (as some of our CN's are VERY LONG)</div>
<blockquote>
<div class="message_header"><span>Sun Nov 05 2017 10:34:18 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Lots of work is going into this LDAP Sync thing. Once again it has caused me to go back through a bunch of modules and solidify some pieces of the system that were a bit dated because they mostly-worked and didn't really call for much attention. <br /><br />bennabiy: you might want to run the current git master against a TEST COPY of your production system, or some other test system that has an existing database. If you watch the logs at maximum debug (citserver -x9) you should see it scan your directory, producing screen names and uid's for everyone -- but it won't actually sync the directory yet. You should also be able to log in as any user without difficulty, which is an important test since it's hitting a newly created index now. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4319184</link><pubDate>Tue, 07 Nov 2017 14:14:08 +0500</pubDate><title>Message #4319184</title><guid isPermaLink="false">4319184@Uncensored</guid><description><![CDATA[<html><body>

<p>Will test it. Glad we can solidify the system while at it :) </p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Nov 05 2017 10:34:18 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Lots of work is going into this LDAP Sync thing. Once again it has caused me to go back through a bunch of modules and solidify some pieces of the system that were a bit dated because they mostly-worked and didn't really call for much attention. <br /><br />bennabiy: you might want to run the current git master against a TEST COPY of your production system, or some other test system that has an existing database. If you watch the logs at maximum debug (citserver -x9) you should see it scan your directory, producing screen names and uid's for everyone -- but it won't actually sync the directory yet. You should also be able to log in as any user without difficulty, which is an important test since it's hitting a newly created index now. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4318883</link><pubDate>Sun, 05 Nov 2017 22:34:18 +0500</pubDate><title>Message #4318883</title><guid isPermaLink="false">4318883@Uncensored</guid><description><![CDATA[Lots of work is going into this LDAP Sync thing.  Once again it has caused
me to go back through a bunch of modules and solidify some pieces of the system
that were a bit dated because they mostly-worked and didn't really call for
much attention. 
  
 bennabiy: you might want to run the current git master against a TEST COPY
of your production system, or some other test system that has an existing
database.  If you watch the logs at maximum debug (citserver -x9) you should
see it scan your directory, producing screen names and uid's for everyone
-- but it won't actually sync the directory yet.  You should also be able
to log in as any user without difficulty, which is an important test since
it's hitting a newly created index now. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4318863</link><pubDate>Sun, 05 Nov 2017 21:09:10 +0500</pubDate><title>Message #4318863</title><guid isPermaLink="false">4318863@Uncensored</guid><description><![CDATA[ > 2017-11-05 19:44 from kinetix @uncnsrd     
 > Hey Citadmins / Devs / Packagers:     
 >      
 > There's a couple of funny errors in the webcit templates that produce 
   
 >the "who's online" page.  I noticed that when someone's idle, the alt  
  
 >text shows "Idle sinces XX minutes" (with XX being replaced     
 >appropriately).  Both the templates who/section.html and     
 >summary_section.html have stray "s"'s after their "idle since" text    

 >piece.       
 >      
 > One other webcit quirk that I've noticed is that webcit isn't     
 >overriding files from the static root folder itself, just from the     
 >static/t folders and files.  For example, if I put my own favicon.ico  
  
 >in static.local, webcit doesn't ever use it.  I may have been under the
   
 >mistaken impression that anything in static.local would override things
   
 >in static.     
 >      
 > Thanks!     
 >     
 >    
    
  
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4317518</link><pubDate>Tue, 31 Oct 2017 04:08:34 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4317518@Uncensored</guid><description><![CDATA[<html><body>

<p>posixAccount contains the uidNumber which would work. I agree, Full DN would be bad idea... some UID generation would be better.</p>
<blockquote>
<div class="message_header"><span>Mon Oct 30 2017 10:11:52 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: [Citadel Development] (no subject)</span></div>
<div class="message_content">
<blockquote>
<div class="message_content">
<p>so either ldap:uid=blah,dc=base,dc=name or some uid which (already) exists anyway in the system?   I just wonder if there would be more confusion if someone switched their LDAP basename etc on a running system if the full DN is used... even if the users are the same, would their mail store disappear?</p>
</div>
</blockquote>
<p>It would be the DN of the user, not the Base DN of the search scope.  And yes, if someone changed their DN in this case, Citadel would consider it to be a different user and the old account would be purged.</p>
<p>However, I don't think that's the direction we're going to take.  Indexing by UID (or in the case of Active Directory, a synthetic UID derived from the ObjectGUID) makes more sense.  That's how we join the accounts today, but it uses a sequential search.  If we put something like "uid:12345" in the extauth table, it will eliminate the sequential search without a major refactoring of the LDAP logic, and it should also be compatible with sites using system auth (which is apparently nobody, as far as I can tell; every site I've ever heard of is using either native or LDAP).</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4317378</link><pubDate>Mon, 30 Oct 2017 10:11:52 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4317378@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<p>so either ldap:uid=blah,dc=base,dc=name or some uid which (already) exists anyway in the system?   I just wonder if there would be more confusion if someone switched their LDAP basename etc on a running system if the full DN is used... even if the users are the same, would their mail store disappear?</p>
</div>
</blockquote>
<p>It would be the DN of the user, not the Base DN of the search scope.  And yes, if someone changed their DN in this case, Citadel would consider it to be a different user and the old account would be purged.</p>
<p>However, I don't think that's the direction we're going to take.  Indexing by UID (or in the case of Active Directory, a synthetic UID derived from the ObjectGUID) makes more sense.  That's how we join the accounts today, but it uses a sequential search.  If we put something like "uid:12345" in the extauth table, it will eliminate the sequential search without a major refactoring of the LDAP logic, and it should also be compatible with sites using system auth (which is apparently nobody, as far as I can tell; every site I've ever heard of is using either native or LDAP).</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4317222</link><pubDate>Sun, 29 Oct 2017 00:30:02 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4317222@Uncensored</guid><description><![CDATA[<html><body>

<p>where ldap:dc=foo,dc=bar is the DN or just the basename for lookups?</p>
<p>so either ldap:uid=blah,dc=base,dc=name or some uid which (already) exists anyway in the system?   I just wonder if there would be more confusion if someone switched their LDAP basename etc on a running system if the full DN is used... even if the users are the same, would their mail store disappear?</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Oct 28 2017 12:54:33 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: [Citadel Development] (no subject)</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Ok, getting back to LDAP Sync. This opened a big can of worms but it's going to end up a lot cleaner. <br /><br />Currently we map LDAP entries to Citadel accounts by using (or deriving) a uid, and then passing that through the same way we would if we were using Unix authentication. This requires a sequential search of the user table, which is ugly. <br /><br />Rather than build yet another index, I'm goingf to to make use of the CDB_OPENID table, which I've internally renamed to CDB_EXTAUTH. You can see where I'm going with this. Right now, the key is an OpenID URI. But there is no reason we can't put other types of keys in there. We can put fake URI's like "uid:123456" or "ldap:cn=foo,dc=bar" (and I'm currently trying to decide which makes more sense). <br /><br />Later on we can add other auth protocols like SSO ( <br />SAML) or OAuth or whatever and still use the same table. But for now, if we're going to scan LDAP every five minutes and map user ID's, we can't be doing a
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4317133</link><pubDate>Sat, 28 Oct 2017 00:54:33 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4317133@Uncensored</guid><description><![CDATA[  
 Ok, getting back to LDAP Sync.  This opened a big can of worms but it's going
to end up a lot cleaner. 
  
 Currently we map LDAP entries to Citadel accounts by using (or deriving)
a uid, and then passing that through the same way we would if we were using
Unix authentication.  This requires a sequential search of the user table,
which is ugly. 
  
 Rather than build yet another index, I'm goingf to  to make use of the CDB_OPENID
table, which I've internally renamed to CDB_EXTAUTH.  You can see where I'm
going with this.  Right now, the key is an OpenID URI.  But there is no reason
we can't put other types of keys in there.  We can put fake URI's like "uid:123456"
or "ldap:cn=foo,dc=bar" (and I'm currently trying to decide which makes more
sense). 
  
 Later on we can add other auth protocols like SSO ( 
 SAML) or OAuth or whatever and still use the same table.   But for now, if
we're
going to scan LDAP every five minutes and map user ID's, we can't be doing
all those sequential searches. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4316734</link><pubDate>Wed, 25 Oct 2017 22:40:52 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4316734@Uncensored</guid><description><![CDATA[Grr.  In addition to OpenSSL, the new Debian also brings along libical2, which
has an API change which is neither forward nor backward compatible. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4316692</link><pubDate>Wed, 25 Oct 2017 18:18:16 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4316692@Uncensored</guid><description><![CDATA[    
 ummm ... 
  
 It looks like the patch submitted by a user back in August, in commit e42596a94e31ac9f5106f62d83dc56ddbd779b6a
, may have already fixed the libssl issue. 
  
 I'm going to investigate some more! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4314768</link><pubDate>Fri, 20 Oct 2017 16:53:37 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4314768@Uncensored</guid><description><![CDATA[<html><body>

<p>NP :)   I just read some of the bug reports and responses from debian side of things, and it seems that buster is going to drop support for 1.0 API, so the temporary fix is going to disappear after stretch. Hopefully the API changes are not too difficult to rework back in. </p>
<p> </p>
<p>Shabbat Shalom!</p>
<blockquote>
<div class="message_header"><span>Fri Oct 20 2017 04:48:25 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: [Citadel Development] (no subject)</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Seems the temporary solution would be to put libssl1.0-dev as a requirement </blockquote>
<br />
<blockquote>instead of libssl-dev until the code is updated for the 1.1 api. </blockquote>
<br />Actually it seems that you've done the hardest part of the work already, by helping to arrive at the likely root cause: that something in Citadel is compatible with the OpenSSL 1.0 API but not the 1.1 API. <br /><br />Thank you! </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4314764</link><pubDate>Fri, 20 Oct 2017 16:48:25 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4314764@Uncensored</guid><description><![CDATA[ >Seems the temporary solution would be to put libssl1.0-dev as a requirement
 
 >instead of libssl-dev until the code is updated for the 1.1 api.    
  
 Actually it seems that you've done the hardest part of the work already,
by helping to arrive at the likely root cause: that something in Citadel is
compatible with the OpenSSL 1.0 API but not the 1.1 API. 
  
 Thank you! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4314657</link><pubDate>Fri, 20 Oct 2017 10:05:29 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4314657@Uncensored</guid><description><![CDATA[<html><body>

<p>Seems the temporary solution would be to put <span style="font-family: monospace; font-size: 10px; white-space: pre-wrap;">libssl1.0-dev as a requirement instead of libssl-dev until the code is updated for the 1.1 api.</span></p>
<blockquote>
<div class="message_header"><span>Thu Oct 19 2017 04:11:40 PM EDT</span> <span>from "Robert J. Clay" &lt;rjclay@gmail.com&gt; </span> <span class="message_subject">Subject: Re: [Citadel Development] (no subject)</span></div>
<div class="message_content"><tt>On Thu, Oct 19, 2017 at 1:47 PM, IGnatius T Foobar &lt;ajc@citadel.org&gt; wrote:</tt><br />
<blockquote><tt>Some are still having trouble, and evidently it compiles when they *remove*</tt><br /> <tt>libssl-dev. This seems to imply that there's something b0rked in the new</tt><br /> <tt>OpenSSL, and compiling Citadel without SSL support fixes it. That's a workaround</tt><br /> <tt>but not one I'm willing to live with.</tt><br /> <tt></tt></blockquote>
<tt>Which version of OpenSSL was it last written against? Because while</tt><br /> <tt>in jessie libssl-dev was v1.0.x, starting with stretch it's v1.1.0.</tt><br /> <tt>And in fact there's a transition underway for getting openssl1.0</tt><br /> <tt>removed, in favor of the existing openssl1.1, and an open bug in</tt><br /> <tt>Debian [1] about it.</tt><br /> <tt></tt><br /> <tt></tt><br /> <tt></tt><br /> <tt>-- </tt><br /> <tt>Robert J. Clay</tt><br /> <tt>rjclay@gmail.com</tt><br /> <tt>jame@rocasa.us</tt><br /> <tt>[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851086</tt><br /> </div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4314084</link><pubDate>Thu, 19 Oct 2017 16:11:40 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4314084@Uncensored</guid><description><![CDATA[
On Thu, Oct 19, 2017 at 1:47 PM, IGnatius T Foobar <ajc@citadel.org> wrote:
> Some are still having trouble, and evidently it compiles when they *remove*
> libssl-dev.  This seems to imply that there's something b0rked in the new
> OpenSSL, and compiling Citadel without SSL support fixes it.  That's a workaround
> but not one I'm willing to live with.

   Which version of OpenSSL was it last written against? Because while
in jessie libssl-dev was v1.0.x, starting with stretch it's v1.1.0.
And in fact there's a transition underway for getting openssl1.0
removed, in favor of the existing openssl1.1, and an open bug in
Debian [1] about it.



-- 
Robert J. Clay
rjclay@gmail.com
jame@rocasa.us
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4314050</link><pubDate>Thu, 19 Oct 2017 14:01:38 +0500</pubDate><title>Message #4314050</title><guid isPermaLink="false">4314050@Uncensored</guid><description><![CDATA[<html><body>

<p>That was my impression as well. I wonder if there is a package conflict with some other dev packages which provide the same files as libssl-dev which when give the right combo produce broken ssl compile?</p>
<blockquote>
<div class="message_header"><span>Thu Oct 19 2017 01:47:17 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Some are still having trouble, and evidently it compiles when they *remove* libssl-dev. This seems to imply that there's something b0rked in the new OpenSSL, and compiling Citadel without SSL support fixes it. That's a workaround but not one I'm willing to live with. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4314036</link><pubDate>Thu, 19 Oct 2017 13:47:17 +0500</pubDate><title>Message #4314036</title><guid isPermaLink="false">4314036@Uncensored</guid><description><![CDATA[Some are still having trouble, and evidently it compiles when they *remove*
libssl-dev.  This seems to imply that there's something b0rked in the new
OpenSSL, and compiling Citadel without SSL support fixes it.  That's a workaround
but not one I'm willing to live with. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4313798</link><pubDate>Wed, 18 Oct 2017 22:33:02 +0500</pubDate><title>Message #4313798</title><guid isPermaLink="false">4313798@Uncensored</guid><description><![CDATA[<html><body>

<p> That is funny, because one of the people said they had that library, and still failed. Good to know it works.</p>
<blockquote>
<div class="message_header"><span>Mon Oct 16 2017 03:43:52 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">sheesh ... all of those people having trouble building Citadel using Easy Install simply didn't have the zlib dev package installed. So there's nothing to "fix" which is good. I've added "zlib1g-dev" to the install process shown on the web site, and I suppose if zlib is a requirement now I'll make sure the configure script barfs with a proper message instead of just failing on the build. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4312761</link><pubDate>Mon, 16 Oct 2017 15:43:52 +0500</pubDate><title>Message #4312761</title><guid isPermaLink="false">4312761@Uncensored</guid><description><![CDATA[sheesh ... all of those people having trouble building Citadel using Easy
Install simply didn't have the zlib dev package installed.  So there's nothing
to "fix" which is good.  I've added "zlib1g-dev" to the install process shown
on the web site, and I suppose if zlib is a requirement now I'll make sure
the configure script barfs with a proper message instead of just failing on
the build. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4312675</link><pubDate>Mon, 16 Oct 2017 13:37:00 +0500</pubDate><title>Message #4312675</title><guid isPermaLink="false">4312675@Uncensored</guid><description><![CDATA[Great.  I've got a busy couple of days at work right now, but as much as I
can I'm going to work on the change from LDAP "access" to LDAP "sync" , and
also do some test building/fixing in the Debian Stretch VM that I built over
the weekend. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4312255</link><pubDate>Sun, 15 Oct 2017 15:26:45 +0500</pubDate><title>Message #4312255</title><guid isPermaLink="false">4312255@Uncensored</guid><description><![CDATA[<html><body>

<p>We have entries! Must have been the log level by default is turned down to not show that level.</p>
<blockquote>
<div class="message_header"><span>Sun Oct 15 2017 03:22:50 PM EDT</span> <span>from bennabiy @ Uncensored </span></div>
<div class="message_content">
<p>will try to see if it makes a difference</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Oct 15 2017 03:12:18 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Is it possible that I need to enable some form of logging more than by</blockquote>
<br />
<blockquote>default in order to see the entries? All I see is the ldap: populating</blockquote>
<br />
<blockquote>Citadel user database from LDAP</blockquote>
<br />If your'e running citserver in the foreground, you can do "citserver -x9" for maximum logging to the console.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4312252</link><pubDate>Sun, 15 Oct 2017 15:22:50 +0500</pubDate><title>Message #4312252</title><guid isPermaLink="false">4312252@Uncensored</guid><description><![CDATA[<html><body>

<p>will try to see if it makes a difference</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Oct 15 2017 03:12:18 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Is it possible that I need to enable some form of logging more than by</blockquote>
<br />
<blockquote>default in order to see the entries? All I see is the ldap: populating </blockquote>
<br />
<blockquote>Citadel user database from LDAP </blockquote>
<br />If your'e running citserver in the foreground, you can do "citserver -x9" for maximum logging to the console. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4312249</link><pubDate>Sun, 15 Oct 2017 15:12:18 +0500</pubDate><title>Message #4312249</title><guid isPermaLink="false">4312249@Uncensored</guid><description><![CDATA[ >Is it possible that I need to enable some form of logging more than by 

 >default in order to see the entries? All I see is the ldap: populating
 
 >Citadel user database from LDAP    
  
 If your'e running citserver in the foreground, you can do "citserver -x9"
for maximum logging to the console. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4312150</link><pubDate>Sun, 15 Oct 2017 09:37:44 +0500</pubDate><title>Message #4312150</title><guid isPermaLink="false">4312150@Uncensored</guid><description><![CDATA[<html><body>

<p>Is it possible that I need to enable some form of logging more than by default in order to see the entries? All I see is the ldap: populating Citadel user database from LDAP</p>
<blockquote>
<div class="message_header"><span>Sat Oct 14 2017 02:51:12 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />bennabiy : I know you're not on right now because it's Saturday and also you're busy with the new baby, but if and when you have some time to tinker ... I tinkered with the LDAP Sync code a bit today (and that's what we're going to do now -- think of it as LDAP Sync rather than just "using" LDAP) and I've got the scan operation producing the display name and uid of each user, and showing it in the log after the DN. Let me know if it produces anything at all for you. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4311632</link><pubDate>Sat, 14 Oct 2017 22:32:04 +0500</pubDate><title>Message #4311632</title><guid isPermaLink="false">4311632@Uncensored</guid><description><![CDATA[<html><body>

<p>Oct 15 02:27:38 cit citserver[59797]: ldap: populating Citadel user database from LDAP</p>
<p>Oct 15 02:28:39 cit citserver[59797]: ldap: populating Citadel user database from LDAP</p>
<p> </p>
<p>Oct 15 02:29:40 cit citserver[59797]: ldap: populating Citadel user database from LDAP</p>
<p> </p>
<p>no listing yet.  this shows up in syslog as well as daemon.log</p>
<p> </p>
<p>debug only contains </p>
<p>Oct 15 02:26:43 cit webcit[59816]: Text domain: webcit</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Text domain Charset: UTF8</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Message catalog directory: /usr/local/webcit/locale</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.version -&gt; 0, 0</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.rev -&gt; 1, 1</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.label -&gt; 2, 2</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.adr.extadr -&gt; 17, 1</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.adr.street -&gt; 18, 2</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.adr.city -&gt; 19, 3</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.adr.state -&gt; 20, 4</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.adr.zip -&gt; 21, 5</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.adr.country -&gt; 22, 6</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.adr -&gt; 15, 10</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.photo -&gt; 23, 11</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.tel;home -&gt; 24, 12</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.tel;work -&gt; 25, 13</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.tel;fax -&gt; 26, 14</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.tel;cell -&gt; 27, 15</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.uid -&gt; 3, 3</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.n.last -&gt; 5, 0</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.n.first -&gt; 6, 1</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.n.middle -&gt; 7, 2</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.n.prefix -&gt; 8, 3</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.n.suffix -&gt; 9, 4</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.n -&gt; 4, 4</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.fn -&gt; 10, 5</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.title -&gt; 11, 6</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.org -&gt; 12, 7</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.email -&gt; 13, 8</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.tel -&gt; 14, 9</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.adr.POBox -&gt; 16, 0</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.adr.extadr -&gt; 17, 1</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.email;internet -&gt; 28, 16</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Token: VC:.UNKNOWN -&gt; 29, 17</p>
<p>Oct 15 02:26:43 cit webcit[59813]: Attempting to bind to port 2000...</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.adr.street -&gt; 18, 2</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.adr.city -&gt; 19, 3</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.adr.state -&gt; 20, 4</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.adr.zip -&gt; 21, 5</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.adr.country -&gt; 22, 6</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.adr -&gt; 15, 10</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.photo -&gt; 23, 11</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.tel;home -&gt; 24, 12</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.tel;work -&gt; 25, 13</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.tel;fax -&gt; 26, 14</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.tel;cell -&gt; 27, 15</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.email;internet -&gt; 28, 16</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Token: VC:.UNKNOWN -&gt; 29, 17</p>
<p>Oct 15 02:26:43 cit webcit[59816]: Attempting to bind to port 443...</p>
<blockquote>
<div class="message_header"><span>Sat Oct 14 2017 02:51:12 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />bennabiy : I know you're not on right now because it's Saturday and also you're busy with the new baby, but if and when you have some time to tinker ... I tinkered with the LDAP Sync code a bit today (and that's what we're going to do now -- think of it as LDAP Sync rather than just "using" LDAP) and I've got the scan operation producing the display name and uid of each user, and showing it in the log after the DN. Let me know if it produces anything at all for you. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4311620</link><pubDate>Sat, 14 Oct 2017 21:31:02 +0500</pubDate><title>Message #4311620</title><guid isPermaLink="false">4311620@Uncensored</guid><description><![CDATA[<html><body>

<p>Great! I will get the recompile going and let you know (probably tomorrow) :)</p>
<blockquote>
<div class="message_header"><span>Sat Oct 14 2017 02:51:12 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />bennabiy : I know you're not on right now because it's Saturday and also you're busy with the new baby, but if and when you have some time to tinker ... I tinkered with the LDAP Sync code a bit today (and that's what we're going to do now -- think of it as LDAP Sync rather than just "using" LDAP) and I've got the scan operation producing the display name and uid of each user, and showing it in the log after the DN. Let me know if it produces anything at all for you. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4311548</link><pubDate>Sat, 14 Oct 2017 14:51:12 +0500</pubDate><title>Message #4311548</title><guid isPermaLink="false">4311548@Uncensored</guid><description><![CDATA[  
 bennabiy : I know you're not on right now because it's Saturday and also
you're busy with the new baby, but if and when you have some time to tinker
... I tinkered with the LDAP Sync code a bit today (and that's what we're
going to do now -- think of it as LDAP Sync rather than just "using" LDAP)
and I've got the scan operation producing the display name and uid of each
user, and showing it in the log after the DN.  Let me know if it produces
anything at all for you. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4308965</link><pubDate>Tue, 10 Oct 2017 13:30:53 +0500</pubDate><title>Re: Citadel on Debian Stretch</title><guid isPermaLink="false">4308965@Uncensored</guid><description><![CDATA[<html><body>

<p>Seems it is in the crypto portion (openssl-ish) but I could be wrong.</p>
<blockquote>
<div class="message_header"><span>Tue Oct 10 2017 12:59:25 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Citadel on Debian Stretch</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Damn. Ok, I guess I've got to get a Stretch VM running and figure out what the heck they changed. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4308951</link><pubDate>Tue, 10 Oct 2017 12:59:25 +0500</pubDate><title>Re: Citadel on Debian Stretch</title><guid isPermaLink="false">4308951@Uncensored</guid><description><![CDATA[Damn.  Ok, I guess I've got to get a Stretch VM running and figure out what
the heck they changed. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4307831</link><pubDate>Mon, 09 Oct 2017 10:31:28 +0500</pubDate><title>Citadel on Debian Stretch</title><guid isPermaLink="false">4307831@Uncensored</guid><description><![CDATA[<html><body>

<p>Seems it is not compiling. Multiple complaints in the Support room. </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4306882</link><pubDate>Sun, 08 Oct 2017 10:41:09 +0500</pubDate><title>Message #4306882</title><guid isPermaLink="false">4306882@Uncensored</guid><description><![CDATA[<html><body>

<p>Ig, I had a funny dream about you last night.  Any progress?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4305098</link><pubDate>Thu, 05 Oct 2017 17:47:25 +0500</pubDate><title>Gone till Sunday...</title><guid isPermaLink="false">4305098@Uncensored</guid><description><![CDATA[<html><body>

<p>Let me know if you have something else to test at that time :) Time to go sleep in a Sukkah for a week :)</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4305079</link><pubDate>Thu, 05 Oct 2017 16:31:59 +0500</pubDate><title>Re: update?</title><guid isPermaLink="false">4305079@Uncensored</guid><description><![CDATA[<html><body>

<p>Eureka moment?  </p>
<p> </p>
<p>Is your scope looking at subtree? my LDAP tree has a base of ou=People,dc=redacted,dc=name  but the users are buried under different branches under that like </p>
<p> </p>
<p>ou=Branch,ou=People,dc=redacted,dc=name</p>
<p> </p>
<p>and a full user in my case would be </p>
<p>uid=bennabiy,ou=Branch,ou=People,dc=redacted,dc=name</p>
<p> </p>
<p>does that help? I know on a command line search, I would specify -s sub "objectclass=inetOrgPerson"</p>
<blockquote>
<div class="message_header"><span>Thu Oct 05 2017 01:45:28 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: update?</span></div>
<div class="message_content">
<p>All I show is the top line, </p>
<blockquote>
<p> </p>
<p>Oct  5 17:43:48 cit citserver[71341]: ldap: populating Citadel user database from LDAP</p>
</blockquote>
<p>repeatedly, in either syslog, daemon.log etc. Unless it is being written to a log I know not. It is not writing to debug.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Oct 05 2017 01:05:27 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: update?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Oops, sorry. Your post says "no listing of email addresses yet." We're not yet breaking out the email addresses; I just wanted to make sure we're catching the correct accounts. For example, my output looks like this: <br />itserver[22787]: ldap: populating Citadel user database from LDAP <br />citserver[22787]: ldap: bind DN: CN=ldap,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: search: (&amp;(objectClass=user)(objectClass=person)(!(objectClass=computer))) <br />citserver[22787]: ldap: 9 entries returned <br />citserver[22787]: ldap: found CN=Administrator,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=Guest,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=krbtgt,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=IGnatius T Foobar,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=ldap,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=Friko Mumjiboolean,CN=Users,DC=example,DC=com <br />cits
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4305016</link><pubDate>Thu, 05 Oct 2017 13:45:28 +0500</pubDate><title>Re: update?</title><guid isPermaLink="false">4305016@Uncensored</guid><description><![CDATA[<html><body>

<p>All I show is the top line, </p>
<blockquote>
<p> </p>
<p>Oct  5 17:43:48 cit citserver[71341]: ldap: populating Citadel user database from LDAP</p>
</blockquote>
<p>repeatedly, in either syslog, daemon.log etc. Unless it is being written to a log I know not. It is not writing to debug.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Oct 05 2017 01:05:27 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: update?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Oops, sorry. Your post says "no listing of email addresses yet." We're not yet breaking out the email addresses; I just wanted to make sure we're catching the correct accounts. For example, my output looks like this: <br />itserver[22787]: ldap: populating Citadel user database from LDAP <br />citserver[22787]: ldap: bind DN: CN=ldap,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: search: (&amp;(objectClass=user)(objectClass=person)(!(objectClass=computer))) <br />citserver[22787]: ldap: 9 entries returned <br />citserver[22787]: ldap: found CN=Administrator,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=Guest,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=krbtgt,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=IGnatius T Foobar,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=ldap,CN=Users,DC=example,DC=com <br />citserver[22787]: ldap: found CN=Friko Mumjiboolean,CN=Users,DC=example,DC=com <br />cits
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4304989</link><pubDate>Thu, 05 Oct 2017 13:05:27 +0500</pubDate><title>Re: update?</title><guid isPermaLink="false">4304989@Uncensored</guid><description><![CDATA[Oops, sorry.  Your post says "no listing of email addresses yet."  We're not
yet breaking out the email addresses; I just wanted to make sure we're catching
the correct accounts.  For example, my output looks like this: 
 itserver[22787]: ldap: populating Citadel user database from LDAP 
 citserver[22787]: ldap: bind DN: CN=ldap,CN=Users,DC=example,DC=com 
 citserver[22787]: ldap: search: (&(objectClass=user)(objectClass=person)(!(objectClass=computer)))

 citserver[22787]: ldap: 9 entries returned 
 citserver[22787]: ldap: found CN=Administrator,CN=Users,DC=example,DC=com

 citserver[22787]: ldap: found CN=Guest,CN=Users,DC=example,DC=com 
 citserver[22787]: ldap: found CN=krbtgt,CN=Users,DC=example,DC=com 
 citserver[22787]: ldap: found CN=IGnatius T Foobar,CN=Users,DC=example,DC=com

 citserver[22787]: ldap: found CN=ldap,CN=Users,DC=example,DC=com 
 citserver[22787]: ldap: found CN=Friko
Mumjiboolean,CN=Users,DC=example,DC=com 
 citserver[22787]: ldap: found CN=Egg Roll,CN=Users,DC=example,DC=com 
 citserver[22787]: ldap: found CN=Phluphphy,CN=Users,DC=example,DC=com 
 citserver[22787]: ldap: found CN=Abraham Lincoln,CN=Users,DC=example,DC=com

  
 That's all we're looking for.  This will happen at startup and then every
minute (obviously we' 
 ll back this down to a less frequent interval in production). 
  
 Your search string should show as "(objectClass=inetOrgPerson)".  If this
doesn't produce your list of users, we have to come up with the correct query
to do so. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4304897</link><pubDate>Thu, 05 Oct 2017 10:50:24 +0500</pubDate><title>Re: update?</title><guid isPermaLink="false">4304897@Uncensored</guid><description><![CDATA[<html><body>

<p>Seems you missed my post at the bottom of the last post. No. Same results as last time.</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Oct 05 2017 09:44:51 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: update?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Good catch, testing. </blockquote>
<br />What were the test results? Did the log produce the correct list of users? </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4304733</link><pubDate>Thu, 05 Oct 2017 09:44:51 +0500</pubDate><title>Re: update?</title><guid isPermaLink="false">4304733@Uncensored</guid><description><![CDATA[ >Good catch, testing.    
  
 What were the test results?  Did the log produce the correct list of users?

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4302832</link><pubDate>Mon, 02 Oct 2017 09:47:36 +0500</pubDate><title>Re: update?</title><guid isPermaLink="false">4302832@Uncensored</guid><description><![CDATA[<html><body>

<p>As a side note, this pops up in daemon.log:</p>
<p> </p>
<blockquote>
<p>Oct  2 13:44:06 cit webcit[71360]: No Site-local Stylesheet [/usr/local/webcit/static.local//webcit.css] installed.</p>
<p>Oct  2 13:44:06 cit webcit[71360]: Parseerror [_]  (in '/usr/local/webcit/static//t/wiki/empty.html' line 5); Warning, Non welformed Token; missing right parenthesis; [_("There is no page called '"]</p>
<p>Oct  2 13:44:06 cit webcit[71360]: Define [VC:.adr.address]  (in '/usr/local/webcit/static//t/vcard/msg_display.html' line 32); VC:.adr.address isn't known!!; [!("VC:HAVE:TYPE", 30, #"VC:.adr.address")]</p>
<p> </p>
<p>Oct  2 13:44:06 cit webcit[71360]: Parseerror [_]  (in '/usr/local/webcit/static//t/user/edit_bio.html' line 11); Warning, Non welformed Token; missing right parenthesis; [_("Enter your bio below."]</p>
<div> </div>
</blockquote>
<p>And it looks like daemon.log only lists the </p>
<p> </p>
<blockquote>
<p>Oct  2 13:45:04 cit citserver[71341]: ldap: populating Citadel user database from LDAP</p>
<p> </p>
<p>Oct  2 13:46:05 cit citserver[71341]: ldap: populating Citadel user database from LDAP</p>
</blockquote>
<p>so no listing of email addresses yet.</p>
<blockquote>
<div class="message_header"><span>Mon Oct 02 2017 09:14:06 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: update?</span></div>
<div class="message_content">
<p>Good catch, testing.</p>
<blockquote>
<div class="message_header"><span>Sat Sep 30 2017 12:55:29 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: update?</span></div>
<div class="message_content">
<p>Just got back from another business trip.  I see the problem, though!  I cut-and-pasted from your earlier post and made the query string "(objectClass: inetOrgPerson)".  It ought to be "(objectClass=inetOrgPerson)" instead.</p>
<p>I have committed that change to git master.  Give it a try and let me know if the correct set of users shows up in your log.  If it does we'll move on to email address extraction.</p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4302827</link><pubDate>Mon, 02 Oct 2017 09:14:06 +0500</pubDate><title>Re: update?</title><guid isPermaLink="false">4302827@Uncensored</guid><description><![CDATA[<html><body>

<p>Good catch, testing.</p>
<blockquote>
<div class="message_header"><span>Sat Sep 30 2017 12:55:29 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: update?</span></div>
<div class="message_content">
<p>Just got back from another business trip.  I see the problem, though!  I cut-and-pasted from your earlier post and made the query string "(objectClass: inetOrgPerson)".  It ought to be "(objectClass=inetOrgPerson)" instead.</p>
<p>I have committed that change to git master.  Give it a try and let me know if the correct set of users shows up in your log.  If it does we'll move on to email address extraction.</p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4302059</link><pubDate>Sat, 30 Sep 2017 12:55:29 +0500</pubDate><title>Re: update?</title><guid isPermaLink="false">4302059@Uncensored</guid><description><![CDATA[<html><body>

<p>Just got back from another business trip.  I see the problem, though!  I cut-and-pasted from your earlier post and made the query string "(objectClass: inetOrgPerson)".  It ought to be "(objectClass=inetOrgPerson)" instead.</p>
<p>I have committed that change to git master.  Give it a try and let me know if the correct set of users shows up in your log.  If it does we'll move on to email address extraction.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4300978</link><pubDate>Fri, 29 Sep 2017 00:15:58 +0500</pubDate><title>Re: update?</title><guid isPermaLink="false">4300978@Uncensored</guid><description><![CDATA[<html><body>

<p>IG on vacation?</p>
<blockquote>
<div class="message_header"><span>Mon Sep 25 2017 10:30:48 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: update?</span></div>
<div class="message_content">
<p>If you have a chunk of time, I can do an interactive patch and test. I think we are getting somewhere, but I am not getting the expected results yet.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4297711</link><pubDate>Mon, 25 Sep 2017 10:30:48 +0500</pubDate><title>update?</title><guid isPermaLink="false">4297711@Uncensored</guid><description><![CDATA[<html><body>

<p>If you have a chunk of time, I can do an interactive patch and test. I think we are getting somewhere, but I am not getting the expected results yet.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4297156</link><pubDate>Sun, 24 Sep 2017 22:16:22 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4297156@Uncensored</guid><description><![CDATA[<html><body>

<p>Well, it is not logging anything other than what I put below, and it is NOT exiting at the point I listed below... I wonder what is going on, because looking over the code, it should be fine. I will check back in the morning.</p>
<blockquote>
<div class="message_header"><span>Sun Sep 24 2017 10:05:32 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p>I put some code in to see if I can log where the failure is, but to me it looks like it is returning because </p>
<div class="diff add" style="font-family: monospace; font-size: small; white-space: pre; color: #008800;"> if (ctdl_ldap_initialize(&amp;ldserver) != LDAP_SUCCESS) {</div>
<div class="diff add" style="font-family: monospace; font-size: small; white-space: pre; color: #008800;">+               return;</div>
<div class="diff add" style="font-family: monospace; font-size: small; white-space: pre; color: #008800;">+       }</div>
<p>and I am not seeing any of the other messages you included in that function. Recompiling and will test to see if that is what is happening.</p>
<blockquote>
<div class="message_header"><span>Sun Sep 24 2017 05:22:43 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p> </p>
<p>Sep 24 21:21:14 cit citserver[50403]: ldap: populating Citadel user database from LDAP</p>
<div>only entry I get repeating ... something is not right. and this is logged to daemon.log, not debug</div>
<blockquote>
<div class="message_header"><span>Sun Sep 24 2017 05:00:58 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok let's do this. I've pushed the code to *scan* the LDAP server but not to do anything with the results. Please test it on a development machine only. It should basically just show the DN's of every qualifying user in the debug log once per minute. If those results look correct we'll move on to the next phase.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4297150</link><pubDate>Sun, 24 Sep 2017 22:05:32 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4297150@Uncensored</guid><description><![CDATA[<html><body>

<p>I put some code in to see if I can log where the failure is, but to me it looks like it is returning because </p>
<div class="diff add" style="font-family: monospace; font-size: small; white-space: pre; color: #008800;"> if (ctdl_ldap_initialize(&amp;ldserver) != LDAP_SUCCESS) {</div>
<div class="diff add" style="font-family: monospace; font-size: small; white-space: pre; color: #008800;">+               return;</div>
<div class="diff add" style="font-family: monospace; font-size: small; white-space: pre; color: #008800;">+       }</div>
<p>and I am not seeing any of the other messages you included in that function. Recompiling and will test to see if that is what is happening.</p>
<blockquote>
<div class="message_header"><span>Sun Sep 24 2017 05:22:43 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p> </p>
<p>Sep 24 21:21:14 cit citserver[50403]: ldap: populating Citadel user database from LDAP</p>
<div>only entry I get repeating ... something is not right. and this is logged to daemon.log, not debug</div>
<blockquote>
<div class="message_header"><span>Sun Sep 24 2017 05:00:58 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok let's do this. I've pushed the code to *scan* the LDAP server but not to do anything with the results. Please test it on a development machine only. It should basically just show the DN's of every qualifying user in the debug log once per minute. If those results look correct we'll move on to the next phase.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4297070</link><pubDate>Sun, 24 Sep 2017 17:22:43 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4297070@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<p>Sep 24 21:21:14 cit citserver[50403]: ldap: populating Citadel user database from LDAP</p>
<div>only entry I get repeating ... something is not right. and this is logged to daemon.log, not debug</div>
<blockquote>
<div class="message_header"><span>Sun Sep 24 2017 05:00:58 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok let's do this. I've pushed the code to *scan* the LDAP server but not to do anything with the results. Please test it on a development machine only. It should basically just show the DN's of every qualifying user in the debug log once per minute. If those results look correct we'll move on to the next phase. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4297067</link><pubDate>Sun, 24 Sep 2017 17:14:00 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4297067@Uncensored</guid><description><![CDATA[<html><body>

<p>Compiling... While we are at it, can you fix the /etc/init.d/webcit file to be compliant? It is missing the init header info.</p>
<p>### BEGIN INIT INFO</p>
<p># Provides:          webcit</p>
<p># Required-Start:    citadel</p>
<p># Required-Stop:     citadel</p>
<p># Default-Start:     2 3 4 5</p>
<p># Default-Stop:      0 1 6</p>
<p># Short-Description: WebCit init script</p>
<p># Description:       Webcit Init Script</p>
<p>#</p>
<p>### END INIT INFO</p>
<div> </div>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Sep 24 2017 05:00:58 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok let's do this. I've pushed the code to *scan* the LDAP server but not to do anything with the results. Please test it on a development machine only. It should basically just show the DN's of every qualifying user in the debug log once per minute. If those results look correct we'll move on to the next phase. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4297061</link><pubDate>Sun, 24 Sep 2017 17:00:58 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4297061@Uncensored</guid><description><![CDATA[Ok let's do this.  I've pushed the code to *scan* the LDAP server but not
to do anything with the results.  Please test it on a development machine
only.  It should basically just show the DN's of every qualifying user in
the debug log once per minute.  If those results look correct we'll move on
to the next phase. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4297052</link><pubDate>Sun, 24 Sep 2017 16:27:32 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4297052@Uncensored</guid><description><![CDATA[<html><body>

<p>inetOrgPerson is correct for POSIX, I am not sure about AD (I refuse...) </p>
<p> </p>
<p>Let me know when you have the code pushed and I will recompile</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Sep 24 2017 02:52:43 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok, I'm in the code working on some changes now, and am going to try to shift things over from "create the account at login" to "create all accounts all the time." For the POSIX schema it looks like we have to access all accounts with "objectClass: inetOrgPerson" , and for the Active Directory schema we have to access all accounts with "(&amp;(objectClass=user)(objectClass=person)(!(objectClass=computer)))" ... I think :) </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4296994</link><pubDate>Sun, 24 Sep 2017 14:52:43 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4296994@Uncensored</guid><description><![CDATA[Ok, I'm in the code working on some changes now, and am going to try to shift
things over from "create the account at login" to "create all accounts all
the time."  For the POSIX schema it looks like we have to access all accounts
with "objectClass: inetOrgPerson" , and for the Active Directory schema we
have to access all accounts with "(&(objectClass=user)(objectClass=person)(!(objectClass=computer)))"
... I think  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4296131</link><pubDate>Sat, 23 Sep 2017 21:24:54 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4296131@Uncensored</guid><description><![CDATA[<html><body>

<p>That sounds good. It would be good to be able on a system set for LDAP to be able to expose the LDAP users known on the system to a list like the host based authentication does. </p>
<p> </p>
<p>Thinking about what you suggest, that would allow the system to pull the latest LDAP info for that user whenever it is needed, and updated locally as needed. Does the LDAP method support TLS?</p>
<blockquote>
<div class="message_header"><span>Wed Sep 20 2017 10:46:05 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok, I think I might have a solution to that. Perhaps instead of shimming the login command for LDAP, we can move that code to the "get user" function. <br />That would theoretically make an LDAP query work in any location where a username is entered. Gotta think this through. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4293670</link><pubDate>Wed, 20 Sep 2017 22:46:05 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4293670@Uncensored</guid><description><![CDATA[Ok, I think I might have a solution to that.  Perhaps instead of shimming
the login command for LDAP, we can move that code to the "get user" function.
 That would theoretically make an LDAP query work in any location where a
username is entered.  Gotta think this through. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292698</link><pubDate>Mon, 18 Sep 2017 00:43:12 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292698@Uncensored</guid><description><![CDATA[<html><body>

<p>And the annoying thing with the current setup. If I want to send a local message to a user from LDAP, or invite them to a room, etc, I have to use what is listed under displayName. That makes for some LONG user names, even though they log in with the uid. I wish it could be choosable what gets used for the local name. (I do not mind the displayName being shown, but it would be good to be able to reference someone according to uid as well!)</p>
<blockquote>
<div class="message_header"><span>Mon Sep 18 2017 12:11:49 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p>With certain information changed, for good reason :)</p>
<blockquote>
<p>dn: uid=bennabiy,ou=Somewhere,ou=People,dc=domain,dc=net</p>
<p>objectClass: inetOrgPerson</p>
<p>objectClass: posixAccount</p>
<p>objectClass: shadowAccount</p>
<p>cn: ben-Nabiy Derush of Somewhere</p>
<p>displayName: ben-Nabiy Derush of Somewhere</p>
<p>gecos: ben-Nabiy Derush of Somewhere</p>
<p>gidNumber: 5026</p>
<p>givenName: ben-Nabiy</p>
<p>homeDirectory: /home/bennabiy</p>
<p>loginShell: /bin/bash</p>
<p>mail: bennabiy@domain.net</p>
<p>mail: bennabiy-yc@domain.net</p>
<p>mail: bd@domain.net</p>
<p>ou: Yoceph</p>
<p>postalCode: 28636</p>
<p>shadowLastChange: 13896</p>
<p>shadowMax: 99999</p>
<p>shadowWarning: 7</p>
<p>sn: Derush</p>
<p>title: Tech</p>
<p>uid: bennabiy</p>
<p>uidNumber: 10026</p>
<div>userPassword: blahblahblah</div>
</blockquote>
<p> </p>
<div> </div>
<blockquote>
<div class="message_header"><span>Sun Sep 17 2017 11:00:21 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Would it be possible to get an LDIF export of a sample user from your directory, who has multiple email addresses? I suspect I'm not getting the format in correctly. <br /><br />The "cit[n]@[domain]" format is an automatically generated default address. <br />It should get replaced by a correct address if and when you give it one. <br /><br />I think we're close here ... just need to work out some of the semantics and heuristics.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292694</link><pubDate>Mon, 18 Sep 2017 00:11:49 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292694@Uncensored</guid><description><![CDATA[<html><body>

<p>With certain information changed, for good reason :)</p>
<blockquote>
<p>dn: uid=bennabiy,ou=Somewhere,ou=People,dc=domain,dc=net</p>
<p>objectClass: inetOrgPerson</p>
<p>objectClass: posixAccount</p>
<p>objectClass: shadowAccount</p>
<p>cn: ben-Nabiy Derush of Somewhere</p>
<p>displayName: ben-Nabiy Derush of Somewhere</p>
<p>gecos: ben-Nabiy Derush of Somewhere</p>
<p>gidNumber: 5026</p>
<p>givenName: ben-Nabiy</p>
<p>homeDirectory: /home/bennabiy</p>
<p>loginShell: /bin/bash</p>
<p>mail: bennabiy@domain.net</p>
<p>mail: bennabiy-yc@domain.net</p>
<p>mail: bd@domain.net</p>
<p>ou: Yoceph</p>
<p>postalCode: 28636</p>
<p>shadowLastChange: 13896</p>
<p>shadowMax: 99999</p>
<p>shadowWarning: 7</p>
<p>sn: Derush</p>
<p>title: Tech</p>
<p>uid: bennabiy</p>
<p>uidNumber: 10026</p>
<div>userPassword: blahblahblah</div>
</blockquote>
<p> </p>
<div> </div>
<blockquote>
<div class="message_header"><span>Sun Sep 17 2017 11:00:21 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Would it be possible to get an LDIF export of a sample user from your directory, who has multiple email addresses? I suspect I'm not getting the format in correctly. <br /><br />The "cit[n]@[domain]" format is an automatically generated default address. <br />It should get replaced by a correct address if and when you give it one. <br /><br />I think we're close here ... just need to work out some of the semantics and heuristics. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292685</link><pubDate>Sun, 17 Sep 2017 23:00:21 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292685@Uncensored</guid><description><![CDATA[Would it be possible to get an LDIF export of a sample user from your directory,
who has multiple email addresses?  I suspect I'm not getting the format in
correctly. 
  
 The "cit[n]@[domain]" format is an automatically generated default address.
 It should get replaced by a correct address if and when you give it one.

  
 I think we're close here ... just need to work out some of the semantics
and heuristics. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292305</link><pubDate>Fri, 15 Sep 2017 01:34:38 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292305@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok, so with an edit to my FQDN and which hosts citadel is allowed to receive mail for, it pulled in the addresses for the from box, but only the primary address is working, internet aliases are not.</p>
<blockquote>
<div class="message_header"><span>Fri Sep 15 2017 01:28:50 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p>And to confirm, when I look at user account info, I see cit7@domain.com rather than a valid LDAP generated email address.</p>
<blockquote>
<div class="message_header"><span>Fri Sep 15 2017 01:26:57 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p>Ok, so something interesting is noticeable.</p>
<p> </p>
<p>When I go to compose a message, a citadelUID is presented before the address, like cit9 etc rather than the uid from LDAP. Intentional?</p>
<p>Testing messages back and forth with internet mail off.</p>
<blockquote>
<div class="message_header"><span>Thu Sep 14 2017 04:59:18 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Right. It filters for email addresses that are actually valid on the Citadel host.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292299</link><pubDate>Fri, 15 Sep 2017 01:28:50 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292299@Uncensored</guid><description><![CDATA[<html><body>

<p>And to confirm, when I look at user account info, I see cit7@domain.com rather than a valid LDAP generated email address.</p>
<blockquote>
<div class="message_header"><span>Fri Sep 15 2017 01:26:57 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p>Ok, so something interesting is noticeable.</p>
<p> </p>
<p>When I go to compose a message, a citadelUID is presented before the address, like cit9 etc rather than the uid from LDAP. Intentional?</p>
<p>Testing messages back and forth with internet mail off.</p>
<blockquote>
<div class="message_header"><span>Thu Sep 14 2017 04:59:18 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Right. It filters for email addresses that are actually valid on the Citadel host.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292296</link><pubDate>Fri, 15 Sep 2017 01:26:57 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292296@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok, so something interesting is noticeable.</p>
<p> </p>
<p>When I go to compose a message, a citadelUID is presented before the address, like cit9 etc rather than the uid from LDAP. Intentional?</p>
<p>Testing messages back and forth with internet mail off.</p>
<blockquote>
<div class="message_header"><span>Thu Sep 14 2017 04:59:18 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Right. It filters for email addresses that are actually valid on the Citadel host. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292259</link><pubDate>Thu, 14 Sep 2017 16:59:18 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292259@Uncensored</guid><description><![CDATA[Right.  It filters for email addresses that are actually valid on the Citadel
host. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292253</link><pubDate>Thu, 14 Sep 2017 16:05:33 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292253@Uncensored</guid><description><![CDATA[<html><body>

<p>Valid for citadel meaning according to what is set in settings for allowed domains...</p>
<blockquote>
<div class="message_header"><span>Thu Sep 14 2017 03:07:41 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p>And by valid, meaning valid for citadel, or valid by LDAP schema?</p>
<blockquote>
<div class="message_header"><span>Thu Sep 14 2017 10:53:45 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">The current expected behavior is that it ought to copy all valid email addresses from LDAP to the Citadel account at the moment the account is created or when the user logs in.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292244</link><pubDate>Thu, 14 Sep 2017 15:07:41 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292244@Uncensored</guid><description><![CDATA[<html><body>

<p>And by valid, meaning valid for citadel, or valid by LDAP schema?</p>
<blockquote>
<div class="message_header"><span>Thu Sep 14 2017 10:53:45 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">The current expected behavior is that it ought to copy all valid email addresses from LDAP to the Citadel account at the moment the account is created or when the user logs in. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292210</link><pubDate>Thu, 14 Sep 2017 10:53:45 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292210@Uncensored</guid><description><![CDATA[The current expected behavior is that it ought to copy all valid email addresses
from LDAP to the Citadel account at the moment the account is created or when
the user logs in. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292135</link><pubDate>Wed, 13 Sep 2017 16:29:07 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292135@Uncensored</guid><description><![CDATA[<html><body>

<p>So what is the current expected behavior? </p>
<p>I am getting the tester up this afternoon / tomorrow.</p>
<blockquote>
<div class="message_header"><span>Wed Sep 13 2017 09:41:02 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Making the Citadel system behave more seamlessly in an LDAP world is a good idea. But right now let's just test what we have :) </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4292044</link><pubDate>Wed, 13 Sep 2017 09:41:02 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4292044@Uncensored</guid><description><![CDATA[  
 Making the Citadel system behave more seamlessly in an LDAP world is a good
idea.  But right now let's just test what we have  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291827</link><pubDate>Mon, 11 Sep 2017 15:35:30 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4291827@Uncensored</guid><description><![CDATA[<html><body>

<p>Also, with this, LDAP is treated as second class citizen by not exposing LDAP users to be able to select them for room invites, etc. It would be good to be able to set which field is used to generate what the "local" account is. Some prefer uid (like us) and others like Full Name, some Last, First etc. I do not think this should be forced upon someone to only have it one way. As it is, I need to currently try to remember exactly how the Full name of my users is, in order to invite them to a room, etc.</p>
<blockquote>
<div class="message_header"><span>Mon Sep 11 2017 03:32:47 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p>What about a clobber / no-clobber rule.</p>
<p> </p>
<p>So to sum up:</p>
<p>A configuration option only available when LDAP auth is chosen (whether standard or AD) which has these settings:</p>
<ul>
<li>Off - meaning only use LDAP for AUTH, but no VCARD generation</li>
<li>EMAIL - meaning update EMAIL addresses in user config as well as Auth AT each login</li>
<li>FULL - meaning update FULL vCard info at each login as well as Auth</li>
</ul>
<div>A second command (does not have to be in webcit, can just be a SENDCOMMAND or something) which can clear / blank all entries in the user table, or can poll LDAP to fill in users from LDAP without each user needing to log in.</div>
<div> </div>
<div>An option for LDAP to be polled at an interval to check for new changes.</div>
<div> </div>
<div> </div>
<div>Too much?</div>
<blockquote>
<div class="message_header"><span>Mon Sep 11 2017 12:54:47 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Site configurable, as in whether to bring in all addresses which match the</blockquote>
<br />
<blockquote>citadel configuration? I am not sure what you are thinking when you say</blockquote>
site <br />
<blockquote>configurable. As in do you copy the address at all, or at each login, etc?</blockquote>
<br /><br />Yes, exactly ... I'm thinking we probably are going to need *one* site-configurable setting to tell Citadel Server whether to copy email addresses from the directory never, at login, or continually. <br /><br />I'd prefer not to have to add a configuration setting, but I'm thinking if we've got sites out there with lots of locally configured email addresses who are only using LDAP to verify the user's password, we'll clobber those locally configured addresses if we copy from LDAP.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291823</link><pubDate>Mon, 11 Sep 2017 15:32:47 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4291823@Uncensored</guid><description><![CDATA[<html><body>

<p>What about a clobber / no-clobber rule.</p>
<p> </p>
<p>So to sum up:</p>
<p>A configuration option only available when LDAP auth is chosen (whether standard or AD) which has these settings:</p>
<ul>
<li>Off - meaning only use LDAP for AUTH, but no VCARD generation</li>
<li>EMAIL - meaning update EMAIL addresses in user config as well as Auth AT each login</li>
<li>FULL - meaning update FULL vCard info at each login as well as Auth</li>
</ul>
<div>A second command (does not have to be in webcit, can just be a SENDCOMMAND or something) which can clear / blank all entries in the user table, or can poll LDAP to fill in users from LDAP without each user needing to log in.</div>
<div> </div>
<div>An option for LDAP to be polled at an interval to check for new changes.</div>
<div> </div>
<div> </div>
<div>Too much?</div>
<blockquote>
<div class="message_header"><span>Mon Sep 11 2017 12:54:47 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Site configurable, as in whether to bring in all addresses which match the </blockquote>
<br />
<blockquote>citadel configuration? I am not sure what you are thinking when you say</blockquote>
site <br />
<blockquote>configurable. As in do you copy the address at all, or at each login, etc? </blockquote>
<br /><br />Yes, exactly ... I'm thinking we probably are going to need *one* site-configurable setting to tell Citadel Server whether to copy email addresses from the directory never, at login, or continually. <br /><br />I'd prefer not to have to add a configuration setting, but I'm thinking if we've got sites out there with lots of locally configured email addresses who are only using LDAP to verify the user's password, we'll clobber those locally configured addresses if we copy from LDAP. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291793</link><pubDate>Mon, 11 Sep 2017 12:54:47 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4291793@Uncensored</guid><description><![CDATA[ >Site configurable, as in whether to bring in all addresses which match the
 
 >citadel configuration? I am not sure what you are thinking when you say
site  
 >configurable. As in do you copy the address at all, or at each login, etc?
   
  
 Yes, exactly ... I'm thinking we probably are going to need *one* site-configurable
setting to tell Citadel Server whether to copy email addresses from the directory
never, at login, or continually. 
  
 I'd prefer not to have to add a configuration setting, but I'm thinking if
we've got sites out there with lots of locally configured email addresses
who are only using LDAP to verify the user's password, we'll clobber those
locally configured addresses if we copy from LDAP. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291785</link><pubDate>Mon, 11 Sep 2017 12:16:40 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4291785@Uncensored</guid><description><![CDATA[<html><body>

<p>Will give this a spin on my test server. </p>
<p> </p>
<p>Site configurable, as in whether to bring in all addresses which match the citadel configuration? I am not sure what you are thinking when you say site configurable. As in do you copy the address at all, or at each login, etc?</p>
<p> </p>
<p>Also, as to periodic / automatic, it would be good to have a timed setting, but also a one touch button to poll the LDAP for all available users. When I configure a new server, I need to manually generate a script which logs each user in before ANY users can use it, so that I do not get user unknown errors before the user logs in for the first time. If you have a one touch, then the server can be configured to already have all users in place.</p>
<blockquote>
<div class="message_header"><span>Sun Sep 10 2017 09:22:30 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Ok, the code has been uploaded to git, to copy email addresses from LDAP to Citadel when a user logs in. Give it a try. <br /><br />We probably need to do a couple of other things: <br />* Make it a site-configurable setting <br />* Make it happen automatically/periodically instead of just when the user logs in </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291735</link><pubDate>Sun, 10 Sep 2017 21:22:30 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4291735@Uncensored</guid><description><![CDATA[  
 Ok, the code has been uploaded to git, to copy email addresses from LDAP
to Citadel when a user logs in.  Give it a try. 
  
 We probably need to do a couple of other things: 
 * Make it a site-configurable setting 
 * Make it happen automatically/periodically instead of just when the user
logs in 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291724</link><pubDate>Sun, 10 Sep 2017 17:41:03 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4291724@Uncensored</guid><description><![CDATA[Ok I guess it's legal :) 
  
 I've got the code written to extract the email addresses from LDAP.  Also
found the place where it needs to be called.  Now I just have to figure out
the conditions under which it should be called.  I'd like to do this with
as few configuration options as possible (none would be nice). 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291720</link><pubDate>Sun, 10 Sep 2017 17:02:57 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4291720@Uncensored</guid><description><![CDATA[Multiple attributes with the same name?  Is that even legal? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291654</link><pubDate>Sun, 10 Sep 2017 01:19:15 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4291654@Uncensored</guid><description><![CDATA[<html><body>

<p>mail = yes and it is able to have multiple entries so mail=blah@foo.net mail=blahh@foo.net etc (where there can be more than one mail field) I do not think it supports typically multiple addresses within one field so you would just need to parse as many mail fields into an array and then read them back.</p>
<p>I currently have a perl script which I have modified which parses through the output of LDAP and generates vCards. I do not know if the way the entries are read would always mean the first mail entry would become the primary address, but I think that would be wise. </p>
<p> </p>
<p>Let me know if I am missing it for what you are asking. I will look at this more tomorrow when I am a bit more able.</p>
<blockquote>
<div class="message_header"><span>Sun Sep 10 2017 12:20:09 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>IG: I am using OpenLDAP with my users using the basics of <br />inetorgperson.schema </blockquote>
<br />I spent some time looking through this tonight and I want to be 100% sure that we get the right attributes. <br /><br />As far as I can tell, in both RFC2307 and Active Directory, the email address is stored in an attribute called "mail". Is that true for your directory? <br />And if there are multiple email addresses for a user, what delimiter is used to separate them? <br /><br />I've got the code open on my screen and I'm looking at the stuff in ldap.c where we were populating the user's vCard based on information loaded from LDAP. This code could be easily adapted to stuff any valid addresses into the user record. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291647</link><pubDate>Sun, 10 Sep 2017 00:20:09 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4291647@Uncensored</guid><description><![CDATA[ >IG: I am using OpenLDAP with my users using the basics of  
 >inetorgperson.schema    
  
 I spent some time looking through this tonight and I want to be 100% sure
that we get the right attributes. 
  
 As far as I can tell, in both RFC2307 and Active Directory, the email address
is stored in an attribute called "mail".  Is that true for your directory?
 And if there are multiple email addresses for a user, what delimiter is used
to separate them? 
  
 I've got the code open on my screen and I'm looking at the stuff in ldap.c
where we were populating the user's vCard based on information loaded from
LDAP.  This code could be easily adapted to stuff any valid addresses into
the user record. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291643</link><pubDate>Sat, 09 Sep 2017 23:58:36 +0500</pubDate><title>Message #4291643</title><guid isPermaLink="false">4291643@Uncensored</guid><description><![CDATA[  
 Ok, the funeral was today, so I'm getting back into the project now.  I'm
currently erasing the database on my development system and rebuilding it
with LDAP pointing at my directory server.  I was running standalone for the
previous development cycle. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291417</link><pubDate>Thu, 07 Sep 2017 23:05:59 +0500</pubDate><title>Message #4291417</title><guid isPermaLink="false">4291417@Uncensored</guid><description><![CDATA[<html><body>

<p>Ouch, I understand how that goes... Let me know when you are able to get back to it. </p>
<blockquote>
<div class="message_header"><span>Thu Sep 07 2017 10:22:23 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Still working on it. When it rains it pours. I got pulled into "assisting" with something that took three entire business days plus an overnight maintenance window. And now my grandmother has died and we're putting together funeral arrangements. *grml* </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291411</link><pubDate>Thu, 07 Sep 2017 22:22:23 +0500</pubDate><title>Message #4291411</title><guid isPermaLink="false">4291411@Uncensored</guid><description><![CDATA[Still working on it.  When it rains it pours.  I got pulled into "assisting"
with something that took three entire business days plus an overnight maintenance
window.  And now my grandmother has died and we're putting together funeral
arrangements.  *grml* 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4291180</link><pubDate>Wed, 06 Sep 2017 09:08:42 +0500</pubDate><title>Message #4291180</title><guid isPermaLink="false">4291180@Uncensored</guid><description><![CDATA[<html><body>

<p>Update? </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4289753</link><pubDate>Tue, 29 Aug 2017 11:11:50 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4289753@Uncensored</guid><description><![CDATA[<html><body>

<p>IG: I am using OpenLDAP with my users using the basics of inetorgperson.schema</p>
<p> </p>
<p># Schema and objectClass definitions</p>
<p>include         /etc/ldap/schema/core.schema</p>
<p>include         /etc/ldap/schema/cosine.schema</p>
<p>include         /etc/ldap/schema/nis.schema</p>
<p>include         /etc/ldap/schema/inetorgperson.schema</p>
<p> </p>
<p>not to say I cannot use another, I just have my users generated with the basics to authenticate in PAM or otherwise, with a good selection of MOSTLY unused fields. I would not mind using a specific schema for my accounts to pare down the fields, but it would be good to support mappings from inetorgperson as well, because it is fairly common for authentication info.</p>
<p> </p>
<p>Comments regarding below:</p>
<p>1a) If [some new config option] is set, and no user exists in LDAP for a user already in the citadel account, delete citadel account. (this could be done manually, but would be nice to have the option for citadel to do its own housekeeping) This could have a time where it is posted for purging, but if the account shows back up in LDAP and the user authenticates properly, then the purge is cancelled. Just an idea, probably not a good one, but an idea.</p>
<p>2) yes assuming this is at citadel login (post successful authentication )</p>
<p>3) Yes - although I can see this being touchy if the directory does not allow anonymous queries. Might need to make sure there is proper TLS support for LDAP in general if the password needs to go over the line. Many would run LDAP behind a firewall, but not always.</p>
<p>4) Is this assuming that open registration is enabled? As it is now, users do not log in with an email address, but I guess for an open system, it is possible. I am not entirely sure what the purpose would be. If someone has an LDAP account, they wouldn't usually use anything except their login uid for authentication (but I guess it could happen). More details on what you are thinking?</p>
<p> </p>
<p>It would be good to have either (/ both) a way to map fields to vcard info, no matter what the schema used, as long as certain basic fields are identified and/or a special schema with all the basics in place for direct mapping info. I will try to map out my thoughts:</p>
<p>1. UID _________________ ( with the blank being a user editable field which is the entry in the LDAP directory )</p>
<p>2. EMAIL ________________ </p>
<p>3. NAME _________________ </p>
<p>4. LAST __________________ </p>
<p>5. ADDRESS ________________ </p>
<p>etc...</p>
<p>So then when the system polls the LDAP for the initial card creation and account creation, the admin / aide can control what info gets injected where. It would be good as well to have a field which is the citadel-account-format where you can take each of these fields (on the citadel side this time) and map out how the UserName / local account name is generated.</p>
<p> </p>
<p>So you would have a field with an index of available %uid %fname etc and be able to construct %uid@%domain or %lname_%fname etc. As it is, I have accounts which I like to reference by their username, but the default email format as was patched in by harry coin was to default to First_Last@ which we never use. It would be good to not force a default based on personal preference from a software side. Let the admin choose. </p>
<p>We also with LDAP need to include a way of generating a user list for room permissions and invite lists so that you can use the dropdown list to invite people to a room who are LDAP members. We currently have no method to do this without taking the GAB entry, and stripping out the email address from it. </p>
<p> </p>
<p>I could go on, but I would like to know how this sounds.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Mon Aug 28 2017 07:20:32 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />bennabiy: question for you! <br /><br />I know you're using LDAP on your system, but which LDAP server and what does the schema look like? If we're going to pull email addresses in from LDAP at account creation time, I need to know where to pull them from. I'm guessing you're using OpenLDAP or 389-Directory-Server , and maybe the RFC-whatever schema? I have to admit, the fact that you were able to configure email addresses from the directory server and that it worked was kind of an accident :) <br /><br />I'm running Active Directory on my development system, so it's likely that we will have different schemas, and I need to make sure we can work either way. I'm rebuilding my dev system now to point to the directory this time. <br /><br />Here's what I'm thinking: <br /><br />1. As always, when someone logs into an LDAP-enabled Citadel server, create the account if needed. <br />2. New: if [some new config option] is set, scan the LDAP account for email addresses which match v
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4289611</link><pubDate>Mon, 28 Aug 2017 19:20:32 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4289611@Uncensored</guid><description><![CDATA[  
 bennabiy:  question for you! 
  
 I know you're using LDAP on your system, but which LDAP server and what does
the schema look like?  If we're going to pull email addresses in from LDAP
at account creation time, I need to know where to pull them from.  I'm guessing
you're using OpenLDAP or 389-Directory-Server , and maybe the RFC-whatever
schema?  I have to admit, the fact that you were able to configure email addresses
from the directory server and that it worked was kind of an accident   :)

  
 I'm running Active Directory on my development system, so it's likely that
we will have different schemas, and I need to make sure we can work either
way.  I'm rebuilding my dev system now to point to the directory this time.

  
 Here's what I'm thinking: 
  
 1. As always, when someone logs into an LDAP-enabled Citadel server, create
the account if needed. 
 2. New: if [some new config option]
is set, scan the LDAP account for email addresses which match valid Citadel
domains, and set those in the account. 
 3. New: if [some new config option] is set, do the same for every account
automatically from time to time (nightly? hourly? when asked?) 
   
 And as a possible feature: 
  
 4. Possible: if someone tries to log in using an email address that does
not exist, scan LDAP and create the account. 
  
 I'm not sure how/if that last feature would work, though. 
  
 Let me know what you think; I'm starting to get this thing spun up again.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4289507</link><pubDate>Mon, 28 Aug 2017 14:10:23 +0500</pubDate><title>Re: Puzzling</title><guid isPermaLink="false">4289507@Uncensored</guid><description><![CDATA[<html><body>

<p>I was more wondering for my own record, not to put production on that version. </p>
<p> </p>
<p>I am running into an issue where webmail works, webcit works, but IMAP was not working. Not sure if it is an SSL issue or not, but it was a show stopper. Also, is there a quick way to go through and mark all messages for all users read?</p>
<p> </p>
<p>One feature which really needs to be included is a way to send a message to ALL users of the local system. It should not be limited by network bandwidth etc, because it is a local command going to a local system. Is this doable?</p>
<blockquote>
<div class="message_header"><span>Mon Aug 28 2017 01:27:25 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Puzzling</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>What is the latest commit I can install before you started hacking on the </blockquote>
<br />
<blockquote>user table? </blockquote>
<br />1d5d3c363f0b2676a5431f1f5c753e3ffc4202c2 on May 25 appears to be the last commit before we started moving Internet addresses into the user table. I'm not sure why you'd want to do that on a production system though. <br /><br />I've got to get my LDAP server back online so we can work on the heuristics of copying email addresses from the directory. While working on the latest changes I was running in standalone mode. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4289474</link><pubDate>Mon, 28 Aug 2017 13:27:25 +0500</pubDate><title>Re: Puzzling</title><guid isPermaLink="false">4289474@Uncensored</guid><description><![CDATA[ >What is the latest commit I can install before you started hacking on the
 
 >user table?    
  
 1d5d3c363f0b2676a5431f1f5c753e3ffc4202c2 on May 25 appears to be the last
commit before we started moving Internet addresses into the user table.  I'm
not sure why you'd want to do that on a production system though. 
  
 I've got to get my LDAP server back online so we can work on the heuristics
of copying email addresses from the directory.  While working on the latest
changes I was running in standalone mode. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4289354</link><pubDate>Sun, 27 Aug 2017 21:57:28 +0500</pubDate><title>Puzzling</title><guid isPermaLink="false">4289354@Uncensored</guid><description><![CDATA[<html><body>

<p>So, I made a sync over to a fresh install of Citadel, from easy install, and then tried to port switch to the new server. I can connect through webcit and through Roundcube, but not through IMAP client. </p>
<p> </p>
<p>What is the latest commit I can install before you started hacking on the user table?</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4288593</link><pubDate>Tue, 22 Aug 2017 13:59:26 +0500</pubDate><title>Message #4288593</title><guid isPermaLink="false">4288593@Uncensored</guid><description><![CDATA[<html><body>

<p>Agreed :) And they don't stay little for long... </p>
<blockquote>
<div class="message_header"><span>Mon Aug 21 2017 06:57:08 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok then, family first. Little girls are always a higher priority than computers. <br />ALWAYS. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4288481</link><pubDate>Mon, 21 Aug 2017 18:57:08 +0500</pubDate><title>Message #4288481</title><guid isPermaLink="false">4288481@Uncensored</guid><description><![CDATA[Ok then, family first.  Little girls are always a higher priority than computers.
 ALWAYS. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4288376</link><pubDate>Sun, 20 Aug 2017 21:23:44 +0500</pubDate><title>Message #4288376</title><guid isPermaLink="false">4288376@Uncensored</guid><description><![CDATA[<html><body>

<p>My wife was sick tonight, so I had all my girls with me... Final transfer will be Tuesday night (I am at our deli all night tomorrow)</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Fri Aug 18 2017 06:31:12 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>I would assume it's the same issue I dealt with: blood pools in the <br />ankle when you're sitting at a desk, so you have to go lie down and <br />elevate. </blockquote>
<br />You're right about that. They said keep the leg elevated, which I do, even at the desk -- chair as far down as it'll go, leg up on a box with a pile of pillows on it. I can go a few hours like that but it's not quite as effective as being fully reclined. <br /><br />bennabiy - I know that by this time you're probably already offline for shabbat so, when you return let me know how the migrate went and we'll take it from there. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4288358</link><pubDate>Sun, 20 Aug 2017 16:27:31 +0500</pubDate><title>Message #4288358</title><guid isPermaLink="false">4288358@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok, so I have been doing repeated IMAPcopies waiting for tonight when I will shut down the server, do the final copy over. I will still have the old database intact on the previous instance which I can clear all personal data from so we can see what happened...</p>
<blockquote>
<div class="message_header"><span>Fri Aug 18 2017 06:31:12 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>I would assume it's the same issue I dealt with: blood pools in the <br />ankle when you're sitting at a desk, so you have to go lie down and <br />elevate. </blockquote>
<br />You're right about that. They said keep the leg elevated, which I do, even at the desk -- chair as far down as it'll go, leg up on a box with a pile of pillows on it. I can go a few hours like that but it's not quite as effective as being fully reclined. <br /><br />bennabiy - I know that by this time you're probably already offline for shabbat so, when you return let me know how the migrate went and we'll take it from there. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4288151</link><pubDate>Fri, 18 Aug 2017 18:31:12 +0500</pubDate><title>Message #4288151</title><guid isPermaLink="false">4288151@Uncensored</guid><description><![CDATA[ > I would assume it's the same issue I dealt with: blood pools in the   
 >ankle when you're sitting at a desk, so you have to go lie down and   
 >elevate.   
  
 You're right about that.  They said keep the leg elevated, which I do, even
at the desk -- chair as far down as it'll go, leg up on a box with a pile
of pillows on it.  I can go a few hours like that but it's not quite as effective
as being fully reclined. 
  
 bennabiy - I know that by this time you're probably already offline for shabbat
so, when you return let me know how the migrate went and we'll take it from
there. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4288128</link><pubDate>Fri, 18 Aug 2017 14:44:55 +0500</pubDate><title>Message #4288128</title><guid isPermaLink="false">4288128@Uncensored</guid><description><![CDATA[<html><body>

<p>I have been trying to figure out how to code from my back... apart from some type of VR goggles and a special keyboard / mouse mount, it evades me.</p>
<p> </p>
<p>Just remember, if you do it, I wont charge you royalties, just send me one ;)</p>
<blockquote>
<div class="message_header"><span>Fri Aug 18 2017 11:24:00 AM EDT</span> <span>from LoanShark @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>2017-08-17 17:50 from IGnatius T Foobar @uncnsrd <br />Thanks for asking. :) It's slow going and I am physically and <br />emotionally drained. I'll work a few hours and then have to go lie <br />down for a while. <br />Very frustrating. </blockquote>
<br />I would assume it's the same issue I dealt with: blood pools in the ankle when you're sitting at a desk, so you have to go lie down and elevate. <br /><br />Sucks. Hope the pain isn't too much beyond that. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4288103</link><pubDate>Fri, 18 Aug 2017 11:24:00 +0500</pubDate><title>Message #4288103</title><guid isPermaLink="false">4288103@Uncensored</guid><description><![CDATA[ > 2017-08-17 17:50 from IGnatius T Foobar @uncnsrd   
 >Thanks for asking.  :)  It's slow going and I am physically and   
 >emotionally drained.  I'll work a few hours and then have to go lie   
 >down for a while.  
 > Very frustrating.   
  
 I would assume it's the same issue I dealt with: blood pools in the ankle
when you're sitting at a desk, so you have to go lie down and elevate. 
  
 Sucks. Hope the pain isn't too much beyond that. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4288031</link><pubDate>Fri, 18 Aug 2017 00:04:36 +0500</pubDate><title>Message #4288031</title><guid isPermaLink="false">4288031@Uncensored</guid><description><![CDATA[<html><body>

<p>I am still in my copy over (syncing 57GB over IMAP is a bear) especially since I occasionally get errors where it loses connection. Thankfully it is on the same server over a virtual network connection, so I am only limited by the speed which IMAP runs (which unfortunately is about 2 messages per second). Not sure if the speed issue is citserver limited or IMAP in general.</p>
<p> </p>
<p>Conditions to check for besides what you mention below:</p>
<p>Safely create a way to sanitize names of folders - which might not be doable when done through an IMAP client. </p>
<ul>
<li>I think my issue was created by naming a folder 1.Something and then renaming it. I would have to look back in the history. Perhaps if I could strip out all the user data from a copy except my aide user, you could examine the structure and see what happened?</li>
<li>Also, strange or potentially conflicting names of folders or depths of folders. I have some users with Folders 6 or 7 deep in their boxes.</li>
</ul>
<div>I will let you know when I get totally back up. I would like to make sure corruption does not happen again, and I would like to make sure we can make some progress on getting the handling of users for LDAP under the new model. Still waiting to hear about your thoughts, when they are clear enough :)</div>
<div> </div>
<blockquote>
<div class="message_header"><span>Thu Aug 17 2017 05:50:09 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Thanks for asking. :) It's slow going and I am physically and emotionally drained. I'll work a few hours and then have to go lie down for a while. <br />Very frustrating. <br /><br />Ok so tell me what you did with imapcopy. Does this mean your production system is on a "clean" server now? I'm convinced that the fact that my own system has never been corrupted after decades of high traffic operation means that there are conditions we need to detect -- basically anything involving multiple writers appearing on the same database -- and stop them somehow. <br />I'm guessing the most common might be accidentally running one of the db utilities while citserver is still in operation. This is worth spending more than a little time thinking about when I get more of my strength back. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287988</link><pubDate>Thu, 17 Aug 2017 17:50:09 +0500</pubDate><title>Message #4287988</title><guid isPermaLink="false">4287988@Uncensored</guid><description><![CDATA[Thanks for asking.  :)  It's slow going and I am physically and emotionally
drained.  I'll work a few hours and then have to go lie down for a while.
 Very frustrating. 
  
 Ok so tell me what you did with imapcopy.  Does this mean your production
system is on a "clean" server now?   I'm convinced that the fact that my own
system has never been corrupted after decades of high traffic operation means
that there are conditions we need to detect -- basically anything involving
multiple writers appearing on the same database -- and stop them somehow.
 I'm guessing the most common might be accidentally running one of the db
utilities while citserver is still in operation.   This is worth spending
more than a little time thinking about when I get more of my strength back.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287927</link><pubDate>Thu, 17 Aug 2017 10:49:52 +0500</pubDate><title>Message #4287927</title><guid isPermaLink="false">4287927@Uncensored</guid><description><![CDATA[<html><body>

<p>That is what I did.  How is the recovery?</p>
<blockquote>
<div class="message_header"><span>Thu Aug 17 2017 10:24:47 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Most imap-to-imap copy tools have a way to exclude public folders, or at least to include/exclude folders which match a particular pattern (in Citadel that would be mailboxes under the INBOX/ hierarchy, and public rooms under their floor names) </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287921</link><pubDate>Thu, 17 Aug 2017 10:24:47 +0500</pubDate><title>Message #4287921</title><guid isPermaLink="false">4287921@Uncensored</guid><description><![CDATA[Most imap-to-imap copy tools have a way to exclude public folders, or at least
to include/exclude folders which match a particular pattern (in Citadel that
would be mailboxes under the INBOX/ hierarchy, and public rooms under their
floor names) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287666</link><pubDate>Tue, 15 Aug 2017 15:08:48 +0500</pubDate><title>Message #4287666</title><guid isPermaLink="false">4287666@Uncensored</guid><description><![CDATA[<html><body>

<p>Annoying! </p>
<p>I am trying to do an imapcopy from one citadel to another to clear out possible corruption in the system configs, but it is copying into each users folder the shared rooms! This would make my DB 300x the current size for those files!</p>
<p> </p>
<p>Any thoughts?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287655</link><pubDate>Tue, 15 Aug 2017 14:20:03 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4287655@Uncensored</guid><description><![CDATA[<html><body>

<p>And for the aide user, the viewable flag should not apply to them. They should be able to see the list of anyone.</p>
<blockquote>
<div class="message_header"><span>Tue Aug 15 2017 02:19:05 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP / Cit-NG</span></div>
<div class="message_content">
<p>I also forgot to post in my LDAP rant, based on the viewable flag (whether someone is a hidden user or not) we need LDAP users to populate an address book list so that room permissions and such can be set from a list (like the contact list, but without having to strip out the email address part).</p>
<p> </p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287652</link><pubDate>Tue, 15 Aug 2017 14:19:05 +0500</pubDate><title>Re: LDAP / Cit-NG</title><guid isPermaLink="false">4287652@Uncensored</guid><description><![CDATA[<html><body>

<p>I also forgot to post in my LDAP rant, based on the viewable flag (whether someone is a hidden user or not) we need LDAP users to populate an address book list so that room permissions and such can be set from a list (like the contact list, but without having to strip out the email address part).</p>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287649</link><pubDate>Tue, 15 Aug 2017 14:13:18 +0500</pubDate><title>LDAP / Cit-NG</title><guid isPermaLink="false">4287649@Uncensored</guid><description><![CDATA[<html><body>

<p>I did a little more testing with it. So this is going to be a summary of what I have found, and a continuation of the discussion below. First what I have found.</p>
<p> </p>
<p>If I have an existing LDAP system which I upgrade to the latest master with the new data model (Cit-NG), I can log into webcit with users and do the typical with webcit, but I cannot direct mail to the Internet address listed in Citadel under the User Configuration screen. User not found. I can send to the user by the Citadel recognized name (which in my case is really long and has spaces in it) which would not work for most users. They think in the terms of email.  What I found was that if I went into the users configuration, and without changing anything, saved it, then I could mail that person. This persisted through a reboot. So in this case, a login was not enough to set the internet address for a system which upgrades. I would have to manually select each of my 300+ users and save their entry to get their addresses to work.</p>
<p>I also took note that for those users, there was no way to add another internet address to their allowed (for aliases etc). Granted this could be fine, as long as it is selectable. This brings me to the discussion, because as it is now, we are still at an incomplete model.</p>
<p> </p>
<p>I will start with a couple questions, and then my thoughts.</p>
<p> </p>
<ol>
<li>How is addressing handled for Host Based and local user bases? Is there the option to add more aliases / internet addresses? Is LDAP getting special treatment with how users populate the user table? (Pardon my terms if I don't get it just right)</li>
<li>Is the upgrade script handling an LDAP based system different than a new install would handle it (both LDAP)? </li>
<li>Is there a way to customize how the LDAP info maps to the vCard?</li>
</ol>
<div>I agree with what you said below, for the reason that usually if someone is using LDAP, then they usually would want to control the information from that LDAP directory, and not have to go and change it multiple places. Also, usually LDAP is used more in a controlled environment. It would be good for there to be a switch / button to trigger a full LDAP poll from the baseDN given in setup, and search that for entries, to populate the citadel mail table / user table based on what it finds. Very helpful for a new server setup where users need to be able to mail each other right away without waiting for the other person to log in first to register their entry. </div>
<div> </div>
<div>I guess for more clarity: LDAP should be considered from two standpoints.</div>
<div><ol>
<li>Initial account generation - initial mail table setup</li>
<li>Day to day user management</li>
</ol>
<div>What I described above would be beneficial for the first setup, and possibly the second if there is ever a mass change at the LDAP level or many people all added at once etc. Basically a way to be able to flush the existing info and do a full populate from what exists in LDAP. During the query, it would do what you said below, and compare the entries in the mail field with what is allowed for citadel to handle / route mail for, and put those in the internet mail fields, with any non matches either being discarded or populating the vCard as internet addresses (as long as that vCard has nothing to do with the actual mailer table). </div>
</div>
<div> </div>
<div>One issue with only checking for updates when a user logs in is that people may send mail to the user, and the system will never know until the next refresh as above, that the user does not actually exist any more. The aide user could manually remove their entry from the list, which would keep them out of the mailer table then, and that is fine, but there needs to be a way to tell if they have been removed from the LDAP. To solve a couple of these issues, I propose that there be a service option set up to poll the LDAP server for changes at a set interval, making such changes as necessary to keep in sync. I am not sure how much that would entail, but I would not think it more than was already being done to sync citadel servers etc. </div>
<div> </div>
<div>I think if the LDAP could have a way to be polled at a regular interval for semi-auto management, as well as a way to throw the switch and completely replenish and sync the entries, as well as each users LDAP being updated when they log in - we would catch most of the problems.</div>
<div> </div>
<div>One thought I had regarding the LDAP is if we made more use of the specified schema for a citadel user, and customized it to reflect the changes we are making, then made an interface to customize what populates which field in the vCard, could even be "by numbers" with all valid vCard fields which citadel recognizes on one side with a list of numbers matching the fields in the schema, and the ability to enter those numbers to each field citadel recognizes? As it is, I am having to custom register each user at an interval to make sure the fields match so the GAB entries show properly.</div>
<div> </div>
<div>I guess that is probably enough of a scattered post to give you something to work with. Let me know what you think.</div>
<blockquote>
<div class="message_header"><span>Mon Aug 14 2017 06:10:29 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>2) unable to send email to users with internet mail disabled. This is a</blockquote>
show <br />
<blockquote>stopper. I cannot use the email address listed as internet address without </blockquote>
<br />
<blockquote>enabling all internet email. </blockquote>
<br />Let's see if we can boil this down a bit. <br /><br />Is it your expectation that we should always read the email address field(s) out of LDAP, look for Citadel-local domains, and populate the user record with any qualified addresses that are found? <br /><br />If so, that makes sense to me, and it probably also explains the IMAP login problems. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287534</link><pubDate>Mon, 14 Aug 2017 18:10:29 +0500</pubDate><title>Message #4287534</title><guid isPermaLink="false">4287534@Uncensored</guid><description><![CDATA[ >2) unable to send email to users with internet mail disabled. This is a
show  
 >stopper. I cannot use the email address listed as internet address without
 
 >enabling all internet email.    
  
 Let's see if we can boil this down a bit. 
  
 Is it your expectation that we should always read the email address field(s)
out of LDAP, look for Citadel-local domains, and populate the user record
with any qualified addresses that are found? 
  
 If so, that makes sense to me, and it probably also explains the IMAP login
problems. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287415</link><pubDate>Sun, 13 Aug 2017 16:28:56 +0500</pubDate><title>Re: DB corruption</title><guid isPermaLink="false">4287415@Uncensored</guid><description><![CDATA[<html><body>

<p>How much space do you think I am going to need to dump? It said 57, but I ran out of space at 85GB, so was it shooting for 114GB or so? </p>
<p> </p>
<p>I have a feeling that when I imported my data from the IMAP server it was on, some of the existing users had many layers and folders within the inbox etc. I also tried to create a folder with an Aide user called 1. Something and then tried to rename it, and then it blew out my _BASENAME_ room and from that point I have had a room unable to be deleted, but I can rename it, and it is 00000000001.BASENAME or something like that.</p>
<p> </p>
<p>I posted about it back in Jan or Feb.</p>
<blockquote>
<div class="message_header"><span>Sun Aug 13 2017 03:03:14 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: DB corruption</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Would a migrate deal with potential DB issues? If I did a migrate to the</blockquote>
new <br />
<blockquote>server platform, would it clear up the little DB issues? I have something </blockquote>
<br /><br />Honestly, it sounds like if you *don't* dump and load your db soon (either using the migrate commands or whatever) you're going to have bigger problems soon. I'm not sure how you got into this pickle ... we have systems that have been running high traffic levels for decades without ever having database issues. I'm wondering if at some point you managed to get two copies of citserver running at the same time, or maybe citserver and a utility at the same time, or something like that ... there are checks for those things too but... </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287403</link><pubDate>Sun, 13 Aug 2017 15:03:14 +0500</pubDate><title>Re: DB corruption</title><guid isPermaLink="false">4287403@Uncensored</guid><description><![CDATA[ >Would a migrate deal with potential DB issues? If I did a migrate to the
new  
 >server platform, would it clear up the little DB issues? I have something
 
  
 Honestly, it sounds like if you *don't* dump and load your db soon (either
using the migrate commands or whatever) you're going to have bigger problems
soon.  I'm not sure how you got into this pickle ... we have systems that
have been running high traffic levels for decades without ever having database
issues.  I'm wondering if at some point you managed to get two copies of citserver
running at the same time, or maybe citserver and a utility at the same time,
or something like that ... there are checks for those things too but... 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287340</link><pubDate>Sat, 12 Aug 2017 23:09:05 +0500</pubDate><title>Re: DB corruption</title><guid isPermaLink="false">4287340@Uncensored</guid><description><![CDATA[<html><body>

<p>Also, I am getting this many times in my logs as users log in:</p>
<blockquote>
<p>Aug 12 23:01:07 smcit citserver[599]: msgbase: CtdlFetchMessage(15796750, 1) Failed!</p>
<p>Aug 12 23:01:07 smcit citserver[599]: msgbase: CtdlFetchMessage(15796750, 1) Failed!</p>
<p> </p>
<p>Aug 12 23:01:07 smcit citserver[599]: msgbase: error; invalid preloaded message for output</p>
<div> </div>
</blockquote>
<p>For most of the users, it shows up like above, but some users get three or four entries like that.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Aug 12 2017 07:34:04 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: DB corruption</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I'm so sorry about the timing on this, I only seem to have a couple of short bursts of energy each day and I don't know when I will get them. If you can get db_recover et al to run clean, you should be good, but if you have the ability to do a full export, do the export. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287334</link><pubDate>Sat, 12 Aug 2017 21:16:45 +0500</pubDate><title>Re: DB corruption</title><guid isPermaLink="false">4287334@Uncensored</guid><description><![CDATA[<html><body>

<p>Would a migrate deal with potential DB issues? If I did a migrate to the new server platform, would it clear up the little DB issues? I have something funny going on for a while about the BASEROOM being changed somehow by one of my IMAP users and how they named the folder. I think I am still seeing funny things with that.</p>
<blockquote>
<div class="message_header"><span>Sat Aug 12 2017 07:34:04 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: DB corruption</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I'm so sorry about the timing on this, I only seem to have a couple of short bursts of energy each day and I don't know when I will get them. If you can get db_recover et al to run clean, you should be good, but if you have the ability to do a full export, do the export. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287331</link><pubDate>Sat, 12 Aug 2017 21:12:06 +0500</pubDate><title>Re: DB corruption</title><guid isPermaLink="false">4287331@Uncensored</guid><description><![CDATA[<html><body>

<p>Checking my logs, I get a lot of entries like this (emphasis added): </p>
<p> </p>
<blockquote>
<p>Aug 12 17:21:14 smcit webcit[1200]: SSL started</p>
<p>Aug 12 17:21:14 smcit webcit[1200]: GET /dotgoto?room=_MAIL_ HTTP/1.1</p>
<p><strong>Aug 12 17:21:15 smcit webcit[1200]: ConditionalWholistExpanded() returns 0</strong></p>
<p><strong>Aug 12 17:21:15 smcit citserver[1160]: msgbase: message 0 appears to be corrupted</strong></p>
<p>Aug 12 17:21:15 smcit webcit[1200]: HTTP: 200 [0.010587] GET dotskip?room=Mail</p>
<p>Aug 12 17:21:15 smcit webcit[1200]: Ending SSL/TLS</p>
<p> </p>
<p>Aug </p>
</blockquote>
<p> </p>
<p>They always seem to be nestled among a webcit cluster of entries.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Sat Aug 12 2017 09:09:22 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: DB corruption</span></div>
<div class="message_content">
<p>I tried the export, as it only said I needed 57GB to run it, and it ended up filling my drive at 85 GB. Does it actually need 114GB to export a DB of 57GB?</p>
<blockquote>
<div class="message_header"><span>Sat Aug 12 2017 07:34:04 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: DB corruption</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I'm so sorry about the timing on this, I only seem to have a couple of short bursts of energy each day and I don't know when I will get them. If you can get db_recover et al to run clean, you should be good, but if you have the ability to do a full export, do the export.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287328</link><pubDate>Sat, 12 Aug 2017 21:09:22 +0500</pubDate><title>Re: DB corruption</title><guid isPermaLink="false">4287328@Uncensored</guid><description><![CDATA[<html><body>

<p>I tried the export, as it only said I needed 57GB to run it, and it ended up filling my drive at 85 GB. Does it actually need 114GB to export a DB of 57GB?</p>
<blockquote>
<div class="message_header"><span>Sat Aug 12 2017 07:34:04 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: DB corruption</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I'm so sorry about the timing on this, I only seem to have a couple of short bursts of energy each day and I don't know when I will get them. If you can get db_recover et al to run clean, you should be good, but if you have the ability to do a full export, do the export. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287319</link><pubDate>Sat, 12 Aug 2017 19:34:04 +0500</pubDate><title>Re: DB corruption</title><guid isPermaLink="false">4287319@Uncensored</guid><description><![CDATA[I'm so sorry about the timing on this, I only seem to have a couple of short
bursts of energy each day and I don't know when I will get them.  If you can
get db_recover et al to run clean, you should be good, but if you have the
ability to do a full export, do the export. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287191</link><pubDate>Fri, 11 Aug 2017 21:53:42 +0500</pubDate><title>SSL error</title><guid isPermaLink="false">4287191@Uncensored</guid><description><![CDATA[<html><body>

<p>Seeing a lot of SSL_read got error 5 errors (on the current version, not master)</p>
<p> </p>
<p>I noticed in the past that Curl did not have full SSL support and generated those a lot. </p>
<p> </p>
<p>This might be relevant still to some degree:</p>
<p>https://curl.haxx.se/mail/lib-2003-01/0115.html</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287188</link><pubDate>Fri, 11 Aug 2017 21:51:43 +0500</pubDate><title>Re: DB corruption</title><guid isPermaLink="false">4287188@Uncensored</guid><description><![CDATA[<html><body>

<p>Not sure if it was the right thing to do, but I just moved those log files which were not current and were causing issues to a different directory, and then ran db_recover etc again. Seemed fine. We will see.</p>
<blockquote>
<div class="message_header"><span>Fri Aug 11 2017 07:35:12 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: DB corruption</span></div>
<div class="message_content">
<p>IG, I know you are laid up, but I am running into some trouble on my production machine, and it appears that while it seemed to be running fine, my more recent backups are all corrupted to some degree and give the following indication.</p>
<p> </p>
<blockquote>
<p>/usr/local/citadel/data# ls -lah</p>
<p>total 57G</p>
<p>drwx------  2 citadel citadel  36K Aug  4 14:33 .</p>
<p>drwxr-xr-x 16 citadel citadel 4.0K Aug 11 19:23 ..</p>
<p>-rw-------  1 citadel root    4.1G Aug 11 19:22 cdb.00</p>
<p>-rw-------  1 citadel root    112K Aug 11 19:23 cdb.01</p>
<p>-rw-------  1 citadel root    1.6M Aug 11 19:23 cdb.02</p>
<p>-rw-------  1 citadel root     16K Aug 11 19:21 cdb.03</p>
<p>-rw-------  1 citadel root    2.9M Aug 11 19:22 cdb.04</p>
<p>-rw-------  1 citadel root    1.4M Aug 11 19:23 cdb.05</p>
<p>-rw-------  1 citadel root     44K Aug 11 19:22 cdb.06</p>
<p>-rw-------  1 citadel root     12K Apr 14 03:00 cdb.07</p>
<p>-rw-------  1 citadel root     52G Aug 11 19:22 cdb.08</p>
<p>-rw-------  1 citadel root    176M Aug  4 10:48 cdb.09</p>
<p>-rw-------  1 citadel root    300K Aug 11 19:22 cdb.0a</p>
<p>-rw-------  1 citadel root     28K Jul  5 10:04 cdb.0b</p>
<p>-rw-------  1 citadel root    8.0K Jan 26  2017 cdb.0c</p>
<p>-rw-------  1 citadel root    8.0K Aug 11 19:22 cdb.0d</p>
<p>-rw-------  1 citadel root     10M Jul 28 23:01 log.0000000001</p>
<p>-rw-------  1 citadel citadel  10M Aug  2 21:47 log.0000022227</p>
<p>-rw-------  1 citadel citadel  10M Aug  3 23:16 log.0000022658</p>
<p>-rw-------  1 citadel citadel  10M Aug  3 23:57 log.0000022667</p>
<p>-rw-------  1 citadel citadel  10M Aug 11 19:23 log.0000022821</p>
<p>/usr/local/citadel/data# /usr/local/ctdlsupport/bin/db_recover -c</p>
<p>db_recover: Log file corrupt at LSN: [1][525039]</p>
<p>db_recover: PANIC: Invalid argument</p>
<p>db_recover: process-private: unable to find environment</p>
<p>db_recover: DB_ENV-&gt;open: DB_RUNRECOVERY: Fatal error, run database recovery</p>
<p>/usr/local/citadel/data# </p>
</blockquote>
<p> </p>
<p>Is there a way to dive deep and try to recover the DB and what caused the log files to get jammed up (notice there are a few stuck)</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4287177</link><pubDate>Fri, 11 Aug 2017 19:35:12 +0500</pubDate><title>DB corruption</title><guid isPermaLink="false">4287177@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, I know you are laid up, but I am running into some trouble on my production machine, and it appears that while it seemed to be running fine, my more recent backups are all corrupted to some degree and give the following indication.</p>
<p> </p>
<blockquote>
<p>/usr/local/citadel/data# ls -lah</p>
<p>total 57G</p>
<p>drwx------  2 citadel citadel  36K Aug  4 14:33 .</p>
<p>drwxr-xr-x 16 citadel citadel 4.0K Aug 11 19:23 ..</p>
<p>-rw-------  1 citadel root    4.1G Aug 11 19:22 cdb.00</p>
<p>-rw-------  1 citadel root    112K Aug 11 19:23 cdb.01</p>
<p>-rw-------  1 citadel root    1.6M Aug 11 19:23 cdb.02</p>
<p>-rw-------  1 citadel root     16K Aug 11 19:21 cdb.03</p>
<p>-rw-------  1 citadel root    2.9M Aug 11 19:22 cdb.04</p>
<p>-rw-------  1 citadel root    1.4M Aug 11 19:23 cdb.05</p>
<p>-rw-------  1 citadel root     44K Aug 11 19:22 cdb.06</p>
<p>-rw-------  1 citadel root     12K Apr 14 03:00 cdb.07</p>
<p>-rw-------  1 citadel root     52G Aug 11 19:22 cdb.08</p>
<p>-rw-------  1 citadel root    176M Aug  4 10:48 cdb.09</p>
<p>-rw-------  1 citadel root    300K Aug 11 19:22 cdb.0a</p>
<p>-rw-------  1 citadel root     28K Jul  5 10:04 cdb.0b</p>
<p>-rw-------  1 citadel root    8.0K Jan 26  2017 cdb.0c</p>
<p>-rw-------  1 citadel root    8.0K Aug 11 19:22 cdb.0d</p>
<p>-rw-------  1 citadel root     10M Jul 28 23:01 log.0000000001</p>
<p>-rw-------  1 citadel citadel  10M Aug  2 21:47 log.0000022227</p>
<p>-rw-------  1 citadel citadel  10M Aug  3 23:16 log.0000022658</p>
<p>-rw-------  1 citadel citadel  10M Aug  3 23:57 log.0000022667</p>
<p>-rw-------  1 citadel citadel  10M Aug 11 19:23 log.0000022821</p>
<p>/usr/local/citadel/data# /usr/local/ctdlsupport/bin/db_recover -c</p>
<p>db_recover: Log file corrupt at LSN: [1][525039]</p>
<p>db_recover: PANIC: Invalid argument</p>
<p>db_recover: process-private: unable to find environment</p>
<p>db_recover: DB_ENV-&gt;open: DB_RUNRECOVERY: Fatal error, run database recovery</p>
<p>/usr/local/citadel/data# </p>
</blockquote>
<p> </p>
<p>Is there a way to dive deep and try to recover the DB and what caused the log files to get jammed up (notice there are a few stuck)</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286899</link><pubDate>Wed, 09 Aug 2017 13:30:53 +0500</pubDate><title>Message #4286899</title><guid isPermaLink="false">4286899@Uncensored</guid><description><![CDATA[<html><body>

<p>I understand. Good recovery to you. Any time frame on being back on your feet?</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Wed Aug 09 2017 11:47:41 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I'm currently bedridden and taking painkillers, so we may be into next week before I'm able to concentrate on code again. It sounds like you've found the kind of issues that would have caused some problems had we released the new code into the wild without more testing, so that;s good. Please keep that list on hand and we'll work through it, and I apologize for the delay. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286888</link><pubDate>Wed, 09 Aug 2017 11:47:41 +0500</pubDate><title>Message #4286888</title><guid isPermaLink="false">4286888@Uncensored</guid><description><![CDATA[  
 I'm currently bedridden and taking painkillers, so we may be into next week
before I'm able to concentrate on code again.  It sounds like you've found
the kind of issues that would have caused some problems had we released the
new code into the wild without more testing, so that;s good.  Please keep
that list on hand and we'll work through it, and I apologize for the delay.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286790</link><pubDate>Tue, 08 Aug 2017 14:03:40 +0500</pubDate><title>Bug</title><guid isPermaLink="false">4286790@Uncensored</guid><description><![CDATA[<html><body>

<p>On the new model, this is a major bug in webcit.</p>
<p> </p>
<p>When viewing the global Address book, with a non aide user, and I edit the vcard entry for my own user, I get:</p>
<p> </p>
<blockquote>
<p><span class="imsg"> Suppenkasper alert! watch your webcit logfile and get connected to your favourite opensource Crew. </span></p>
</blockquote>
<p><span class="imsg">Which then causes the whole system to be confused about what folder is where. _BASEROOM_ does not exist, and if I go to _MAIL_ it takes me to BASEROOM and such. A logout and back in restores normal function, so it is not a loss of data, but just a display bug.</span></p>
<p><span class="imsg"><br /></span></p>
<p><span class="imsg"><br /></span></p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286581</link><pubDate>Sun, 06 Aug 2017 17:08:15 +0500</pubDate><title>Message #4286581</title><guid isPermaLink="false">4286581@Uncensored</guid><description><![CDATA[<html><body>

<p>Ouch, just read about your trip to Texas... I thought Chicago would do more damage... </p>
<p>Let me know when we can work together to hammer out this new model. I have a system up with a userbase / dataload in it of about 300 users and about 56 gig db, which should allow for some testing.</p>
<blockquote>
<div class="message_header"><span>Sun Aug 06 2017 01:51:13 PM EDT</span> <span>from bennabiy @ Uncensored </span></div>
<div class="message_content">
<p>Ig, you on vacation?</p>
<p> </p>
<p>I would like to troubleshoot through getting the new model working, but we would need to be semi-interactive. How is your schedule?</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286564</link><pubDate>Sun, 06 Aug 2017 13:51:13 +0500</pubDate><title>Message #4286564</title><guid isPermaLink="false">4286564@Uncensored</guid><description><![CDATA[<html><body>

<p>Ig, you on vacation?</p>
<p> </p>
<p>I would like to troubleshoot through getting the new model working, but we would need to be semi-interactive. How is your schedule?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286481</link><pubDate>Sat, 05 Aug 2017 19:48:12 +0500</pubDate><title>Re: Alarm Clock?</title><guid isPermaLink="false">4286481@Uncensored</guid><description><![CDATA[<html><body>

<p>I cleared the GAB with IMAP commands and then reissued the commands, and it worked this time. Thoughts?</p>
<blockquote>
<div class="message_header"><span>Sat Aug 05 2017 11:11:44 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Alarm Clock?</span></div>
<div class="message_content">
<p>IG, what does this mean?</p>
<p> </p>
<p>I am sending IGAB as part of a script, but it is returning this after a pause.</p>
<p> </p>
<blockquote>
<p><code>sendcommand: started (pid=20052) connecting to Citadel server at /usr/local/citadel/citadel-admin.socket</code></p>
<p><code>200 smcit Citadel server ADMIN CONNECTION ready.</code></p>
<p><code>IGAB</code></p>
<p><code>/usr/local/sbin/citrepair: line 16: 20052 Alarm clock             $CITHOME/sendcommand IGAB</code></p>
</blockquote>
<p> </p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286443</link><pubDate>Sat, 05 Aug 2017 11:11:44 +0500</pubDate><title>Alarm Clock?</title><guid isPermaLink="false">4286443@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, what does this mean?</p>
<p> </p>
<p>I am sending IGAB as part of a script, but it is returning this after a pause.</p>
<p> </p>
<blockquote>
<p><code>sendcommand: started (pid=20052) connecting to Citadel server at /usr/local/citadel/citadel-admin.socket</code></p>
<p><code>200 smcit Citadel server ADMIN CONNECTION ready.</code></p>
<p><code>IGAB</code></p>
<p><code>/usr/local/sbin/citrepair: line 16: 20052 Alarm clock             $CITHOME/sendcommand IGAB</code></p>
</blockquote>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286272</link><pubDate>Thu, 03 Aug 2017 23:48:46 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4286272@Uncensored</guid><description><![CDATA[<html><body>

<p>One thing I note with the webcit interface is there is not a clear way to ADD internet addresses for users as aliases, only to edit the existing ones that are there.</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Aug 03 2017 03:24:12 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<p>I do not see how in ctdlsh to edit a users info... I might be missing it. I will try the webcit way.</p>
<blockquote>
<div class="message_header"><span>Mon Jul 10 2017 09:41:51 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<p>WebCit-classic has been updated to edit a user's Internet email address[es] from the "edit configuration" screen instead of the "edit address book entry" screen, which is not just a cosmetic change; it is also using the new server commands.</p>
<p>bennabiy: if you have time this week, please give it some testing.  Then I'd be interested in hearing your opinion about when, if at all, we copy the email addresses from the user account configuration (which is settable only by an administrator) to the vCard (which is settable by the user).   Right now the users can put anything they want in there.  It's basically a publishable thing.  On a public system like Uncensored it also has usefulness in a "where else can you contact me" context.  Optionally we could make most of it immutable and have it auto-generated by the system.  I'm not sure what to do here.  Either way, we will use the "unlisted user" option to govern whether the vCard is pushed out to the Global Address Book or not.</p>
<p>Once again I have to say I'm a lot more comfortable with this data model than with the previous one.</p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286220</link><pubDate>Thu, 03 Aug 2017 15:40:42 +0500</pubDate><title>Message #4286220</title><guid isPermaLink="false">4286220@Uncensored</guid><description><![CDATA[<html><body>

<p>Issues with new model. </p>
<p> </p>
<p>1) authentication was hit and miss with ldap. webcit would authenticate, but IMAP would not.</p>
<p> </p>
<p>2) unable to send email to users with internet mail disabled. This is a show stopper. I cannot use the email address listed as internet address without enabling all internet email.</p>
<p> </p>
<p>I did not get much testing beyond that as those were enough to stop me in my tracks. I will get a second system going which can be abused for testing this out more thoroughly.</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4286217</link><pubDate>Thu, 03 Aug 2017 15:24:12 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4286217@Uncensored</guid><description><![CDATA[<html><body>

<p>I do not see how in ctdlsh to edit a users info... I might be missing it. I will try the webcit way.</p>
<blockquote>
<div class="message_header"><span>Mon Jul 10 2017 09:41:51 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<p>WebCit-classic has been updated to edit a user's Internet email address[es] from the "edit configuration" screen instead of the "edit address book entry" screen, which is not just a cosmetic change; it is also using the new server commands.</p>
<p>bennabiy: if you have time this week, please give it some testing.  Then I'd be interested in hearing your opinion about when, if at all, we copy the email addresses from the user account configuration (which is settable only by an administrator) to the vCard (which is settable by the user).   Right now the users can put anything they want in there.  It's basically a publishable thing.  On a public system like Uncensored it also has usefulness in a "where else can you contact me" context.  Optionally we could make most of it immutable and have it auto-generated by the system.  I'm not sure what to do here.  Either way, we will use the "unlisted user" option to govern whether the vCard is pushed out to the Global Address Book or not.</p>
<p>Once again I have to say I'm a lot more comfortable with this data model than with the previous one.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4285506</link><pubDate>Sat, 29 Jul 2017 22:53:31 +0500</pubDate><title>Re: Setting up environment</title><guid isPermaLink="false">4285506@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok, so I am going to do this tomorrow on a test machine with production dataset for a sample (no, not the actual production server though...) so we can see how it handles a conversion from an existing LDAP to a new setting. Did you push a webcit way of editing the email addresses and setting seen / unseen?</p>
<blockquote>
<div class="message_header"><span>Fri Jul 28 2017 03:33:36 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Setting up environment</span></div>
<div class="message_content">
<p>I've pushed the email-addresses-in-the-user-database changes out to git master, so there's no longer a need to pull from my dev machine (but you can still do that if you want to).</p>
<p>Easy Install doesn't have any of this yet, because it hasn't been tested for production use yet.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4285355</link><pubDate>Fri, 28 Jul 2017 15:33:36 +0500</pubDate><title>Re: Setting up environment</title><guid isPermaLink="false">4285355@Uncensored</guid><description><![CDATA[<html><body>

<p>I've pushed the email-addresses-in-the-user-database changes out to git master, so there's no longer a need to pull from my dev machine (but you can still do that if you want to).</p>
<p>Easy Install doesn't have any of this yet, because it hasn't been tested for production use yet.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4285314</link><pubDate>Fri, 28 Jul 2017 11:05:54 +0500</pubDate><title>Setting up environment</title><guid isPermaLink="false">4285314@Uncensored</guid><description><![CDATA[<html><body>

<p>This is taking me a little longer than I would have liked, but I am getting the dev stuff pulled down. I needed to replicate my LDAP data over to a new server as well. </p>
<p> </p>
<p>Which branch / repo has the current state of things? And which version is currently shipping as easy install?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4284603</link><pubDate>Tue, 25 Jul 2017 00:22:37 +0500</pubDate><title>Message #4284603</title><guid isPermaLink="false">4284603@Uncensored</guid><description><![CDATA[<html><body>

<p>You are correct in assuming I have auto delete enabled. Once I do the db_recover and restart citadel, after a little bit, it clears through them, but then something happens and they start to pile up again. If I do not catch it in time, it is ends up filling up the drive, and then crashes the server (well, at least blocks it).</p>
<p> </p>
<p>I will see what they are next time they pile up. I am working on migrating my citadel to a different kind of VM so that I can have better control over the dataset, and I would LOVE to have HA citadel at the moment, but that is something we need to work on :)</p>
<blockquote>
<div class="message_header"><span>Mon Jul 24 2017 11:05:13 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>IG, what would cause my data folder to fill up with .log files repeatedly?</blockquote>
I <br /><br />I'm assuming you have your Citadel Server configured to automatically delete log files after they are no longer needed? In that case the server should automatically be doing what you are doing manually. <br /><br />If you have an unusual accumulation of log files but your databases are not growing, from a Berkeley DB point of view that means you are committing a lot of data and then immediately deleting it. <br /><br />You could pipe those log files through "strings" or some other program to try to figure out what data is in them. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4284446</link><pubDate>Mon, 24 Jul 2017 11:05:13 +0500</pubDate><title>Message #4284446</title><guid isPermaLink="false">4284446@Uncensored</guid><description><![CDATA[ >IG, what would cause my data folder to fill up with .log files repeatedly?
I  
  
 I'm assuming you have your Citadel Server configured to automatically delete
log files after they are no longer needed?  In that case the server should
automatically be doing what you are doing manually. 
  
 If you have an unusual accumulation of log files but your databases are not
growing, from a Berkeley DB point of view that means you are committing a
lot of data and then immediately deleting it. 
  
 You could pipe those log files through "strings" or some other program to
try to figure out what data is in them. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4284441</link><pubDate>Mon, 24 Jul 2017 11:03:09 +0500</pubDate><title>Re: DB</title><guid isPermaLink="false">4284441@Uncensored</guid><description><![CDATA[  
 Yes, the DB_CONFIG file is a function of Berkeley DB, not Citadel.  If that
file is found in the data/ directory, you can use it to "redirect" both the
database files and the log files to other locations.  You are correct in observing
that there is no way to move the configuration of database file locations
into the database. 
  
 I suppose it would be possible to build a standalone utility to manipulate
DB_CONFIG while Citadel Server is not running, setting the file locations
and moving the files to the new locations if they exist, and also tuning the
other options that are available in DB_CONFIG.   I'm not sure how useful it
would be, considering that anyone smart enough to know how to do that kind
of tuning is probably smart enough to edit the file. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4284339</link><pubDate>Sun, 23 Jul 2017 15:04:58 +0500</pubDate><title>Message #4284339</title><guid isPermaLink="false">4284339@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, what would cause my data folder to fill up with .log files repeatedly? I have to keep running db_recover -c to bring citserver to the place where it will clear them up, but then within hours they are appearing again. </p>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4284208</link><pubDate>Sun, 23 Jul 2017 00:34:20 +0500</pubDate><title>DB</title><guid isPermaLink="false">4284208@Uncensored</guid><description><![CDATA[<html><body>

<p>Does this still apply? http://citadel.org/doku.php/faq:systemadmin:how_may_i_improve#how.may.i.improve.performance.by.placing.the.databases.and.or.database.logs.on.separate.disk.subsystems</p>
<p> </p>
<p>That file is still going to be valid I assume (since it would be foolish to put the file which tells you where the DB is, in the DB) ... but I am just checking. </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4283496</link><pubDate>Tue, 18 Jul 2017 17:14:44 +0500</pubDate><title>Message #4283496</title><guid isPermaLink="false">4283496@Uncensored</guid><description><![CDATA[It will certainly not *pull* from the vCard any time after the initial conversion.
 Now, we have to talk about what conditions should cause a *push* to the vCard,
and what conditions should cause a push of the vCard to the GAB. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4283473</link><pubDate>Tue, 18 Jul 2017 13:38:31 +0500</pubDate><title>Message #4283473</title><guid isPermaLink="false">4283473@Uncensored</guid><description><![CDATA[<html><body>

<p>So, after that, it will not look at the vcard any more? Am I going to be fighting with it constantly wanting to pull that info back in or is it a one time thing?</p>
<blockquote>
<div class="message_header"><span>Tue Jul 18 2017 09:29:38 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">There is nothing special about the GAB. We don't read it during the upgrade. <br /><br />When you upgrade an existing system to the new format, it goes through each user's vCard in their own config room, and pulls out the email addresses -- just like it used to do when populating the GAB. It then puts the valid email addresses directly into the account, and reindexes the directory afterwards. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4283437</link><pubDate>Tue, 18 Jul 2017 09:29:38 +0500</pubDate><title>Message #4283437</title><guid isPermaLink="false">4283437@Uncensored</guid><description><![CDATA[There is nothing special about the GAB.  We don't read it during the upgrade.

  
 When you upgrade an existing system to the new format, it goes through each
user's vCard in their own config room, and pulls out the email addresses --
just like it used to do when populating the GAB.  It then puts the valid email
addresses directly into the account, and reindexes the directory afterwards.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4283433</link><pubDate>Tue, 18 Jul 2017 09:19:59 +0500</pubDate><title>Message #4283433</title><guid isPermaLink="false">4283433@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok, so now that we made some progress on our Bakery, I am finally able to get back to citadel.</p>
<p> </p>
<p>I am setting up a machine which can host my tests both with an existing dataset, and without so that I can test an upgrade with 300 + accounts and also a new install. This will all be LDAP.</p>
<p> </p>
<p>Any gotchas I need to know about how the data is going to be handled, and also, is it currently set on upgrade to take the existing GAB and then populate the mail table with that? How is it currently?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4282277</link><pubDate>Thu, 13 Jul 2017 13:50:37 +0500</pubDate><title>Re: Crowdsourced Testing...</title><guid isPermaLink="false">4282277@Uncensored</guid><description><![CDATA[<html><body>

<p>I guess it would come down to the ability to dump the data at a regular interval, and the speed at which it can be transported. Does the DB need to be in a shut down state to replicate? I would be interested in what info you have found regarding it.</p>
<p> </p>
<p>I like the idea of a way to invoke a citadel to be a standby, as long as it can drop out of standby mode and start up as a server without some long process of shutting down first.</p>
<p> </p>
<p>Also, I use something similar right now for replicating my data. I have /usr/local/citadel in a zfs backed partition, which I replicate through zfs send / receive on a remote server. So my data is in general not more than a minute old, but it is all manually hacked together and neither server knows if it is still supposed to be running and such. It would be beneficial for the master / replication slave to have a pull method (then you are not bogging down the master with trying to figure out who needs a copy of the data and you can have multiple geo distinct locations pulling a copy to potentially be the master. This would deal with firewall issues in general, as the command can be sent through the existing command interface.</p>
<p> </p>
<p>I could go on, but would like to know if this is a productive line of thought. It would be REALLY helpful to many of us to make this happen. </p>
<blockquote>
<div class="message_header"><span>Thu Jul 13 2017 12:51:37 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Crowdsourced Testing...</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>I am facing it currently as I need two machines running in sync with each </blockquote>
<br />
<blockquote>other as failover (my situation is similar to what harryc described in the </blockquote>
<br />
<blockquote>twin towers discussion last year). A Master slave situation would be fine,</blockquote>
as <br /><br />This is one of the many reasons I am gradually moving everything into the database. We're very close to achieving that objective. <br /><br />Once everything is in the database, replicating the database will replicate the entire Citadel environment. Even at the current stage, you'll get everything except for file libraries (which will probably never go into the db, but few sites even use that function), a couple of system messages, and the server's SSL keys. I replicate my site using a "snap-and-ship" method, with btrfs snapshots followed by rsync, but in the future we could experiment with Berkeley DB's own replication functions. My understanding is that they provide the data source and sink, and you have to provide the transport. <br />Perhaps we would invoke citserver with a command-line option that tells it "don't be a Citadel server today; just connect to the master and replicate." </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4282254</link><pubDate>Thu, 13 Jul 2017 12:51:37 +0500</pubDate><title>Re: Crowdsourced Testing...</title><guid isPermaLink="false">4282254@Uncensored</guid><description><![CDATA[ >I am facing it currently as I need two machines running in sync with each
 
 >other as failover (my situation is similar to what harryc described in the
 
 >twin towers discussion last year). A Master slave situation would be fine,
as  
  
 This is one of the many reasons I am gradually moving everything into the
database.  We're very close to achieving that objective. 
  
 Once everything is in the database, replicating the database will replicate
the entire Citadel environment.  Even at the current stage, you'll get everything
except for file libraries (which will probably never go into the db, but few
sites even use that function), a couple of system messages, and the server's
SSL keys.  I replicate my site using a "snap-and-ship" method, with btrfs
snapshots followed by rsync, but in the future we could experiment with Berkeley
DB's own replication functions.  My understanding is that
they provide the data source and sink, and you have to provide the transport.
 Perhaps we would invoke citserver with a command-line option that tells it
"don't be a Citadel server today; just connect to the master and replicate."

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4282225</link><pubDate>Thu, 13 Jul 2017 11:25:44 +0500</pubDate><title>err</title><guid isPermaLink="false">4282225@Uncensored</guid><description><![CDATA[<html><body>

<p>I meant twin dillema, not twin towers....</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4282222</link><pubDate>Thu, 13 Jul 2017 11:23:06 +0500</pubDate><title>Crowdsourced Testing...</title><guid isPermaLink="false">4282222@Uncensored</guid><description><![CDATA[<html><body>

<p>Ig,</p>
<p>I like your appearance in the Support room... I noticed you had not said much in there in a while, which affects peoples view of the software. It is a good move to make undocumented bug fix / feature requests and then source those who submitted them to test it before allowing it into the wild. Good move :)</p>
<p> </p>
<p>On another note, I would like to bring up the distributed aspect of Citadel. I am facing it currently as I need two machines running in sync with each other as failover (my situation is similar to what harryc described in the twin towers discussion last year). A Master slave situation would be fine, as long as a simple command could bring the second up as master without a long delay (meaning potentially less than a minute).</p>
<p>Is this doable?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4281415</link><pubDate>Mon, 10 Jul 2017 11:37:19 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4281415@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, I will gladly test it out. I have a clone of my dataset which I can use for some heavy hitting testing once I try it out on a fresh install. I shouldn't hit any surprises when switching which git repo I build from (apart from editing my script to no longer require c-ares, etc).</p>
<p> </p>
<p>I think the questions you had about copying email addresses and such are good things to consider, and this is a point where systems based on their use model would diverge. In a corporate or organizational environment, the general practice is to not trust the user with that kind of responsibility and it should be controlled by HR or someone responsible (an Aide) to decide what is published, and whether it is able to be seen etc. In a public setting like a traditional BBS, it is as you say, more of a "Come find me here, because I am the only one who knows where else to find me, so if I don't edit it, you don't get it..." It would be good to support both models, with the initial setting being made at install perhaps, or at least within the configuration that a typical system needs to go through to setup. I have more thoughts, but I would like to test it out a little first.</p>
<p>If you are on pause until I get back to you (which realistically will be towards the end of the week) it would be good to make progress on webcit-ng (if you can without knowing exactly how the UI will be because of changes to the data model), or if you can put a little love into webcit classic to get people by until ng, you would save me half my time in support calls. </p>
<p> </p>
<p>So many people have troubles when using the webcit interface with messages being lost because they took too long to type it, and it did not auto save to draft, or their draft folder is somehow owned by someone else, or other such things. Is it possible to implement auto-save from within webcit and also make a way once something is saved as a draft to be able to go into edit mode and finish sending it?</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Mon Jul 10 2017 09:41:51 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<p>WebCit-classic has been updated to edit a user's Internet email address[es] from the "edit configuration" screen instead of the "edit address book entry" screen, which is not just a cosmetic change; it is also using the new server commands.</p>
<p>bennabiy: if you have time this week, please give it some testing.  Then I'd be interested in hearing your opinion about when, if at all, we copy the email addresses from the user account configuration (which is settable only by an administrator) to the vCard (which is settable by the user).   Right now the users can put anything they want in there.  It's basically a publishable thing.  On a public system like Uncensored it also has usefulness in a "where else can you contact me" context.  Optionally we could make most of it immutable and have it auto-generated by the system.  I'm not sure what to do here.  Either way, we will use the "unlisted user" option to govern whether the vCard is pushed out to the Global Address Book or not.</p>
<p>Once again I have to say I'm a lot more comfortable with this data model than with the previous one.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4281398</link><pubDate>Mon, 10 Jul 2017 09:41:51 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4281398@Uncensored</guid><description><![CDATA[<html><body>

<p>WebCit-classic has been updated to edit a user's Internet email address[es] from the "edit configuration" screen instead of the "edit address book entry" screen, which is not just a cosmetic change; it is also using the new server commands.</p>
<p>bennabiy: if you have time this week, please give it some testing.  Then I'd be interested in hearing your opinion about when, if at all, we copy the email addresses from the user account configuration (which is settable only by an administrator) to the vCard (which is settable by the user).   Right now the users can put anything they want in there.  It's basically a publishable thing.  On a public system like Uncensored it also has usefulness in a "where else can you contact me" context.  Optionally we could make most of it immutable and have it auto-generated by the system.  I'm not sure what to do here.  Either way, we will use the "unlisted user" option to govern whether the vCard is pushed out to the Global Address Book or not.</p>
<p>Once again I have to say I'm a lot more comfortable with this data model than with the previous one.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4280061</link><pubDate>Sun, 02 Jul 2017 09:01:09 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4280061@Uncensored</guid><description><![CDATA[<html><body>

<p>Seems like a good path. I am working on some wiring in our new bakery this week, so I might not be around much, but I will check in each day and see how things are, and if you are at a place where you need me to test it.</p>
<p> </p>
<p>Thank you for all your work!</p>
<blockquote>
<div class="message_header"><span>Sun Jul 02 2017 12:22:57 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Text client finished and checked into git master. This can be tested by logging in using the text client as an admin and doing <br /><br />&lt;.A&gt;ide &lt;U&gt;ser edit <br /><br />on the user in question. There is a new prompt "Edit this user's Internet email addresses?" and if you answer Yes it will display all of the user's current Internet email addresses and allow you to add/delete addresses. <br /><br />Invalid addresses, including addresses which already belong to another user, are silently discarded. <br /><br />Next steps: <br />1. Implement the same change in WebCit-classic <br />2. Test and publish to production <br />3. Finalize the heuristics for published/unpublished address book entries; implement, test, and publish to production <br />4. Maybe have a look at that DB-&gt;compact() function, and if it works the way we expect, find a good place to put it in the server (probably as an optional final step in the auto-purger) <br />5. Then back to WebCit-NG! </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4279985</link><pubDate>Sun, 02 Jul 2017 00:22:57 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4279985@Uncensored</guid><description><![CDATA[Text client finished and checked into git master.  This can be tested by logging
in using the text client as an admin and doing 
  
 <.A>ide <U>ser edit 
  
 on the user in question.  There is a new prompt "Edit this user's Internet
email addresses?" and if you answer Yes it will display all of the user's
current Internet email addresses and allow you to add/delete addresses. 
  
 Invalid addresses, including addresses which already belong to another user,
are silently discarded. 
  
 Next steps: 
 1. Implement the same change in WebCit-classic 
 2. Test and publish to production 
 3. Finalize the heuristics for published/unpublished address book entries;
implement, test, and publish to production 
 4. Maybe have a look at that DB->compact() function, and if it works the
way we expect, find a good place to put it in the server (probably as an optional
final step in the auto-purger) 
 5. Then back to WebCit-NG! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4279976</link><pubDate>Sat, 01 Jul 2017 20:26:44 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4279976@Uncensored</guid><description><![CDATA[<html><body>

<p>Great! </p>
<blockquote>
<div class="message_header"><span>Fri Jun 30 2017 11:27:23 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Text client (almost finished), WebCit classic (working on it), and at some point ctdlsh will have to be updated. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4279810</link><pubDate>Fri, 30 Jun 2017 11:27:23 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4279810@Uncensored</guid><description><![CDATA[Text client (almost finished), WebCit classic (working on it), and at some
point ctdlsh will have to be updated. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4279361</link><pubDate>Tue, 27 Jun 2017 09:18:05 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4279361@Uncensored</guid><description><![CDATA[<html><body>

<p>What method are you implementing for updating them? ctdlsh? or a command through sendcommand etc?</p>
<blockquote>
<div class="message_header"><span>Sat Jun 24 2017 12:54:53 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Working on the server commands to administratively get and set email addresses now. Client configs next. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4279033</link><pubDate>Sat, 24 Jun 2017 00:54:53 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4279033@Uncensored</guid><description><![CDATA[Working on the server commands to administratively get and set email addresses
now.  Client configs next. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4277588</link><pubDate>Thu, 15 Jun 2017 16:33:43 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4277588@Uncensored</guid><description><![CDATA[<html><body>

<p>Just let me know when you are ready... some of them will apply to both so that you can make sure they work in both.</p>
<blockquote>
<div class="message_header"><span>Wed Jun 14 2017 04:46:21 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I don't expect that I'll be able to abandon maintenance of "WebCit classic" immediately. We can decide where the biggest pain points are and build short-term fixes to them. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4277328</link><pubDate>Wed, 14 Jun 2017 16:46:21 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4277328@Uncensored</guid><description><![CDATA[  
 I don't expect that I'll be able to abandon maintenance of "WebCit classic"
immediately.  We can decide where the biggest pain points are and build short-term
fixes to them. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4277318</link><pubDate>Wed, 14 Jun 2017 16:25:18 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4277318@Uncensored</guid><description><![CDATA[<html><body>

<p>That is great! A big portion of things which we need to address will need to be addressed in the UI, so that may be a good close second on the things which need to be done. I have had a couple troubling things coming up which need to be addressed, but only after this change is in place and able to be tested. I think we might have a regression or two to fix, which others in the support have also commented on. I will pull the dev repo sometime this week to test it out.</p>
<p> </p>
<p>IG, thank you so much for the work you do. </p>
<blockquote>
<div class="message_header"><span>Tue Jun 13 2017 11:36:30 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Changes made to the dev.citadel.org repo tonight: <br /><br />1. When the server encounters a "directory" domain, it handles it as a "localhost" domain <br />2. When the text mode client encounters a "directory" domain, it changes it to "localhost" before presenting it to the administrator <br />3. When WebCit (classic) encounters a "directory" domain, it places it in the "Local Host Aliases" box <br /><br />In both of the clients, saving the config makes the change permanent. For reasons too complicated to get into here, it was easier to do it this way than to add another upgrade module. <br /><br />Next time I sit down to work on Citadel code, I'll write the UI bits to edit a user's Internet email address[es] as part of the user configuration instead of as part of the address book entry. Then we'll finally be done with this not-so-little change and can move on to the next thing. <br /><br />I feel good about this data model change. It's so much cleaner. It's just a pain in 
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4277191</link><pubDate>Tue, 13 Jun 2017 23:36:30 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4277191@Uncensored</guid><description><![CDATA[  
 Changes made to the dev.citadel.org repo tonight: 
  
 1. When the server encounters a "directory" domain, it handles it as a "localhost"
domain 
 2. When the text mode client encounters a "directory" domain, it changes
it to "localhost" before presenting it to the administrator 
 3. When WebCit (classic) encounters a "directory" domain, it places it in
the "Local Host Aliases" box 
  
 In both of the clients, saving the config makes the change permanent.   For
reasons too complicated to get into here, it was easier to do it this way
than to add another upgrade module. 
  
 Next time I sit down to work on Citadel code, I'll write the UI bits to edit
a user's Internet email address[es] as part of the user configuration instead
of as part of the address book entry.  Then we'll finally be done with this
not-so-little change and can move on to the next thing. 
  
 I feel good about this data
model change.  It's so much cleaner.  It's just a pain in the neck getting
there.  And then once we've got the GAB cleaned up, perhaps it may be time
to get back to work on WebCit-NG. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4276616</link><pubDate>Sat, 10 Jun 2017 19:14:44 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4276616@Uncensored</guid><description><![CDATA[Yes, for some reason WebCit (classic) stopped and didn't restart.  I haven't
figured out why. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4275136</link><pubDate>Mon, 05 Jun 2017 16:38:09 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4275136@Uncensored</guid><description><![CDATA[<html><body>

<p>I noticed Uncensored was down a bit today... glitch?</p>
<blockquote>
<div class="message_header"><span>Mon Jun 05 2017 11:18:58 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: Next steps...</span></div>
<div class="message_content">
<p>We just went through a busy time and I am still getting things in order after my trip, but if you need me to test something, let me know.</p>
<p>I still am going to set up an install from your dev repo.</p>
<blockquote>
<div class="message_header"><span>Fri Jun 02 2017 02:25:49 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Next steps...</span></div>
<div class="message_content">
<p>Just in case you thought I'd lost the trail...</p>
<p>Next steps:</p>
<p>* Modify clients to converge "local" and "directory" domains (there's no difference anymore)</p>
<p>* Move email address from vCard to user admin</p>
<p>* Publish vCard only for listed users</p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4275036</link><pubDate>Mon, 05 Jun 2017 11:18:58 +0500</pubDate><title>Re: Next steps...</title><guid isPermaLink="false">4275036@Uncensored</guid><description><![CDATA[<html><body>

<p>We just went through a busy time and I am still getting things in order after my trip, but if you need me to test something, let me know.</p>
<p>I still am going to set up an install from your dev repo.</p>
<blockquote>
<div class="message_header"><span>Fri Jun 02 2017 02:25:49 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Next steps...</span></div>
<div class="message_content">
<p>Just in case you thought I'd lost the trail...</p>
<p>Next steps:</p>
<p>* Modify clients to converge "local" and "directory" domains (there's no difference anymore)</p>
<p>* Move email address from vCard to user admin</p>
<p>* Publish vCard only for listed users</p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4274373</link><pubDate>Fri, 02 Jun 2017 14:25:49 +0500</pubDate><title>Next steps...</title><guid isPermaLink="false">4274373@Uncensored</guid><description><![CDATA[<html><body>

<p>Just in case you thought I'd lost the trail...</p>
<p>Next steps:</p>
<p>* Modify clients to converge "local" and "directory" domains (there's no difference anymore)</p>
<p>* Move email address from vCard to user admin</p>
<p>* Publish vCard only for listed users</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4273650</link><pubDate>Tue, 30 May 2017 21:50:20 +0500</pubDate><title>Re: Database troubles...</title><guid isPermaLink="false">4273650@Uncensored</guid><description><![CDATA[<html><body>

<p>I do have backups... I just did not want to have to roll back to them :) I appreciate the concern. It did work fine.</p>
<blockquote>
<div class="message_header"><span>Tue May 30 2017 11:55:08 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Database troubles...</span></div>
<div class="message_content">
<p>db_recover -c </p>
<p>is the best tool to fix your database, and it does a great job ... and if it doesn't work, you're generally not going to get anything else to work.</p>
<p>Please tell me you have good backups.  I like you too much to have to point you to <a href="http://www.citadel.org/doku.php/faq:troubleshooting:no_backups" target="webcit01">http://www.citadel.org/doku.php/faq:troubleshooting:no_backups</a></p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4273554</link><pubDate>Tue, 30 May 2017 11:55:08 +0500</pubDate><title>Re: Database troubles...</title><guid isPermaLink="false">4273554@Uncensored</guid><description><![CDATA[<html><body>

<p>db_recover -c </p>
<p>is the best tool to fix your database, and it does a great job ... and if it doesn't work, you're generally not going to get anything else to work.</p>
<p>Please tell me you have good backups.  I like you too much to have to point you to <a href="http://www.citadel.org/doku.php/faq:troubleshooting:no_backups">http://www.citadel.org/doku.php/faq:troubleshooting:no_backups</a></p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4273308</link><pubDate>Mon, 29 May 2017 11:27:10 +0500</pubDate><title>Re: Database troubles...</title><guid isPermaLink="false">4273308@Uncensored</guid><description><![CDATA[<html><body>

<p>That worked... *whew*</p>
<blockquote>
<div class="message_header"><span>Mon May 29 2017 10:47:00 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Database troubles...</span></div>
<div class="message_content">
<p>I am trying </p>
<p>cd /usr/local/citadel/data; /usr/local/ctdlsupport/bin/db_recover -c</p>
<p>to see if that resolves it...</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Mon May 29 2017 10:23:55 AM EDT</span> <span>from bennabiy @ Uncensored </span></div>
<div class="message_content">
<p>/usr/local/citadel# ./citserver -h/usr/local/citadel</p>
<p>citserver[12461]:  </p>
<p>citserver[12461]:  </p>
<p>citserver[12461]: *** Citadel server engine ***</p>
<p>citserver[12461]: Version 911 (build (unknown)) ***</p>
<p>citserver[12461]: Copyright (C) 1987-2017 by the Citadel development team.</p>
<p>citserver[12461]: This program is distributed under the terms of the GNU General Public License.</p>
<p>citserver[12461]:  </p>
<p>citserver[12461]: libcitadel(unnumbered)</p>
<p>citserver[12461]: Checking directory access</p>
<p> </p>
<p>citserver[12461]: Opening databases</p>
<div>and it stops there...</div>
<blockquote>
<div class="message_header"><span>Mon May 29 2017 10:19:53 AM EDT</span> <span>from bennabiy @ Uncensored </span></div>
<div class="message_content">
<p>IG, I got troubles here. My production citserver is failing to come up. The drive filled up because of the logging issue, and when I tried to recompile with the new update to fix it, it will not start now citserver fails to come up, so setup has nothing to connect to...</p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4273290</link><pubDate>Mon, 29 May 2017 10:47:00 +0500</pubDate><title>Database troubles...</title><guid isPermaLink="false">4273290@Uncensored</guid><description><![CDATA[<html><body>

<p>I am trying </p>
<p>cd /usr/local/citadel/data; /usr/local/ctdlsupport/bin/db_recover -c</p>
<p>to see if that resolves it...</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Mon May 29 2017 10:23:55 AM EDT</span> <span>from bennabiy @ Uncensored </span></div>
<div class="message_content">
<p>/usr/local/citadel# ./citserver -h/usr/local/citadel</p>
<p>citserver[12461]:  </p>
<p>citserver[12461]:  </p>
<p>citserver[12461]: *** Citadel server engine ***</p>
<p>citserver[12461]: Version 911 (build (unknown)) ***</p>
<p>citserver[12461]: Copyright (C) 1987-2017 by the Citadel development team.</p>
<p>citserver[12461]: This program is distributed under the terms of the GNU General Public License.</p>
<p>citserver[12461]:  </p>
<p>citserver[12461]: libcitadel(unnumbered)</p>
<p>citserver[12461]: Checking directory access</p>
<p> </p>
<p>citserver[12461]: Opening databases</p>
<div>and it stops there...</div>
<blockquote>
<div class="message_header"><span>Mon May 29 2017 10:19:53 AM EDT</span> <span>from bennabiy @ Uncensored </span></div>
<div class="message_content">
<p>IG, I got troubles here. My production citserver is failing to come up. The drive filled up because of the logging issue, and when I tried to recompile with the new update to fix it, it will not start now citserver fails to come up, so setup has nothing to connect to...</p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4273285</link><pubDate>Mon, 29 May 2017 10:23:55 +0500</pubDate><title>Message #4273285</title><guid isPermaLink="false">4273285@Uncensored</guid><description><![CDATA[<html><body>

<p>/usr/local/citadel# ./citserver -h/usr/local/citadel</p>
<p>citserver[12461]:  </p>
<p>citserver[12461]:  </p>
<p>citserver[12461]: *** Citadel server engine ***</p>
<p>citserver[12461]: Version 911 (build (unknown)) ***</p>
<p>citserver[12461]: Copyright (C) 1987-2017 by the Citadel development team.</p>
<p>citserver[12461]: This program is distributed under the terms of the GNU General Public License.</p>
<p>citserver[12461]:  </p>
<p>citserver[12461]: libcitadel(unnumbered)</p>
<p>citserver[12461]: Checking directory access</p>
<p> </p>
<p>citserver[12461]: Opening databases</p>
<div>and it stops there...</div>
<blockquote>
<div class="message_header"><span>Mon May 29 2017 10:19:53 AM EDT</span> <span>from bennabiy @ Uncensored </span></div>
<div class="message_content">
<p>IG, I got troubles here. My production citserver is failing to come up. The drive filled up because of the logging issue, and when I tried to recompile with the new update to fix it, it will not start now citserver fails to come up, so setup has nothing to connect to...</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4273281</link><pubDate>Mon, 29 May 2017 10:19:53 +0500</pubDate><title>Message #4273281</title><guid isPermaLink="false">4273281@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, I got troubles here. My production citserver is failing to come up. The drive filled up because of the logging issue, and when I tried to recompile with the new update to fix it, it will not start now citserver fails to come up, so setup has nothing to connect to...</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4272257</link><pubDate>Thu, 25 May 2017 17:16:09 +0500</pubDate><title>Re: Debugging?</title><guid isPermaLink="false">4272257@Uncensored</guid><description><![CDATA[<html><body>

<p>Had to manually patch it as your system has had a few changes to that file since what I was working from (911) . I am just doing my backup before rebuilding. </p>
<blockquote>
<div class="message_header"><span>Thu May 25 2017 12:38:04 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Debugging?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Rather than working in a branch I'm just committing locally on my dev system and not pushing to master. I made that available at git://dev.citadel.org/root/citadel so you can follow it and track the progress of our changes. <br /><br />But if you just want the debug logs to shut up, the patch is at https://pastebin.com/8X3m3Tj0 </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4272169</link><pubDate>Thu, 25 May 2017 12:38:04 +0500</pubDate><title>Re: Debugging?</title><guid isPermaLink="false">4272169@Uncensored</guid><description><![CDATA[Rather than working in a branch I'm just committing locally on my dev system
and not pushing to master.  I made that available at git://dev.citadel.org/root/citadel
so you can follow it and track the progress of our changes. 
  
 But if you just want the debug logs to shut up, the patch is at https://pastebin.com/8X3m3Tj0

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4272147</link><pubDate>Thu, 25 May 2017 11:11:20 +0500</pubDate><title>Re: Debugging?</title><guid isPermaLink="false">4272147@Uncensored</guid><description><![CDATA[<html><body>

<p>Would it be better for me to follow dev.citadel.org? Can you give me the info for pulling from it? I can fire up another machine and follow the dev on it, and then when we push changes to master, I will pull them to my production machine. You can send me a patch as well.</p>
<blockquote>
<div class="message_header"><span>Thu May 25 2017 10:57:28 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Debugging?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I put the changes in the repo on dev.citadel.org where I'm working, not on the master. I'm not sure how to push just one change. How about a patch? </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4272142</link><pubDate>Thu, 25 May 2017 10:57:28 +0500</pubDate><title>Re: Debugging?</title><guid isPermaLink="false">4272142@Uncensored</guid><description><![CDATA[I put the changes in the repo on dev.citadel.org where I'm working, not on
the master.  I'm not sure how to push just one change.  How about a patch?

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4272122</link><pubDate>Thu, 25 May 2017 10:22:20 +0500</pubDate><title>Re: Debugging?</title><guid isPermaLink="false">4272122@Uncensored</guid><description><![CDATA[<html><body>

<p>If you do not want to push more changes to webcit until ng, you can put a little poke towards ctdlsh for configuring the email addresses at least to start. However you want to do it. So if I pull the latest from master, I will have the debug fixed? I cannot keep filling my system with documentation of everything going on :) When you have almost 300 users all connecting at once, the logs go quick.</p>
<blockquote>
<div class="message_header"><span>Wed May 24 2017 06:46:02 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Debugging?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok, that explains it. I replaced the entire logging subsystem because it was too complex. Every log message now has a prefix so you can filter what you want to see using grep and other tools. The benefit is that you can read the logs using tools you already know how to use, and all of the complex logging infrastructure has been replaced with simple calls to syslog(). <br /><br />I have reinstated our old friend, the "-x" option. -x6 is the default, which is everything up to LOG_INFO. For debug, do -x7. <br /><br />But this is only committed to my development system, so if you' <br />re pulling from there you'll have it immediately, otherwise wait for it to get pushed. <br /><br />By the way, the new representation of email addresses *should* be working now. I just need to bring forward the admin user interfaces to maintain it properly. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4271952</link><pubDate>Wed, 24 May 2017 18:46:02 +0500</pubDate><title>Re: Debugging?</title><guid isPermaLink="false">4271952@Uncensored</guid><description><![CDATA[Ok, that explains it.  I replaced the entire logging subsystem because it
was too complex.  Every log message now has a prefix so you can filter what
you want to see using grep and other tools.  The benefit is that you can read
the logs using tools you already know how to use, and all of the complex logging
infrastructure has been replaced with simple calls to syslog(). 
  
 I have reinstated our old friend, the "-x" option.  -x6 is the default, which
is everything up to LOG_INFO.  For debug, do -x7. 
  
 But this is only committed to my development system, so if you' 
 re pulling from there you'll have it immediately, otherwise wait for it to
get pushed. 
  
 By the way, the new representation of email addresses *should* be working
now.  I just need to bring forward the admin user interfaces to maintain it
properly. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4271842</link><pubDate>Wed, 24 May 2017 10:42:36 +0500</pubDate><title>Re: Debugging?</title><guid isPermaLink="false">4271842@Uncensored</guid><description><![CDATA[<html><body>

<p>Yes, it is a problem. :) I thought that the writing to the different log levels was controlled by the checkboxes in webcit. How can I disable writing unless it is notice  or greater?</p>
<blockquote>
<div class="message_header"><span>Tue May 23 2017 11:00:24 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Debugging?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Ig, do you have debug logging enabled in the master by default? I do not</blockquote>
have <br />
<blockquote>logging on, but am getting my drives filling with log info to syslog, debug </blockquote>
<br />
<blockquote>and daemon.log. </blockquote>
<br />Yes, we write to all log levels all the time. It is expected that if you need debugging you'll configure your syslog server to accept that level of log messages. <br /><br />I'm guessing this is a problem. :) </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4271704</link><pubDate>Tue, 23 May 2017 23:00:24 +0500</pubDate><title>Re: Debugging?</title><guid isPermaLink="false">4271704@Uncensored</guid><description><![CDATA[ >Ig, do you have debug logging enabled in the master by default? I do not
have  
 >logging on, but am getting my drives filling with log info to syslog, debug
 
 >and daemon.log.    
  
 Yes, we write to all log levels all the time.  It is expected that if you
need debugging you'll configure your syslog server to accept that level of
log messages. 
  
 I'm guessing this is a problem.  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4271530</link><pubDate>Tue, 23 May 2017 10:51:30 +0500</pubDate><title>Debugging?</title><guid isPermaLink="false">4271530@Uncensored</guid><description><![CDATA[<html><body>

<p>Ig, do you have debug logging enabled in the master by default? I do not have logging on, but am getting my drives filling with log info to syslog, debug and daemon.log.</p>
<p> </p>
<p>As far as I can tell, it just happened in the last update or two.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4270641</link><pubDate>Sat, 20 May 2017 20:05:34 +0500</pubDate><title>Re: Package deps</title><guid isPermaLink="false">4270641@Uncensored</guid><description><![CDATA[<html><body>

<p>This is a good question, and as citadel is used by probably as many in a corporate / more official environment as to home bbs style use, it would be good if whatever options we have can be overridden by the aide initially to keep with security models or best practice for "untrusted" users. </p>
<p> </p>
<blockquote>
<p><span style="color: #000080; background-color: #f0f0f0;">So here's the bit about the vCard. We could ask each user whether they want to be published in the GAB, or we could make it an admin setting, and/or we could let the user put whatever they want in the vCard. One option would be to simply use the existing "unlisted" flag to determine whether to push the vCard into the GAB whenever it is updated or changed. What do you think? </span></p>
<p> </p>
</blockquote>
<p><span style="color: #000000; background-color: #f0f0f0;">Perhaps this would be best set as,</span></p>
<ul>
<li>Choose whether ANY users can update their own vcards</li>
<li>If that is chosen, choose at what level that privilege is gained</li>
<li>Use the unlisted flag  to decide whether someone shows up in the GAB with the default being able to be chosen by the Aide (default all in, or all out)</li>
<li>Allow for customization of how to display entries in the GAB (As in First Name Last Name etc or LAst,First ) Some situations like to default to Last Name first, but it does not work in all situations (does not need to be user settable though, it could be set within ctdlsh or the like. I can envision it even being where all the fields are numbered, and you can choose in comma separated list what to display... I can give more details if you like the idea.)</li>
</ul>
<div>Also, it would be good if there was a way to be able to import vcards to your personal contacts, or migrate contacts from the GAB to your personal list (so those of us with hundreds on our list do not need to find each person every time)</div>
<div> </div>
<div>I think that is a good start, let me know if you need more clarity on a matter. Thank you again for all your work!</div>
<blockquote>
<div class="message_header"><span style="color: #000000;">Fri May 19 2017 03:45:49 PM EDT from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_header"><span class="message_subject"><br /></span></div>
<div class="message_header"><span class="message_subject"><br /></span></div>
<div class="message_header"><span class="message_subject"><br /></span></div>
<div class="message_header"><span class="message_subject">Subject: Re: Package deps</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />At login time, valid email addresses are now copied into the session context from the user record instead of from the vCard. This was the big step and should make most functions work now. <br /><br />Still need to do: <br />* Modify the ASUP and AGUP commands to let the administrator edit the valid email addresses for the user (since this is now properly an administrative only function) <br />* Adjust the clients to match <br />* Import/export <br /><br />I'm liking it, though ... it "feels" much cleaner. <br /><br />So here's the bit about the vCard. We could ask each user whether they want to be published in the GAB, or we could make it an admin setting, and/or we could let the user put whatever they want in the vCard. One option would be to simply use the existing "unlisted" flag to determine whether to push the vCard into the GAB whenever it is updated or changed. What do you think? <br /><br />There's also the matter of ... what do we actually put in the vCard and under 
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4270428</link><pubDate>Fri, 19 May 2017 15:45:49 +0500</pubDate><title>Re: Package deps</title><guid isPermaLink="false">4270428@Uncensored</guid><description><![CDATA[  
 At login time, valid email addresses are now copied into the session context
from the user record instead of from the vCard.  This was the big step and
should make most functions work now. 
  
 Still need to do: 
 * Modify the ASUP and AGUP commands to let the administrator edit the valid
email addresses for the user (since this is now properly an administrative
only function) 
 * Adjust the clients to match 
 * Import/export 
  
 I'm liking it, though ... it "feels" much cleaner.   
  
 So here's the bit about the vCard.  We could ask each user whether they want
to be published in the GAB, or we could make it an admin setting, and/or we
could let the user put whatever they want in the vCard.  One option would
be to simply use the existing "unlisted" flag to determine whether to push
the vCard into the GAB whenever it is updated or changed.  What do you think?

  
 There's also the matter of ... what do we actually put in the vCard and under
what conditions do we overwrite it? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4270418</link><pubDate>Fri, 19 May 2017 14:52:58 +0500</pubDate><title>Re: Package deps</title><guid isPermaLink="false">4270418@Uncensored</guid><description><![CDATA[<html><body>

<p>Let me know, as this would either need to cause a change in legacy webcit, or allow further development of ctdlsh to adjust those settings...</p>
<blockquote>
<div class="message_header"><span>Thu May 18 2017 10:26:10 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Package deps</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Data conversion code is done, table format is done, index generation is done. <br />Actual handling of email comes next, followed by import/export and client changes, then we need to have a conversation about the human protocol for deciding what gets sent to the global address book and under what conditions. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4270271</link><pubDate>Thu, 18 May 2017 22:26:10 +0500</pubDate><title>Re: Package deps</title><guid isPermaLink="false">4270271@Uncensored</guid><description><![CDATA[Data conversion code is done, table format is done, index generation is done.
 Actual handling of email comes next, followed by import/export and client
changes, then we need to have a conversation about the human protocol for
deciding what gets sent to the global address book and under what conditions.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269959</link><pubDate>Wed, 17 May 2017 15:47:15 +0500</pubDate><title>Re: Package deps</title><guid isPermaLink="false">4269959@Uncensored</guid><description><![CDATA[<html><body>

<p>will do.</p>
<blockquote>
<div class="message_header"><span>Wed May 17 2017 10:43:57 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Package deps</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I haven't pushed anything upstream yet because the build is broken (due to being in the middle of the change) <br /><br />but... <br /><br />If you just want to look, you can "git clone git://dev.citadel.org/root/citadel" and then copy over a working database to see what happens when it tries to upgrade. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269914</link><pubDate>Wed, 17 May 2017 10:43:57 +0500</pubDate><title>Re: Package deps</title><guid isPermaLink="false">4269914@Uncensored</guid><description><![CDATA[I haven't pushed anything upstream yet because the build is broken (due to
being in the middle of the change)  
  
 but... 
   
 If you just want to look, you can "git clone git://dev.citadel.org/root/citadel"
and then copy over a working database to see what happens when it tries to
upgrade. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269902</link><pubDate>Wed, 17 May 2017 10:02:05 +0500</pubDate><title>Re: Package deps</title><guid isPermaLink="false">4269902@Uncensored</guid><description><![CDATA[<html><body>

<p>Good to hear. I am making progress on getting it into pkgsrc.</p>
<p> </p>
<p>Let me know when you have something for me to look at :)</p>
<blockquote>
<div class="message_header"><span>Tue May 16 2017 10:57:26 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Package deps</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">They're stopped at those versions because I haven't updated them. Latest of each should work fine. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269814</link><pubDate>Tue, 16 May 2017 22:57:26 +0500</pubDate><title>Re: Package deps</title><guid isPermaLink="false">4269814@Uncensored</guid><description><![CDATA[They're stopped at those versions because I haven't updated them.  Latest
of each should work fine. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269764</link><pubDate>Tue, 16 May 2017 14:42:27 +0500</pubDate><title>Package deps</title><guid isPermaLink="false">4269764@Uncensored</guid><description><![CDATA[<html><body>

<p>Are the packages used by easy install stopped at those versions because of incompatibilities? I ask because pkgsrc usually does not keep old versions unless there are key breaks because of newer packages.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269723</link><pubDate>Tue, 16 May 2017 11:40:25 +0500</pubDate><title>Re: building on solarish...</title><guid isPermaLink="false">4269723@Uncensored</guid><description><![CDATA[<html><body>

<p>I am working to get citadel ported to pkgsrc for netbsd etc... </p>
<blockquote>
<div class="message_header"><span>Tue May 16 2017 09:15:02 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: building on solarish...</span></div>
<div class="message_content">
<p>Actually I misunderstood the data structure. /usr is ro, but /usr/local/ is mounted rw, so it was not the issue. For some reason, if I use the easy install, libcurl and libcitadel do not compile, but if I manually go into the directory and run the same configure command, it completes just fine...</p>
<blockquote>
<div class="message_header"><span>Mon May 15 2017 03:07:17 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: building on solarish...</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>I think I discovered the issue... will find out in a moment. It seems that</blockquote>
<br />
<blockquote>/usr (which is mounted ro on this system) makes it impossible for <br />/usr/local/blah to be created. I changed all instances in easyinstall script</blockquote>
<br />
<blockquote>to use /opt/local/ instead, but do I need to also manually edit all the</blockquote>
<br />
<blockquote>Makefiles?</blockquote>
<br />Yikes ... that's a pretty big deal ... but yes, if you change ALL of the /usr/local references in Easy Install then it should work. There's nothing hardcoded into the makefiles to require /usr/local.</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269705</link><pubDate>Tue, 16 May 2017 09:15:02 +0500</pubDate><title>Re: building on solarish...</title><guid isPermaLink="false">4269705@Uncensored</guid><description><![CDATA[<html><body>

<p>Actually I misunderstood the data structure. /usr is ro, but /usr/local/ is mounted rw, so it was not the issue. For some reason, if I use the easy install, libcurl and libcitadel do not compile, but if I manually go into the directory and run the same configure command, it completes just fine...</p>
<blockquote>
<div class="message_header"><span>Mon May 15 2017 03:07:17 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: building on solarish...</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>I think I discovered the issue... will find out in a moment. It seems that </blockquote>
<br />
<blockquote>/usr (which is mounted ro on this system) makes it impossible for <br />/usr/local/blah to be created. I changed all instances in easyinstall script </blockquote>
<br />
<blockquote>to use /opt/local/ instead, but do I need to also manually edit all the </blockquote>
<br />
<blockquote>Makefiles? </blockquote>
<br />Yikes ... that's a pretty big deal ... but yes, if you change ALL of the /usr/local references in Easy Install then it should work. There's nothing hardcoded into the makefiles to require /usr/local. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269702</link><pubDate>Tue, 16 May 2017 09:13:21 +0500</pubDate><title>Re: Eureka moment?</title><guid isPermaLink="false">4269702@Uncensored</guid><description><![CDATA[<html><body>

<p>Yes, I saw that coming, but hopefully not too much.</p>
<blockquote>
<div class="message_header"><span>Mon May 15 2017 03:05:42 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Eureka moment?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>And yes, I can build a test system based on the git. Would you like me to </blockquote>
<br />
<blockquote>pull a branch, or master? </blockquote>
<br />It'll be in master when I commit it. I'm still working on the data structures and conversion code for old databases ... trust me, it's easier do do the conversion first than to try and do it later ... otherwise I will have no way to detect and convert the existing data on my test system <br /><br />I just realized that we're going to have to make some changes to legacy webcit to make this work too. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269523</link><pubDate>Mon, 15 May 2017 15:08:00 +0500</pubDate><title>Re: libcurl</title><guid isPermaLink="false">4269523@Uncensored</guid><description><![CDATA[ >does this still need to be built with --enable-ares=$SUPPORT ? If so, then
it  
 >still depends on c-ares being built and installed in the system...  
  
 I thought I got rid of all those references, but if there's still one around
somewhere, then yes, we have to remove it.  There is nothing left in the Citadel
system that depends on c-ares. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269520</link><pubDate>Mon, 15 May 2017 15:07:17 +0500</pubDate><title>Re: building on solarish...</title><guid isPermaLink="false">4269520@Uncensored</guid><description><![CDATA[ >I think I discovered the issue... will find out in a moment. It seems that
 
 >/usr (which is mounted ro on this system) makes it impossible for  
 >/usr/local/blah to be created. I changed all instances in easyinstall script
 
 >to use /opt/local/ instead, but do I need to also manually edit all the
 
 >Makefiles?    
  
 Yikes ... that's a pretty big deal ... but yes, if you change ALL of the
/usr/local references in Easy Install then it should work.  There's nothing
hardcoded into the makefiles to require /usr/local. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269515</link><pubDate>Mon, 15 May 2017 15:05:42 +0500</pubDate><title>Re: Eureka moment?</title><guid isPermaLink="false">4269515@Uncensored</guid><description><![CDATA[ >And yes, I can build a test system based on the git. Would you like me to
 
 >pull a branch, or master?    
  
 It'll be in master when I commit it.  I'm still working on the data structures
and conversion code for old databases ... trust me, it's easier do do the
conversion first than to try and do it later ... otherwise I will have no
way to detect and convert the existing data on my test system 
  
 I just realized that we're going to have to make some changes to legacy webcit
to make this work too. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269467</link><pubDate>Mon, 15 May 2017 12:16:11 +0500</pubDate><title>config.log for libcurl</title><guid isPermaLink="false">4269467@Uncensored</guid><description><![CDATA[<html><body>

<p>https://pastebin.mozilla.org/9021752</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269463</link><pubDate>Mon, 15 May 2017 11:59:29 +0500</pubDate><title>Chat</title><guid isPermaLink="false">4269463@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, when you are available, does the Chat feature work if we are both in Citadel Dev? Rather than IRC, I wondered if that would work for you?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269456</link><pubDate>Mon, 15 May 2017 11:39:00 +0500</pubDate><title>libcurl</title><guid isPermaLink="false">4269456@Uncensored</guid><description><![CDATA[<html><body>

<p>does this still need to be built with --enable-ares=$SUPPORT ? If so, then it still depends on c-ares being built and installed in the system...</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269444</link><pubDate>Mon, 15 May 2017 09:38:12 +0500</pubDate><title>Re: building on solarish...</title><guid isPermaLink="false">4269444@Uncensored</guid><description><![CDATA[<html><body>

<p>still crashed... thoughts?</p>
<blockquote>
<div class="message_header"><span>Mon May 15 2017 09:20:01 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: building on solarish...</span></div>
<div class="message_content">
<p>I think I discovered the issue... will find out in a moment. It seems that /usr (which is mounted ro on this system) makes it impossible for /usr/local/blah to be created. I changed all instances in easyinstall script to use /opt/local/ instead, but do I need to also manually edit all the Makefiles?</p>
<blockquote>
<div class="message_header"><span>Mon May 15 2017 09:11:07 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: building on solarish...</span></div>
<div class="message_content">
<p>I am trying to build the git on a solaris (illumos actually) zone, but the curl build is bombing out. I already have curl 7.52.1 installed... Here is a pastebin of the build log (relevant point)...</p>
<p> </p>
<p><a href="https://pastebin.mozilla.org/9021731" target="webcit01">https://pastebin.mozilla.org/9021731</a></p>
<p> </p>
<p>thoughts? There is no citadel-build.19547/ in /tmp at the moment, so possibly I took too long to get to it as on this system /tmp is a tmpfs.</p>
<p> </p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269440</link><pubDate>Mon, 15 May 2017 09:20:01 +0500</pubDate><title>Re: building on solarish...</title><guid isPermaLink="false">4269440@Uncensored</guid><description><![CDATA[<html><body>

<p>I think I discovered the issue... will find out in a moment. It seems that /usr (which is mounted ro on this system) makes it impossible for /usr/local/blah to be created. I changed all instances in easyinstall script to use /opt/local/ instead, but do I need to also manually edit all the Makefiles?</p>
<blockquote>
<div class="message_header"><span>Mon May 15 2017 09:11:07 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: building on solarish...</span></div>
<div class="message_content">
<p>I am trying to build the git on a solaris (illumos actually) zone, but the curl build is bombing out. I already have curl 7.52.1 installed... Here is a pastebin of the build log (relevant point)...</p>
<p> </p>
<p><a href="https://pastebin.mozilla.org/9021731" target="webcit01">https://pastebin.mozilla.org/9021731</a></p>
<p> </p>
<p>thoughts? There is no citadel-build.19547/ in /tmp at the moment, so possibly I took too long to get to it as on this system /tmp is a tmpfs.</p>
<p> </p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269437</link><pubDate>Mon, 15 May 2017 09:11:07 +0500</pubDate><title>building on solarish...</title><guid isPermaLink="false">4269437@Uncensored</guid><description><![CDATA[<html><body>

<p>I am trying to build the git on a solaris (illumos actually) zone, but the curl build is bombing out. I already have curl 7.52.1 installed... Here is a pastebin of the build log (relevant point)...</p>
<p> </p>
<p>https://pastebin.mozilla.org/9021731</p>
<p> </p>
<p>thoughts? There is no citadel-build.19547/ in /tmp at the moment, so possibly I took too long to get to it as on this system /tmp is a tmpfs.</p>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269330</link><pubDate>Sun, 14 May 2017 14:57:09 +0500</pubDate><title>Re: Eureka moment?</title><guid isPermaLink="false">4269330@Uncensored</guid><description><![CDATA[<html><body>

<p>And yes, I can build a test system based on the git. Would you like me to pull a branch, or master?</p>
<blockquote>
<div class="message_header"><span>Sat May 13 2017 10:29:45 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Eureka moment?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I'm thinking we're just going to go with the static field in the user record for Internet email addresses. After decades of messing around with this data model I'm inclined to keep it simple this time. <br /><br />I was able to fit 16 addresses (with pretty long names in them) in 512 characters, so that's what we'll go with. <br /><br />If you have a test system built from the git repository, I'll commit but not publish so we can play around. <br /><br />Also remember, this is prerequisite to the idea of published/unpublished addresses in the GAB. We'll tackle that next, once we've got the requirements dealt with. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269289</link><pubDate>Sun, 14 May 2017 08:56:21 +0500</pubDate><title>Re: Eureka moment?</title><guid isPermaLink="false">4269289@Uncensored</guid><description><![CDATA[<html><body>

<p>Now, is there a way for the Aide user to edit the actual system email address (either through webcit, or ctdlsh or... ?)</p>
<p>Will the email address still be populated from LDAP info?</p>
<blockquote>
<div class="message_header"><span>Sat May 13 2017 10:29:45 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Eureka moment?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I'm thinking we're just going to go with the static field in the user record for Internet email addresses. After decades of messing around with this data model I'm inclined to keep it simple this time. <br /><br />I was able to fit 16 addresses (with pretty long names in them) in 512 characters, so that's what we'll go with. <br /><br />If you have a test system built from the git repository, I'll commit but not publish so we can play around. <br /><br />Also remember, this is prerequisite to the idea of published/unpublished addresses in the GAB. We'll tackle that next, once we've got the requirements dealt with. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4269128</link><pubDate>Sat, 13 May 2017 10:29:45 +0500</pubDate><title>Re: Eureka moment?</title><guid isPermaLink="false">4269128@Uncensored</guid><description><![CDATA[  
 I'm thinking we're just going to go with the static field in the user record
for Internet email addresses.  After decades of messing around with this data
model I'm inclined to keep it simple this time. 
  
 I was able to fit 16 addresses (with pretty long names in them) in 512 characters,
so that's what we'll go with. 
  
 If you have a test system built from the git repository, I'll commit but
not publish so we can play around. 
  
 Also remember, this is prerequisite to the idea of published/unpublished
addresses in the GAB.  We'll tackle that next, once we've got the requirements
dealt with. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4268866</link><pubDate>Fri, 12 May 2017 11:50:26 +0500</pubDate><title>Eureka moment?</title><guid isPermaLink="false">4268866@Uncensored</guid><description><![CDATA[<html><body>

<p>Are we to expect anything before the weekend (I am not sure how many times a day I press refresh on the room...)?</p>
<p> </p>
<p>How are things progressing? </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4268643</link><pubDate>Thu, 11 May 2017 13:23:24 +0500</pubDate><title>Conversation from IRC</title><guid isPermaLink="false">4268643@Uncensored</guid><description><![CDATA[<html><body>

<p>Feivel is trying to do debian packaging...</p>
<p> </p>
<p>&lt;feivel&gt; Anyone with an idea about the grave bugs under bugs.debian.org/citadel-server?</p>
<p>&lt;bennabiy&gt; feivel: I would use the easy install method rather than the debian repository</p>
<p>&lt;feivel&gt; bennabiy: why?</p>
<p>&lt;bennabiy&gt; I do not know who did the packaging for the debian files, but they are out of date</p>
<p>&lt;bennabiy&gt; the easy install builds citadel for your use, and keeps everything in one place, and is the most supported way to do it</p>
<p>&lt;bennabiy&gt; and you are more likely to receive quicker bug fixes</p>
<p>&lt;feivel&gt; well, to answer your first implied question, that would be me</p>
<p>&lt;feivel&gt; and they are out of date because it's so difficult to see new version from looking at the website</p>
<p>&lt;bennabiy&gt; feivel: best is to follow the git repo at code.citadel.org</p>
<p>&lt;bennabiy&gt; http://code.citadel.org/?p=citadel.git;a=summary</p>
<p>&lt;feivel&gt; quite frankly I do not at all agree on using an external packaging over the distribution specific one</p>
<p>&lt;feivel&gt; it'd be better to find a better way to keep the Debian packages up to date</p>
<p>&lt;bennabiy&gt; feivel: external packaging?</p>
<p>&lt;feivel&gt; btw the website you mention shows Release_902 as the latest tag</p>
<p>&lt;feivel&gt; bennabiy: external as in not inside Debian, not being part of the packaging system</p>
<p>&lt;bennabiy&gt; yes, as a tag, master is currently 911 or 912</p>
<p>&lt;bennabiy&gt; feivel: up to you. I know citadel builds on debian just fine</p>
<p>&lt;bennabiy&gt; and installs fine</p>
<p>&lt;feivel&gt; and you find that out how?</p>
<p>&lt;feivel&gt; isn't this what tags are meant for?</p>
<p>&lt;bennabiy&gt; Yes, although it is now a rolling release and there are a couple changes which are being done with the software which warrants a fast release cycle</p>
<p>&lt;bennabiy&gt; 3 weeks ago 910 was done, and I know master is at least 911</p>
<p>&lt;feivel&gt; fine by me, just almost impossible to find as a packager</p>
<p>&lt;feivel&gt; obviously one solution is to remove the packages from Debian, if that is what this community would prefer</p>
<p>&lt;bennabiy&gt; That would be a question for IG, and he is best reached on uncensored.citadel.org</p>
<p>&lt;bennabiy&gt; He does not come in here very often</p>
<p>&lt;bennabiy&gt; at one point there was someone else who was doing debian builds and making packages</p>
<p>&lt;bennabiy&gt; feivel: I will tell you this, the easy install script and compile method produces a very clean and usable install with updates only requiring rebuilding what is necessary. </p>
<p>&lt;feivel&gt; that would be dothebart </p>
<p>&lt;bennabiy&gt; feivel: yes, and he has not been doing much for the last 2 years in citadel</p>
<p>&lt;feivel&gt; bennabiy: and a de-install? </p>
<p>&lt;feivel&gt; also you said it includes everything, does this mean it installs all dependencies as well?</p>
<p>&lt;bennabiy&gt; for i in /usr/local/citadel /usr/local/webcit /usr/local/libcitadel; do rm -rf $i;done </p>
<p>&lt;bennabiy&gt; feivel: you just need to install the build dependencies as per http://www.citadel.org/doku.php/installation:easyinstall:prereq-debian.html</p>
<p>&lt;bennabiy&gt; for deinstall, there are 3 directories and 2 files in /etc/init.d/ which need to be removed</p>
<p>&lt;bennabiy&gt; everything is contained there</p>
<p>&lt;bennabiy&gt; (there being in those directories, not /etc/init.d)</p>
<p>&lt;bennabiy&gt; there is a map http://www.citadel.org/doku.php/documentation:file_layout to show what goes where for comparison</p>
<p>&lt;bennabiy&gt; granted the latest versions have moved a lot of the config files into the database, and the goal is all of them, so there will be more updates coming</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4268451</link><pubDate>Wed, 10 May 2017 18:30:16 +0500</pubDate><title>Re: Progress?</title><guid isPermaLink="false">4268451@Uncensored</guid><description><![CDATA[<html><body>

<p>I will reply more tomorrow, but this is independent now of the vcard, so a user can have as many as they like in the vcard, but in the actual system mail table, they would only have x amount?</p>
<p> </p>
<p>I would average on my systems that each user could have 2 addresses, some as many as 6.</p>
<blockquote>
<div class="message_header"><span>Wed May 10 2017 04:49:10 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Progress?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Yes, it's called "my development system" :) <br /><br />And I'm starting to have second thoughts about how I want to do this. It might make more sense just to add a field to the user record inet_addrs[SIZ] to stash as many email addresses as we can fit. SIZ is 4096 bytes. Maybe 1024 bytes would make more sense. How many different addresses is a single user likely to have, and what's the maximum amount of space they would take? <br /><br />Time, space, and complexity are the eternal software rivals. If adding 1024 bytes to each user record can save a *lot* of complexity then maybe it makes more sense to simply put it there. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4268418</link><pubDate>Wed, 10 May 2017 16:49:10 +0500</pubDate><title>Re: Progress?</title><guid isPermaLink="false">4268418@Uncensored</guid><description><![CDATA[Yes, it's called "my development system"   :) 
  
 And I'm starting to have second thoughts about how I want to do this.  It
might make more sense just to add a field to the user record inet_addrs[SIZ]
to stash as many email addresses as we can fit.  SIZ is 4096 bytes.  Maybe
1024 bytes would make more sense.  How many different addresses is a single
user likely to have, and what's the maximum amount of space they would take?

  
 Time, space, and complexity are the eternal software rivals.  If adding 1024
bytes to each user record can save a *lot* of complexity then maybe it makes
more sense to simply put it there. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4268149</link><pubDate>Tue, 09 May 2017 15:58:24 +0500</pubDate><title>Re: Progress?</title><guid isPermaLink="false">4268149@Uncensored</guid><description><![CDATA[<html><body>

<p>I guess I mean in it all, wouldn't it be better to get an actual instance up, where we can make sure it works how we want, before we worry about how to get from state a to b (like what you are doing with webcit-ng)</p>
<blockquote>
<div class="message_header"><span>Tue May 09 2017 03:56:48 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: Progress?</span></div>
<div class="message_content">
<p>Agreed on the timing thing. As long as we are keeping that in mind, that is "Good Enough For Now"... </p>
<p> </p>
<p>Can you possibly make a version which does not "upgrade" per se, and just starts with the correct data structure, and I could import the data into it for testing through imapcopy or the like (which would also stop me from doing such a jump with my production machine to test actual use case, and allow me to corner test before committing all of our data to the new format until it is ready)</p>
<p>Not sure if that made sense, but I am encouraged this is making some progress. Please let me know if you need me to test anything.</p>
<blockquote>
<div class="message_header"><span>Tue May 09 2017 11:42:24 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Progress?</span></div>
<div class="message_content">
<p>Changing the table format is the easy part.  The time consuming part is writing the code to convert the old data format, add it to export/import, etc.  So it'll take a bit of time.  But I think it's worth it to get rid of a piece of the data model I've never liked too much.</p>
<p>I have some thoughts about mixed mode authentication (LDAP + others) a little further down the road.  For public sites (and maybe others) it's clear that OpenID has lost.  100% of the OpenID logins we got at Uncensored were from people pushing the "Log in with Google" button, and that stopped the moment Google pulled the plug on their OpenID server.  We currently keep a table that maps OpenID URIs to Citadel accounts.  That can get replaced with something of the form</p>
<p>[auth source] / [identifier within that auth source] ----&gt; [local Citadel account]</p>
<p>The auth sources can then be not only OpenID (if we even keep it) but also things like SAML, OAuth, Fecesbook Connect (damn you to the hottest part of hell, Zuckerberg) and, of course, LDAP.</p>
<p>Keep in mind that this is just vision casting for the time being.  It validates that what we're building now won't box us into a corner where we can't do that easily.  But I'm thinking it's probably something to implement some time after WebCit-NG is up and running.</p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4268146</link><pubDate>Tue, 09 May 2017 15:56:48 +0500</pubDate><title>Re: Progress?</title><guid isPermaLink="false">4268146@Uncensored</guid><description><![CDATA[<html><body>

<p>Agreed on the timing thing. As long as we are keeping that in mind, that is "Good Enough For Now"... </p>
<p> </p>
<p>Can you possibly make a version which does not "upgrade" per se, and just starts with the correct data structure, and I could import the data into it for testing through imapcopy or the like (which would also stop me from doing such a jump with my production machine to test actual use case, and allow me to corner test before committing all of our data to the new format until it is ready)</p>
<p>Not sure if that made sense, but I am encouraged this is making some progress. Please let me know if you need me to test anything.</p>
<blockquote>
<div class="message_header"><span>Tue May 09 2017 11:42:24 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Progress?</span></div>
<div class="message_content">
<p>Changing the table format is the easy part.  The time consuming part is writing the code to convert the old data format, add it to export/import, etc.  So it'll take a bit of time.  But I think it's worth it to get rid of a piece of the data model I've never liked too much.</p>
<p>I have some thoughts about mixed mode authentication (LDAP + others) a little further down the road.  For public sites (and maybe others) it's clear that OpenID has lost.  100% of the OpenID logins we got at Uncensored were from people pushing the "Log in with Google" button, and that stopped the moment Google pulled the plug on their OpenID server.  We currently keep a table that maps OpenID URIs to Citadel accounts.  That can get replaced with something of the form</p>
<p>[auth source] / [identifier within that auth source] ----&gt; [local Citadel account]</p>
<p>The auth sources can then be not only OpenID (if we even keep it) but also things like SAML, OAuth, Fecesbook Connect (damn you to the hottest part of hell, Zuckerberg) and, of course, LDAP.</p>
<p>Keep in mind that this is just vision casting for the time being.  It validates that what we're building now won't box us into a corner where we can't do that easily.  But I'm thinking it's probably something to implement some time after WebCit-NG is up and running.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4268090</link><pubDate>Tue, 09 May 2017 11:42:24 +0500</pubDate><title>Re: Progress?</title><guid isPermaLink="false">4268090@Uncensored</guid><description><![CDATA[<html><body>

<p>Changing the table format is the easy part.  The time consuming part is writing the code to convert the old data format, add it to export/import, etc.  So it'll take a bit of time.  But I think it's worth it to get rid of a piece of the data model I've never liked too much.</p>
<p>I have some thoughts about mixed mode authentication (LDAP + others) a little further down the road.  For public sites (and maybe others) it's clear that OpenID has lost.  100% of the OpenID logins we got at Uncensored were from people pushing the "Log in with Google" button, and that stopped the moment Google pulled the plug on their OpenID server.  We currently keep a table that maps OpenID URIs to Citadel accounts.  That can get replaced with something of the form</p>
<p>[auth source] / [identifier within that auth source] ----&gt; [local Citadel account]</p>
<p>The auth sources can then be not only OpenID (if we even keep it) but also things like SAML, OAuth, Fecesbook Connect (damn you to the hottest part of hell, Zuckerberg) and, of course, LDAP.</p>
<p>Keep in mind that this is just vision casting for the time being.  It validates that what we're building now won't box us into a corner where we can't do that easily.  But I'm thinking it's probably something to implement some time after WebCit-NG is up and running.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4268077</link><pubDate>Tue, 09 May 2017 11:17:29 +0500</pubDate><title>Re: Progress?</title><guid isPermaLink="false">4268077@Uncensored</guid><description><![CDATA[<html><body>

<p>Yes, I cannot see it working the way we would like without a couple new tables (unless you want to be looking at it a couple years down the road wondering why all the mess and hackwork...)</p>
<p>Those tables are not going to be *too* large though, just one more thing to export. Also, would it be the type of change which would allow for multiple auth types as well? (with order of priority)</p>
<blockquote>
<div class="message_header"><span>Tue May 09 2017 09:18:44 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Progress?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Still bellyaching over where we're going to put all this data. I do think it's going to require some new tables. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4268055</link><pubDate>Tue, 09 May 2017 09:18:44 +0500</pubDate><title>Re: Progress?</title><guid isPermaLink="false">4268055@Uncensored</guid><description><![CDATA[Still bellyaching over where we're going to put all this data.  I do think
it's going to require some new tables. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4267830</link><pubDate>Mon, 08 May 2017 09:43:32 +0500</pubDate><title>Progress?</title><guid isPermaLink="false">4267830@Uncensored</guid><description><![CDATA[<html><body>

<p>Where are things at?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4267639</link><pubDate>Sun, 07 May 2017 12:05:39 +0500</pubDate><title>Re: Citadel crashing again</title><guid isPermaLink="false">4267639@Uncensored</guid><description><![CDATA[<html><body>

<p>ok, so that was strange... crashing might just be LONG lockups, but this last one, the system was unresponsive (no activity taking place, but not registering as crashed, IMAP timing out) but then I could go to webcit and interact, and then it froze momentarily, and then was back up and working without me restarting anything...</p>
<p> </p>
<p>I did take a look at open connections and of the 306, there were almost 200 from one mac user, so something is strange there.</p>
<blockquote>
<div class="message_header"><span>Sun May 07 2017 11:50:08 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Citadel crashing again</span></div>
<div class="message_content">
<p>I am not sure if it is the byproduct of one of the last commits, but we are experiencing citserver becoming unresponsive again about once or twice a week.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4267635</link><pubDate>Sun, 07 May 2017 11:50:08 +0500</pubDate><title>Citadel crashing again</title><guid isPermaLink="false">4267635@Uncensored</guid><description><![CDATA[<html><body>

<p>I am not sure if it is the byproduct of one of the last commits, but we are experiencing citserver becoming unresponsive again about once or twice a week.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4266861</link><pubDate>Thu, 04 May 2017 11:50:53 +0500</pubDate><title>Re: email... and the data model.</title><guid isPermaLink="false">4266861@Uncensored</guid><description><![CDATA[<html><body>

<p>iorarf_list... I love it.</p>
<blockquote>
<div class="message_header"><span>Thu May 04 2017 11:35:27 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: email... and the data model.</span></div>
<div class="message_content">
<p>Looking over the serv_upgrade.c file now... (and back by the way).</p>
<blockquote>
<div class="message_header"><span>Thu May 04 2017 10:20:36 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: email... and the data model.</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Is there somewhere in the database which keeps track of which version things</blockquote>
<br />
<blockquote>are at (which revision of the database?) It would probably be good to mark</blockquote>
<br />
<blockquote>that this upgrade is a non reversible one (like going to 902 from 9.01).</blockquote>
<br /><br />Yes, that is almost exactly how it works. Citadel Server stores its version number in the system configuration. When we start up the server, we check the stored version against the running version, and perform any needed data format upgrades. Again, a browse of serv_upgrade.c will show you all the things we know how to do. <br /><br />All upgrades are considered non-reversible, but now that you mention it, it might make sense to check the configuration to see if the stored version is *higher* than the current version, and simply refuse to run in that state. <br /><br />The only place where things got a little weird was when we moved the configuration from a separate file and into the database. For that we couldn't simply check the version number because we were changing the place where that information was stored. <br />So it had to make a decision based on whether the old config file was present, whether there was a configuration already stored in the database, and doing different things based o
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4266857</link><pubDate>Thu, 04 May 2017 11:35:27 +0500</pubDate><title>Re: email... and the data model.</title><guid isPermaLink="false">4266857@Uncensored</guid><description><![CDATA[<html><body>

<p>Looking over the serv_upgrade.c file now... (and back by the way).</p>
<blockquote>
<div class="message_header"><span>Thu May 04 2017 10:20:36 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: email... and the data model.</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Is there somewhere in the database which keeps track of which version things </blockquote>
<br />
<blockquote>are at (which revision of the database?) It would probably be good to mark </blockquote>
<br />
<blockquote>that this upgrade is a non reversible one (like going to 902 from 9.01). </blockquote>
<br /><br />Yes, that is almost exactly how it works. Citadel Server stores its version number in the system configuration. When we start up the server, we check the stored version against the running version, and perform any needed data format upgrades. Again, a browse of serv_upgrade.c will show you all the things we know how to do. <br /><br />All upgrades are considered non-reversible, but now that you mention it, it might make sense to check the configuration to see if the stored version is *higher* than the current version, and simply refuse to run in that state. <br /><br />The only place where things got a little weird was when we moved the configuration from a separate file and into the database. For that we couldn't simply check the version number because we were changing the place where that information was stored. <br />So it had to make a decision based on whether the old config file was present, whether there was a configuration already stored in the database, and doing different things based o
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4266841</link><pubDate>Thu, 04 May 2017 10:20:36 +0500</pubDate><title>Re: email... and the data model.</title><guid isPermaLink="false">4266841@Uncensored</guid><description><![CDATA[ >Is there somewhere in the database which keeps track of which version things
 
 >are at (which revision of the database?) It would probably be good to mark
 
 >that this upgrade is a non reversible one (like going to 902 from 9.01).
   
  
 Yes, that is almost exactly how it works.  Citadel Server stores its version
number in the system configuration.  When we start up the server, we check
the stored version against the running version, and perform any needed data
format upgrades.  Again, a browse of serv_upgrade.c will show you all the
things we know how to do. 
  
 All upgrades are considered non-reversible, but now that you mention it,
it might make sense to check the configuration to see if the stored version
is *higher* than the current version, and simply refuse to run in that state.

  
 The only place where things got a little weird was when we moved the configuration
from a separate
file and into the database.  For that we couldn't simply check the version
number because we were changing the place where that information was stored.
 So it had to make a decision based on whether the old config file was present,
whether there was a configuration already stored in the database, and doing
different things based on that information.  I think we made the right choices
because I haven't heard of any cases where that particular upgrade went wrong.

  
 (Well, except for the fact that Easy Install was looking for citadel.config
and clobbered everyone's login banners based on its absence, but that's technically
a packaging problem.) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4266822</link><pubDate>Thu, 04 May 2017 09:29:03 +0500</pubDate><title>email... and the data model.</title><guid isPermaLink="false">4266822@Uncensored</guid><description><![CDATA[<html><body>

<p>Is there somewhere in the database which keeps track of which version things are at (which revision of the database?) It would probably be good to mark that this upgrade is a non reversible one (like going to 902 from 9.01).</p>
<p> </p>
<p>Sounds right in general about addresses and it would be nice to have distribution lists without having to link to a room, but as long as we consider things like that and have a way of plug in future possible uses for email addresses... Perhaps it could be a type of email address or class of email address - say 0=aide/root/debug/anythingtosystemadmin/blah (equiv of root/postmaster with ability to alias to one or more accounts) 1 = user primary, 2 = user alternates, 3 = room primary, 4 = room alternates, 5 = distribution list linked to room, 6 = distribution list without room, 7 = available for future expansion (or 7-15 etc). Then each account, whether a system account, user account or the aide would each have 1+ combinations of email addresses classed as above and the options for the system would either re-write 2 and 4 to be 1 and 3 given the rules about proper headers etc... </p>
<p> </p>
<p>So you could have a new table, just for email addresses, which has three fields</p>
<p>1 - account UID</p>
<p>2 - type of address</p>
<p>4 - email address</p>
<p> </p>
<p> </p>
<p>As to the database vs message base, which would be better to do with the thought of moving towards HA? One goal would be to make things like harryc said a while back</p>
<p> </p>
<blockquote>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;">Here's the puzzle that's been tops of my citadel wish list for a long time.  Rather than write of my various approaches over the years, here's the tl;dr version of my top citserver challenge: </p>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;">I need a 'citserver community supported, best-practice, non-hack-o-rama, way to</p>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;">1: transition to a backup machine while the 'primary' undergoes scheduled routine maintenance (downtime &gt; complaint threshold).</p>
<p> </p>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;">2: transition to a backup machine upon surprise failure of the primary that at worst will lose only deletions after recovering from a split-brain situation.</p>
</blockquote>
<p> </p>
<p>Since we are talking about needing to change the data model, can we do it in such a way which would allow for the above?</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Wed May 03 2017 09:06:58 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Not sure ... I do a lot of silly things when the focus is stolen. <br /><br />I'm on a Linux desktop right now. Gosh this feels good. <br /><br /><br />Anyway, LDAP definitely has to factor into it, but of course we still have to work properly on standalone systems. <br /><br />And I'm still thinking through this email address thing. We get one shot to get it right, and we have to live with it for a long time, so I want to cover all possible use cases. The elimination of the GAB as a data source makes it waaaaaaaaay cleaner. We want each user to be able to have one or more email addresses. We also want *rooms* to have an arbitrary number of email addresses, and we probably want to allow simple distribution lists to be possible without having to shove everything through a room first. <br /><br />This is going to be something that changes the data model, so there will be a "Citadel is starting and it sees that there's an old version of the database on disk, so let's run a format chan
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4266698</link><pubDate>Wed, 03 May 2017 21:06:58 +0500</pubDate><title>Message #4266698</title><guid isPermaLink="false">4266698@Uncensored</guid><description><![CDATA[Not sure ... I do a lot of silly things when the focus is stolen.   
    
 I'm on a Linux desktop right now.  Gosh this feels good.   
  
  
 Anyway, LDAP definitely has to factor into it, but of course we still have
to work properly on standalone systems. 
  
 And I'm still thinking through this email address thing.  We get one shot
to get it right, and we have to live with it for a long time, so I want to
cover all possible use cases.  The elimination of the GAB as a data source
makes it waaaaaaaaay cleaner.  We want each user to be able to have one or
more email addresses.  We also want *rooms* to have an arbitrary number of
email addresses, and we probably want to allow simple distribution lists to
be possible without having to shove everything through a room first. 
  
 This is going to be something that changes the data model, so there will
be a "Citadel is starting and it sees that
there's an old version of the database on disk, so let's run a format change
before proceeding."  serv_upgrade.c has tons of those, and if you've ever
read through the code for that module you'll see that we do an awful lot of
work to make these changes transparent to the system operator. 
  
 Anything we put in the database has to be added to the export format, which
is additional work.  Anything we put in the message base (in the user's My
Citadel Config room) gets pulled along automatically.  That's how we do it
now, with the vCard, so maybe we should do something similar but in a different
data object. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4266680</link><pubDate>Wed, 03 May 2017 20:40:37 +0500</pubDate><title>Message #4266680</title><guid isPermaLink="false">4266680@Uncensored</guid><description><![CDATA[<html><body>

<p>Seems a message may have been clobbered... unless you deleted it (granted, it was only asking if my last post was clear and made sense)... It is no longer here.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4266134</link><pubDate>Mon, 01 May 2017 12:20:34 +0500</pubDate><title>Re: Last message was a bit unclear</title><guid isPermaLink="false">4266134@Uncensored</guid><description><![CDATA[<html><body>

<p>It would be good in this to consider LDAP or other means of getting valid info for users... What I mean by that is that there would be a way to customize the way that info is imported from LDAP into the vCard or CDB_DIRECTORY to allow for listings to be the way each system wants them (so not forcing LastName, First or FirstName LastName of Blah etc)</p>
<blockquote>
<div class="message_header"><span>Sun Apr 30 2017 05:57:09 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Last message was a bit unclear</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">(continued) <br /><br />Obviously this needs to change. The vCard shouldn't be the authoritative source of the user's email address(es). And of course we're not going to share the Global Address Book with other Citadels anymore ... or if we do, it won't be driving a downstream address database. <br /><br />CDB_DIRECTORY can be rebuilt at any time by zeroing it and repopulating it. <br />That behavior can continue. <br /><br />The obvious solution is to just stick all of the user's Internet email addresses in the user record. But that's less than optimal because we would need to put it in a fixed width field that has finite capacity and still consumes all that space per user whether it's used or not. <br /><br />So we might need a new table that is the opposite of CDB_DIRECTORY, which is indexed by user and then contains a variable length record with zero or more Internet email addresses for that user. I generally don't like adding new tables, but maybe it has to be done here. Or ma
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4265956</link><pubDate>Sun, 30 Apr 2017 22:26:08 +0500</pubDate><title>Re: Last message was a bit unclear</title><guid isPermaLink="false">4265956@Uncensored</guid><description><![CDATA[<html><body>

<p>I think you and I are thinking similarly. I will reply to this more later, but I think those are some good steps to take. If you can eliminate the vCards being authoritative, and being purely informational, and yet, allow for the aide to edit the authoritative entry somewhere, and allow for hidden users... sounds good!</p>
<blockquote>
<div class="message_header"><span>Sun Apr 30 2017 05:57:09 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Last message was a bit unclear</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">(continued) <br /><br />Obviously this needs to change. The vCard shouldn't be the authoritative source of the user's email address(es). And of course we're not going to share the Global Address Book with other Citadels anymore ... or if we do, it won't be driving a downstream address database. <br /><br />CDB_DIRECTORY can be rebuilt at any time by zeroing it and repopulating it. <br />That behavior can continue. <br /><br />The obvious solution is to just stick all of the user's Internet email addresses in the user record. But that's less than optimal because we would need to put it in a fixed width field that has finite capacity and still consumes all that space per user whether it's used or not. <br /><br />So we might need a new table that is the opposite of CDB_DIRECTORY, which is indexed by user and then contains a variable length record with zero or more Internet email addresses for that user. I generally don't like adding new tables, but maybe it has to be done here. Or ma
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4265914</link><pubDate>Sun, 30 Apr 2017 17:57:09 +0500</pubDate><title>Re: Last message was a bit unclear</title><guid isPermaLink="false">4265914@Uncensored</guid><description><![CDATA[(continued) 
  
 Obviously this needs to change.  The vCard shouldn't be the authoritative
source of the user's email address(es).  And of course we're not going to
share the Global Address Book with other Citadels anymore ... or if we do,
it won't be driving a downstream address database. 
  
 CDB_DIRECTORY can be rebuilt at any time by zeroing it and repopulating it.
 That behavior can continue. 
  
 The obvious solution is to just stick all of the user's Internet email addresses
in the user record.  But that's less than optimal because we would need to
put it in a fixed width field that has finite capacity and still consumes
all that space per user whether it's used or not. 
  
 So we might need a new table that is the opposite of CDB_DIRECTORY, which
is indexed by user and then contains a variable length record with zero or
more Internet email addresses for that user.  I generally don't
like adding new tables, but maybe it has to be done here.  Or maybe I can
add it to the CDB_USERSBYNUMBER table which is a simple mapping of user numbers
to user names.  Either way it's one more thing to export/import. 
  
 I'm kind of just thinking out loud here. 
  
 Any way you slice it, if the CDB_DIRECTORY table is no longer driven from
the Global Address Book, then the publishing of individual users to the GAB
becomes completely optional.  And if the email addresses in the vCard become
informational rather than the authoritative source of the user's Internet
addresses, then it solves the problem of users being able to edit their own
addresses. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4265913</link><pubDate>Sun, 30 Apr 2017 17:44:19 +0500</pubDate><title>Re: Last message was a bit unclear</title><guid isPermaLink="false">4265913@Uncensored</guid><description><![CDATA[I'm still thinking this through.  It's going to fix a part of the data model
that I've never really liked.  The email addresses in vCards were originally
used in the BBS days to store an email address where a user could be contacted.
 Later on we overloaded it to store the user's email address on the system.
 The data flow went something like this: 
  
   +--------+          +--------------+            +--------------+ 
   | User's |          |    Global    |            | GAB on other | 
   | vCard  |--------->| Address Book |<---------->|   Citadels   | 
   +--------+          +--------------+            +--------------+ 
                               | 
                               v 
                       +---------------+ 
                       | CDB_DIRECTORY | 
                       |     table     | 
                       +---------------+ 
  
 This is ugly.  It's almost as
ugly as my ASCII Art probably looks in a fixed width font.  :) 
  
 Anyway, the idea was that the user's email address was stored in the vCard
(with the system performing some checks and rejecting the entire vCard if
the email address was already in use or otherwise not allowed), and the vCard
was then published to the GAB, which was shared with other Citadels, and then
all email addresses from the *local* domain(s) were extracted and stored in
CDB_DIRECTORY table, which is what's used to translate Internet email addresses
to Citadel addresses. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4264656</link><pubDate>Wed, 26 Apr 2017 09:58:06 +0500</pubDate><title>Re: Last message was a bit unclear</title><guid isPermaLink="false">4264656@Uncensored</guid><description><![CDATA[<html><body>

<p>Thank you for getting back to me. I was starting to wonder what rabbit hole it was this time ;)</p>
<p> </p>
<p>I think in general, I am with you on that. If the flag already exists in the user database, then we can pretty easily make that selectable, either through ctdlsh or a sendcommand, correct? I do not even so much need it available in webcit yet, but in -NG it would be good.</p>
<p> </p>
<p>One issue is, I need the aide to be able to restrict editing of certain info by the users, if that is the case. If the user can set foobar@wherever in their own vcard, then it would cause some issues in our system. In general, I think that would be a good thing, and would not want you to totally customize the system for our use case (which I do acknowledge is somewhat peculiar) but if it could be an option to simply say, level 5 or above (priv or aide ) could edit their own vcards, including email address, otherwise, level 4 can edit just address info... something along those lines. Would that be too difficult? If it is, perhaps just a flag which says to only use the vcard generated by the LDAP query is to be used, that would be fine (and then on to my next request to fix that...)</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Apr 25 2017 10:54:03 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Last message was a bit unclear</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Actually, that might be doable. We have a flag in the user database to make a user of the system "unlisted." It is a carryover from the BBS days, when the ability to have such a thing seemed important ... but I'm having a hard time remembering why. <br /><br />My rethink of the Global Address Book involves the fact that we are no longer supporting the idea of sharing it across multiple Citadel systems that are parts of different organizations but share a domain name. (Again ... seemed like a good idea at the time, it's been supported for a decade or more, and exactly nobody is using it.) <br /><br />So a rework might go something like this: <br /><br />1. Drive the database of Internet aliases directly from the user accounts, without the GAB being an intermediate step <br />2. If a user account is flagged as "unlisted," simply DO NOT publish them in the GAB at all <br />3. The GAB can then be assigned any access policy the administrator decides is appropriate, since it's no longer 
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4264564</link><pubDate>Tue, 25 Apr 2017 22:54:03 +0500</pubDate><title>Re: Last message was a bit unclear</title><guid isPermaLink="false">4264564@Uncensored</guid><description><![CDATA[Actually, that might be doable.  We have a flag in the user database to make
a user of the system "unlisted."  It is a carryover from the BBS days, when
the ability to have such a thing seemed important ... but I'm having a hard
time remembering why. 
  
 My rethink of the Global Address Book involves the fact that we are no longer
supporting the idea of sharing it across multiple Citadel systems that are
parts of different organizations but share a domain name.  (Again ... seemed
like a good idea at the time, it's been supported for a decade or more, and
exactly nobody is using it.) 
  
 So a rework might go something like this: 
  
 1. Drive the database of Internet aliases directly from the user accounts,
without the GAB being an intermediate step 
 2. If a user account is flagged as "unlisted," simply DO NOT publish them
in the GAB at all 
 3. The GAB can then be assigned any access policy
the administrator decides is appropriate, since it's no longer driving another
database 
  
 What do you think? 
  
 (By the way, I'm on the road again this week, but then I'll be home until
mid May so we'll have some time to hack this up.) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4264145</link><pubDate>Mon, 24 Apr 2017 10:06:38 +0500</pubDate><title>Last message was a bit unclear</title><guid isPermaLink="false">4264145@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok, I will attempt to make this a bit more clear. I was pretty tired when I wrote that last one.</p>
<p> </p>
<p>What we need is the ability for a user to receive email, and have a vcard put into an address book room for those who need to know, but in general be "invisible" as in not showing up on the Online Users list, or other such places, and not appearing in the GAB (you mentioned that you were rethinking the GAB anyway).</p>
<p> </p>
<p>If this could be selected from within the edit user account (edit configuration) area, or with a flag set by ctdlsh (much like permission to send internet mail is) with the aide being able to see all users.</p>
<p> </p>
<p>Is this doable? (I have not heard from you yet so I am wondering if I did not make it clear enough) :)</p>
<p> </p>
<p>Let me know what you think.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4263975</link><pubDate>Sun, 23 Apr 2017 14:07:43 +0500</pubDate><title>Re: Possibility</title><guid isPermaLink="false">4263975@Uncensored</guid><description><![CDATA[<html><body>

<p>I think we should press on towards the Address Book issues (and LDAP in general) unless I can get something solid to work with on the remaining errors with this.</p>
<p> </p>
<p>So, Can we make the possibility to make "invisible" users which have an entry in the mailer table, as selectable by the aide user when viewing their account info.</p>
<blockquote>
<div class="message_header"><span>Sun Apr 23 2017 11:29:51 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: Possibility</span></div>
<div class="message_content">
<p>Ok, we might need to revisit the last fix a little as one of my users is experiencing the message copying, but remaining in the source folder. Not sure if it is a bug in evolution or with the patch. I tried it in Evolution and "It worked for me" so...</p>
<p> </p>
<p>Are you available today to hash some of this out?</p>
<blockquote>
<div class="message_header"><span>Sat Apr 22 2017 08:42:18 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Possibility</span></div>
<div class="message_content">
<p>I keep forgetting you go offline on Friday evening.  Shabbat shalom!</p>
<p>That RFC looks a little tricky -- I'd rather work on the address book thing next.</p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4263946</link><pubDate>Sun, 23 Apr 2017 11:30:36 +0500</pubDate><title>Re: Possibility</title><guid isPermaLink="false">4263946@Uncensored</guid><description><![CDATA[<html><body>

<p>And thank you :) </p>
<blockquote>
<div class="message_header"><span>Sat Apr 22 2017 08:42:18 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Possibility</span></div>
<div class="message_content">
<p>I keep forgetting you go offline on Friday evening.  Shabbat shalom!</p>
<p>That RFC looks a little tricky -- I'd rather work on the address book thing next.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4263942</link><pubDate>Sun, 23 Apr 2017 11:29:51 +0500</pubDate><title>Re: Possibility</title><guid isPermaLink="false">4263942@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok, we might need to revisit the last fix a little as one of my users is experiencing the message copying, but remaining in the source folder. Not sure if it is a bug in evolution or with the patch. I tried it in Evolution and "It worked for me" so...</p>
<p> </p>
<p>Are you available today to hash some of this out?</p>
<blockquote>
<div class="message_header"><span>Sat Apr 22 2017 08:42:18 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Possibility</span></div>
<div class="message_content">
<p>I keep forgetting you go offline on Friday evening.  Shabbat shalom!</p>
<p>That RFC looks a little tricky -- I'd rather work on the address book thing next.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4263703</link><pubDate>Sat, 22 Apr 2017 08:42:18 +0500</pubDate><title>Re: Possibility</title><guid isPermaLink="false">4263703@Uncensored</guid><description><![CDATA[<html><body>

<p>I keep forgetting you go offline on Friday evening.  Shabbat shalom!</p>
<p>That RFC looks a little tricky -- I'd rather work on the address book thing next.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4263581</link><pubDate>Fri, 21 Apr 2017 16:53:26 +0500</pubDate><title>Possibility</title><guid isPermaLink="false">4263581@Uncensored</guid><description><![CDATA[<html><body>

<p>Can you consider this over the weekend whether this would be easy(ish) to implement or if it would be better to do something else?</p>
<p>https://tools.ietf.org/html/rfc7162</p>
<p>From the intro:</p>
<blockquote>
<h2 style="line-height: 0pt; display: inline; font-size: 1em;"><a class="selflink" style="color: black; text-decoration-line: none;" name="section-1" href="https://tools.ietf.org/html/rfc7162#section-1">1</a>. Introduction</h2>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;"><span class="h2" style="line-height: 0pt; display: inline; font-family: monospace; font-size: 1em; font-weight: bold;"></span>

   Often, multiple IMAP [<a title="&quot;INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1&quot;" href="https://tools.ietf.org/html/rfc3501">RFC3501</a>] clients need to coordinate changes to
   a common IMAP mailbox.  Examples include different clients working on
   behalf of the same user and clients representing multiple users
   accessing shared mailboxes.  These clients need a mechanism to
   synchronize state changes for messages within the mailbox.  The
   Conditional Store ("CONDSTORE") facility allows a client to quickly
   resynchronize mailbox flag changes.

   The Conditional Store facility also provides a protected update
   mechanism for message state information that can detect and resolve
   conflicts between multiple writing mail clients.  The mechanism can
   be used to guarantee that only one client can change the message
   state at any given time.  For example, this can be used by multiple
   clients that treat a mailbox as a message queue.

   The Conditional Store facility is provided by associating a
   modification sequence (mod-sequence) with every IMAP message.  This
   is updated whenever metadata (such as a message flag) is modified.

   The CONDSTORE extension is described in more detail in <a href="https://tools.ietf.org/html/rfc7162#section-3.1">Section 3.1</a>.

   The CONDSTORE extension gives a disconnected client the ability to
   quickly resynchronize IMAP flag changes for previously seen messages.
   This can be done using the CHANGEDSINCE FETCH modifier once a mailbox
   is opened.  In order for the client to discover which messages have
   been expunged, the client still has to issue a UID FETCH or a UID
   SEARCH command.  The Quick Mailbox Resynchronization (QRESYNC) IMAP
   extension is an extension to CONDSTORE that allows a reconnecting
   client to perform full resynchronization, including discovery of
   expunged messages, in a single round trip.  QRESYNC also introduces a
   new response, VANISHED, that allows for a more compact representation
   of a list of expunged messages.

   QRESYNC can be useful for mobile clients that can experience frequent
   disconnects caused by environmental factors (such as battery life,
   signal strength, etc.).  Such clients need a way to quickly reconnect
   to the IMAP server, while minimizing delay experienced by the user as
   well as the amount of traffic generated by resynchronization.
</pre>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;">   By extending the SELECT command to perform the additional
   resynchronization, this also allows clients to reduce concurrent
   connections to the IMAP server held purely for the sake of avoiding
   the resynchronization.

   The QRESYNC extension is described in more detail in <a href="https://tools.ietf.org/html/rfc7162#section-3.2">Section 3.2</a>.</pre>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;"> </pre>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;"> </pre>
</blockquote>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;">I will check back on Sunday to see what the answer is... Thank you for all your work.</pre>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4263530</link><pubDate>Fri, 21 Apr 2017 10:56:55 +0500</pubDate><title>Message #4263530</title><guid isPermaLink="false">4263530@Uncensored</guid><description><![CDATA[<html><body>

<p>Seems good. I would push it out.</p>
<blockquote>
<div class="message_header"><span>Tue Apr 18 2017 01:33:50 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I've committed a change to git master that I believe makes UID COPY match the expected output format. A sample output is posted to <a href="http://pastebin.ca/3798661" target="webcit01">http://pastebin.ca/3798661</a> in case it doesn't reproduce cleanly here, but here it is: <br /><br />A001 fetch 1:* uid <br />* 1 FETCH (UID 5559) <br />* 2 FETCH (UID 5711) <br />* 3 FETCH (UID 5769) <br />* 4 FETCH (UID 5873) <br />* 5 FETCH (UID 5996) <br />* 6 FETCH (UID 6010) <br />* 7 FETCH (UID 6020) <br />* 8 FETCH (UID 6170) <br />* 9 FETCH (UID 6199) <br />* 10 FETCH (UID 6229) <br />* 11 FETCH (UID 8337) <br />* 12 FETCH (UID 9701) <br />* 13 FETCH (UID 9810) <br />* 14 FETCH (UID 9816) <br />* 15 FETCH (UID 9926) <br />* 16 FETCH (UID 9936) <br />* 17 FETCH (UID 11588) <br />* 18 FETCH (UID 11690) <br />* 19 FETCH (UID 12651) <br />* 20 FETCH (UID 12657) <br />A001 OK FETCH completed <br />A002 uid copy 6020:9701 inbox\trash <br />A002 OK [COPYUID 1 6020,6170,6199,6229,8337,9701 6
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4263343</link><pubDate>Thu, 20 Apr 2017 15:09:40 +0500</pubDate><title>Re: Build requirements</title><guid isPermaLink="false">4263343@Uncensored</guid><description><![CDATA[<html><body>

<p>NM, found it in our IRC conversation...</p>
<p> </p>
<blockquote>
<p>&lt;IGnatiusTFoobar&gt; This latest update removes the dependencies on libcares and libev</p>
</blockquote>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Apr 20 2017 02:45:33 PM EDT</span><span>from bennabiy @ Uncensored </span><span class="message_subject">Subject: Build requirements</span></div>
<div class="message_content">
<p>What dependencies got stripped from the build? libev and?</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4263328</link><pubDate>Thu, 20 Apr 2017 14:45:33 +0500</pubDate><title>Build requirements</title><guid isPermaLink="false">4263328@Uncensored</guid><description><![CDATA[<html><body>

<p>What dependencies got stripped from the build? libev and?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262837</link><pubDate>Tue, 18 Apr 2017 18:16:08 +0500</pubDate><title>Message #4262837</title><guid isPermaLink="false">4262837@Uncensored</guid><description><![CDATA[<html><body>

<p>I will give this a try tomorrow night (next chance I get to push something). </p>
<p> </p>
<p>I do recall that possibly a system will have issues with it because the source UID and destination UID are the same... I believe they are supposed to be unique per folder. (I could be wrong though)</p>
<blockquote>
<div class="message_header"><span>Tue Apr 18 2017 01:33:50 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />I've committed a change to git master that I believe makes UID COPY match the expected output format. A sample output is posted to <a href="http://pastebin.ca/3798661" target="webcit01">http://pastebin.ca/3798661</a> in case it doesn't reproduce cleanly here, but here it is: <br /><br />A001 fetch 1:* uid <br />* 1 FETCH (UID 5559) <br />* 2 FETCH (UID 5711) <br />* 3 FETCH (UID 5769) <br />* 4 FETCH (UID 5873) <br />* 5 FETCH (UID 5996) <br />* 6 FETCH (UID 6010) <br />* 7 FETCH (UID 6020) <br />* 8 FETCH (UID 6170) <br />* 9 FETCH (UID 6199) <br />* 10 FETCH (UID 6229) <br />* 11 FETCH (UID 8337) <br />* 12 FETCH (UID 9701) <br />* 13 FETCH (UID 9810) <br />* 14 FETCH (UID 9816) <br />* 15 FETCH (UID 9926) <br />* 16 FETCH (UID 9936) <br />* 17 FETCH (UID 11588) <br />* 18 FETCH (UID 11690) <br />* 19 FETCH (UID 12651) <br />* 20 FETCH (UID 12657) <br />A001 OK FETCH completed <br />A002 uid copy 6020:9701 inbox\trash <br />A002 OK [COPYUID 1 6020,6170,6199,6229,8337,9701 6
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262768</link><pubDate>Tue, 18 Apr 2017 13:33:50 +0500</pubDate><title>Message #4262768</title><guid isPermaLink="false">4262768@Uncensored</guid><description><![CDATA[  
 I've committed a change to git master that I believe makes UID COPY match
the expected output format.  A sample output is posted to http://pastebin.ca/3798661
in case it doesn't reproduce cleanly here, but here it is: 
  
 A001 fetch 1:* uid 
 * 1 FETCH (UID 5559) 
 * 2 FETCH (UID 5711) 
 * 3 FETCH (UID 5769) 
 * 4 FETCH (UID 5873) 
 * 5 FETCH (UID 5996) 
 * 6 FETCH (UID 6010) 
 * 7 FETCH (UID 6020) 
 * 8 FETCH (UID 6170) 
 * 9 FETCH (UID 6199) 
 * 10 FETCH (UID 6229) 
 * 11 FETCH (UID 8337) 
 * 12 FETCH (UID 9701) 
 * 13 FETCH (UID 9810) 
 * 14 FETCH (UID 9816) 
 * 15 FETCH (UID 9926) 
 * 16 FETCH (UID 9936) 
 * 17 FETCH (UID 11588) 
 * 18 FETCH (UID 11690) 
 * 19 FETCH (UID 12651) 
 * 20 FETCH (UID 12657) 
 A001 OK FETCH completed 
 A002 uid copy 6020:9701 inbox\trash 
 A002 OK [COPYUID 1 6020,6170,6199,6229,8337,9701 6020,6170,6199,6229,8337,9701]
UID COPY completed 
  
 Give that
a whirl if you have an installation you can update from git master.  If it
looks good, I'll push it out to production and then we can get back to the
address book thing. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262739</link><pubDate>Tue, 18 Apr 2017 11:33:17 +0500</pubDate><title>Message #4262739</title><guid isPermaLink="false">4262739@Uncensored</guid><description><![CDATA[<html><body>

<p>Yes, ok. I will check back in this afternoon to see where things are at. Thank you!</p>
<blockquote>
<div class="message_header"><span>Tue Apr 18 2017 11:30:40 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I'll manage on this one :) I will try to get a fix out later today. https://tools.ietf.org/html/rfc2359#section-4.3 makes it pretty clear what the output should look like in this case. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262736</link><pubDate>Tue, 18 Apr 2017 11:30:40 +0500</pubDate><title>Message #4262736</title><guid isPermaLink="false">4262736@Uncensored</guid><description><![CDATA[I'll manage on this one :)   I will try to get a fix out later today.  https://tools.ietf.org/html/rfc2359#section-4.3
makes it pretty clear what the output should look like in this case. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262706</link><pubDate>Tue, 18 Apr 2017 10:23:14 +0500</pubDate><title>Message #4262706</title><guid isPermaLink="false">4262706@Uncensored</guid><description><![CDATA[<html><body>

<p>Do you need me to be around today to test a patch? I still have some repair work to do, and will be in and out today (unless I know when you will be ready to test a patch).</p>
<p> </p>
<p>The RFC on it is pretty simple.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262685</link><pubDate>Tue, 18 Apr 2017 09:50:02 +0500</pubDate><title>Re: LDAP and users</title><guid isPermaLink="false">4262685@Uncensored</guid><description><![CDATA[<html><body>

<p>I fully agree... </p>
<p>I figured it would be an easy fix. I almost put together a patch for it, but I did not have time.</p>
<blockquote>
<div class="message_header"><span>Tue Apr 18 2017 09:35:31 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP and users</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I'm going to have to review the RFC on that one. It looks pretty easy to fix. Citadel does use 1 as a fixed UIDVALIDITY value, since the message numbers in our store are both persistent and strictly-ascending, so we can use them as UIDs without resorting to any ugly hacks. <br /><br />(Actually, the whole concept of a UIDVALIDITY value is, on its own, an ugly hack. It's just one of many pieces of brain damage baked into the IMAP protocol merely because of flaws in the reference implementation.) </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262678</link><pubDate>Tue, 18 Apr 2017 09:35:31 +0500</pubDate><title>Re: LDAP and users</title><guid isPermaLink="false">4262678@Uncensored</guid><description><![CDATA[I'm going to have to review the RFC on that one.  It looks pretty easy to
fix.  Citadel does use 1 as a fixed UIDVALIDITY value, since the message numbers
in our store are both persistent and strictly-ascending, so we can use them
as UIDs without resorting to any ugly hacks. 
  
 (Actually, the whole concept of a UIDVALIDITY value is, on its own, an ugly
hack.  It's just one of many pieces of brain damage baked into the IMAP protocol
merely because of flaws in the reference implementation.) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262477</link><pubDate>Mon, 17 Apr 2017 11:31:19 +0500</pubDate><title>Re: LDAP and users</title><guid isPermaLink="false">4262477@Uncensored</guid><description><![CDATA[<html><body>

<p>That works for me. I am working on one of our delis tonight doing some repairs.</p>
<p> </p>
<p>I had one thing jump to the front of the Queue.</p>
<p>This is another broken implementation of IMAP which needs to be fixed to be correct according to RFC.</p>
<p>There is no UIDVALIDITY being returned by the server when returning  COPYUID (moving messages from one mailbox to another)...</p>
<p>https://tools.ietf.org/html/rfc2359#section-4.3</p>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;">resp_code_copy  ::= "COPYUID" SPACE nz_number SPACE set SPACE set</pre>
<p>Here is a pastebin of the error and what citadel is returning.</p>
<p> </p>
<p>https://pastebin.mozilla.org/9019125</p>
<p> </p>
<blockquote>
<p>B00115 UID COPY 8929,30255 INBOX/BD</p>
<p><span style="background-color: #ffffff; color: #000000;">B00115 OK [COPYUID 8929,30255] UID COPY completed</span></p>
<p><span style="background-color: #ffffff; color: #000000;"><br /></span></p>
</blockquote>
<p> </p>
<p>The appropriate response would be (assuming that citadel defaults to 1 for UIDVALIDITY)</p>
<blockquote>
<p> </p>
<p><span style="background-color: #ffffff; color: #000000;">B00115 OK [COPYUID 1 8929,30255 9859,31230] UID COPY completed</span></p>
</blockquote>
<p>Where 1 is UIDVALIDITY; 8929,30255 is the UID of the source message(s) to be copied; and  9859,31230 is the destination UID assigned to the message in the new location (I made those numbers up)</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Mon Apr 17 2017 09:27:28 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: LDAP and users</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">I was out for a week, and I'm back now. Tonight I have to finish my taxes :( But this issue is still at the front of the queue and we'll have a look at it this week. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262455</link><pubDate>Mon, 17 Apr 2017 09:27:28 +0500</pubDate><title>Re: LDAP and users</title><guid isPermaLink="false">4262455@Uncensored</guid><description><![CDATA[I was out for a week, and I'm back now.  Tonight I have to finish my taxes
:(    But this issue is still at the front of the queue and we'll have a look
at it this week. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4262325</link><pubDate>Sun, 16 Apr 2017 11:20:09 +0500</pubDate><title>Re: LDAP and users</title><guid isPermaLink="false">4262325@Uncensored</guid><description><![CDATA[<html><body>

<p>Where are we at? Been about a week since this, with no input (I know you said you were going to be out for about a week, so I am just checking where things are at).</p>
<blockquote>
<div class="message_header"><span>Fri Apr 07 2017 11:54:59 AM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: LDAP and users</span></div>
<div class="message_content">
<p>I guess my last post was too long, and probably better for me to just repost something simple.</p>
<p> </p>
<p>First off, the things affecting citserver itself (trying to keep webcit out of it as long as I can)...</p>
<p>Ability to flag hidden users - I have certain users which need to be able to send and receive mail, but do not need to be listed in the GAB, or other contact lists without being expressly added (no auto disclosure).</p>
<p>I can get into more details if needed.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4257417</link><pubDate>Sun, 09 Apr 2017 11:37:37 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4257417@Uncensored</guid><description><![CDATA[<html><body>

<p>So far I like ctdlsh, but like you said, it is not mature. I tried export, which took a long time, but for the life of me, I cannot find the resulting file. </p>
<blockquote>
<div class="message_header"><span>Fri Apr 07 2017 04:04:51 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: WebCit and CitServer upgrade</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Does ctdlsh take standard commands as if sent through sendcommand? </blockquote>
<br />No, ctdlsh takes ctdlsh commands. It communicates to the server through the admin socket, just like sendcommand does, but where sendcommand is intended to give you a way to speak to Citadel in its own language, ctdlsh is intended to give you a way to speak to Citadel in a shell language that makes sense. <br />But it's not mature. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4237225</link><pubDate>Fri, 07 Apr 2017 16:57:12 +0500</pubDate><title>Message #4237225</title><guid isPermaLink="false">4237225@Uncensored</guid><description><![CDATA[<html><body>

<p>I will not be checking messages for the next 24 hours or so. If there is any more input needed from me, I will check back tomorrow night and see where things are at, and will be back at it on Sunday.</p>
<p> </p>
<p>Thanks again!</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4236819</link><pubDate>Fri, 07 Apr 2017 16:35:04 +0500</pubDate><title>Message #4236819</title><guid isPermaLink="false">4236819@Uncensored</guid><description><![CDATA[<html><body>

<p>I like ctdlsh - can't wait for more functionality. It feels good.</p>
<p> </p>
<p>export seems really slow... and is there an import?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4236568</link><pubDate>Fri, 07 Apr 2017 16:22:49 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4236568@Uncensored</guid><description><![CDATA[<html><body>

<p>Good to hear... are the commands documented anywhere other than in the code?</p>
<p> </p>
<p>Also, I just fired up webcit-ng and am staring at a 404 error from uncensored. I noticed at one point you had w3.css somewhat in place, but it seems that is gone... </p>
<blockquote>
<div class="message_header"><span>Fri Apr 07 2017 04:04:51 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: WebCit and CitServer upgrade</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Does ctdlsh take standard commands as if sent through sendcommand? </blockquote>
<br />No, ctdlsh takes ctdlsh commands. It communicates to the server through the admin socket, just like sendcommand does, but where sendcommand is intended to give you a way to speak to Citadel in its own language, ctdlsh is intended to give you a way to speak to Citadel in a shell language that makes sense. <br />But it's not mature. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4236202</link><pubDate>Fri, 07 Apr 2017 16:04:51 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4236202@Uncensored</guid><description><![CDATA[ >Does ctdlsh take standard commands as if sent through sendcommand?    
  
 No, ctdlsh takes ctdlsh commands.  It communicates to the server through
the admin socket, just like sendcommand does, but where sendcommand is intended
to give you a way to speak to Citadel in its own language, ctdlsh is intended
to give you a way to speak to Citadel in a shell language that makes sense.
 But it's not mature. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4236166</link><pubDate>Fri, 07 Apr 2017 16:02:22 +0500</pubDate><title>Webcit-ng</title><guid isPermaLink="false">4236166@Uncensored</guid><description><![CDATA[<html><body>

<p>what is the current state? I am getting the feeling that a lot of my needs are tied into web implementation, and it might be better to get that foundation in place for a better UI/UX for over half my (and probably others) users.</p>
<p> </p>
<p>Is it going to still have support for Calendars and all the other groupware stuff?</p>
<p> </p>
<p>Also, it was just brought to my attention that one major bug which has bitten a few of our users is that drafts are not auto-saved when using webcit.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4235983</link><pubDate>Fri, 07 Apr 2017 15:53:46 +0500</pubDate><title>Message #4235983</title><guid isPermaLink="false">4235983@Uncensored</guid><description><![CDATA[I just pushed another minor change out.  Temporarily undeliverable outbound
mail was being retried a bit too aggressively, after I accidentally committed
a testing hack.  The update restores the normal behavior of reasonable retry
times. 
  
 By the way, the new version no longer does exponential backoff.  We now retry
once every 30 minutes for the first four hours, and then once every four hours
for the next five days. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4235948</link><pubDate>Fri, 07 Apr 2017 15:52:00 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4235948@Uncensored</guid><description><![CDATA[<html><body>

<p>Does ctdlsh take standard commands as if sent through sendcommand?</p>
<blockquote>
<div class="message_header"><span>Tue Feb 14 2017 11:24:16 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: WebCit and CitServer upgrade</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Who was asking about ctdlsh? I made an important change to it tonight. <br /><br />You can now enter a single ctdlsh command on the command line, which makes ctdlsh usable in scripts. (Basically I was taking a cue from virsh, which I think was my inspiration for ctdlsh in the first place.) <br /><br />So you can do <br /><br />ctdlsh [-h citadel_dir] [cmd] <br /><br />If you don't enter a command it goes into interactive mode. <br /><br />Now we just need some good ideas for things to make ctdlsh able to do. :) <br />Right now it can read and manipulate the server configuration, which is all-by-itself a pretty useful thing to be able to do. It can shutdown the server, read the list of logged-in users, reset account passwords, maybe a few other things. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4230185</link><pubDate>Fri, 07 Apr 2017 11:55:48 +0500</pubDate><title>Message #4230185</title><guid isPermaLink="false">4230185@Uncensored</guid><description><![CDATA[<html><body>

<p>I guess I kept it generic enough on the last one that it isn't actually just an ldap issue :)</p>
<p> </p>
<p>Issue 1a) ability to edit an existing post :)</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4230156</link><pubDate>Fri, 07 Apr 2017 11:54:59 +0500</pubDate><title>LDAP and users</title><guid isPermaLink="false">4230156@Uncensored</guid><description><![CDATA[<html><body>

<p>I guess my last post was too long, and probably better for me to just repost something simple.</p>
<p> </p>
<p>First off, the things affecting citserver itself (trying to keep webcit out of it as long as I can)...</p>
<p>Ability to flag hidden users - I have certain users which need to be able to send and receive mail, but do not need to be listed in the GAB, or other contact lists without being expressly added (no auto disclosure).</p>
<p>I can get into more details if needed.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4229736</link><pubDate>Fri, 07 Apr 2017 11:39:04 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4229736@Uncensored</guid><description><![CDATA[<html><body>

<p>Working for most: Thunderbird, Claws-mail, outlook 2010 and before (with help) mac mail (with help)</p>
<p>Not working: EssentialPIM, Evolution (although the devs there were nice enough to patch their client to work with the faulty server...) , outlook2013, Chaos Intellect (I am sure there were others...)</p>
<p> </p>
<p>I will be unavailable this next week on and off as well, so it should work out. I am not usually around late at night, unless something is really broken, but usually respond if I am around. </p>
<p> </p>
<p>I was posting a message, and unfortunately, citadel crashed in between me writing it and trying to send it, so hopefully I can remember everything I typed. bleh.</p>
<blockquote>
<div class="message_header"><span>Thu Apr 06 2017 08:28:35 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Geez. I don't understand how IMAP could have been that broken for that long without more people noticing it. Can you tell me which clients worked and which ones didn't (before we fixed it) ? <br /><br />I'm in US Eastern time too, but I usually hack Citadel late at night. Also note that next week I will be on a business trip and will be online less frequently. <br />We'll keep the conversation going but I will be moving at a slower pace. <br />With my rewrite of the pollers completed, though, our QA routine will be the main activity. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4227514</link><pubDate>Thu, 06 Apr 2017 20:28:35 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4227514@Uncensored</guid><description><![CDATA[Geez.  I don't understand how IMAP could have been that broken for that long
without more people noticing it.  Can you tell me which clients worked and
which ones didn't (before we fixed it) ? 
  
 I'm in US Eastern time too, but I usually hack Citadel late at night.  Also
note that next week I will be on a business trip and will be online less frequently.
 We'll keep the conversation going but I will be moving at a slower pace.
 With my rewrite of the pollers completed, though, our QA routine will be
the main activity. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4227457</link><pubDate>Thu, 06 Apr 2017 16:51:44 +0500</pubDate><title>Time Zone</title><guid isPermaLink="false">4227457@Uncensored</guid><description><![CDATA[<html><body>

<p>I am in NC (so Eastern) and usually available between 9AM and 5:45 PM with a few breaks in there.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4227300</link><pubDate>Thu, 06 Apr 2017 15:46:08 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4227300@Uncensored</guid><description><![CDATA[<html><body>

<p>I am sure it works. I have so far tested it on a couple trouble clients (I do not have outlook on hand to test, but honestly, if everything else works...)</p>
<p>Go ahead and push the change and I will commit to my production server.</p>
<p> </p>
<p>Is it intentional to set the rcpt to limit to 172? I tried sending a message to all users and hit a limit there.</p>
<blockquote>
<div class="message_header"><span>Thu Apr 06 2017 02:41:59 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Ok, I'm going to commit this change, because I'm pretty confident about it -- but not 100.0% confident until you give it some more testing with various clients. Let me know how the testing goes, and if you're satisfied with it we will move on. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4227256</link><pubDate>Thu, 06 Apr 2017 14:41:59 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4227256@Uncensored</guid><description><![CDATA[Ok, I'm going to commit this change, because I'm pretty confident about it
-- but not 100.0% confident until you give it some more testing with various
clients.  Let me know how the testing goes, and if you're satisfied with it
we will move on. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4227243</link><pubDate>Thu, 06 Apr 2017 14:12:43 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4227243@Uncensored</guid><description><![CDATA[<html><body>

<p>Great. I pulled from latest git master, patched and recompiled. looking good so far on tested clients.</p>
<blockquote>
<div class="message_header"><span>Thu Apr 06 2017 01:30:34 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>send me a patch and I can recompile :) </blockquote>
<br />Ok then ... I'll see your pastebin and raise you another pastebin. <br /><br />https://pastebin.mozilla.org/9018168 <br /><br />Apply that patch and tell me if it fixes your IMAP client issue. If it fixes the issue without breaking any other clients (and I expect it will, because that newline definitely wasn't supposed to be there) I will commit it to the tree and we'll move on to whatever your next biggest pain point is. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4227229</link><pubDate>Thu, 06 Apr 2017 13:30:34 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4227229@Uncensored</guid><description><![CDATA[ >send me a patch and I can recompile :)    
  
 Ok then ... I'll see your pastebin and raise you another pastebin. 
  
 https://pastebin.mozilla.org/9018168 
  
 Apply that patch and tell me if it fixes your IMAP client issue.  If it fixes
the issue without breaking any other clients (and I expect it will, because
that newline definitely wasn't supposed to be there) I will commit it to the
tree and we'll move on to whatever your next biggest pain point is. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4227199</link><pubDate>Thu, 06 Apr 2017 11:52:05 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4227199@Uncensored</guid><description><![CDATA[<html><body>

<p>send me a patch and I can recompile :)</p>
<blockquote>
<div class="message_header"><span>Thu Apr 06 2017 11:48:32 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Ok, I think I see the problem. <br /><br />modules/imap/imap_fetch.c , line 190 <br /><br />The \r\n sequence probably needs to be sent into the redirect buffer, not straight to the client. <br /><br />Is there a way I can arrange for you to test your various clients without outright putting that change into production? I might need to set up a staging server for you to connect to. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4227194</link><pubDate>Thu, 06 Apr 2017 11:48:32 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4227194@Uncensored</guid><description><![CDATA[  
 Ok, I think I see the problem. 
  
 modules/imap/imap_fetch.c , line 190 
  
 The \r\n sequence probably needs to be sent into the redirect buffer, not
straight to the client. 
  
 Is there a way I can arrange for you to test your various clients without
outright putting that change into production?  I might need to set up a staging
server for you to connect to. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4227178</link><pubDate>Thu, 06 Apr 2017 11:13:26 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4227178@Uncensored</guid><description><![CDATA[<html><body>

<p>I forgot to put the closing ) after the header... should go on a line by itself </p>
<blockquote>
<div class="message_header"><span>Wed Apr 05 2017 05:12:19 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<p>And to note, other IMAP4rev1 servers I connect to issue the whole response before sending the headers (or message, etc)</p>
<p>so the response should be</p>
<p> </p>
<blockquote>
<p>command:    A007 UID FETCH 375286, 145418 (RFC822.SIZE RFC822.HEADER FLAGS)</p>
<p>response:     * 5 FETCH (UID 375286 RFC822.SIZE 3223 FLAGS (\Answered \Seen) RFC822.HEADER {331}</p>
<div>                   &lt;header here&gt;</div>
</blockquote>
<p> </p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Wed Apr 05 2017 12:47:55 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<p>Here is a pastebin of a session with highlighting indicating the places where trouble is caused...</p>
<p><a href="https://pastebin.mozilla.org/9018063" target="webcit01">https://pastebin.mozilla.org/9018063</a></p>
<p>Notice that the return from citserver on lines 41 and 42 should all be on one line with no \r \n between them. Some clients are erroring because they never see the final ) of line 50 as the completion of the fetch.</p>
<blockquote>
<div class="message_header"><span>Wed Apr 05 2017 12:39:01 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />That's a little confusing but I'll look at it later and try to pick it apart. <br />The ideal situation would be if you could give me the full RFC822 source of a message that produces the problem (redacted of private information if necessary) along with the IMAP command you are sending. Then if we can determine the difference between the expected result and the actual result, that should be enough to produce a fix. <br /><br />And now for a public service announcement to my fellow Citadel developers. <br /><br />I've just finished overhauling all of the modules which perform outbound polling over the network. Originally we had what I will call Gen 1 pollers, which implemented all of the protocol handlers in-tree. This was less than ideal. Then we moved to Gen 2 pollers, which were comprised of a complex matrix of asynchronous event-driven callbacks. The new pollers, which I am calling Gen 3 pollers (with one exception, which I intend to correct) are based on one single princi
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4226453</link><pubDate>Wed, 05 Apr 2017 17:12:19 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4226453@Uncensored</guid><description><![CDATA[<html><body>

<p>And to note, other IMAP4rev1 servers I connect to issue the whole response before sending the headers (or message, etc)</p>
<p>so the response should be</p>
<p> </p>
<blockquote>
<p>command:    A007 UID FETCH 375286, 145418 (RFC822.SIZE RFC822.HEADER FLAGS)</p>
<p>response:     * 5 FETCH (UID 375286 RFC822.SIZE 3223 FLAGS (\Answered \Seen) RFC822.HEADER {331}</p>
<div>                   &lt;header here&gt;</div>
</blockquote>
<p> </p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Wed Apr 05 2017 12:47:55 PM EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<p>Here is a pastebin of a session with highlighting indicating the places where trouble is caused...</p>
<p><a href="https://pastebin.mozilla.org/9018063" target="webcit01">https://pastebin.mozilla.org/9018063</a></p>
<p>Notice that the return from citserver on lines 41 and 42 should all be on one line with no \r \n between them. Some clients are erroring because they never see the final ) of line 50 as the completion of the fetch.</p>
<blockquote>
<div class="message_header"><span>Wed Apr 05 2017 12:39:01 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />That's a little confusing but I'll look at it later and try to pick it apart. <br />The ideal situation would be if you could give me the full RFC822 source of a message that produces the problem (redacted of private information if necessary) along with the IMAP command you are sending. Then if we can determine the difference between the expected result and the actual result, that should be enough to produce a fix. <br /><br />And now for a public service announcement to my fellow Citadel developers. <br /><br />I've just finished overhauling all of the modules which perform outbound polling over the network. Originally we had what I will call Gen 1 pollers, which implemented all of the protocol handlers in-tree. This was less than ideal. Then we moved to Gen 2 pollers, which were comprised of a complex matrix of asynchronous event-driven callbacks. The new pollers, which I am calling Gen 3 pollers (with one exception, which I intend to correct) are based on one single princi
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4226063</link><pubDate>Wed, 05 Apr 2017 12:47:55 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4226063@Uncensored</guid><description><![CDATA[<html><body>

<p>Here is a pastebin of a session with highlighting indicating the places where trouble is caused...</p>
<p>https://pastebin.mozilla.org/9018063</p>
<p>Notice that the return from citserver on lines 41 and 42 should all be on one line with no \r \n between them. Some clients are erroring because they never see the final ) of line 50 as the completion of the fetch.</p>
<blockquote>
<div class="message_header"><span>Wed Apr 05 2017 12:39:01 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />That's a little confusing but I'll look at it later and try to pick it apart. <br />The ideal situation would be if you could give me the full RFC822 source of a message that produces the problem (redacted of private information if necessary) along with the IMAP command you are sending. Then if we can determine the difference between the expected result and the actual result, that should be enough to produce a fix. <br /><br />And now for a public service announcement to my fellow Citadel developers. <br /><br />I've just finished overhauling all of the modules which perform outbound polling over the network. Originally we had what I will call Gen 1 pollers, which implemented all of the protocol handlers in-tree. This was less than ideal. Then we moved to Gen 2 pollers, which were comprised of a complex matrix of asynchronous event-driven callbacks. The new pollers, which I am calling Gen 3 pollers (with one exception, which I intend to correct) are based on one single princi
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4225943</link><pubDate>Wed, 05 Apr 2017 12:39:01 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4225943@Uncensored</guid><description><![CDATA[  
 That's a little confusing but I'll look at it later and try to pick it apart.
 The ideal situation would be if you could give me the full RFC822 source
of a message that produces the problem (redacted of private information if
necessary) along with the IMAP command you are sending.  Then if we can determine
the difference between the expected result and the actual result, that should
be enough to produce a fix. 
  
 And now for a public service announcement to my fellow Citadel developers.

  
 I've just finished overhauling all of the modules which perform outbound
polling over the network.  Originally we had what I will call Gen 1 pollers,
which implemented all of the protocol handlers in-tree.  This was less than
ideal.  Then we moved to Gen 2 pollers, which were comprised of a complex
matrix of asynchronous event-driven callbacks.  The new pollers, which I am
calling Gen 3 pollers
(with one exception, which I intend to correct) are based on one single principle:
"let libcurl do all the work." 
  
 This may seem like a step backward because it returns to the single-threaded
model.  And I want to say in advance to the developers who worked on the asynchronous
code: this is NOT a sleight towards you or to the time spent writing the code.
 I love you, you're a pepper, but the code is just too complex for me to work
with and maintain.  By letting libcurl do all the work we reduced many thousands
of lines of code to just a few hundred, and removed two dependencies from
the build. 
  
 Maybe it's just me who has trouble with the maze of callbacks.  Just know
that the decision was not made lightly and I really really hope that the developers
whose code was removed will not be upset about it. 
  
 Now for an exception to the rule.  There is one poller, serv_networkclient.c
, that looks more like a Gen 1 poller than a Gen 3 poller.  This is ugly and
I don't like it either, but since libcurl (understandably) doesn't have a
handler for our protocol, there wasn't a choice.  Consider it temporary. 
In the future I want to eliminate the idea of Citadel nodes polling each other
completely.  We will either encapsulate room sharing packets inside email
messages and deliver them over SMTP, or even better, share rooms using NNTP
so the other node doesn't have to be a Citadel at all. 
  
 Priorities now: 
  
 1. Fix the issues bennabiy is indicating, one at a time and in order of priority

 2. Get back to building WebCit-NG 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4225786</link><pubDate>Wed, 05 Apr 2017 11:16:51 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4225786@Uncensored</guid><description><![CDATA[<html><body>

<p>No, and thank you for asking.</p>
<p> </p>
<p>Priority is getting IMAP working and fully implemented for all clients (except outlook...)  It would be beneficial to support the IMAPx, for the server to be able to push email to clients by supporting IDLE, but if that is too difficult to start with, then just fixing the broken implementation of IMAP4rev1 would be a good start. The current support for IMAP works, but not on all clients, and not all features.</p>
<p> </p>
<p>These are my observations so far regarding IMAP - </p>
<ul>
<li>FETCH command is split in the middle of the command (according to RFC822, headers can be split by newline, but not the command itself) </li>
</ul>
<blockquote>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;">per https://tools.ietf.org/html/rfc3501</pre>
<h2 style="line-height: 0pt; display: inline; font-size: 1em;"><a class="selflink" style="color: black; text-decoration-line: none;" name="section-9" href="https://tools.ietf.org/html/rfc3501#section-9">9</a>. Formal Syntax</h2>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;"><span class="h2" style="line-height: 0pt; display: inline; font-family: monospace; font-size: 1em; font-weight: bold;"></span>

   The following syntax specification uses the Augmented Backus-Naur
   Form (ABNF) notation as specified in [ABNF].

   In the case of alternative or optional rules in which a later rule
   overlaps an earlier rule, the rule which is listed earlier MUST take
   priority.  For example, "\Seen" when parsed as a flag is the \Seen
   flag name and not a flag-extension, even though "\Seen" can be parsed
   as a flag-extension.  Some, but not all, instances of this rule are
   noted below.

        Note: [ABNF] rules MUST be followed strictly; in
        particular:

        (1) Except as noted otherwise, all alphabetic characters
        are case-insensitive.  The use of upper or lower case
        characters to define token strings is for editorial clarity
        only.  Implementations MUST accept these strings in a
        case-insensitive fashion.

        (2) In all cases, SP refers to exactly one space.  It is
        NOT permitted to substitute TAB, insert additional spaces,
        or otherwise treat SP as being equivalent to LWSP.

        (3) The ASCII NUL character, %x00, MUST NOT be used at any
        time.</pre>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;"> </pre>
<pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;">fetch           = "FETCH" SP sequence-set SP ("ALL" / "FULL" / "FAST" / fetch-att / "(" fetch-att *(SP fetch-att) ")")

fetch-att       = "ENVELOPE" / "FLAGS" / "INTERNALDATE" / "<a href="https://tools.ietf.org/html/rfc822">RFC822</a>" [".HEADER" / ".SIZE" / ".TEXT"] / "BODY" ["STRUCTURE"] / "UID" / "BODY" section ["&lt;" number "." nz-number "&gt;"] / "BODY.PEEK" section ["&lt;" number "." nz-number "&gt;"]</pre>
</blockquote>
<div>The output from citadel as of current (an example logged from evolution)</div>
<div> </div>
<blockquote>
<div>
<div>[imapx:A] I/O: '* 1 FETCH (UID 145342 RFC822.SIZE 3918 ^M</div>
<div>RFC822.HEADER {247}^M</div>
<div>Return-Path: userb@example.net^M</div>
<div>Date: Sun, 29 Jan 2017 11:35:31 -0500^M</div>
<div>To: usera@example.net^M</div>
<div>Subject: Test^M</div>
<div>Message-ID: &lt;da4845f637bf1b3494037561af73468f@example.net&gt;^M</div>
<div>From: "User B" &lt;userb@example.net&gt;^M</div>
<div> FLAGS (\Seen))^M</div>
</div>
</blockquote>
<div>with an explanation from the devs there... https://bugzilla.gnome.org/show_bug.cgi?id=780617</div>
<div> </div>
<div> </div>
<div>
<ul>
<li>IMAP flags / tags being cleared (client supplied, like labels, important flags, etc) I am not so much asking for the web client to implement them, but if the server could not strip the tags which the client adds...</li>
</ul>
</div>
<div> </div>
<div>We can start there, and re-evaluate after that. Let me know if that is not clear enough :) </div>
<div> </div>
<div>Thank you for all that you do.</div>
<blockquote>
<div class="message_header"><span>Tue Apr 04 2017 09:19:19 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Status?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Ok, for starters I have to apologize for appearing to have gone missing for a little while in terms of development. I had a little thing I wanted to do with citserver and ended up going down a rabbit hole that was way deeper than I planned. <br /><br />So ... is the address book on room access controls still our top priority? </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4225651</link><pubDate>Tue, 04 Apr 2017 21:19:19 +0500</pubDate><title>Re: Status?</title><guid isPermaLink="false">4225651@Uncensored</guid><description><![CDATA[  
 Ok, for starters I have to apologize for appearing to have gone missing for
a little while in terms of development.  I had a little thing I wanted to
do with citserver and ended up going down a rabbit hole that was way deeper
than I planned. 
  
 So ... is the address book on room access controls still our top priority?

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4225515</link><pubDate>Tue, 04 Apr 2017 10:16:24 +0500</pubDate><title>Status?</title><guid isPermaLink="false">4225515@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, some of the others in my group are expressing concerns at the incomplete implementation of IMAP in citadel (not just IMAP4rev1 vs IMAPx, but the way IMAP features are not supported or are broken across multiple clients) which is causing them to lack faith in using Citadel for our crucial communications platform. I have tried to reassure them that things are happening to fix things, but it is hard to keep saying that when there is no communication for a while. We switched to citadel because of the ability to have a totally closed system for our own communications, rather than a "public" email server which would have to be filtered heavily. </p>
<p> </p>
<p>I know you are busy, and this is not your primary work, and I hope this does not come across as a lack of appreciation for what you have done. We are primarily dealing with people who have no clue about a BBS system compared to a fill in the blank, and just need some way to communicate securely. I would appreciate hearing your thoughts on the matter, and your honest appraisal of where things are at. I know some of our issues relate to the way LDAP support is implemented in citadel, (not just with the webcit, but actually citserver itself) but some of the issues are potential show stoppers.</p>
<p> </p>
<p>Thank you.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4220026</link><pubDate>Tue, 28 Mar 2017 12:44:22 +0500</pubDate><title>Re: A Side note</title><guid isPermaLink="false">4220026@Uncensored</guid><description><![CDATA[<html><body>

Great. Looking forward to it in production.
<br />
    <blockquote> <div class="message_header"> <span>Mon Mar 27 2017 12:10:51 PM EDT</span> 

<span>from 

IGnatius T Foobar @ Uncensored
</span>

<span class="message_subject">Subject: Re: A Side note</span>
</div>
  
 <div class="message_content"> <div class="fmout-JUSTIFY">
<blockquote>Have you considered using node.js for webcit backend?  
<br></blockquote><br>Writing server-side code in JavaScript is all the rage these days, and I&#39;m
really happy about that. 
<br><br>WebCit-NG isn&#39;t a *complete* rewrite, though.  I&#39;m bringing over a lot of
code from legacy WebCit, which is written in C.  The web server itself is
a beautiful C program, very efficient and well-organized, that serves up fundamental
data objects in a REST/DAV type of fashion, and then we&#39;re using client-side
JavaScript to render the user interface. 
<br><br>So we&#39;ve got a nice breakdown of languages: all of the heavy lifting is being
done by the C server engine, and all of the fluffy webby stuff is being done
by the JavaScript client. 
<br></div><br>

 
</div>
</blockquote>

<br />


]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4220021</link><pubDate>Tue, 28 Mar 2017 12:41:52 +0500</pubDate><title>Message #4220021</title><guid isPermaLink="false">4220021@Uncensored</guid><description><![CDATA[<html><body>

<p>Here is an image which will give you an idea...(attached)</p>
<p>The issue is when LDAP users exist (and have an entry in the GAB even), there is no population of the server Users list when trying to add people to access lists etc. </p>
<p> </p>
<p>As current, you can only select entries from the GAB, and guess that if you remove the email address from each entry you select then you would be able to add people that way, but if I need to add 250 people to a room, that is crazy.</p>
<p> </p>
<p>Need more details? It should be a simple fix to just add the same entry that gets referenced by the system to know that the users are valid email recipients and just strip the email address portion of the entry to make a list (LDAP Users) or some such.</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Mon Mar 27 2017 12:05:40 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>IG, thoughts on my first issue? If you need a couple issues which you might </blockquote>
<br />
<blockquote>be able to do quicker, I could set up a list and you can pick which one</blockquote>
to <br />
<blockquote>work on as you know your time better than I do. </blockquote>
<br />I'm trying to understand it, actually. <br /><br />Are you having trouble selecting users because they're only in LDAP and they haven't yet been created in Citadel, and therefore can't be selected? <br /><br />If so, that would be implemented as some sort of function in Citadel Server that tells it to go through your LDAP tree and auto-populate Citadel with all potential users that it finds. We could do that. <br /><br />Or is there a dialog of some sort that is missing in WebCit? I'm ntrying not to spend a lot of cycles adding functionality to legacy WebCit since it's being replaced with WebCit-NG, but if it's something I can bang out in an hour, it's a possibility. <br /><br />Please clarify what you're looking for and we'll see what we can do. And yes I'd really rather have you give me the things to work on one at a time. If we decide that the next item on the list is not something we want to do at this time, we'll move on from there, but let's still go one at a time. I'll lose track otherwise. <br 
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4219201</link><pubDate>Mon, 27 Mar 2017 12:10:51 +0500</pubDate><title>Re: A Side note</title><guid isPermaLink="false">4219201@Uncensored</guid><description><![CDATA[ >Have you considered using node.js for webcit backend?  
  
 Writing server-side code in JavaScript is all the rage these days, and I'm
really happy about that. 
  
 WebCit-NG isn't a *complete* rewrite, though.  I'm bringing over a lot of
code from legacy WebCit, which is written in C.  The web server itself is
a beautiful C program, very efficient and well-organized, that serves up fundamental
data objects in a REST/DAV type of fashion, and then we're using client-side
JavaScript to render the user interface. 
  
 So we've got a nice breakdown of languages: all of the heavy lifting is being
done by the C server engine, and all of the fluffy webby stuff is being done
by the JavaScript client. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4219195</link><pubDate>Mon, 27 Mar 2017 12:05:40 +0500</pubDate><title>Message #4219195</title><guid isPermaLink="false">4219195@Uncensored</guid><description><![CDATA[ >IG, thoughts on my first issue? If you need a couple issues which you might
 
 >be able to do quicker, I could set up a list and you can pick which one
to  
 >work on as you know your time better than I do.    
  
 I'm trying to understand it, actually. 
  
 Are you having trouble selecting users because they're only in LDAP and they
haven't yet been created in Citadel, and therefore can't be selected? 
  
 If so, that would be implemented as some sort of function in Citadel Server
that tells it to go through your LDAP tree and auto-populate Citadel with
all potential users that it finds.  We could do that. 
  
 Or is there a dialog of some sort that is missing in WebCit?  I'm ntrying
not to spend a lot of cycles adding functionality to legacy WebCit since it's
being replaced with WebCit-NG, but if it's something I can bang out in an
hour, it's a possibility. 
  
 Please clarify what you're
looking for and we'll see what we can do.  And yes I'd really rather have
you give me the things to work on one at a time.  If we decide that the next
item on the list is not something we want to do at this time, we'll move on
from there, but let's still go one at a time.  I'll lose track otherwise.
 My time management skills are terrible. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4218114</link><pubDate>Fri, 24 Mar 2017 15:37:15 +0500</pubDate><title>Message #4218114</title><guid isPermaLink="false">4218114@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, thoughts on my first issue? If you need a couple issues which you might be able to do quicker, I could set up a list and you can pick which one to work on as you know your time better than I do.</p>
<p>Would be nice to hear at least a "looking over it... or whatever" :) </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4217870</link><pubDate>Thu, 23 Mar 2017 17:46:55 +0500</pubDate><title>Message #4217870</title><guid isPermaLink="false">4217870@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Mar 22 2017 16:28:12 EDT</span><span>from bennabiy @ Uncensored </span></div>
<div class="message_content">
<p>What OS do you run on your server?</p>
</div>
</blockquote>
<div class="message_content">
<p>Gentoo with a self compiled monolithic kernel. I is definitely a layer 8 failure, since I ran into the same problem with two different network cards.</p>
</div>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4217282</link><pubDate>Wed, 22 Mar 2017 16:28:12 +0500</pubDate><title>Message #4217282</title><guid isPermaLink="false">4217282@Uncensored</guid><description><![CDATA[<html><body>

<p>What OS do you run on your server?</p>
<blockquote>
<div class="message_header"><span>Wed Mar 22 2017 04:14:22 PM EDT</span> <span>from the_mgt @ Uncensored </span></div>
<div class="message_content">
<p>Swamped up in work here, too.</p>
<p>Since you live closer to IBM central then me, can you please drive over and tell them to doing systems management here?</p>
<p>They incredibly inefficient and incompetent at the same time, it is as if they skim the market and pickt the most unfit persons for a certain task and higher them right away. In bad contracts with low wages.</p>
<p>In other news, I bought a new SSD for my workstation and a 1gbit lan card for my basement server. Need some spare time to get the both up and working, it seems I am too incompetent to get the lan card flying. My horns grew too large to fit through the door, either I am too stupid to configure a kernel or there is something I am not understanding. Looking forward to get my dev environment up and running this weekend.</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4217270</link><pubDate>Wed, 22 Mar 2017 16:15:48 +0500</pubDate><title>Message #4217270</title><guid isPermaLink="false">4217270@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Mar 22 2017 16:14:22 EDT</span> <span>from the_mgt @ Uncensored</span></div>
<div class="message_content">
<p>Since you live closer to IBM central then me, can you please drive over and tell them to doing systems management here?</p>
</div>
</blockquote>
<p>That should have been</p>
<p style="text-align: center;"><span style="color: #000080; background-color: #f0f0f0;">Since you live closer to IBM central th<em>a</em>n me, can you please drive over and tell them to <em>stop</em> doing systems management here?</span></p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4217265</link><pubDate>Wed, 22 Mar 2017 16:14:22 +0500</pubDate><title>Message #4217265</title><guid isPermaLink="false">4217265@Uncensored</guid><description><![CDATA[<html><body>

<p>Swamped up in work here, too.</p>
<p>Since you live closer to IBM central then me, can you please drive over and tell them to doing systems management here?</p>
<p>They incredibly inefficient and incompetent at the same time, it is as if they skim the market and pickt the most unfit persons for a certain task and higher them right away. In bad contracts with low wages.</p>
<p>In other news, I bought a new SSD for my workstation and a 1gbit lan card for my basement server. Need some spare time to get the both up and working, it seems I am too incompetent to get the lan card flying. My horns grew too large to fit through the door, either I am too stupid to configure a kernel or there is something I am not understanding. Looking forward to get my dev environment up and running this weekend.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4217218</link><pubDate>Wed, 22 Mar 2017 15:06:04 +0500</pubDate><title>A Side note</title><guid isPermaLink="false">4217218@Uncensored</guid><description><![CDATA[<html><body>

<p>Have you considered using node.js for webcit backend?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4216686</link><pubDate>Tue, 21 Mar 2017 15:39:32 +0500</pubDate><title>Issue 1</title><guid isPermaLink="false">4216686@Uncensored</guid><description><![CDATA[<html><body>

<p>LDAP users do not have a mechanism to pick users from a list for things like Access Controls. I manually remove the email address portions from a GAB entry or other such contact list to be able to add users by point and click. I have users with LONG names which are easy to get wrong if manually typing out.</p>
<p>If there was an exposed user account list (in a way which a click to add list could work) apart from the GAB (or if it involved the GAB, a smart detection which would auto strip the unneeded portions from the selection) and along with that, the option to hide users from display on that list and the GAB.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4216595</link><pubDate>Tue, 21 Mar 2017 09:42:41 +0500</pubDate><title>Re: Thread limit</title><guid isPermaLink="false">4216595@Uncensored</guid><description><![CDATA[<html><body>

<p>I'd prefer to discuss here; I don't usually frequent the IRC channel.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4216134</link><pubDate>Sun, 19 Mar 2017 17:31:33 +0500</pubDate><title>Re: Thread limit</title><guid isPermaLink="false">4216134@Uncensored</guid><description><![CDATA[<html><body>

<p>Do you have a better suggestion? I am often in the #citadel room in IRC, but not much happens there...</p>
<p>I have somewhat of a priority list, but I think it would take a little thought on how to word the first priority. I will wait to hear where you would like the discussion to take place, and then can post there as appropriate.</p>
<p> </p>
<p>Thank you for responding. </p>
<blockquote>
<div class="message_header"><span>Fri Mar 17 2017 11:10:38 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Thread limit</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Still on it, I'm just a little swamped at work right now. Let's figure out what your biggest priorities are and we'll tackle them one at a time. We can do it in here if you want to, but again, *one* at a time. Consider yourself part of the QA team. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4215353</link><pubDate>Fri, 17 Mar 2017 23:10:38 +0500</pubDate><title>Re: Thread limit</title><guid isPermaLink="false">4215353@Uncensored</guid><description><![CDATA[Still on it, I'm just a little swamped at work right now.  Let's figure out
what your biggest priorities are and we'll tackle them one at a time.  We
can do it in here if you want to, but again, *one* at a time.  Consider yourself
part of the QA team. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4215242</link><pubDate>Fri, 17 Mar 2017 14:55:51 +0500</pubDate><title>Thread limit</title><guid isPermaLink="false">4215242@Uncensored</guid><description><![CDATA[<html><body>

<p>I must have hit my thread limit with support requests... or IG is taking 29 days to celebrate the 29th year...</p>
<p> </p>
<p>Seriously though, I do appreciate the response you have had to our needs. I would like to work with you to resolve the rest of these issues regarding your current master.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4215197</link><pubDate>Fri, 17 Mar 2017 11:49:19 +0500</pubDate><title>BerkeleyDB</title><guid isPermaLink="false">4215197@Uncensored</guid><description><![CDATA[<html><body>

<p>I understand a little (read practically none, but increasing) about BerkeleyDB but I do remember reading that the file size of the DB will not go down, but if you remove information, it acts like a sparse storage where it will not grow again until it exceeds the size of space in the current allocated file...</p>
<p> </p>
<p>If that is correct, is it possible to write something which can "compress" the DB to the actual size before, say, sending it over a network? Even if it would need to use more space to create the files initially, and then either replace the old, or set the compressed into a subdir, I think it would make backup of tables like the <span style="font-family: sans-serif; font-size: 16px; text-align: justify;">CDB_BIGMSGS </span> easier to copy across a network.</p>
<p> </p>
<p>Does the migration script already do this?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4215165</link><pubDate>Fri, 17 Mar 2017 11:01:24 +0500</pubDate><title>Re: Any updates?</title><guid isPermaLink="false">4215165@Uncensored</guid><description><![CDATA[Sort of.  In server.h there's an enum type, so start at 0 and count up  :)

 enum { 
        CDB_MSGMAIN,            /* message base                  */ 
        CDB_USERS,              /* user file                     */ 
        CDB_ROOMS,              /* room index                    */ 
        CDB_FLOORTAB,           /* floor index                   */ 
        CDB_MSGLISTS,           /* room message lists            */ 
        CDB_VISIT,              /* user/room relationships       */ 
        CDB_DIRECTORY,          /* address book directory        */ 
        CDB_USETABLE,           /* network use table             */ 
        CDB_BIGMSGS,            /* larger message bodies         */ 
        CDB_FULLTEXT,           /* full text search index        */ 
        CDB_EUIDINDEX,          /* locate msgs by EUID           */ 
        CDB_USERSBYNUMBER,      /* index of users by number
     */ 
        CDB_OPENID,             /* associates OpenIDs with users */ 
        CDB_CONFIG,             /* system configuration database */ 
        MAXCDB                  /* total number of CDB's defined */ 
 }; 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4215142</link><pubDate>Fri, 17 Mar 2017 10:07:44 +0500</pubDate><title>Any updates?</title><guid isPermaLink="false">4215142@Uncensored</guid><description><![CDATA[<html><body>

<p>Is there a list somewhere which specifies which cdb files are what?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4212336</link><pubDate>Sun, 12 Mar 2017 11:53:05 +0500</pubDate><title>Re: webcit-ng branch is no more</title><guid isPermaLink="false">4212336@Uncensored</guid><description><![CDATA[<html><body>

<p>That is great! I realized that was my issue when I tried to compile against the git is that I still was following the webcit-ng branch, so the compile failed.</p>
<p> </p>
<p>It looks like it worked this time. Will let you know if there are issues.</p>
<blockquote>
<div class="message_header"><span>Sun Mar 12 2017 12:34:44 AM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: webcit-ng branch is no more</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />ATTENTION: webcit-ng is no longer a git branch. I got tired of all the merging crap. <br /><br />webcit-ng is now a separate directory (right next to webcit) in git master. <br /><br />That is all. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4212198</link><pubDate>Sun, 12 Mar 2017 00:34:44 +0500</pubDate><title>webcit-ng branch is no more</title><guid isPermaLink="false">4212198@Uncensored</guid><description><![CDATA[  
 ATTENTION: webcit-ng is no longer a git branch.  I got tired of all the merging
crap. 
  
 webcit-ng is now a separate directory (right next to webcit) in git master.

  
 That is all. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4211362</link><pubDate>Thu, 09 Mar 2017 20:24:04 +0500</pubDate><title>Re: git.citadel.org down?</title><guid isPermaLink="false">4211362@Uncensored</guid><description><![CDATA[<html><body>

<p>I remembered your original post about webcit-ng being hard coded to uncensored, so, good to hear it is able to be switched.</p>
<p> </p>
<p>I tried to do an update to my system, but it failed on webcit (I will have to check to see if I have it still on the webcit-ng branch) I will let you know tomorrow.</p>
<blockquote>
<div class="message_header"><span>Wed Mar 08 2017 06:43:20 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: git.citadel.org down?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Yes, die in a car fire :) <br /><br />webcit-ng can point to any Citadel server you want. Just append the host and, optionally, port number of your Citadel server to the webcit command line. <br /><br />Of course, webcit-ng is kind of broken right now because the switch to w3.css isn't fully absorbed, and I'm currently working on the main line code. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4210166</link><pubDate>Wed, 08 Mar 2017 18:43:20 +0500</pubDate><title>Re: git.citadel.org down?</title><guid isPermaLink="false">4210166@Uncensored</guid><description><![CDATA[  
 Yes, die in a car fire   :) 
  
 webcit-ng can point to any Citadel server you want.  Just append the host
and, optionally, port number of your Citadel server to the webcit command
line. 
  
 Of course, webcit-ng is kind of broken right now because the switch to w3.css
isn't fully absorbed, and I'm currently working on the main line code. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4209806</link><pubDate>Wed, 08 Mar 2017 17:29:44 +0500</pubDate><title>Re: git.citadel.org down?</title><guid isPermaLink="false">4209806@Uncensored</guid><description><![CDATA[<html><body>

<p>So, die in a car fire?</p>
<blockquote>
<div class="message_header"><span>Wed Mar 08 2017 04:40:24 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: git.citadel.org down?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">... So ... thank you for that. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4209794</link><pubDate>Wed, 08 Mar 2017 17:28:59 +0500</pubDate><title>Re: git.citadel.org down?</title><guid isPermaLink="false">4209794@Uncensored</guid><description><![CDATA[<html><body>

<p>Glad to help. As I have said before, we really appreciate this project, and look forward to many years of using it. We are very thankful that you responded right away, as these issues do affect us. I would be interested if webcit-ng could be optionally set to track the local citserver rather than hardcode to uncensored.</p>
<blockquote>
<div class="message_header"><span>Wed Mar 08 2017 04:40:24 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: git.citadel.org down?</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Whoops ... I put that server behind a firewall a couple of weeks ago and didn't open port 9418. Should be fixed now. <br /><br />Thanks for tracking the latest changes. For some reason, your feedback has really been great for the project recently. It must be that you are providing just the right amount of feedback at just the right pace, willing to work with us to evaluate/test changes, and have a sensible way of prioritizing the urgency and non-urgency of various issues. So ... thank you for that. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4209492</link><pubDate>Wed, 08 Mar 2017 16:40:24 +0500</pubDate><title>Re: git.citadel.org down?</title><guid isPermaLink="false">4209492@Uncensored</guid><description><![CDATA[Whoops ... I put that server behind a firewall a couple of weeks ago and didn't
open port 9418.  Should be fixed now. 
  
 Thanks for tracking the latest changes.  For some reason, your feedback has
really been great for the project recently.  It must be that you are providing
just the right amount of feedback at just the right pace, willing to work
with us to evaluate/test changes, and have a sensible way of prioritizing
the urgency and non-urgency of various issues.   So ... thank you for that.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4209340</link><pubDate>Wed, 08 Mar 2017 16:20:28 +0500</pubDate><title>git.citadel.org down?</title><guid isPermaLink="false">4209340@Uncensored</guid><description><![CDATA[<html><body>

<p>I cannot pull the latest from git.</p>
<p> </p>
<p> git clone git://git.citadel.org/appl/gitroot/citadel.git</p>
<p>Cloning into 'citadel'...</p>
<p>fatal: unable to connect to git.citadel.org:</p>
<p>git.citadel.org[0: 216.150.130.115]: errno=Connection timed out</p>
<div> </div>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4204122</link><pubDate>Thu, 02 Mar 2017 13:40:23 +0500</pubDate><title>Message #4204122</title><guid isPermaLink="false">4204122@Uncensored</guid><description><![CDATA[The simplified RSS reader has now been published (Citadel server v906).  It's
not running on Uncensored yet, but I'll push that out maybe tonight.  About
half of our RSS feeds are failing right now. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4203627</link><pubDate>Tue, 28 Feb 2017 15:11:04 +0500</pubDate><title>Message #4203627</title><guid isPermaLink="false">4203627@Uncensored</guid><description><![CDATA[<html><body>

<p>Nice to hear, will have a look at the code thins weekend. The "transition phase" at the new job is a disaster.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4202614</link><pubDate>Sun, 26 Feb 2017 19:35:31 +0500</pubDate><title>Message #4202614</title><guid isPermaLink="false">4202614@Uncensored</guid><description><![CDATA[  
 This weekend I rewrote the RSS feed reader.  Since a lot of effort has gone
into the last couple of versions, I wanted to take some time to outline my
current vision for the system and why I'm replacing working code. 
  
 The very short answer is: "simplify." 
  
 My original intention this weekend was to add some code to our SpamAssassin
connector to train the filters right from inside of Citadel, instead of using
an external script.  And when I looked at the code, I realized that at some
point we started making things more complex than they needed to be.  And when
I started looking at the kind of things you can do with libcurl, I realized
that we really want to let libcurl do as much of the heavy lifting as possible.

  
 In the not too distant future I'm going to rip out everything we've done
with the SMTP and POP3 clients, and just let libcurl do all the work.  But
I wanted to start
with something simple, and the RSS feed reader was a good place to start.
 The new code is about a third of the size of the previous version, it's easier
to read, and it still handles multiple versions of RSS/RDF/Atom.  It might
be a few milliseconds slower, because the parser does a series of if/then
lookups instead of putting everything into a hash/callback table, but I really
feel the readability of the code is more important than saving a tiny bit
of CPU time that no one is really going to notice. 
  
 Again, this is about having simple, easy-to-read code.  A decade ago we were
still envisioning a platform that was going to have a big marketplace of plugins
and an API that could do anything.  It's clear that this isn't where Citadel
is going.  Our users *love* that the program is simple, easy to install, and
does lots of different things in a single integrated package.  I want to focus
on that. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4201273</link><pubDate>Thu, 23 Feb 2017 10:36:50 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4201273@Uncensored</guid><description><![CDATA[<html><body>

<p>I tried it out, and while it looks like certain aspects are working quite well, there are some issues with rooms loading when logged in vs not logged in through Firefox and Opera.</p>
<p>I have not looked at the backend implementation yet. </p>
<blockquote>
<div class="message_header"><span>Thu Feb 23 2017 09:49:05 AM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Choosing the right framework</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">So far it's working pretty well. I used the guide at <a href="http://youmightnotneedjquery.com/" target="webcit01">http://youmightnotneedjquery.com/</a> to figure out how to do things without jQuery. Now maybe I've done something horrible, because I've only tested so far on Chrome, but we'll see. <br /><br />The inspiration was of course the fact that W3CSS doesn't use jQuery. Most frameworks just use it because they assume everyone does. <br /><br />And so, IG's dance with jQuery ends after just a few weeks. Legacy webcit uses Prototype and Scriptaculous, which I liked very much, but those are more or less obsolete now. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4201261</link><pubDate>Thu, 23 Feb 2017 09:49:05 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4201261@Uncensored</guid><description><![CDATA[So far it's working pretty well.  I used the guide at http://youmightnotneedjquery.com/
to figure out how to do things without jQuery.  Now maybe I've done something
horrible, because I've only tested so far on Chrome, but we'll see. 
  
 The inspiration was of course the fact that W3CSS doesn't use jQuery.  Most
frameworks just use it because they assume everyone does. 
  
 And so, IG's dance with jQuery ends after just a few weeks.  Legacy webcit
uses Prototype and Scriptaculous, which I liked very much, but those are more
or less obsolete now. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4200246</link><pubDate>Tue, 21 Feb 2017 22:44:46 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4200246@Uncensored</guid><description><![CDATA[<html><body>

<p>That is great. I think these days people are way too dependent on jQuery and the like when often times it can be done easier.</p>
<blockquote>
<div class="message_header"><span>Mon Feb 20 2017 09:11:30 PM EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Choosing the right framework</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Update on that: <br /><br />I did it. No more jQuery. <br /><br />There wasn't a thing in there that couldn't be done a lot easier by simply making calls to getElementById() and XMLHttpRequest() directly. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4200235</link><pubDate>Tue, 21 Feb 2017 21:44:30 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4200235@Uncensored</guid><description><![CDATA[  
 Hey the_mgt , check out the current code in the webcit-ng branch ... I have
*roughly* fit in one of the W3CSS templates.  Looks promising but it needs
some tweaking (which you can probably do better than I can). 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4199845</link><pubDate>Mon, 20 Feb 2017 21:11:30 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4199845@Uncensored</guid><description><![CDATA[  
 Update on that: 
  
 I did it.  No more jQuery. 
  
 There wasn't a thing in there that couldn't be done a lot easier by simply
making calls to getElementById() and XMLHttpRequest() directly. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4198739</link><pubDate>Fri, 17 Feb 2017 16:43:40 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4198739@Uncensored</guid><description><![CDATA[I also noticed that the w3css framework is "pure CSS no javascript".  Well
not quite, the framework is defined in 100% pure CSS but you still need to
use javascript, for example, to invoke and hide a modal. 
  
 But the interesting thing is that, unlike pretty much every other framework
out there, it doesn't require jQuery. 
  
 And I'm thinking that, perhaps, browsers are now standardized enough that
maybe we should do as youmightnotneedjquery.com suggests, and just write directly
to the DOM, and make calls directly to xmlhttprequest().  Is anyone still
using a browser older than IE 9?  Probably so few that we don't really need
to support them. 
  
 That's another reason why WebCit is being rebuilt from the ground up.  There
is just so much cruft in there from the browser wars, we couldn't possibly
strip it all out in a reasonable amount of time.  We now have the luxury of
being able to write to the standards. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4198731</link><pubDate>Fri, 17 Feb 2017 16:37:39 +0500</pubDate><title>Re: DB frontend for configuration troubleshooting</title><guid isPermaLink="false">4198731@Uncensored</guid><description><![CDATA[All right, nothing interesting  there.   :( 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4196580</link><pubDate>Wed, 15 Feb 2017 10:37:07 +0500</pubDate><title>Re: DB frontend for configuration troubleshooting</title><guid isPermaLink="false">4196580@Uncensored</guid><description><![CDATA[<html><body>

<p>Here is a directory listing of /usr/local/citadel </p>
<blockquote>
<p>/usr/local/citadel# ls -lah</p>
<p>total 4.7M</p>
<p>drwxr-xr-x 15 citadel citadel 4.0K Feb 15 03:02 .</p>
<p>drwxr-xr-x 13 root    root    4.0K Feb  1 17:30 ..</p>
<p>-rwxr-xr-x  1 citadel staff   100K Jan 26 18:00 aidepost</p>
<p>-rwxr-xr-x  1 citadel staff    16K Jan 26 18:00 base64</p>
<p>drwx------  2 citadel citadel 4.0K Jan 26 18:00 bitbucket</p>
<p>-rwxr-xr-x  1 citadel staff   103K Jan 26 18:00 chkpw</p>
<p>-rwxr-xr-x  1 citadel staff    11K Jan 26 18:00 chkpwd</p>
<p>-rwxr-xr-x  1 citadel staff   539K Jan 26 18:01 citadel</p>
<p>srwx------  1 root    root       0 Feb 14 06:34 citadel-admin.socket</p>
<p>-rw-rw-rw-  1 root    root       0 Feb 14 06:34 citadel.lock</p>
<p>-rw-rw-rw-  1 root    root       4 Feb 14 06:34 citadel.pid</p>
<p>-rw-r--r--  1 citadel staff    13K Jan 26 18:01 citadel.rc</p>
<p>-rw-r--r--  1 citadel staff   2.0K Jan 26 18:00 citadel.schema</p>
<p>srwxrwsrwx  1 root    root       0 Feb 14 06:34 citadel.socket</p>
<p>-rw-r--r--  1 citadel citadel  617 Jan 26 18:00 citadel_urlshorteners.rc</p>
<p>-rwxr-xr-x  1 citadel staff   107K Jan 26 18:00 citmail</p>
<p>-rwxr-xr-x  1 citadel staff   3.2M Jan 26 18:00 citserver</p>
<p>-rwxr-xr-x  1 citadel staff   105K Jan 26 18:00 ctdlmigrate</p>
<p>drwx------  2 citadel citadel 4.0K Feb 15 10:09 data</p>
<p>-rwxr-xr-x  1 citadel staff   3.1K Jan 26 18:00 database_cleanup.sh</p>
<p>drwxr-sr-x  2 citadel citadel 4.0K Jan 26 18:00 docs</p>
<p>drwx------  4 citadel citadel 4.0K Feb  3 14:25 files</p>
<p>-rw-r--r--  1 citadel citadel 2.3K Jan 26 18:00 funambol_newmail_soap.xml</p>
<p>drwxr-sr-x  2 citadel citadel 4.0K Jan 26 18:00 help</p>
<p>drwxr-sr-x  2 citadel citadel 4.0K Jan 26 18:00 images</p>
<p>drwxr-sr-x  2 citadel citadel 4.0K Jan 26 18:00 info</p>
<p>drwx------  2 citadel citadel 4.0K Jan 26 22:19 keys</p>
<p>srwxrwsrwx  1 root    root       0 Feb 14 06:34 lmtp.socket</p>
<p>srwxrwsrwx  1 root    root       0 Feb 14 06:34 lmtp-unfiltered.socket</p>
<p>drwxr-sr-x 20 citadel citadel 4.0K Jan 26 18:00 locale</p>
<p>drwx------  2 citadel citadel 4.0K Feb  2 09:18 messages</p>
<p>-rwxr-xr-x  1 citadel staff    860 Jan 26 18:00 migrate_aliases.sh</p>
<p>-rwxr-xr-x  1 citadel staff    15K Jan 26 18:00 msgform</p>
<p>drwx------  7 citadel citadel 4.0K Jan 26 18:01 network</p>
<p>-rw-r--r--  1 citadel citadel  138 Jan 26 18:00 notify_about_newmail.js</p>
<p>-rw-r--r--  1 citadel citadel  279 Jan 26 18:00 public_clients</p>
<p>-rw-r--r--  1 citadel staff    488 Jan 26 18:00 README.txt</p>
<p>-rw-------  1 citadel citadel 246K Feb 15 10:27 refcount_adjustments.dat</p>
<p>-rw-r--r--  1 citadel staff   5.6K Jan 26 18:00 rfc2739.schema</p>
<p>-rwxr-xr-x  1 citadel staff   107K Jan 26 18:00 sendcommand</p>
<p>-rwxr-xr-x  1 citadel staff   130K Jan 26 18:00 setup</p>
<p>drwxr-sr-x  2 citadel citadel 4.0K Jan 26 18:00 techdoc</p>
<p>drwxr-sr-x  2 citadel citadel 4.0K Jan 26 18:00 unstripped</p>
<p> </p>
</blockquote>
<p>and here is data/</p>
<blockquote>
<p>/usr/local/citadel/data# ls -lah</p>
<p>total 31G</p>
<p>drwx------  2 citadel citadel 4.0K Feb 15 10:33 .</p>
<p>drwxr-xr-x 15 citadel citadel 4.0K Feb 15 03:02 ..</p>
<p>-rw-------  1 citadel root    225M Feb 15 10:33 cdb.00</p>
<p>-rw-------  1 citadel root    108K Feb 15 10:33 cdb.01</p>
<p>-rw-------  1 citadel root    1.4M Feb 15 10:33 cdb.02</p>
<p>-rw-------  1 citadel root     16K Feb 15 10:09 cdb.03</p>
<p>-rw-------  1 citadel root    1.8M Feb 15 10:33 cdb.04</p>
<p>-rw-------  1 citadel root    976K Feb 15 10:33 cdb.05</p>
<p>-rw-------  1 citadel root     52K Feb 15 10:33 cdb.06</p>
<p>-rw-------  1 citadel root     16K Feb 14 06:34 cdb.07</p>
<p>-rw-------  1 citadel root     30G Feb 15 10:33 cdb.08</p>
<p>-rw-------  1 citadel root     59M Feb 14 06:35 cdb.09</p>
<p>-rw-------  1 citadel root    160K Feb 15 10:33 cdb.0a</p>
<p>-rw-------  1 citadel root     24K Feb 14 10:12 cdb.0b</p>
<p>-rw-------  1 citadel root    8.0K Jan 26 18:01 cdb.0c</p>
<p>-rw-------  1 citadel root    8.0K Feb 15 10:33 cdb.0d</p>
<p>-rw-rw----  1 citadel citadel  10M Feb 15 10:33 log.0000004329</p>
<p> </p>
<p>-rw-rw----  1 citadel citadel  10M Feb 15 10:33 log.0000004330</p>
</blockquote>
<p>No entry like that in syslog.... I think this was a stock easy install with inboxes migrated from a dovecot system.</p>
<p>Also, is there a way to globally set _BASEROOM_ for users? I have so many funny things happening with this system that I am almost thinking about migrating the data to a fresh install (and hopefully not migrate the problems, as well) or just do another mailbox IMAP port to a new system. I am running a 9.01 system on another machine, and it has not had any issues for a while.</p>
<blockquote>
<div class="message_header"><span>Tue Feb 14 2017 23:36:47 EST</span><span>from IGnatius T Foobar @ Uncensored </span><span class="message_subject">Subject: Re: DB frontend for configuration troubleshooting</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">It's weird, I really really did fix that port 504 issue. It was happening on my own system every single time, and it doesn't happen anymore. <br /><br />I agree that whatever is going on with your system, has something to do with the configuration being migrated to the new format. <br /><br />Hmm ... check this please. Let me know if the "citadel.config" and/or "citadel.control" files still exist. Those are supposed to get deleted after they're converted, and if they're not, it will import your old configuration every single time you restart the server. Worse, if the control record keeps getting imported, it'll start re-using message/room/user sequence numbers, which would explain messages appearing in the wrong rooms. <br /><br />Also look for the message "Existing database version on disk is" in your syslog; that's the telltale sign that it's trying to upgrade from an old data format on disk; obviously it shouldn't be doing that on every server run, only on the first run after yo
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4196572</link><pubDate>Wed, 15 Feb 2017 10:21:47 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4196572@Uncensored</guid><description><![CDATA[<html><body>

<p>I was asking about ctdlsh... and that is very encouraging! I am currently having to use sendcommand in my scripts when I add a new user.</p>
<p>Can you make a section where you document the current abilities of it? Also, it would be nice to have the server configuration all in one place and document what can be changed. I am not sure if the API documentation has everything listed with all the configs in the database now.</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Feb 14 2017 23:24:16 EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: WebCit and CitServer upgrade</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Who was asking about ctdlsh? I made an important change to it tonight. <br /><br />You can now enter a single ctdlsh command on the command line, which makes ctdlsh usable in scripts. (Basically I was taking a cue from virsh, which I think was my inspiration for ctdlsh in the first place.) <br /><br />So you can do <br /><br />ctdlsh [-h citadel_dir] [cmd] <br /><br />If you don't enter a command it goes into interactive mode. <br /><br />Now we just need some good ideas for things to make ctdlsh able to do. :) <br />Right now it can read and manipulate the server configuration, which is all-by-itself a pretty useful thing to be able to do. It can shutdown the server, read the list of logged-in users, reset account passwords, maybe a few other things. </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4196419</link><pubDate>Tue, 14 Feb 2017 23:36:47 +0500</pubDate><title>Re: DB frontend for configuration troubleshooting</title><guid isPermaLink="false">4196419@Uncensored</guid><description><![CDATA[ >citserver is not crashing, but it loses or forgets its port number, (I noted
 
 >that you had this same thing happen, but I can reproduce it almost every
time  
 >citserver is restarted) and it does not remember the setting about not 

 >denying self service registration. I have rooms which are unable to be 

 >deleted and messages showing up in the wrong rooms ( saying they are being
 
 >delivered to a user)    
  
 It's weird, I really really did fix that port 504 issue.  It was happening
on my own system every single time, and it doesn't happen anymore. 
  
 I agree that whatever is going on with your system, has something to do with
the configuration being migrated to the new format. 
  
 Hmm ... check this please.  Let me know if the "citadel.config" and/or "citadel.control"
files still exist.  Those are supposed to get deleted after they're converted,
and if they're not, it will import
your old configuration every single time you restart the server.  Worse, if
the control record keeps getting imported, it'll start re-using message/room/user
sequence numbers, which would explain messages appearing in the wrong rooms.

  
 Also look for the message "Existing database version on disk is" in your
syslog; that's the telltale sign that it's trying to upgrade from an old data
format on disk; obviously it shouldn't be doing that on every server run,
only on the first run after you've upgraded. 
  
 Now that I'm looking at the code, though, it seems I did put a lot of safety
checks in there, to make the server exit if it can't delete the old-format
configuration, or if it finds both old and new format configurations on disk.
 So maybe that's not it. 
  
 Still seems like a permission problem of some sort, like it can't write the
new config to disk or something., 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4196412</link><pubDate>Tue, 14 Feb 2017 23:24:16 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4196412@Uncensored</guid><description><![CDATA[  
 Who was asking about ctdlsh?  I made an important change to it tonight. 
  
 You can now enter a single ctdlsh command on the command line, which makes
ctdlsh usable in scripts.  (Basically I was taking a cue from virsh, which
I think was my inspiration for ctdlsh in the first place.) 
  
 So you can do 
  
  ctdlsh [-h citadel_dir] [cmd] 
  
 If you don't enter a command it goes into interactive mode. 
  
 Now we just need some good ideas for things to make ctdlsh able to do.  :)
   Right now it can read and manipulate the server configuration, which is
all-by-itself a pretty useful thing to be able to do.  It can shutdown the
server, read the list of logged-in users, reset account passwords, maybe a
few other things. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4196402</link><pubDate>Tue, 14 Feb 2017 23:14:32 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4196402@Uncensored</guid><description><![CDATA[ >Also, What do you think about multiple auth? Internal (able to be disabled,
 
 >but always on by default) plus optionally host based,and optionally LDAP
(or  
 >AD, not both). If the user database / mail table was able to parse a list
of  
  
 You know what, we actually used to do that.  Mixed-mode authentication. 
When we do host auth we stick the uid of the host user into the Citadel user
record, and if we use Citadel's own uid (or maybe it was uid 0, I don't remember)
then it was considered a Citadel-local user.  I don't remember why we discontinued
that ... I think it was causing trouble. 
  
 If I were implementing LDAP today, I think I would make it work like we currently
do OpenID, where you have a table that maps an OpenID URL to a Citadel user
record.  In fact, it would be the very same table, except instead of an OpenID
URL as the identifier, it would be an LDAP DN. 
  
 That's a pretty great idea, but I have no idea how we'd convert an existing
userlist over. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4194618</link><pubDate>Mon, 13 Feb 2017 15:48:03 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4194618@Uncensored</guid><description><![CDATA[<html><body>

<p>Bah, I hate when I make a typo... Compiled successfully</p>
<p> </p>
<p> </p>
<blockquote>
<div class="message_header"><span>Mon Feb 13 2017 15:08:35 EST</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: Choosing the right framework</span></div>
<div class="message_content">
<p>All fine and wonderful... I guess libraries help ;)</p>
<blockquote>
<p>/citadel/webcit# make</p>
<p>gcc -c -ggdb http.c -o http.o</p>
<p>In file included from http.c:15:0:</p>
<p>webcit.h:34:24: fatal error: libcitadel.h: No such file or directory</p>
<p> #include &lt;libcitadel.h&gt;</p>
<p>                        ^</p>
<p>compilation terminated.</p>
<p>Makefile:14: recipe for target 'http.o' failed</p>
<p>make: *** [http.o] Error 1</p>
</blockquote>
<div> </div>
<blockquote>
<div class="message_header"><span>Mon Feb 13 2017 11:51:10 EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Choosing the right framework</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>If I wanted to fire up webcit-ng, is it in the place where I would be able</blockquote>
to <br />
<blockquote>compile and test it out? If so, and since you removed the automake stuff,</blockquote>
<br />
<blockquote>what is the recommended method for compiling now?</blockquote>
<br />Very easy. :) <br /><br />1. git checkout webcit-ng <br />2. cd webcit <br />3. make <br />4. ./webcit <br /><br />It's currently hardcoded to connect you to Uncensored. Don't expect it to be very usable at this point. Nearly all of the work so far has been on the platform layer. It's some of the cleanest code I've ever written, but there's not much of a UI on top of it yet. <br /><br />(And that might be exactly what the_mgt wants)</div>
</div>
</blockquote>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4194605</link><pubDate>Mon, 13 Feb 2017 15:08:35 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4194605@Uncensored</guid><description><![CDATA[<html><body>

<p>All fine and wonderful... I guess libraries help ;)</p>
<blockquote>
<p>/citadel/webcit# make</p>
<p>gcc -c -ggdb http.c -o http.o</p>
<p>In file included from http.c:15:0:</p>
<p>webcit.h:34:24: fatal error: libcitadel.h: No such file or directory</p>
<p> #include &lt;libcitadel.h&gt;</p>
<p>                        ^</p>
<p>compilation terminated.</p>
<p>Makefile:14: recipe for target 'http.o' failed</p>
<p>make: *** [http.o] Error 1</p>
</blockquote>
<div> </div>
<blockquote>
<div class="message_header"><span>Mon Feb 13 2017 11:51:10 EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Choosing the right framework</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>If I wanted to fire up webcit-ng, is it in the place where I would be able</blockquote>
to <br />
<blockquote>compile and test it out? If so, and since you removed the automake stuff, </blockquote>
<br />
<blockquote>what is the recommended method for compiling now? </blockquote>
<br />Very easy. :) <br /><br />1. git checkout webcit-ng <br />2. cd webcit <br />3. make <br />4. ./webcit <br /><br />It's currently hardcoded to connect you to Uncensored. Don't expect it to be very usable at this point. Nearly all of the work so far has been on the platform layer. It's some of the cleanest code I've ever written, but there's not much of a UI on top of it yet. <br /><br />(And that might be exactly what the_mgt wants) </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4194599</link><pubDate>Mon, 13 Feb 2017 15:02:27 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4194599@Uncensored</guid><description><![CDATA[<html><body>

<p>Great. I will check it out. What is the current state of ctdlsh? I am considering the administration abstraction from the UI. If the API docs for citserver and webcit could be reworked to reflect the current state, we might be able to get a working Admin console for both. I am thinking of webmin and / or an admin shell for customizing settings for users and the system.</p>
<p> </p>
<p>Also, What do you think about multiple auth? Internal (able to be disabled, but always on by default) plus optionally host based,and optionally LDAP (or AD, not both). If the user database / mail table was able to parse a list of entry / source of entry type things, then as long as you had a UID check to avoid collisions (you could generate the internal uid as a combination of requested uid and the auth mech or something like that) and it would be nice to have the ability to have a failover selection for a second LDAP server if the primary is unreachable.</p>
<blockquote>
<div class="message_header"><span>Mon Feb 13 2017 11:51:10 EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Choosing the right framework</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>If I wanted to fire up webcit-ng, is it in the place where I would be able</blockquote>
to <br />
<blockquote>compile and test it out? If so, and since you removed the automake stuff, </blockquote>
<br />
<blockquote>what is the recommended method for compiling now? </blockquote>
<br />Very easy. :) <br /><br />1. git checkout webcit-ng <br />2. cd webcit <br />3. make <br />4. ./webcit <br /><br />It's currently hardcoded to connect you to Uncensored. Don't expect it to be very usable at this point. Nearly all of the work so far has been on the platform layer. It's some of the cleanest code I've ever written, but there's not much of a UI on top of it yet. <br /><br />(And that might be exactly what the_mgt wants) </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4194523</link><pubDate>Mon, 13 Feb 2017 11:51:10 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4194523@Uncensored</guid><description><![CDATA[ >If I wanted to fire up webcit-ng, is it in the place where I would be able
to  
 >compile and test it out? If so, and since you removed the automake stuff,
 
 >what is the recommended method for compiling now?    
  
 Very easy.  :) 
  
 1. git checkout webcit-ng 
 2. cd webcit 
 3. make 
 4. ./webcit 
  
 It's currently hardcoded to connect you to Uncensored.  Don't expect it to
be very usable at this point.  Nearly all of the work so far has been on the
platform layer.  It's some of the cleanest code I've ever written, but there's
not much of a UI on top of it yet. 
  
 (And that might be exactly what the_mgt wants) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4194487</link><pubDate>Mon, 13 Feb 2017 10:59:59 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4194487@Uncensored</guid><description><![CDATA[<html><body>

<p>If I wanted to fire up webcit-ng, is it in the place where I would be able to compile and test it out? If so, and since you removed the automake stuff, what is the recommended method for compiling now?</p>
<blockquote>
<div class="message_header"><span>Mon Feb 13 2017 10:16:43 EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Choosing the right framework</span></div>
<div class="message_content">
<blockquote>
<div style="text-align: left;"> </div>
<div>Point 1. is fulfilled by almost all frameworks. Point 2. by almost none, at least not in the basic use case scenario. Wether point 3. is fulfilled by any of the larger frameworks, I do not know. We need to apply the KISS principle here, Citadel in general is about small footprints on the resource side and getting things started fast. That is why I opt for developing the wireframe, the ground HTML constructs, manually (or rather, use what we already have) and using a lean and good documented tool for the styling part, so that nobody has to invent to complicated css constructs by himself. As with coding, you always have to dig into the thought process of somebody else, why a seemingly simple construct is coded in such a complicated way. (That is why I also opt for a "starting from scratch" approach when it comes to CSS and lots of the ways we create navigation buttons. We have so much cruft, that we need a web archeologist.)</div>
</blockquote>
<div>The more I look at the w3schools framework, the more I like it.  I think you've found something good here.  Yes, we need to have the "top nav / side nav" layout on a desktop, and we need to collapse down to a small header (with hamburger menus or something similar) on mobile.</div>
<div> </div>
<div>Readability is important.  The whole reason for the big overhaul is because even after all the work done over the years, WebCit is still fundamentally structured around the code I wrote in 1996 when I had no idea what I was doing.  The approach at the time was "take the text based UI and stick it onto a web page any way that works."</div>
<div> </div>
<div>If you look at the webcit-ng branch, you will see that I basically started over and am bringing over only small pieces of the old system at a time.  To be clear, I do <strong>not</strong> want to bring the template engine over.  It was a good idea at the time.  For this generation of WebCit, since we're expressing the UI in terms of CSS and JavaScript, that layer <strong>is</strong> the template.</div>
<div> </div>
<div>I have some changes on my dev machine where Materialize.css is removed and we just throw unstyled markup onto the screen.  I'll commit that so we have a good starting point.</div>
<div> </div>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4194436</link><pubDate>Mon, 13 Feb 2017 10:16:43 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4194436@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div style="text-align: left;"> </div>
<div>Point 1. is fulfilled by almost all frameworks. Point 2. by almost none, at least not in the basic use case scenario. Wether point 3. is fulfilled by any of the larger frameworks, I do not know. We need to apply the KISS principle here, Citadel in general is about small footprints on the resource side and getting things started fast. That is why I opt for developing the wireframe, the ground HTML constructs, manually (or rather, use what we already have) and using a lean and good documented tool for the styling part, so that nobody has to invent to complicated css constructs by himself. As with coding, you always have to dig into the thought process of somebody else, why a seemingly simple construct is coded in such a complicated way. (That is why I also opt for a "starting from scratch" approach when it comes to CSS and lots of the ways we create navigation buttons. We have so much cruft, that we need a web archeologist.)</div>
</blockquote>
<div>The more I look at the w3schools framework, the more I like it.  I think you've found something good here.  Yes, we need to have the "top nav / side nav" layout on a desktop, and we need to collapse down to a small header (with hamburger menus or something similar) on mobile.</div>
<div> </div>
<div>Readability is important.  The whole reason for the big overhaul is because even after all the work done over the years, WebCit is still fundamentally structured around the code I wrote in 1996 when I had no idea what I was doing.  The approach at the time was "take the text based UI and stick it onto a web page any way that works."</div>
<div> </div>
<div>If you look at the webcit-ng branch, you will see that I basically started over and am bringing over only small pieces of the old system at a time.  To be clear, I do <strong>not</strong> want to bring the template engine over.  It was a good idea at the time.  For this generation of WebCit, since we're expressing the UI in terms of CSS and JavaScript, that layer <strong>is</strong> the template.</div>
<div> </div>
<div>I have some changes on my dev machine where Materialize.css is removed and we just throw unstyled markup onto the screen.  I'll commit that so we have a good starting point.</div>
<div> </div>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4194200</link><pubDate>Mon, 13 Feb 2017 09:26:26 +0500</pubDate><title>Re: DB frontend for configuration troubleshooting</title><guid isPermaLink="false">4194200@Uncensored</guid><description><![CDATA[<html><body>

<p>http://www.citadel.org/doku.php/documentation:appproto:system_config lists </p>
<blockquote>
<h3 class="sectionedit4" style="padding: 0.5em 0px 0px; margin: 0px 0px 1em 40px; background-color: #eeeeee; font-size: 20.16px; clear: left; border-bottom: none; color: #000000; font-family: 'Open Sans', sans-serif;"><a id="confgetorsetglobalconfigurationoptions" style="padding: 0px; margin: 0px; color: #000055;" name="confgetorsetglobalconfigurationoptions">CONF (get or set global CONFiguration options)</a></h3>
<p> </p>
<div class="level3" style="padding: 0px; margin: 0px 0px 0px 43px; color: #000000; font-family: 'Open Sans', sans-serif; font-size: 14.4px;">
<p style="padding: 0px; margin: 0px 0px 1em;">Retrieves or sets various system-wide configuration and policy options. This command is only available to Admins.</p>
<p style="padding: 0px; margin: 0px 0px 1em;">The six forms of this command are:</p>
<pre class="code" style="padding: 0.5em; margin: 0px 0px 1em; font-size: 9.36px; overflow: auto;">CONF GET
CONF SET
CONF GETVAL|name
CONF SETVAL|name|value
CONF LISTVAL
CONF GETSYS|name
CONF PUTSYS|name</pre>
<p style="padding: 0px; margin: 0px 0px 1em;">There are two ways to read and change the system configuration. In the legacy mode (the sole parameter is GET or SET), an entire portion of the system configuration is transferred, with each field indicated by its position in the listing. In the new mode (first parameter is GETVAL or SETVAL), a single configuration variable may be read or set by name, or the entire configuration variable set may be retrieved with LISTVAL.</p>
<p style="padding: 0px; margin: 0px 0px 1em;">If the GET command succeeds, CONF will return LISTING_FOLLOWS followed by the fields described below, one line at a time. If the SET command succeeds, CONF will return SEND_LISTING and expect the fields described below, one line at a time (don't worry about other fields being added in the future; if a 'short' configuration list is sent, the missing values at the end will be left unchanged on the system). If either command fails for any reason, ERROR is returned.</p>
<p style="padding: 0px; margin: 0px 0px 1em;">...</p>
<table class="inline" style="padding: 0px; margin: 0px 0px 1em; font-size: 14.4px; border-spacing: 0px; border-collapse: collapse; background-color: #eeeeee;">
<tbody style="padding: 0px; margin: 0px;">
<tr class="row30" style="padding: 0px; margin: 0px;">
<td class="col0 leftalign" style="padding: 3px; margin: 0px;">29</td>
<td class="col1 leftalign" style="padding: 3px; margin: 0px;">c_disable_newu</td>
<td class="col2 leftalign" style="padding: 3px; margin: 0px;">
<p>Flag (0 or 1) - disable self-service new user registration</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="message_header"><span>Sun Feb 12 2017 18:28:55 EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_header"><span class="message_subject"><br /></span></div>
<div class="message_header"><span class="message_subject"><br /></span></div>
<div class="message_header"><span class="message_subject">Subject: Re: DB frontend for configuration troubleshooting</span></div>
<div class="message_content">
<blockquote>
<p>Looking in the source, I see you use PUTVAL rather than the documented SETVAL. What is the difference?</p>
</blockquote>
<p>According to the code, PUTVAL is correct; SETVAL is not.  Did I write it as SETVAL somewhere?  If so please point out where and I'll fix it!</p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4194140</link><pubDate>Mon, 13 Feb 2017 05:39:11 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4194140@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Sun Feb 12 2017 18:07:32 EST</span><span>from IGnatius T Foobar @ Uncensored </span><span class="message_subject">Subject: Re: Choosing the right framework</span></div>
<div class="message_content">
<blockquote>
<div class="message_content">
<p>I understand IG's wish to choose something wide spread and well supported, so that it stays with us and our slow web-technique adaption cycle. But we also need something that both programmers and web designers (or rather the guy that patches the html together) can understand fast. That is why I opt for a small (in terms of file size and used components) tool.</p>
<p>Yesterday, I might have found exactly that: <a href="http://www.w3schools.com/w3css/default.asp" target="webcit01">http://www.w3schools.com/w3css/default.asp</a></p>
<p>Look at their page, it is almost exactly what we need. They have some templates there, too.</p>
</div>
</blockquote>
<p>Clearly you get it.  :)</p>
<p>I'm willing to give it a look.  In fact, I was in the middle of experimenting with a switch from Materialize to Bootstrap for exactly the reasons you cited.  W3CSS looks interesting, and it's definitely worth a look.</p>
<p>So let me ask you (the_mgt) two important questions:</p>
<p>1. Do you agree that the future of WebCit should be that we deliver the basic building blocks as REST/DAV from the C server, and build the UI using a web framework?</p>
</div>
</blockquote>
<div class="message_content">
<p>Webcit should become fully RESTful in the end, yes. If your question implies that an action on an UI element in Webcit just triggers a "hand me over some piece of structured data" event on the server and that we then take this data and wrap it up into yet another UI element, then yes, too. As opposed to the muddy grounds of the Calendar page, where the table html is embedded in the C code.</p>
<p>The w3.ccs is much less a full framework than a rich CSS styling environment. In the end, we are building a groupware interface. In all the examples and references I have skimmed while searching for a framework, most of them target regular homepages for commercial or information use.</p>
<p>We have two special needs for Webcit (and one for the people doing the work):</p>
<ol>
<li>We need to be mobile device friendly, since we are not planning to write a dedicated app.</li>
<li>Navigation on top of the page and navigation on the side of the page need to stay visible all the time, at least on the desktop and in landscape mode on large mobile displays.</li>
<li>Everyone involved needs to be able to read and understand the source quickly.</li>
</ol>
<div>Point 1. is fulfilled by almost all frameworks. Point 2. by almost none, at least not in the basic use case scenario. Wether point 3. is fulfilled by any of the larger frameworks, I do not know. We need to apply the KISS principle here, Citadel in general is about small footprints on the resource side and getting things started fast. That is why I opt for developing the wireframe, the ground HTML constructs, manually (or rather, use what we already have) and using a lean and good documented tool for the styling part, so that nobody has to invent to complicated css constructs by himself. As with coding, you always have to dig into the thought process of somebody else, why a seemingly simple construct is coded in such a complicated way. (That is why I also opt for a "starting from scratch" approach when it comes to CSS and lots of the ways we create navigation buttons. We have so much cruft, that we need a web archeologist.)</div>
</div>
<blockquote>
<div class="message_content">
<p> </p>
<p>2. I know that in the past your time was limited; do you now have the time to work on it with us?</p>
</div>
</blockquote>
<div class="message_content">
<p>The short answer is: "Yes". But it is always more complicated. There were two things that stopped me from bringing the "layout_rework" branch in git to a usable state: 1. I had to finish my university studies. Which I did, so I can procrastinate again. 2. The hardcoded parts in the C code. Like calendar and some others. That is a part where I my skills are limited. I was able to switch a lot of that from tables to div, but ultimately, it needs to be ripped out of C and needs to be done with the temptlating engine.</p>
<p>The complicated answer is "I hope so and I will try hard to find time". I am taking up a new job soon, so there will be much to learn for me. Which means I need some procrastination project. </p>
</div>
<blockquote>
<div class="message_content">
<p><span style="background-color: transparent;">If the answers are both yes, then let's give the W3CSS approach a try.</span></p>
</div>
</blockquote>
<p>Fine. Just to add additional weight to my previous claims, look at the following links:</p>
<p>W3.css covers aspects of Material design. Also resize your browser window to see, how well their own navigation and layout just does what we need with regards to top and side nav: http://www.w3schools.com/w3css/w3css_material.asp</p>
<p>Also, look at these two templates, especially the source code. I find it well readable:</p>
<p>I like to do something similar for our "Mail" view, when you click on your own mailbox. Especially the side nav: http://www.w3schools.com/w3css/tryw3css_templates_mail.htm</p>
<p>This is something that our "Summary" page could become: http://www.w3schools.com/w3css/tryw3css_templates_social.htm#</p>
<p>Also, they offer easy modals: http://www.w3schools.com/w3css/w3css_modal.asp</p>
<p>What I like best is, that it does seem to cover a lot of cases without being over-engineered and using the hippest new toolkit. The eye-candy they provide seem to cover what is state of the art right now, just look at: http://www.w3schools.com/w3css/w3css_slideshow.asp</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4193599</link><pubDate>Sun, 12 Feb 2017 18:30:11 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4193599@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Feb 08 2017 12:21:22 PM EST</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Re: WebCit and CitServer upgrade</span></div>
<div class="message_content">
<p>As to the clobbering, I think you are right. The login hook seems to be the culprit. I would be fine with it if I could map LDAP attributes to fields on the server without having to recompile or wave a magic wand.</p>
</div>
</blockquote>
<p>I am currently building a directory server and will have it operational shortly.  I'll keep a separate Citadel development instance around just for this purpose.</p>
<p>We'll test it.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4193593</link><pubDate>Sun, 12 Feb 2017 18:28:55 +0500</pubDate><title>Re: DB frontend for configuration troubleshooting</title><guid isPermaLink="false">4193593@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<p>Looking in the source, I see you use PUTVAL rather than the documented SETVAL. What is the difference?</p>
</blockquote>
<p>According to the code, PUTVAL is correct; SETVAL is not.  Did I write it as SETVAL somewhere?  If so please point out where and I'll fix it!</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4193579</link><pubDate>Sun, 12 Feb 2017 18:07:32 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4193579@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_content">
<p>I understand IG's wish to choose something wide spread and well supported, so that it stays with us and our slow web-technique adaption cycle. But we also need something that both programmers and web designers (or rather the guy that patches the html together) can understand fast. That is why I opt for a small (in terms of file size and used components) tool.</p>
<p>Yesterday, I might have found exactly that: <a href="http://www.w3schools.com/w3css/default.asp" target="webcit01">http://www.w3schools.com/w3css/default.asp</a></p>
<p>Look at their page, it is almost exactly what we need. They have some templates there, too.</p>
</div>
</blockquote>
<p>Clearly you get it.  :)</p>
<p>I'm willing to give it a look.  In fact, I was in the middle of experimenting with a switch from Materialize to Bootstrap for exactly the reasons you cited.  W3CSS looks interesting, and it's definitely worth a look.</p>
<p>So let me ask you (the_mgt) two important questions:</p>
<p>1. Do you agree that the future of WebCit should be that we deliver the basic building blocks as REST/DAV from the C server, and build the UI using a web framework?</p>
<p>2. I know that in the past your time was limited; do you now have the time to work on it with us?</p>
<p>If the answers are both yes, then let's give the W3CSS approach a try.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4193398</link><pubDate>Sun, 12 Feb 2017 15:02:01 +0500</pubDate><title>Re: DB frontend for configuration troubleshooting</title><guid isPermaLink="false">4193398@Uncensored</guid><description><![CDATA[<html><body>

<p>Looking in the source, I see you use PUTVAL rather than the documented SETVAL. What is the difference?</p>
<blockquote>
<div class="message_header"><span>Sun Feb 12 2017 12:21:30 EST</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: DB frontend for configuration troubleshooting</span></div>
<div class="message_content">
<p><span style="background-color: transparent;">I tried to set the registration setting:</span></p>
<p>CONF SETVAL|c_disable_newu|1</p>
<p>512 Illegal option(s) specified.</p>
<p> </p>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4193106</link><pubDate>Sun, 12 Feb 2017 12:29:11 +0500</pubDate><title>Re: Choosing the right framework</title><guid isPermaLink="false">4193106@Uncensored</guid><description><![CDATA[<html><body>

<p>That looks nice and simple. I agree, XHTML is not fun to work with. </p>
<blockquote>
<div class="message_header"><span>Sun Feb 12 2017 11:16:44 EST</span> <span>from the_mgt @ Uncensored </span> <span class="message_subject">Subject: Choosing the right framework</span></div>
<div class="message_content">
<p>So I was in the mood for some webdesign this weekend and searched again for the proper tool to use.</p>
<p>I already had a look at some of the large and hip frameworks, Foundation, Bootstrap, etc. They seem all good and nice, but we need to build a groupware interface, not some fancy show-off project. They all seem to come with some learning curve and I can currently not say which one will be around long enough. HTML5 Boilerplate for example has not seen any git commit for 2 years.</p>
<p>The smaller ones seem to change stuff more often than they update their docs and they might die too soon, too.</p>
<p>I understand IG's wish to choose something wide spread and well supported, so that it stays with us and our slow web-technique adaption cycle. But we also need something that both programmers and web designers (or rather the guy that patches the html together) can understand fast. That is why I opt for a small (in terms of file size and used components) tool.</p>
<p>Yesterday, I might have found exactly that: <a href="http://www.w3schools.com/w3css/default.asp" target="webcit01">http://www.w3schools.com/w3css/default.asp</a></p>
<p>Look at their page, it is almost exactly what we need. They have some templates there, too.</p>
<p>Pros (in my book):</p>
<ul>
<li>HTML5 (we need to embrace that, imho. That or XHTML, which I consider a pita.)</li>
<li>Only one CSS file (easy to update)</li>
<li>No JavaScript for styling (we will need enough JS for functions)</li>
<li>An exhaustive Howto. In fact, it was invented by guys teaching HTML and CSS</li>
<li>No need to force our wishes on it, it seems to be made for WebCit</li>
<li>Normalize.css for cross browser compat</li>
<li>Huge set of css only bling, like slideshows,etc.</li>
</ul>
<p>Cons:</p>
<ul>
<li>The CSS file is hard to read (Compensated by the vast range of examples on their webpage)</li>
<li>Very "niche"?</li>
</ul>
<p>I fooled around it with yesterday and got some nice results. Will try to load some to a web server later, in order to show you.</p>
<p> </p>
<p>PS: They also have a js library for data manipulation: <a href="http://www.w3schools.com/w3css/w3data_home.asp" target="webcit01">http://www.w3schools.com/w3css/w3data_home.asp</a></p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4193100</link><pubDate>Sun, 12 Feb 2017 12:21:30 +0500</pubDate><title>DB frontend for configuration troubleshooting</title><guid isPermaLink="false">4193100@Uncensored</guid><description><![CDATA[<html><body>

<p>Is there a DB frontend or method to determine what is going on with all these random things happening on my system? I really need to get this system bugs worked out, and do not want to have to migrate 30GB of user data to a new install again (but can if I have to). </p>
<p> </p>
<p>citserver is not crashing, but it loses or forgets its port number, (I noted that you had this same thing happen, but I can reproduce it almost every time citserver is restarted) and it does not remember the setting about not denying self service registration. I have rooms which are unable to be deleted and messages showing up in the wrong rooms ( saying they are being delivered to a user)</p>
<p>I tried to set the registration setting:</p>
<p>CONF SETVAL|c_disable_newu|1</p>
<p>512 Illegal option(s) specified.</p>
<p> </p>
<p>IG, I have a feeling many of these issues relate to the migration of citadel confs, but cannot confirm it. I know my system that is running 9.01 is rock solid stable, so something changed.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4193081</link><pubDate>Sun, 12 Feb 2017 11:16:44 +0500</pubDate><title>Choosing the right framework</title><guid isPermaLink="false">4193081@Uncensored</guid><description><![CDATA[<html><body>

<p>So I was in the mood for some webdesign this weekend and searched again for the proper tool to use.</p>
<p>I already had a look at some of the large and hip frameworks, Foundation, Bootstrap, etc. They seem all good and nice, but we need to build a groupware interface, not some fancy show-off project. They all seem to come with some learning curve and I can currently not say which one will be around long enough. HTML5 Boilerplate for example has not seen any git commit for 2 years.</p>
<p>The smaller ones seem to change stuff more often than they update their docs and they might die too soon, too.</p>
<p>I understand IG's wish to choose something wide spread and well supported, so that it stays with us and our slow web-technique adaption cycle. But we also need something that both programmers and web designers (or rather the guy that patches the html together) can understand fast. That is why I opt for a small (in terms of file size and used components) tool.</p>
<p>Yesterday, I might have found exactly that: http://www.w3schools.com/w3css/default.asp</p>
<p>Look at their page, it is almost exactly what we need. They have some templates there, too.</p>
<p>Pros (in my book):</p>
<ul>
<li>HTML5 (we need to embrace that, imho. That or XHTML, which I consider a pita.)</li>
<li>Only one CSS file (easy to update)</li>
<li>No JavaScript for styling (we will need enough JS for functions)</li>
<li>An exhaustive Howto. In fact, it was invented by guys teaching HTML and CSS</li>
<li>No need to force our wishes on it, it seems to be made for WebCit</li>
<li>Normalize.css for cross browser compat</li>
<li>Huge set of css only bling, like slideshows,etc.</li>
</ul>
<p>Cons:</p>
<ul>
<li>The CSS file is hard to read (Compensated by the vast range of examples on their webpage)</li>
<li>Very "niche"?</li>
</ul>
<p>I fooled around it with yesterday and got some nice results. Will try to load some to a web server later, in order to show you.</p>
<p> </p>
<p>PS: They also have a js library for data manipulation: http://www.w3schools.com/w3css/w3data_home.asp</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4189992</link><pubDate>Wed, 08 Feb 2017 12:21:22 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4189992@Uncensored</guid><description><![CDATA[<html><body>

<p>I use OpenLDAP on Debian and Ubuntu primarily, so standard rfc2307.</p>
<p>I do not have the citadel.schema or rfc2739.schema in place.</p>
<p>As to the clobbering, I think you are right. The login hook seems to be the culprit. I would be fine with it if I could map LDAP attributes to fields on the server without having to recompile or wave a magic wand.</p>
<p>Our use case is a totally internal server without internet mail enabled. It is 100% internal mail only to one domain, (basically I register the users for the first login when I create their LDAP entry in a scripted fashion, in order to enable them in Citadel) and the users themselves do not need to update their own vcards. We do make use of aliases but those should not be user editable.</p>
<p> </p>
<p>I am ready to test any thoughts for code and can recompile on the spot to determine functionality.</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Wed Feb 08 2017 11:58:55 EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: WebCit and CitServer upgrade</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Regarding the vCard update issue: <br /><br />Ctdl_LDAP_to_vCard() appears to be the function that painstakingly copies LDAP attributes into a user's vCard. "git blame" has my name and a 2014 timestamp on it, but I don't remember writing it ... maybe it was submitted as a patch and I put it in. <br /><br />Anyway, it's called twice, once during a newuser function and once during a login hook, so it seems sensible that the login hook is the questionable one, if we don't want LDAP information constantly clobbering the vCard. <br /><br />bennabiy, what LDAP server are you using? I'm thinking maybe I'll install one in my development environment. I'll probably go with Craptive Directory since it's the most common... </div>
</div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4189972</link><pubDate>Wed, 08 Feb 2017 11:58:55 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4189972@Uncensored</guid><description><![CDATA[  
 Regarding the vCard update issue: 
  
 Ctdl_LDAP_to_vCard() appears to be the function that painstakingly copies
LDAP attributes into a user's vCard.  "git blame" has my name and a 2014 timestamp
on it, but I don't remember writing it ... maybe it was submitted as a patch
and I put it in. 
  
 Anyway, it's called twice, once during a newuser function and once during
a login hook, so it seems sensible that the login hook is the questionable
one, if we don't want LDAP information constantly clobbering the vCard. 
  
 bennabiy, what LDAP server are you using?  I'm thinking maybe I'll install
one in my development environment.  I'll probably go with Craptive Directory
since it's the most common... 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4189376</link><pubDate>Tue, 07 Feb 2017 14:48:21 +0500</pubDate><title>Mingodad Fork / Github repo</title><guid isPermaLink="false">4189376@Uncensored</guid><description><![CDATA[<html><body>

<p>Is this official, or just a fanclub? I am guessing that the citadel hosted repository is the goto for source?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4188889</link><pubDate>Tue, 07 Feb 2017 05:44:03 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4188889@Uncensored</guid><description><![CDATA[<html><body>

<p>That was my thought as well. It would be good to make clear API documentation for it.</p>
<p>What is the current state of ctdlsh?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4188676</link><pubDate>Mon, 06 Feb 2017 17:51:32 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4188676@Uncensored</guid><description><![CDATA[For the webmin module, check out what we're doing with ctdlsh.  The eventual
goal is for that to be a one-stop-shop for doing server configuration without
having to actually log in to Citadel.  A webmin module (or any other type
of tool) could theoretically make calls to ctdsh to do its work. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4188575</link><pubDate>Mon, 06 Feb 2017 14:38:08 +0500</pubDate><title>Re: WebCit and CitServer upgrade</title><guid isPermaLink="false">4188575@Uncensored</guid><description><![CDATA[<html><body>

<p>From IGnatius T Foobar in email with my answers and comments interspersed.</p>
<blockquote>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;"><strong><em>Let's have this conversation in the Citadel Development room.  I like what you're saying and we should work on it.</em></strong></p>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;"><strong><em>If I understand you correctly, you're talking about the way Citadel populates a user's vCard based on information loaded from LDAP, and expressing concern over the difference between doing that at account creation time vs. at every single login.  If that is the case, you're correct, it should be a configurable behavior.</em></strong></p>
</blockquote>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;">Yes, you are correct. I would like to see that as a configuration (I do like the ability to update the information in one place, and have it update automatically) but with the current setup there are a couple problems, and I hope that an overhaul on the configs and way citadel handles things could fix it. (more later relating to user database)</p>
<blockquote>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;"><strong><em>Also know that the role of the GAB is changing.  The original intention was that you could share that room on a Citadel network and it would drive the population of a table mapping Internet email addresses to users anywhere on the network.  Well it turns out no one is using it that way, so we're going to simplify it.  I might even make the Internet email table populate directly from the user table, eliminating that role of the GAB completely (so it would really be nothing more than a published directory).</em></strong></p>
</blockquote>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;"><em><br /></em></p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;">I am glad to hear that the GAB is changing. I could put to use the federated model, but would rather see more done in the way of having a hot standby etc. If the GAB could just be a Public Contact Room (with entries being able to be added and removed by the aide without affecting the transmittal of email to users) and have an internal user list which in the case of LDAP polls the server search base for valid users and builds the mail table based on mail: entries, with the first entry being primary, the rest being aliases (you could put the requirement for the citadel.schema to make an alias entry) and have the poll time be configured based on a 1 off command and/or time (so that you could have a system that ONLY polls when the aide presses a button, or polls at the press of a button / command and at a certain default interval). I am sure others have different use cases, but I do not need users editing their own email addresses. I would li
<p style="color: #000000; font-size: 16px; background-color: #ffffff;">If this seems doable, I can express more of my thoughts.</p>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;"><em><br /></em></p>
<blockquote>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;"><strong><em>The goal here is to simplify, and I'd like to thank you for defending Citadel against the harsh criticism it received yesterday.  We're focusing on the use cases that actually exist, and removing a lot of the places where things can go wrong.  But I do have reason to believe that for every person who posts an installation problem (which often happens because they didn't read the instructions) there are dozens of others who we don't hear from because Citadel installed and ran correctly on the very first try.</em></strong></p>
</blockquote>
<p style="color: #000000; font-family: sans-serif; font-size: 16px; background-color: #ffffff;"><strong><em><br /></em></strong></p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;">I understand. I know that the only times I have really had issues is because we do not "fit" in the "standard" use case and because of my own mistakes (well, there were a couple bugs that dothebart was able to fix as well)... We appreciate Citadel and what you offer to the community.</p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;"> </p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;">I guess to sum up what I would like to work towards:</p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;">A more flexible citserver with the ability to have multiple auth schemes available at once (native, plus optional host, plus optional LDAP OR AD) with the ability to poll host or LDAP at login, and at set interval for updates to information.</p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;">A New and Improved webcit</p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;">Possible Webmin module for interfacing with Aide functions of citserver.</p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;">More customizations of information and who can edit it.</p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;"> </p>
<p style="color: #000000; font-size: 16px; background-color: #ffffff;">Also, a "simple" request to be able to edit a draft message through webcit, and to mark all as read without having to use an external client. Also support extended IMAP things like flags (like desktop clients) </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4110455</link><pubDate>Sun, 04 Sep 2016 11:02:22 +0500</pubDate><title>SSL / nodename</title><guid isPermaLink="false">4110455@Uncensored</guid><description><![CDATA[<html><body>

<p>In the spirit of 'Each logical configuration item is settable in exactly one place':</p>
<p> </p>
<p>Startup/TDAP: If /etc/ssl/citadel/citadel.cer has dates out of range or will expire within two months, log/send warning email</p>
<p>Webcit: If /etc/ssl/citadel/citadel.cer exists-- change to drop down list 'node name' and 'FQDN' , populate from cert cn/alt dns, warn if cert issues.</p>
<p>Cit-server: On startup: If /etc/ssl/citadel/citadel.cer or /etc/ssl/citadel/citadel.key exists:</p>
<p>  if /etc/ssl/citadel/citadel.key doesn't exist or doesn't have security mode 0400 and ownership by root: fail on startup.</p>
<p>  If /etc/ssl/citadel/citadel.cer doesn't exist or isn't a valid certificate (Except for dates):  fail on startup.</p>
<p>  only if config item 'node name' and 'FQDN' not in cn or alt dns , populate automagically from cert CN.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4107725</link><pubDate>Sun, 28 Aug 2016 12:40:57 +0500</pubDate><title>Re: Twin Dilemma</title><guid isPermaLink="false">4107725@Uncensored</guid><description><![CDATA[<html><body>

<p>Well, there's more than just the database.  So far we've discussed the current effort to get 100% of Citadel's persistent storage into the database.  We've already moved citadel.config and citadel.control, along with user profiles (bios), user photos (userpic), netconfigs, etc.  We should have 100% coverage there in the not too distant future.</p>
<p>Also remember, however, that there is another layer of our data model, and that is the server's current working state.  Multiple master servers would break up the list of online users into little islands, for example.  Each server would also be trying to work through the outbound SMTP queue, resulting in people getting multiple copies of email messages followed by conflicting database commits.</p>
<p>Long story short, I don't see master/master in Citadel Server's future.  It simply <em>does way more</em> than Dovecot.  Master/slave is far more likely, though.  If a Citadel Server is launched in slave mode, it simply receives database updates and does nothing else.  Then if it needs to be promoted to a master it relaunches in the normal mode.</p>
<p>This is a great technical discussion though, and I do enjoy talking about it.  It should be clear though, that we are sort of blue-skying here.  Right now I am focused on the following:</p>
<p>1. WebCit modernization (follow the "webcit-ng" branch if interested).</p>
<p>2. Simplifying the server footprint and removing obsolete functionality.   The database consolidation effort is part of this.  The removal of things like federated domains is another.  The idea here is that we want to remove the things that cause 90% of the support issues reported in the Citadel Support room.  (Yes, I know, when we do this we will create yet another tier of people who can't read instructions, and this cycle will repeat forever.)</p>
<p>3. Turn ctdlsh into a useful tool that we can actually tell people to use.  I'll probably remove system configuration tasks from the text client eventually.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4105616</link><pubDate>Tue, 23 Aug 2016 18:11:31 +0500</pubDate><title>Re: Twin Dilemma</title><guid isPermaLink="false">4105616@Uncensored</guid><description><![CDATA[<html><body>

<p>BerkeleyDB docs suggest the way to go is "a thin client side replication layer", but I don't think that's the best route because it's not 'master-master'.</p>
<p>Dovecot has a 'dsync' module, it's a 'master-master' answer.  If citadel could add that, then this equation would be true for groups 500 and down:</p>
<p>Citadel =  PostFix + Mysql + DoveCot + RoundCube</p>
<p>Since each 'master' would have a list of all the others, index collision avoidance could just increment by the count of replication systems+ offset of the current system in the list.  Maybe the implementation would be circular,  sys1 updates sys2 updates sysX .... updates sys1.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4105274</link><pubDate>Mon, 22 Aug 2016 14:14:42 +0500</pubDate><title>Re: Twin Dilemma</title><guid isPermaLink="false">4105274@Uncensored</guid><description><![CDATA[  
 Good questions.  I have also given a lot of thought to those scenarios, particularly
with regard to the fact that we're moving away from the federated model (since
no one ever used it, as far as I can tell).  Citadel is finding itself most
comfortable in the space somewhere *between* the "just use gmail or o365"
people and the "deploy 20 Exchange servers and a big staff to maintain them"
people. 
  
 You're probably already aware that the latest Citadel server has the system
configuration, state tables, user profiles, and user photos moved into the
database.  My goal is to move 100% of everything into the database.  It will
come as no surprise that once we get there, we can do things like high availability
using the replication features that are built in to Berkeley DB, or log shipping
etc. 
  
 But obviously we're not *quite* there yet.  If you want to "fake it" and
still have a supportable
system, I would say go with one of the installation methods that puts everything
in /usr/local, and then mount /usr/local over a DRDB volume.  Not only will
that be transparent to Citadel, but it ought to be able to transition cleanly
to whatever we build next. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4105248</link><pubDate>Mon, 22 Aug 2016 12:54:39 +0500</pubDate><title>Twin Dilemma</title><guid isPermaLink="false">4105248@Uncensored</guid><description><![CDATA[<html><body>

<p>So pleased with all the recent efforts.</p>
<p>Here's the puzzle that's been tops of my citadel wish list for a long time.  Rather than write of my various approaches over the years, here's the tl;dr version of my top citserver challenge:  </p>
<p>I need a 'citserver community supported, best-practice, non-hack-o-rama, way to</p>
<p>1: transition to a backup machine while the 'primary' undergoes scheduled routine maintenance (downtime &gt; complaint threshold).</p>
<p>2: transition to a backup machine upon surprise failure of the primary that at worst will lose only deletions after recovering from a split-brain situation.</p>
<p>There are so many ways to approach this issue, but the system has been around long enough for some best-practice ideas to emerge.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4103497</link><pubDate>Wed, 17 Aug 2016 11:30:53 +0500</pubDate><title>Message #4103497</title><guid isPermaLink="false">4103497@Uncensored</guid><description><![CDATA[  
 Current targets: webcit (webcit-ng branch) , and ctdlsh 
 Objective: end the use of the various GNU auto-tools 
 Rationale: Richard Stallman is Hitler 
 Actual rationale: these tools introduce an unnecessary level of complexity.
 10-15 years ago the unix systems in use at the time were wildly different
in terms of available system calls and calling conventions, header files,
etc. etc.  That simply isn't the case anymore.  Even if we set aside the fact
that 99% of the builds are happening on Linux/Linux systems, the remaining
1% are on systems where the system calls and build environments are consistent
enough that we don't need to run the entire autofoo suite to determine that
we aren't running on a OSF/1 system from 20 years ago. 
  
 Makefile will be shipped in its final form, not autogenerated. 
  
 "configure" will be a simple shel script that allows the user to select a
minimal set
of options: 
 * cflags 
 * ldflags 
 * install target directory 
  
 As I have mentioned before, I have also decided to eliminate the idea of
"if library X is not available, build with reduced functionality."  If a dependency
isn't satisfied, we immediately die in a car fire.  The rationale here is
that we are a small team with limited time available to test against a googolplex
of different use cases and build environments.  And when someone posts their
compiler output to the Citadel Support forum (or worse, the Lobby) without
describing what system they're building against or what they've done to prepare
their build environment, I will personally geolocate them and stab them in
the face with a Buick. 
  
 Bottom line: it isn't 2002 anymore.  We're going to get rid of the parts
of our build system that are the product of obsolete assumptions. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4095814</link><pubDate>Mon, 01 Aug 2016 15:53:26 +0500</pubDate><title>Message #4095814</title><guid isPermaLink="false">4095814@Uncensored</guid><description><![CDATA[Well, we could just identify a parent room for each room, which would make
more sense than trying to put together an entire directory-structure of child
rooms. 
  
 So I'm not going to remove floors quite yet.  A replacement is not on its
way however.  We have to cope with the reality that we aren't a team of full
time developers and we have to be careful about what we work on. 
 ' 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4095348</link><pubDate>Sun, 31 Jul 2016 05:36:49 +0500</pubDate><title>Message #4095348</title><guid isPermaLink="false">4095348@Uncensored</guid><description><![CDATA[<html><body>

<p>CalDAV:</p>
<p>I only ever got groupdav running once, every other machine I use lures me into using CalDAV.</p>
<p>Speaking of this, I can offer a Sailfish OS mobile phone and a bunch of Apple devices to torture your CalDAV implementation. Just tell me where and when and why and what.</p>
<p>Floors:</p>
<p>IIRC, IMAP supports folders inside folders. Isn't it purely semantics? Couldn't we just call a folder that is a "leaf" a room and everything else a Floor? That would make the INBOX a floor.</p>
<p>It would then only be a thing to display them in the Rooms "room". I guess I am missing a point here...</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4091379</link><pubDate>Wed, 20 Jul 2016 12:43:04 +0500</pubDate><title>Message #4091379</title><guid isPermaLink="false">4091379@Uncensored</guid><description><![CDATA[ > I'd still ditch the C, and build a stateless variant of the port-504  

 >protocol hosted in citserver itself. That would be enough to break the 
 
 >depedency on having an "engine" per se in webcit, which is necessary   
 >because webcit is currently acting as a TCP concentrator for port 504. 
 
  
 Revisiting this now.  I'm thinking we're actually going to land somewhere
in between.  Thankfully I have the space to experiment a bit here before committing
to something. 
  
 The structure I'm experimenting with right now is to write the "primitives"
in C.  For example, when the UI initializes and it wants to learn things about
the server (server name, whether it supports anonymous access, things like
that) instead of transmitting an HTTP-ized version of the INFO command, it
will make an ajax request for /ctdl/a/info which will return a JSON structure
containing all of that data.  Then the
UI, written in JavaScript, can do what it wants with that. 
  
 We'll see how it works.  So far it "feels right"  
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4090216</link><pubDate>Sat, 16 Jul 2016 18:56:33 +0500</pubDate><title>Re: [Citadel Development] (no subject)</title><guid isPermaLink="false">4090216@Uncensored</guid><description><![CDATA[<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 16, 2016 at 12:36 AM, IGnatius T Foobar <span dir="ltr">&lt;<a href="mailto:ajc@citadel.org" target="_blank">ajc@citadel.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
 Also thinking about getting rid of floors.  They&#39;ve never been proper containers and the system would be simpler without them.<br>
<br>
</blockquote></div><br> And then replaced by what, if anything?  It&#39;s already hard enough to organize the rooms having only the one &#39;level&#39; of the floors as it is...<br clear="all"><div><br></div><div class="gmail_signature" data-smartmail="gmail_signature"><a href="mailto:rjclay@gmail.com" target="_blank"></a><br></div><div class="gmail_signature" data-smartmail="gmail_signature">Jame</div>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4089876</link><pubDate>Sat, 16 Jul 2016 00:36:31 +0500</pubDate><title>Message #4089876</title><guid isPermaLink="false">4089876@Uncensored</guid><description><![CDATA[  
 Also thinking about getting rid of floors.  They've never been proper containers
and the system would be simpler without them. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4083577</link><pubDate>Mon, 04 Jul 2016 14:38:14 +0500</pubDate><title>Message #4083577</title><guid isPermaLink="false">4083577@Uncensored</guid><description><![CDATA[I am both thrilled that my CalDAV implementation is coming along and frustrated
that CalDAV is the de-facto standard protocol.  I still think it's a *way*
over-engineered design.  But I finally got Thunderbird to actually display
my calendar.  Booyah! 
  
 Mozilla takes the same approach to calendars as they do to email.  With IMAP
they download the entire message using the most POP-like IMAP syntax they
can come up with, and process everything client-side.  With CalDAV they download
the entire calendar using the most Webcal-like syntax they can come up with,
and process everything client-side.  This is great as a first step, but now
I have to find a more hostile client that uses more obscure CalDAV calling
syntax to test with. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4082529</link><pubDate>Fri, 01 Jul 2016 12:59:40 +0500</pubDate><title>Message #4082529</title><guid isPermaLink="false">4082529@Uncensored</guid><description><![CDATA[What's with the openssl problem?  Is it something that breaks when you use
a newer version of the openssl library?  If I can make it break by updating
OpenSSL on my dev box, that would be pretty straightforward to test. 
  
 As for GroupDAV, as much as I completely think CalDAV is BADLY overengineered,
the world seems to have made its decision.  So the new webcit will drop support
for GroupDAV. 
  
 By the way ... CalDAV implementation is not as painful as I thought it would
be so far.  This probably has a lot to do with the fact that the underlying
platform is DAV/REST oriented by nature so it's a more natural fit on top
of it.  And of course we already have an XML parser on board this time, which
we didn't during the last implementation. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4081579</link><pubDate>Tue, 28 Jun 2016 17:00:22 +0500</pubDate><title>Message #4081579</title><guid isPermaLink="false">4081579@Uncensored</guid><description><![CDATA[<html><body>

<p>yes, groupdav iseems more than dead.</p>
<p>btw, openssl?</p>
<p>https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828267</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4074911</link><pubDate>Wed, 08 Jun 2016 08:42:16 +0500</pubDate><title>Message #4074911</title><guid isPermaLink="false">4074911@Uncensored</guid><description><![CDATA[  
 Next design decision I am considering (and this requires immediate attention).

  
 Although I still consider GroupDAV to be a superior design to CalDAV+CardDAV,
it seems we lost that battle a long time ago.  The question is not whether
to support CalDAV+CardDAV in addition to GroupDAV, but whether to simply drop
GroupDAV entirely.  I don't think any clients are supporting it anymore, which
basically makes it an orphan protocol.  *If* that is the case, there's no
point in bloating the code with its support. 
  
 Thoughts? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4074502</link><pubDate>Tue, 07 Jun 2016 07:31:49 +0500</pubDate><title>Message #4074502</title><guid isPermaLink="false">4074502@Uncensored</guid><description><![CDATA[  
 Here's another interesting candidate CSS/JS framework: 
  
  [ http://materializecss.com/ ] 
  
 This framework is modeled after the "Material Design" UX that is popular
on current web and mobile applications.  It's built using just CSS and JS
(including some JQuery plugins, but we were planning to use JQuery anyway)
and seems to produce nice results. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4069958</link><pubDate>Mon, 30 May 2016 21:01:18 +0500</pubDate><title>Message #4069958</title><guid isPermaLink="false">4069958@Uncensored</guid><description><![CDATA[<html><body>

<p>elyptic curve cryptography - the one that is currently believed to not be crackeable.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4068227</link><pubDate>Wed, 25 May 2016 09:19:08 +0500</pubDate><title>Message #4068227</title><guid isPermaLink="false">4068227@Uncensored</guid><description><![CDATA[What is ED?  Looks like some sort of new crypto algorithm? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4065449</link><pubDate>Wed, 18 May 2016 01:55:48 +0500</pubDate><title>Message #4065449</title><guid isPermaLink="false">4065449@Uncensored</guid><description><![CDATA[<html><body>

<p>while you're at it, maybe also add the initialisation code for ED?</p>
<p>https://github.com/arangodb/arangodb/commit/4a7e54e215e13b12792f1a01d25795455e708071</p>
<p>the chatter about it and what else could be done: https://github.com/arangodb/arangodb/issues/1771</p>
<p>(though the ed just needs some additional initialisation of ssl contexts - see above commit)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4064685</link><pubDate>Sun, 15 May 2016 09:15:00 +0500</pubDate><title>Message #4064685</title><guid isPermaLink="false">4064685@Uncensored</guid><description><![CDATA[  
 And in another "seriously, it's 2016, wtf" moment of clarity ... OpenSSL
is now a required dependency. 
  
 This took about a quadrillion #ifdef clauses out of the code (which is impressive
considering that it's only a few hundred lines).  Pretty much everyone wants
crypto now anyway, and the rest should be able to type "dnf install openssl-devel"
or they're too dumb to run a server anyway. 
  
 It's all about READABILITY this time around.  War on spaghetti.  The only
spaghetti I want to see around here is a pot of Barilla served with my homemade
sauce. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4064125</link><pubDate>Sat, 14 May 2016 21:20:48 +0500</pubDate><title>Message #4064125</title><guid isPermaLink="false">4064125@Uncensored</guid><description><![CDATA[  
 SSL code now mostly in place.  Soooooooo much cleaner this time.  Passing
the SSL handle up the stack along with the socket number, instead of sticking
it into a thread context.  That's the idea this time, everything gets passed
up the stack, we try not to stick a lot of stuff into thread contexts, definitely
not in global variables, and hopefully we'll keep the callback tables to an
absolute minimum. 
  
 HTTP layer is next.   
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4063755</link><pubDate>Fri, 13 May 2016 10:12:22 +0500</pubDate><title>Message #4063755</title><guid isPermaLink="false">4063755@Uncensored</guid><description><![CDATA[<html><body>

<p>Sold!  It makes sense that increasing concurrency has a point of diminishing returns.  Back when threads were bound to individual user sessions rather than actively running transactions, it made sense to have lots of them because they'd spend most of their lifetime in a blocking state.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4063582</link><pubDate>Thu, 12 May 2016 15:52:07 +0500</pubDate><title>Message #4063582</title><guid isPermaLink="false">4063582@Uncensored</guid><description><![CDATA[    
 32 is the value for maxWorkerThreads that we use in a variety of our (Java-based)
backend service Tomcat instances for the AJP pool tuning. Default values in
the hundreds proved to be too resource-hungry; and, empirical load testing
has often found a point of diminishing returns (on a typical app on typical
hardware, whatever that means to you - maybe not the same as what it means
to me) of around 32-64 threads (at some point, you don't increase throughput
by attempting more concurrency, and instead only increase latency.)   
  
  
 Best practice is to keep concurrency under control. I.e. you *could* scale
to 200+ threads, but if 32 can manage the same work in the same time when
you put a queue in front of those 32, then 32 (or whatever number) is the
preferable number. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4063469</link><pubDate>Thu, 12 May 2016 11:04:22 +0500</pubDate><title>Message #4063469</title><guid isPermaLink="false">4063469@Uncensored</guid><description><![CDATA[ > You'll Never Need More Than 32. As long as they're not blocking for   
 >long periods.   
  
 Ok, I'll bite ... where did you get that number from? 
  
 Right now I've got it set up the same as it was before: start with 1 thread,
spawn another thread whenever it is detected that all threads are in use,
up to a maximum of (currently set to 250, which is probably too high). 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4063463</link><pubDate>Thu, 12 May 2016 11:00:53 +0500</pubDate><title>Message #4063463</title><guid isPermaLink="false">4063463@Uncensored</guid><description><![CDATA[ >So, no cleanup if there's no connections after a period of time. Any  
 >thoughts on settings for minimum or maximum worker threads?  
  
 Actually I meant no cleanup when the program exits, since the operating system
will take care of that.  I know that deliberately unloading everything makes
it easier to test for memory leaks, but the cost of that is a whole lot of
extra complexity.  So there is not going to be any shutdown code in the new
program; when you want it to exit, you kill the process. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4063233</link><pubDate>Wed, 11 May 2016 18:33:46 +0500</pubDate><title>Message #4063233</title><guid isPermaLink="false">4063233@Uncensored</guid><description><![CDATA[ >So, no cleanup if there's no connections after a period of time. Any  
 >thoughts on settings for minimum or maximum worker threads?  
  
 You'll Never Need More Than 32. As long as they're not blocking for long
periods. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4063222</link><pubDate>Wed, 11 May 2016 17:53:57 +0500</pubDate><title>Message #4063222</title><guid isPermaLink="false">4063222@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed May 11 2016 05:31:46 PM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />The very bottom layers of webcit-ng are taking shape. It is so refreshing to be able to throw away code that implements assumptions and requirements from 20 years ago. The new code requires no per-thread state, since it's not descended from code that was, at one time, not a worker thread model. <br />Threads simply spawn when load requires it and accept connections forever until the server is killed. Threads enter the worker loop knowing nothing but the socket on which they are listening for connections. One thread wakes up on a connection, does its work, and then loops back and is ready for another connection. <br /><br />Every layer is being built well before proceeding up to the next one. The current implementation doesn't even speak HTTP yet. </div>
</div>
</blockquote>
<p>So, no cleanup if there's no connections after a period of time. Any thoughts on settings for minimum or maximum worker threads?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4063211</link><pubDate>Wed, 11 May 2016 17:31:46 +0500</pubDate><title>Message #4063211</title><guid isPermaLink="false">4063211@Uncensored</guid><description><![CDATA[  
 The very bottom layers of webcit-ng are taking shape.  It is so refreshing
to be able to throw away code that implements assumptions and requirements
from 20 years ago.  The new code requires no per-thread state, since it's
not descended from code that was, at one time, not a worker thread model.
 Threads simply spawn when load requires it and accept connections forever
until the server is killed.  Threads enter the worker loop knowing nothing
but the socket on which they are listening for connections.  One thread wakes
up on a connection, does its work, and then loops back and is ready for another
connection. 
  
 Every layer is being built well before proceeding up to the next one.  The
current implementation doesn't even speak HTTP yet. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4063097</link><pubDate>Wed, 11 May 2016 09:29:46 +0500</pubDate><title>Message #4063097</title><guid isPermaLink="false">4063097@Uncensored</guid><description><![CDATA[  
 awesome  :) 
  
 Hopefully you notice ... nothing!    All the changes are under the hood.

  
 But we know networking is up   :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4062814</link><pubDate>Tue, 10 May 2016 15:23:04 +0500</pubDate><title>Message #4062814</title><guid isPermaLink="false">4062814@Uncensored</guid><description><![CDATA[WOOT!!! 
  
  
 Citadel 902              
 Dog Pound BBS II 
 Fishers, IN 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4062809</link><pubDate>Tue, 10 May 2016 15:20:26 +0500</pubDate><title>Message #4062809</title><guid isPermaLink="false">4062809@Uncensored</guid><description><![CDATA[LOL...I'm trying it again. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4062802</link><pubDate>Tue, 10 May 2016 15:10:34 +0500</pubDate><title>Message #4062802</title><guid isPermaLink="false">4062802@Uncensored</guid><description><![CDATA[<html><body>

<p>Fscking h3ll.</p>
<pre>/usr/bin/git checkout $BRANCH
#for module in libcitadel citadel webcit textclient
for module in textclient
do
</pre>
<div>That's the push script.  I must have commented the other stuff out for an interim release of the text client.  It's fixed now.</div>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4062275</link><pubDate>Mon, 09 May 2016 22:08:35 +0500</pubDate><title>Message #4062275</title><guid isPermaLink="false">4062275@Uncensored</guid><description><![CDATA[Um...maybe not? 
  
 Installation will now begin. 
 Command output will not be sent to the terminal. 
 To view progress, see the /tmp/citadel-install-log.txt file.    
  
 * libical does not need updating. 
 * libsieve does not need updating. 
 * Berkeley DB does not need updating. 
 * expat does not need updating. 
 * libev does not need updating. 
 * c-ares does not need updating. 
 * libcurl does not need updating. 
 * libcitadel does not need updating. 
 * Upgrading your existing Citadel installation. 
 * Citadel does not need updating. 
 * WebCit does not need updating. 
 * Downloading the Citadel text mode client... 
 * Installing the Citadel text mode client... 
   Complete. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4062268</link><pubDate>Mon, 09 May 2016 22:02:55 +0500</pubDate><title>Message #4062268</title><guid isPermaLink="false">4062268@Uncensored</guid><description><![CDATA[ >Oops.  I only upgraded Queasy Install.   
 >    
 > Easy Install is now updated too.   
  
 D'oh!!! I'll give it another try. Thanks. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4062167</link><pubDate>Mon, 09 May 2016 11:54:43 +0500</pubDate><title>Message #4062167</title><guid isPermaLink="false">4062167@Uncensored</guid><description><![CDATA[Oops.  I only upgraded Queasy Install. 
  
 Easy Install is now updated too. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4061916</link><pubDate>Sun, 08 May 2016 17:46:49 +0500</pubDate><title>Message #4061916</title><guid isPermaLink="false">4061916@Uncensored</guid><description><![CDATA[ > Ok, it's time!   
 >    
 > "Release_902" is the git tag for our official Version 902 release of  

 >the Citadel system.   
 >    
 > Easy Install has been updated, and I'm building source tarballs now.  

  
 I just tried to upgrade via Easy Install...the only thing updated was the
text client. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4061599</link><pubDate>Sat, 07 May 2016 08:13:53 +0500</pubDate><title>Message #4061599</title><guid isPermaLink="false">4061599@Uncensored</guid><description><![CDATA[<html><body>

<p>I don't think that swaggerized API description is a playbed.</p>
<p>If you want to do REST, you have to design a URL patern, so you can reliably parse them and split "floor / room \ subroom / item" when parsing the URL.</p>
<p>I think the code to work with mail inside of webcit is sophisticated enough to void the aproach of rewriting that in javascript.</p>
<p>But if you want to render mails via javascript, we have a json template, which you could use to easily get mails in a way the browser js can learn about it.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4061361</link><pubDate>Fri, 06 May 2016 13:22:38 +0500</pubDate><title>Message #4061361</title><guid isPermaLink="false">4061361@Uncensored</guid><description><![CDATA[  
 Ok, it's time! 
  
 "Release_902" is the git tag for our official Version 902 release of the
Citadel system. 
  
 Easy Install has been updated, and I'm building source tarballs now. 
  
 Distribution maintainers, feel free to publish from this tag. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4060721</link><pubDate>Wed, 04 May 2016 19:12:00 +0500</pubDate><title>Message #4060721</title><guid isPermaLink="false">4060721@Uncensored</guid><description><![CDATA[That's an interesting idea.  I'm not sure if we could do that and still have
the REST API I have in mind, but it's worth thinking about. 
  
 We actually do have something like that embedded in the existing WebCit,
a handler that can make arbitrary calls to the Citadel server. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4060687</link><pubDate>Wed, 04 May 2016 17:42:45 +0500</pubDate><title>Message #4060687</title><guid isPermaLink="false">4060687@Uncensored</guid><description><![CDATA[ > The design I have in my head right now is to write the engine in C and
 
 >the UI strictly in HTML and JavaScript.  If done right, we can keep   
 >most (all?) of the HTML out of the server engine, and also avoid the   
 >need for a template engine.   
  
 these days, it seems the state of the art is to keep HTML mostly static and
perform rendering in JavaScript. So yes. 
  
 I'd still ditch the C, and build a stateless variant of the port-504 protocol
hosted in citserver itself. That would be enough to break the depedency on
having an "engine" per se in webcit, which is necessary because webcit is
currently acting as a TCP concentrator for port 504. 
  
 That's a big part of what it takes to make webcit horizontally scalable.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4060597</link><pubDate>Wed, 04 May 2016 13:58:39 +0500</pubDate><title>Message #4060597</title><guid isPermaLink="false">4060597@Uncensored</guid><description><![CDATA[  
 The new configdb-enabled build of Citadel seems to be running nicely on Uncensored.
 I'm cleaning up a few *very* minor things here and there, but it basically
is looking very good. 
  
 This means it's just about time to release a new version.  Please consider
the code to be in hard freeze, bugfixes only, until citadel-902 is released.

  
 I just looked at my commit history and discovered that it's been over a year
since I started working on configdb and related changes.  Sheesh. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4059543</link><pubDate>Mon, 02 May 2016 16:55:02 +0500</pubDate><title>Message #4059543</title><guid isPermaLink="false">4059543@Uncensored</guid><description><![CDATA[Ok, I think I'm ready to guinea pig test the new code on Uncensored.  Possibly
as early as today. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4056878</link><pubDate>Wed, 27 Apr 2016 09:07:24 +0500</pubDate><title>Message #4056878</title><guid isPermaLink="false">4056878@Uncensored</guid><description><![CDATA[I recall thinking at the time that the program flow was going to be quite
linear, similar to the text client, and the web server code would just work
around that by putting the flow of control back onto wherever we left off
after each HTTP transaction was submitted.  In other words, I didn't have
a clue what I was doing.  That was excusable 20 years ago, and at the time
there were a number of people who were amazed that the Citadel model could
be mapped onto a web UI at all. 
  
 But yes, it was a deliberate design decision.  It was what I knew how to
do at the time.  You might recall we experimented with a PHP-based framework
(what was that, about 10 years ago?) but that didn't really go anywhere. 
  
 The design I have in my head right now is to write the engine in C and the
UI strictly in HTML and JavaScript.  If done right, we can keep most (all?)
of the HTML out of the server engine, and also avoid the need for a template
engine. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4056681</link><pubDate>Tue, 26 Apr 2016 14:56:06 +0500</pubDate><title>Message #4056681</title><guid isPermaLink="false">4056681@Uncensored</guid><description><![CDATA[  
 Coding a web-UI layer in C was certainly a highly atypical design decision.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4055311</link><pubDate>Sun, 24 Apr 2016 09:21:46 +0500</pubDate><title>Message #4055311</title><guid isPermaLink="false">4055311@Uncensored</guid><description><![CDATA[<html><body>

<p>One of the reasons WebCit is spaghetti is because we all used it as a test bed to try out new programming techniques.  I am vowing to stop doing that and I am going to request that everyone else do the same.  From now on we agree on an *architecture* and we follow it.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4054735</link><pubDate>Fri, 22 Apr 2016 15:04:13 +0500</pubDate><title>Message #4054735</title><guid isPermaLink="false">4054735@Uncensored</guid><description><![CDATA[  
 Eh, commercial code is supposed to be boring, no fancy techniques, coded
near the lowest common denominator of what the typical programmer can understand.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4054547</link><pubDate>Thu, 21 Apr 2016 21:42:28 +0500</pubDate><title>Message #4054547</title><guid isPermaLink="false">4054547@Uncensored</guid><description><![CDATA[But I am not a professional developer so I am not bound by your lack of requirements.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4054522</link><pubDate>Thu, 21 Apr 2016 18:11:35 +0500</pubDate><title>Message #4054522</title><guid isPermaLink="false">4054522@Uncensored</guid><description><![CDATA[  
 Take the fun out of a hobby project? My *commercial* projects sometimes look
like such a test bed. Don't tell anyone I said that... 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4054451</link><pubDate>Thu, 21 Apr 2016 13:11:22 +0500</pubDate><title>Message #4054451</title><guid isPermaLink="false">4054451@Uncensored</guid><description><![CDATA[  
 There is one thing I want to make sure we stop doing, and that is using Citadel
as a test bed for new programming techniques we want to learn or try. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4053427</link><pubDate>Tue, 19 Apr 2016 07:03:29 +0500</pubDate><title>Message #4053427</title><guid isPermaLink="false">4053427@Uncensored</guid><description><![CDATA[<html><body>

<p>see some of the docs here:</p>
<p>https://docs.arangodb.com/HttpAqlQueryCursor/QueryResults.html</p>
<p>https://docs.arangodb.com/HttpAqlQuery/index.html</p>
<p> </p>
<p>The cute thing is, that once you've got documentation like this, generating swagger.io yaml files can be used to automate questioning of the URLs.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4053426</link><pubDate>Tue, 19 Apr 2016 07:00:50 +0500</pubDate><title>Message #4053426</title><guid isPermaLink="false">4053426@Uncensored</guid><description><![CDATA[<html><body>

<p>ArangoDB does it like that:</p>
<p> </p>
<p>/_db/databasename/_someothercall/parameter</p>
<p> </p>
<p>This would prehibit creating of rooms with a leading underscore, but could be an easy way to achieve this:</p>
<p>/main_floor/some/sub/room/_msg/idhash/_attchID/filename.png</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4053399</link><pubDate>Tue, 19 Apr 2016 04:26:13 +0500</pubDate><title>Message #4053399</title><guid isPermaLink="false">4053399@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Apr 19 2016 02:36:05 EDT</span> <span>from the_mgt @ Uncensored </span></div>
<div class="message_content">
<blockquote>
<div class="message_header"><span>Mon Apr 18 2016 10:30:57 EDT</span><span>from IGnatius T Foobar @ Uncensored </span></div>
<p><span style="background-color: transparent;">By the way, I've made a decision to get rid of the decimal points in our version numbers.  The next version after Citadel 9.01 will be Citadel 902, followed by 903 and 904 and so on.</span></p>
</blockquote>
<p>Why waste the opportunity to call it CitadelX? Why not call the version with the improvements under the hood and the new webinterface CTDLX and then drop the decimal point and simply start counting upwards? It was once called Citadel U/X, iirc. I liked that.</p>
</div>
</blockquote>
<p>I'm still not convinced this is a good idea.</p>
<p> </p>
<p>Regarding Rest, we should discuss / find a good solution how to start identifiers for mails in paths, so you can easily tell appart message from A URL like: floor/roomtl/roomsub/message</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4053377</link><pubDate>Tue, 19 Apr 2016 02:36:05 +0500</pubDate><title>Message #4053377</title><guid isPermaLink="false">4053377@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Mon Apr 18 2016 10:30:57 EDT</span><span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<p>We might just have to build our own minimalist CSS framework if we want to avoid upstream abandonment, but it will have to be done carefully.  And sure, we might be having this conversation again someday, but if it's 15-20 years from now then I don't mind  :)</p>
</div>
</blockquote>
<div class="message_content">
<p>That is why I keep talking about this amazium thing ( http://amazium.co.uk source: https://github.com/OwlyStuff/Amazium/tree/v3.6.1 ), it is so minimalist, you can even understand what it does and why it does the things. Maybe we throw in an additional normlize.css ( https://necolas.github.io/normalize.css/ ) in order to get cross browser consistent layout, and that is it.</p>
<p>Hoping to be good for 15-20 years is rather optimistic, but hey, email is around for way longer.</p>
</div>
<blockquote>
<div class="message_content">
<p><span style="background-color: transparent;">Again I have to finish the database changes to Citadel Server first.  We'll get the next major release out with that in place, plus any other bugfixes and whatever, and release it with the latest WebCit in its current form.</span></p>
</div>
</blockquote>
<div class="message_content">
<p>I am still contemplating wether it would be somehow possible to fetch the data from the database without the need of webcit specific code. Doing it all in js on the client side is probably way to slow on mobile devices.</p>
<p>But then again, target audience is different from the people that need a webmail interface for their hosted homepage. I guess they already have a server and want easy and fast deployment of MTA and Webinterface. Should we keep starting to attract the docker hipsters?</p>
</div>
<blockquote>
<div class="message_content">
<p><span style="background-color: transparent;">By the way, I've made a decision to get rid of the decimal points in our version numbers.  The next version after Citadel 9.01 will be Citadel 902, followed by 903 and 904 and so on.</span></p>
</div>
</blockquote>
<p>Why waste the opportunity to call it CitadelX? Why not call the version with the improvements under the hood and the new webinterface CTDLX and then drop the decimal point and simply start counting upwards? It was once called Citadel U/X, iirc. I liked that.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4053222</link><pubDate>Mon, 18 Apr 2016 15:37:19 +0500</pubDate><title>Message #4053222</title><guid isPermaLink="false">4053222@Uncensored</guid><description><![CDATA[  
 Also, to be clear, some of our new interfaces are for desktop. These will
also use knockout-js. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4053217</link><pubDate>Mon, 18 Apr 2016 15:36:20 +0500</pubDate><title>Message #4053217</title><guid isPermaLink="false">4053217@Uncensored</guid><description><![CDATA[ >Sounds like we're mostly in agreement.  JQuery is probably a safe  
 >bet; it's been around for a while and seems to have "won" the  
 >JS-framework space, particularly against Prototype and Scriptaculous.  
  
 I'm not sure that's true. Take a look at Underscore. (Well, JQuery and Underscore
are in some respects complimentary. We do use both from the same page.) 
  
 We have 4 different UIs with different designs, with more on the way. Our
oldest one is heavily Jquery. Our mobile site does make use of jquery-mobile,
but not in a big way; most of the variable binding and rendering is done with
knockout-js. 
  
 There is a trend to do more rendering directly in JS and less in server-side
dynamic HTML generation. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4053142</link><pubDate>Mon, 18 Apr 2016 10:30:57 +0500</pubDate><title>Message #4053142</title><guid isPermaLink="false">4053142@Uncensored</guid><description><![CDATA[<html><body>

<p>Sounds like we're mostly in agreement.  JQuery is probably a safe bet; it's been around for a while and seems to have "won" the JS-framework space, particularly against Prototype and Scriptaculous.  We might just have to build our own minimalist CSS framework if we want to avoid upstream abandonment, but it will have to be done carefully.  And sure, we might be having this conversation again someday, but if it's 15-20 years from now then I don't mind  :)</p>
<p>Again I have to finish the database changes to Citadel Server first.  We'll get the next major release out with that in place, plus any other bugfixes and whatever, and release it with the latest WebCit in its current form.  Then I am going to start building our next-generation web server in a separate tree (WebCit-NG or Citadel Web Access or whatever clever name we come up with) and the <em>first</em> focus is going to be on making it solid for DAV and REST before we even start incorporating any user interface into it.  That will give it a good solid foundation so that when the user interface starts going in, we don't have to write spaghetti code to handle it.  That was acceptable in 1996 when we didn't know what we were doing; it's not acceptable now.</p>
<p>By the way, I've made a decision to get rid of the decimal points in our version numbers.  The next version after Citadel 9.01 will be Citadel 902, followed by 903 and 904 and so on.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4052752</link><pubDate>Sat, 16 Apr 2016 17:55:39 +0500</pubDate><title>Message #4052752</title><guid isPermaLink="false">4052752@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Apr 14 2016 15:14:36 EDT</span><span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">1. Must be well-establihed, well-supported, stable and LONG TERM VIABLE.</div>
<div class="fmout-JUSTIFY"> </div>
<div class="fmout-JUSTIFY"> </div>
</div>
</blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY">For the JS stuff, I think this is JQuery. That is well established and well supported, as it seems. </div>
<div class="fmout-JUSTIFY">For the html/css stuff, I am not yet clear what long term viable might mean. I see two possibilities:</div>
<div class="fmout-JUSTIFY">a. A Full blown framework that is huge and hip now, that seems well supported and established. Then they release version x+1 and overthrow all of what they did in previous releases, so that you need to port all the shit to the new well supported and well established framework. I have some friends in web development/design, they have to maintain some sites which have grown so huge, that it is not easily or for a reasonable price possible to upgrade from framework X to X+0.5. For example Joomla, that has been well-established, well supported and it looks long term viable, but not when you actually have to maintain a complicated site with lots of modifications and personalisations. Scriptaculous looked good once, it still gets some error fixing updates now and then, but basically it is dead. AOL is dead, geocities is dead, things on the internet die and we can not infer which system will survive how long. Even jquery might die this winter.</div>
<div class="fmout-JUSTIFY"> </div>
<div class="fmout-JUSTIFY">b. A minimalistic framework that consists of some basic browser normalisation css, some responisveness css and html and a few things that make life easier for us. But that are so simple and smart, that a person with a bit of html/css knowledge can understand why it does what. Without additionally dive into some js hell which pushes containers around.</div>
<div class="fmout-JUSTIFY"> </div>
<div class="fmout-JUSTIFY">I think I am more in favor of b), but we can handle this empirically: In the summer holiday, I will try to build a dummy citadel layout using some frameworks, hello world style, and then we can see how much additional knowledge they require, how big their foot print is and how easy they can be applied.</div>
</div>
<blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY"><span style="background-color: transparent;">2. Must not require any runtime language other than JavaScript. </span></div>
</div>
</blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY">This goes without saying.</div>
</div>
<blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY"><span style="background-color: transparent;">3. Flexible layout -- I want it to seamlessly reflow properly on small/mobile devices. </span></div>
</div>
</blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY"><span style="background-color: transparent;">This too. I think all of them are supporting mobile now. It is as mandatory as it once was to have a rotating skull gif and fugly tiled background. What I am worrying about is retina/3k/4k/5k/above. I am not sure if any of them has a plan yet.</span></div>
</div>
<blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY"><span style="background-color: transparent;">4. License compatible with our existing code base. </span></div>
</div>
</blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY"><span style="background-color: transparent;">Which licenses would that rule out?</span></div>
</div>
<blockquote>
<div class="message_content">
<div class="fmout-JUSTIFY"><span style="background-color: transparent;">I have ABSOLUTELY NO INTEREST in supporting outdated browsers. Right out of the gate I'm thinking the minimum required browsers will be: IE 9, Edge 13, Firefox 44, "Chrome 47, Safari 9, Opera 36, iOS Safari 8.4, Android browser 4.3, Android Chrome 49. This gives us reasonable HTML5 support, and also support for data: URI's, which are something I've come to love recently. </span></div>
</div>
</blockquote>
<p>Yeah, most of the bigger frameworks seem to agree with that.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4052172</link><pubDate>Thu, 14 Apr 2016 15:14:36 +0500</pubDate><title>Message #4052172</title><guid isPermaLink="false">4052172@Uncensored</guid><description><![CDATA[I'm flexible on what framework we use, but the REQUIREMENTS are: 
  
 1. Must be well-establihed, well-supported, stable and LONG TERM VIABLE.

 2. Must not require any runtime language other than JavaScript. 
 3. Flexible layout -- I want it to seamlessly reflow properly on small/mobile
devices. 
 4. License compatible with our existing code base. 
  
 I have ABSOLUTELY NO INTEREST in supporting outdated browsers.  Right out
of the gate I'm thinking the minimum required browsers will be:  IE 9, Edge
13, Firefox 44, Chrome 47, Safari 9, Opera 36, iOS Safari 8.4, Android browser
4.3, Android Chrome 49.  This gives us reasonable HTML5 support, and also
support for data: URI's, which are something I've come to love recently. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4052105</link><pubDate>Thu, 14 Apr 2016 12:11:04 +0500</pubDate><title>Message #4052105</title><guid isPermaLink="false">4052105@Uncensored</guid><description><![CDATA[<html><body>

<p>I am totally in love with most of the above, in fact, I was trying to do that a long while, but fell flat on my face when I saw the state of the calendar rendering.</p>
<p>There is so much hardcoded and fugly HTML in there, I just stopped. Also, real life demanded that I finish my studies first. Now, with the last part, I am almost done, I hope.</p>
<p>You can see my hacking around in the layout_rework branch in git, but this is kind of a timetravel since it is really old. You might get an idea what I was trying to undertake then. I almost threw out all pre-existing html and I threw out all css. I did not touch the js then, though. I also used a framework, but it was Amazium http://www.amazium.co.uk</p>
<p>Amazium has the benefit of not using any javascript for layout, since the things we do with the content is already using js enough, I thought adding an additional layer might not be wise. Also, it does not come with all the hipster shit like less/sass/etc. which is trying to improve your code before delivering. Anyway, it worked well enough for me so that I used my layout_rework as a frontend for this very uncensored citadel here.</p>
<p> </p>
<p>Thinking about it now, I guess if we start all over again, I would consider the following things:</p>
<p>1. Go all the way to HTML5. We probably won't be rebuilding everything all over again soon, so we should aim for a solid and future proof base.</p>
<p>2. Less is more. I like the idea of having a framework that eases UI development. I do not like the idea of having to learn a whole new UI language, only to find out that the developing hipsters throw everything overboard next year in order to come up with the next hip thing. So it should be as close to regular html and css.</p>
<p>3. Less is still more. I am all for using jquery for the js stuff, seems to be one of the more sane choices. scriptaculous is too old and untimely. But I also do not want the layout framework to be dripping js all over the place. The mail rendering, the calendar stuff, the mail editing will probably bring along enough code by themselves and we should aim for snappy.</p>
<p>4. Then we have to agree on the looks. It might be unwise to bring in apple as an example, but just as they dropped sceuouemörphism from their devices, we should drop a lot of the stuff from the citadel UI and focus on the UX. We probably should hide a lot of stuff which is currently visible and rearrange other things around. People know how a website works, they are used to messenger interfaces like gmail, gmx, facebook, twitter and whatnot.</p>
<p>Personally, I like the looks of http://qz.com/ and a lot of the minimalistic black and white layouts that architecture/design nazis use.</p>
<p>5. We should also think about 4k and other large resolutions. Even on 3k displays, most of the webpages look lost. I'd like to include a widescreen mode, so that we can really make use of all the real estate there is.</p>
<p> </p>
<p>I might think about the more technical issues later. </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4052069</link><pubDate>Thu, 14 Apr 2016 09:44:51 +0500</pubDate><title>Message #4052069</title><guid isPermaLink="false">4052069@Uncensored</guid><description><![CDATA[  
 This type of thing is almost always a bad idea, but I'm thinking about it
anyway: 
  
 I'm giving some serious consideration to a complete rewrite of WebCit. 
  
 As some of you have observed, I've taken quite a break from Citadel because
of job and family commitments, and over the last couple of weeks I've started
getting back into it again.  As I move the various "external files" -- things
like user profiles, user photos, and of course all of the system state and
configuration -- into the database, here's what I'm finding: 
  
 * Citadel Server continues to be a nice solid design.  There are a few things
I would change but not much. 
 * Implementing the corresponding client changes in WebCit has been a disgusting
mess. 
  
 WebCit came into existence 20 years ago -- yes, TWENTY years ago -- when
I barely understood how web applications worked, and basically just hacked
together something
that would speak to a browser and maintain a session with the Citadel Server.
 Even the update that made it a standalone web server is about 16 years old.
 Here are the things I don't like about it: 
  
 * It is spaghetti code of the worst kind.  Finding the execution path of
a single transaction takes you back and forth between half a dozen files.

 * Too much state is maintained.  (And it's showing -- I've been seeing a
lot of "not found" screens lately) 
 * The template engine, although much better than hard coded HTML in the source
files, is difficult to maintain. 
 * WebCit on mobile basically doesn't work. 
 * There is tons of CSS and JS that isn't even used anymore.  Very much cruft.

 * A lot of what's in there is designed to work around bugs in browsers that
have been obsolete for years. 
 * Adding support for CALDAV and CARDDAV will require *even more* spaghetti.

  
 So what am
I proposing?  Basically, a web service that resembles something built in the
21st century: 
  
 * Streamline the HTTP[S] server code into a single source module that handles
nothing but the web protocol, designed from the start to handle things like
HTTP uploads and other special considerations.  Full support of inbound and
outbound content-types throughout the system, every transaction, every time.

 * Strict REST API.  Force all paths to begin with a prefix like "/ctdl" so
that site operators who want to mix WebCit with another web server can do
so.  All media will be REST enabled so that you can request, for example,
http://uncensored.citadel.org/ctdl/r/Citadel%20Support/123456 and it would
spew the correct data at you, regardless of whether it was requested by a
DAV client or as part of a browser rendering. 
 * Let the majority of the UI work be handled by an existing CSS/JS framework.
 I'm considering Bootstrap [http://getbootstrap.com] because it seems to be
very popular, good looking, and mobile-friendly.  For sure, we get rid of
Prototype and Scriptaculous.  If we need more scripting than Boostrap by itself
can support, we can add in JQuery or something equally as modern. 
  
 There is a lot that we'd keep from the existing system, but we'd move over
the usable parts one bit at a time.  For example, all of the work that has
been put into translations has to be kept; we can't ask everyone to start
over there.  And the basic web server engine *works* but it has to be brought
over and streamlined.  But here's the thing: this will cause the progress
of development to appear stalled for quite some time.  This kind of thing
has famously sunk projects before.  But I'm starting to think that WebCit
has become so unmaintainable that it's necessary.  What do you all think?


 
 To be sure, I want to finish the cleanup of Citadel Server's directory hierarchy
first.  I'm really happy with the progress on this, and it feels great to
have all of those external files disappear.  A lot of it felt like relics
of a monolithic dialup BBS disappearing and getting replaced by modern technology.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4051741</link><pubDate>Wed, 13 Apr 2016 12:22:51 +0500</pubDate><title>Message #4051741</title><guid isPermaLink="false">4051741@Uncensored</guid><description><![CDATA[  
 ...and there it is.  The whole "user photo" framework has been moved out
of the directory hierarchy and into the database. 
   
 Everything else sitting in the directory hierarchy is kind of random ...
system messages, SSL keys, that sort of thing.  Need to figure out where they
are going to go.  But in the mean time this is good progress.  I think we're
getting close to being able to release this. 
  
 Is there anything else open, that would stop us from declaring a feature
freeze once I finish these last few moves? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4051500</link><pubDate>Tue, 12 Apr 2016 16:53:20 +0500</pubDate><title>Message #4051500</title><guid isPermaLink="false">4051500@Uncensored</guid><description><![CDATA[  
 User photos (pic, avatar, image, whatever) are now being stored in the database.
 So far I've completed the ingestion of legacy data into the new format, a
new command to retrieve a user's photo without requiring a pass through the
file-download chain, and the changes required in WebCit to use that command.

  
 When I have the upload side of things finished, I will push my changes upstream.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4049774</link><pubDate>Sat, 09 Apr 2016 20:01:12 +0500</pubDate><title>Message #4049774</title><guid isPermaLink="false">4049774@Uncensored</guid><description><![CDATA[  
 I had some time today so I was able to work on the next task of removing
all the external data directories.  Profiles (bios) are now stored in the
user's config room as a MIME object.  At the moment we are still using the
existing RBIO and EBIO commands, but in the future I will deprecate them so
the user can use  
 HTML or whatever.   
  
 If a bio/ directory exists at startup, it is ingested into the database and
then deleted.  Obviously a new one would not be created under any circumstances.

  
 If you read the diff to citadel.h it is obvious that I intend to do the same
with user photos next. 
  
 As I go here I'm thinking it would be nice to be able to fetch these objects
with some sort of nice REST format in WebCit, which could potentially eliminate
the need for extra commands and even the templates.  And this of course leads
me to think that WebCit itself needs a major overhaul :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4016940</link><pubDate>Wed, 24 Feb 2016 08:11:38 +0500</pubDate><title>Message #4016940</title><guid isPermaLink="false">4016940@Uncensored</guid><description><![CDATA[<html><body>

<p>whoa, this is cool:</p>
<p>https://stackedit.io/editor</p>
<p> </p>
<p>and, its apache licensed.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4001026</link><pubDate>Mon, 25 Jan 2016 15:19:32 +0500</pubDate><title>Message #4001026</title><guid isPermaLink="false">4001026@Uncensored</guid><description><![CDATA[<html><body>

<p>no, it seems its outputting them anyways. The macros turn off everything with 'LOG_DEBUG'  by default.</p>
<p>Some of the changes lower precedence from INFO to DEBUG.</p>
<p>the macros also have another advantage the way they're implemented now: you can turn on and off single components at runtime.So you want to follow pop3 sessions? one sendcommand or webcit setting a checkmark - done.</p>
<p>And, without the macros adding the context information they're next to useless, in production - you could #if 0 them for non debug builds, else its like sitting with your but onto a buzz-saw and trying to figure out which of the teeth was the first to bite you.</p>
<p>I experienced several situations, were I wanted to follow exactly one session in the log. Thanks to the macro context information, its easily possible:</p>
<p>citadel/techdoc/logging.txt</p>
<p>explains what to grep in which way.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4000870</link><pubDate>Sun, 24 Jan 2016 23:10:24 +0500</pubDate><title>Message #4000870</title><guid isPermaLink="false">4000870@Uncensored</guid><description><![CDATA[The thing is, I removed lprintf() because I didn't want Citadel to be saddled
with its own proprietary logging framework anymore, and now we have it again.

  
 Isn't the way to remove verbosity simply to put the verbosity to LOG_DEBUG
and not log that if you want it quiet? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4000460</link><pubDate>Sat, 23 Jan 2016 07:00:46 +0500</pubDate><title>Message #4000460</title><guid isPermaLink="false">4000460@Uncensored</guid><description><![CDATA[<html><body>

<p>if you want your log flooded with everything, use</p>
<p>citserver -x all</p>
<p>which will remove all output.</p>
<p>Parts of these macros also add information about the current context to the log string. So, if you have more than one of these rss aggregation jobs running, and want to be able to differenciate between them (which one sent an error message) you need these macros. Else you can simply remove all of these syslog lines, since their output without is meaningless.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4000455</link><pubDate>Sat, 23 Jan 2016 06:48:24 +0500</pubDate><title>Message #4000455</title><guid isPermaLink="false">4000455@Uncensored</guid><description><![CDATA[<html><body>

<p>since # 03cd7985fad9d51530f613304869f3b7960b9f81 removes the ability to mute rss syslog output I will revert it.</p>
<p>even if its debug, having steady noise on syslog is a bad thing to have - as you can read by more than one post in the support room.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=4000449</link><pubDate>Sat, 23 Jan 2016 06:35:30 +0500</pubDate><title>Message #4000449</title><guid isPermaLink="false">4000449@Uncensored</guid><description><![CDATA[<html><body>

<p>Iggy,</p>
<p>if you changed parts of the base64 sh* once more, please remember to check:</p>
<p>  - base64 de/encoding for email attachments</p>
<p>  - authentication in pop3/smtp/imap</p>
<p>  - the xml export/importer...</p>
<p>directix brought us lots of pain with that patch :-(</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3996633</link><pubDate>Thu, 07 Jan 2016 17:58:59 +0500</pubDate><title>Message #3996633</title><guid isPermaLink="false">3996633@Uncensored</guid><description><![CDATA[<html><body>

<p>well, if you're suffering from the NIH syndrome, we already have something that can serialize json, you only need to add the parser. Probably doable in some hundret lines of code.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3996624</link><pubDate>Thu, 07 Jan 2016 16:47:24 +0500</pubDate><title>Message #3996624</title><guid isPermaLink="false">3996624@Uncensored</guid><description><![CDATA[But, we already have an XML parser linked into the build.  Adding more dependencies
== bad bad bad. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3996596</link><pubDate>Thu, 07 Jan 2016 13:33:40 +0500</pubDate><title>Message #3996596</title><guid isPermaLink="false">3996596@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Jan 06 2016 21:56:12 EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<p>I doubt it would look anything like that if I were building it today.  I would probably serialize it to XML.</p>
<br /><br /></div>
</blockquote>
<p>so at least the parser doesn't have any chance to become fast? XML is soooo 90'ies.</p>
<p>in the modern world we use json to persist complex structures.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3996363</link><pubDate>Wed, 06 Jan 2016 21:56:12 +0500</pubDate><title>Message #3996363</title><guid isPermaLink="false">3996363@Uncensored</guid><description><![CDATA[<html><body>

<p>I doubt it would look anything like that if I were building it today.  I would probably serialize it to XML.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3996118</link><pubDate>Wed, 06 Jan 2016 15:07:55 +0500</pubDate><title>Message #3996118</title><guid isPermaLink="false">3996118@Uncensored</guid><description><![CDATA[<html><body>

<p>as long as you don't parse stuff by hand in each file again, i'm fine with that. ;-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3994928</link><pubDate>Sun, 03 Jan 2016 15:50:28 +0500</pubDate><title>Message #3994928</title><guid isPermaLink="false">3994928@Uncensored</guid><description><![CDATA[<html><body>

<p>I'm reworking it anyway.  All code that makes use of netconfigs now does <tt>CtdlGetNetCfgForRoom()</tt> followed by <tt>SaveRoomNetConfigFile()</tt> (if anything was changed) and then <tt>FreeRoomNetworkStruct()</tt>.  It's a lot easier to follow this way, and I favor readability and maintainability over squeezing out every possible bit of performance.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3994793</link><pubDate>Sun, 03 Jan 2016 11:18:23 +0500</pubDate><title>Message #3994793</title><guid isPermaLink="false">3994793@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok, the wiki page id is now also appended to the message ID of wiki messages.</p>
<p>That way the edit steps remain to keep uniq ids, but are identifyable.</p>
<p>Next the publish button will have to detect whether there already is an article with that trailing page-message ID in the blog, then we are able to edit blog articles, replace the original, and keep the replies aligned to those articles.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3994574</link><pubDate>Sun, 03 Jan 2016 06:33:38 +0500</pubDate><title>Message #3994574</title><guid isPermaLink="false">3994574@Uncensored</guid><description><![CDATA[<html><body>

<p>Considering uncensored: <em>300K    /usr/local/citadel/netconfigs/</em></p>
<p>and outgesourced: <em>216K    /etc/citadel/netconfigs</em><br />which both could be considered to have many netconfigs, and the available memory on a $35 pi, I don't think keeping both is much of a problem?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3994343</link><pubDate>Sat, 02 Jan 2016 17:31:36 +0500</pubDate><title>Message #3994343</title><guid isPermaLink="false">3994343@Uncensored</guid><description><![CDATA[I've started working on moving the netconfigs records into the config database.

  
 I see that there's a lot of caching of netconfigs in there now.  Since we
now cache configdb records, every netconfig is now going to be in memory twice.
 We will need to do something about that. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3993889</link><pubDate>Thu, 31 Dec 2015 09:14:40 +0500</pubDate><title>Message #3993889</title><guid isPermaLink="false">3993889@Uncensored</guid><description><![CDATA[<html><body>

<p>next missing is the tags handling.</p>
<p>another thing I plan is to have a separate html tree to simply view a blog. Should be easier to brew new layouts with such a reduced set of pages, which may eventually become used in regular webcit later on.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3993881</link><pubDate>Thu, 31 Dec 2015 09:12:53 +0500</pubDate><title>Message #3993881</title><guid isPermaLink="false">3993881@Uncensored</guid><description><![CDATA[<html><body>

<p>ok, I've added a form that uses some js magic to create such a tandem of a blog and a html edit room, plus sets up flags so they share files.</p>
<p>I've also put up a start page into that edit wiki that will demonstrate html syntax and adding the articles the user wants to compose in there.</p>
<p> </p>
<p>Now next to go - a 'publish' button in the wiki view with some more js magic, and some error handling ;-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3987822</link><pubDate>Tue, 15 Dec 2015 12:18:54 +0500</pubDate><title>Message #3987822</title><guid isPermaLink="false">3987822@Uncensored</guid><description><![CDATA[<html><body>

<p>fancy. stackoverflow can even do a visualized diff of markdown edits:</p>
<p>http://stackoverflow.com/posts/34196368/revisions</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3987596</link><pubDate>Mon, 14 Dec 2015 08:46:13 +0500</pubDate><title>Re: implementing tags for blogs...</title><guid isPermaLink="false">3987596@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Mon Dec 14 2015 07:07:12 EST</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: implementing tags for blogs...</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">You could use a new header byte ... or an RFC822 header </div>
</div>
</blockquote>
<p>yep, thats what I thought by <strong>eenVelopeTo</strong> is useless enough in this usecase.</p>
<p>So I'll go with that.</p>
<p>I'm also thinking about having a fixed structure like that:</p>
<p> </p>
<p>blogroom -&gt; filedirectory 'blogroom'</p>
<p>blogroom\edit-&gt;firedirectory 'blogroom' too.</p>
<p>so, files uploaded in the edit room should be visible in the final blog room too.</p>
<p>Now blogroom\edit will be a wiki room where one can compose the articles. Once its finished, a special *publish* button will copy the article into the blogroom.</p>
<p> </p>
<p>Only question, the way wikis currently work, and the way comments are attached to blogposts, will editing the wiki entry afterpublishing it work? if one would have to re-publish it, will the comments remain attached to the old article?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3987577</link><pubDate>Mon, 14 Dec 2015 07:07:12 +0500</pubDate><title>Re: implementing tags for blogs...</title><guid isPermaLink="false">3987577@Uncensored</guid><description><![CDATA[You could use a new header byte ... or an RFC822 header 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3986870</link><pubDate>Sat, 12 Dec 2015 14:12:07 +0500</pubDate><title>implementing tags for blogs...</title><guid isPermaLink="false">3986870@Uncensored</guid><description><![CDATA[<html><body>

<p>I'm thinking about a way to implement tags for blogs.</p>
<p>A list of all tags used in that blog should be in the netconfig of that respective room, and I think about abusing one of the existing headers for the tags inside of the toplevel messages:</p>
<p>V    eenVelopeTo       enVelope-to    eenVelopeTo<br />                              The recipient specified in incoming SMTP messages.</p>
<p>feasible since blog posts never are sent in via SMTP?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3982447</link><pubDate>Tue, 01 Dec 2015 08:47:08 +0500</pubDate><title>Message #3982447</title><guid isPermaLink="false">3982447@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, have a look after that article:</p>
<p>http://www.linuxjournal.com/content/take-control-your-pc-uefi-secure-boot</p>
<p>they embedd a js irc client to freenode.. neat.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3981142</link><pubDate>Tue, 24 Nov 2015 16:37:20 +0500</pubDate><title>Message #3981142</title><guid isPermaLink="false">3981142@Uncensored</guid><description><![CDATA[<html><body>

<p>commit 8ca6b69ea93167ada31f0f157b7db0fd03bf019f<br />Author: Wilfried Goesgens &lt;willi@arangodb.com&gt;<br />Date:   Tue Nov 17 23:09:21 2015 +0100<br /><br />    Make the swap buffer content function publically available.<br /><br />diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h<br />+void SwapBuffers(StrBuf *A, StrBuf *B);<br />...</p>
<p>-static inline void SwapBuffers(StrBuf *A, StrBuf *B)<br />+static inline void iSwapBuffers(StrBuf *A, StrBuf *B)<br />...</p>
<p>+void SwapBuffers(StrBuf *A, StrBuf *B)<br />+{<br />+       iSwapBuffers(A, B);<br />+}</p>
<p> </p>
<p>I guess you have the header, but not the lib. </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3981053</link><pubDate>Tue, 24 Nov 2015 08:21:47 +0500</pubDate><title>Message #3981053</title><guid isPermaLink="false">3981053@Uncensored</guid><description><![CDATA[That was from a clean build of the entire Citadel system. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3981043</link><pubDate>Tue, 24 Nov 2015 07:46:12 +0500</pubDate><title>Message #3981043</title><guid isPermaLink="false">3981043@Uncensored</guid><description><![CDATA[<html><body>

<p>thats fresh in libcitadel. you need to have the latest.</p>
<p>It wasn't exported before</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3980703</link><pubDate>Sun, 22 Nov 2015 19:36:04 +0500</pubDate><title>Message #3980703</title><guid isPermaLink="false">3980703@Uncensored</guid><description><![CDATA[ 
 Bug 
 
CC ical_subst.c
paramhandling.c: In function 'ParseURLParams':
paramhandling.c:180:4: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=]
    );
    ^
CC static.c
CC feed_generator.c
CC setup.c
LD: webcit
vcard_edit.o: In function `PutVcardItem':
/root/citadel/webcit/vcard_edit.c:403: undefined reference to `SwapBuffers'
collect2: error: ld returned 1 exit status
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3980338</link><pubDate>Sat, 21 Nov 2015 16:55:22 +0500</pubDate><title>Message #3980338</title><guid isPermaLink="false">3980338@Uncensored</guid><description><![CDATA[<html><body>

<p>are you shure that the chatting, screen sharing and all that stuff is done via SIP?</p>
<p>otoh, thats wbxml via udp, right?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3980302</link><pubDate>Sat, 21 Nov 2015 13:07:40 +0500</pubDate><title>Message #3980302</title><guid isPermaLink="false">3980302@Uncensored</guid><description><![CDATA[Microsoft Lync (or as they call it now, "Skype for Business") is based on
SIP, not XMPP.  But it still doesn't interoperate with anything else. 
  
 So basically every major provider is killing off their support of standard
clients because they want to keep you inside their walled garden. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3979762</link><pubDate>Thu, 19 Nov 2015 16:52:31 +0500</pubDate><title>Message #3979762</title><guid isPermaLink="false">3979762@Uncensored</guid><description><![CDATA[<html><body>

<p>vcard templating done - at least feature wise its similar to what was there before. </p>
<p>now maybe some goodies and - tada - startup configurable vcard fields, maybe finally images.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3979697</link><pubDate>Thu, 19 Nov 2015 11:54:50 +0500</pubDate><title>Message #3979697</title><guid isPermaLink="false">3979697@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Nov 18 2015 18:34:16 EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">While it's obvious that the global footprint of XMPP is now going to be a lot smaller, it's doubtful that the existing XMPP clients are going away, and our implementation of it is pretty much finished anyway. We certainly won't be investing any more time into it. </div>
</div>
</blockquote>
<p>Except for implementing Profile picture sending, binary file transfer, audio telephony, video conferencing, ...</p>
<p>So from the perception of the users its far from complete.</p>
<p>(afair Microsoft Lync is based on XMPP and does all that)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3979488</link><pubDate>Wed, 18 Nov 2015 18:34:16 +0500</pubDate><title>Message #3979488</title><guid isPermaLink="false">3979488@Uncensored</guid><description><![CDATA[A bit of Googling reveals that this is correct.  Neither Google nor Fecesbook
allow XMPP anymore.  Google didn't implement XMPP when they moved from Talk
to Hangouts, and Fecesbook in typical form simply decided they didn't want
you to access any part of their service without being logged into their shithole
of a website all day long. 
  
 May mark fuckerburg die in a thousand car fires. 
  
 While it's obvious that the global footprint of XMPP is now going to be a
lot smaller, it's doubtful that the existing XMPP clients are going away,
and our implementation of it is pretty much finished anyway.  We certainly
won't be investing any more time into it. 
  
 I would say that when we have time to give the chat server some love, we
could focus on two areas: 
  
 1. Prettying up the web client, for most users 
 2. Implementing IRC server support, for the smart users  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3979266</link><pubDate>Tue, 17 Nov 2015 11:59:55 +0500</pubDate><title>Message #3979266</title><guid isPermaLink="false">3979266@Uncensored</guid><description><![CDATA[FB and Google no longer allow third party XMPP clients to connect to their
services?  That simultaneously sucks and blows. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3979144</link><pubDate>Mon, 16 Nov 2015 18:03:28 +0500</pubDate><title>Message #3979144</title><guid isPermaLink="false">3979144@Uncensored</guid><description><![CDATA[<html><body>

<p>http://www.heise.de/newsticker/meldung/FastMail-Google-und-Facebook-graben-XMPP-das-Wasser-ab-2922658.html</p>
<p>(well, the h-open offering is gone, so this is german only...)</p>
<p>XMPP on the way out. FB and Google discontinued their XMPP offerings last big big supporter Fastmail.fm stopped their offerings; whatsapp is winning ground for private users.</p>
<p>Professional users cling to... IRC. yes - me too.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3969340</link><pubDate>Tue, 13 Oct 2015 15:52:49 +0500</pubDate><title>Message #3969340</title><guid isPermaLink="false">3969340@Uncensored</guid><description><![CDATA[<html><body>

<p>http://fedoramagazine.org/make-github-pages-blog-with-pelican/</p>
<p>nice thing. using markdown, as we can.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3965488</link><pubDate>Tue, 29 Sep 2015 13:32:48 +0500</pubDate><title>Message #3965488</title><guid isPermaLink="false">3965488@Uncensored</guid><description><![CDATA[  
 How did I miss that you (dothebart) did the heavy-lifting and merged configdb
into master?  Evidently I am a moron. 
  
 I've been avoiding Citadel development because for some reason I thought
we still had that big task to tackle. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3955352</link><pubDate>Sat, 15 Aug 2015 12:40:01 +0500</pubDate><title>Message #3955352</title><guid isPermaLink="false">3955352@Uncensored</guid><description><![CDATA[Right, but we have a lot of QA to do now that configdb is merged in. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3954040</link><pubDate>Thu, 06 Aug 2015 18:01:28 +0500</pubDate><title>Message #3954040</title><guid isPermaLink="false">3954040@Uncensored</guid><description><![CDATA[<html><body>

<p>ok, pop3 client seems to work now.</p>
<p>when the migration also does its job (-&gt; transmitts network configs, doesn't loose messages...) i'd be in for a next release.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3952210</link><pubDate>Tue, 28 Jul 2015 14:20:38 +0500</pubDate><title>Re: merge</title><guid isPermaLink="false">3952210@Uncensored</guid><description><![CDATA[<html><body>

<p>(I wanted to change them so they are transmitted inline in the migrate process instead of r'synced - because of that may fail badly...)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3952205</link><pubDate>Tue, 28 Jul 2015 14:19:34 +0500</pubDate><title>Re: merge</title><guid isPermaLink="false">3952205@Uncensored</guid><description><![CDATA[<html><body>

<p>meld is probably a good tool to use.</p>
<p>usually you start by git pull master and resolve the conflicts.</p>
<p>I wonder what these conflicts may be? I didn't do anything about the configs yet... </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3952182</link><pubDate>Tue, 28 Jul 2015 12:37:57 +0500</pubDate><title>merge</title><guid isPermaLink="false">3952182@Uncensored</guid><description><![CDATA[<html><body>

<p>I'm starting to see some conflicts that might be tough to keep in sync, so it might be time to merge the "configdb" branch with "master"</p>
<p>Of course, I'm no good at this.  Can I get some help?</p>
<div> </div>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3947349</link><pubDate>Mon, 13 Jul 2015 11:34:59 +0500</pubDate><title>Re: Networking issues in 9.01</title><guid isPermaLink="false">3947349@Uncensored</guid><description><![CDATA[<html><body>

<p>implemented with 7b5b6987e1077892e01f9ebdb1f27374011af6db</p>
<p>if an async context didn't do any IO in 10 minutes, its declared dead and will be killed.</p>
<p>So if you want to try it out ;-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3947215</link><pubDate>Mon, 13 Jul 2015 03:32:31 +0500</pubDate><title>Re: Networking issues in 9.01</title><guid isPermaLink="false">3947215@Uncensored</guid><description><![CDATA[<html><body>

<p>Hm, I think I'll write some timeout killer for the event queue jobs; they already cary a timestamp of their last activity so that should work straight ahead.</p>
<p>We will then see whether the kill facility works properly ;-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3946962</link><pubDate>Fri, 10 Jul 2015 08:09:04 +0500</pubDate><title>Re: Networking issues in 9.01</title><guid isPermaLink="false">3946962@Uncensored</guid><description><![CDATA[<html><body>

<p>first you should turn on networking debugging permanently, then you can use the session id in the rwho to grep for the incident in syslog</p>
<p>maybe also have a look at netstat for the current status of such a connection.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3946823</link><pubDate>Thu, 09 Jul 2015 09:28:35 +0500</pubDate><title>Re: Networking issues in 9.01</title><guid isPermaLink="false">3946823@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Jul 09 2015 08:25:13 AM EDT</span> <span>from dothebart @ Uncensored </span> <span class="message_subject">Subject: Re: Networking issues in 9.01</span></div>
<div class="message_content">
<p>if you run sendcommand RWHO do you see a citadel networker (believing to be...) talking to uncensored?</p>
</div>
</blockquote>
<p>I'll need to try that the next time that it fouls up.</p>
<p>Assuming that I do see such output, then what?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3946813</link><pubDate>Thu, 09 Jul 2015 08:25:13 +0500</pubDate><title>Re: Networking issues in 9.01</title><guid isPermaLink="false">3946813@Uncensored</guid><description><![CDATA[<html><body>

<p>if you run sendcommand RWHO do you see a citadel networker (believing to be...) talking to uncensored?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3946357</link><pubDate>Wed, 08 Jul 2015 09:43:04 +0500</pubDate><title>Networking issues in 9.01</title><guid isPermaLink="false">3946357@Uncensored</guid><description><![CDATA[<html><body>

<p>Greetings, all.</p>
<p>A bug seems to have crept (back?) into the codebase as pertains to networking.</p>
<p>Every couple of days, networking between my node and Uncensored! seems to stop working. I don't see any spool files that might be gumming up the works, like used to be the case. Stopping and restarting my citserver processes seems to clear the issue.</p>
<p>It wouldn't bother me, so much, but since I'm a network hub for a few other nodes, I wind up catching a small bit of hell when the network traffic stops flowing.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3923036</link><pubDate>Thu, 07 May 2015 17:58:55 +0500</pubDate><title>Message #3923036</title><guid isPermaLink="false">3923036@Uncensored</guid><description><![CDATA[<html><body>

<p>Some love to the 'i can't get email page':</p>
<p>http://www.citadel.org/doku.php/faq:troubleshooting:tracking_citadel</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3922949</link><pubDate>Thu, 07 May 2015 09:26:32 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3922949@Uncensored</guid><description><![CDATA[Looks like it's reverted.  I hope I got that right. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3922839</link><pubDate>Thu, 07 May 2015 07:14:14 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3922839@Uncensored</guid><description><![CDATA[  
 OOPS 
  
 I seem to have accidentally merged the configdb into git master.  I will
attempt to revert that!!! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3922518</link><pubDate>Wed, 06 May 2015 19:27:39 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3922518@Uncensored</guid><description><![CDATA[  
 Ok, the new config system is done, and it seems to work.  I was able to migrate-in-place
a citadel.config to the new config database, with no problems. 
  
 citadel.control gets folded in next. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3912528</link><pubDate>Mon, 20 Apr 2015 11:49:59 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3912528@Uncensored</guid><description><![CDATA[That's an implementation detail (and a correct one) -- the point is that it
no longer happens inside Citadel itself. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3912522</link><pubDate>Mon, 20 Apr 2015 11:38:21 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3912522@Uncensored</guid><description><![CDATA[<html><body>

<p>the -u should be fetched from /etc/defaults/citadel from the startup scripts.</p>
<p>The startup script itself should be static.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3912496</link><pubDate>Mon, 20 Apr 2015 10:15:08 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3912496@Uncensored</guid><description><![CDATA[  
 Here's what I'm leaning towards now ... 
  
 * If there is a "citadel" user, use that as default 
 * Otherwise, citserver will expect either the -r (run as root) or the new
-u (run as user...) options to be present 
 * Startup scripts implementing the -u option shall be written by setup scripts.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3912342</link><pubDate>Mon, 20 Apr 2015 06:54:48 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3912342@Uncensored</guid><description><![CDATA[<html><body>

<p>or - other idea, stat some db file, and pick the uid from that, and just have it specify once at start?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3912339</link><pubDate>Mon, 20 Apr 2015 06:54:08 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3912339@Uncensored</guid><description><![CDATA[<html><body>

<p>yes - and since thats a very special case, make it a commandline option. Citadel will work for most who do easy install, .deb, .rpm or ebuild.</p>
<p>And if it doesn't, they need to edit their init scripts.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3911857</link><pubDate>Fri, 17 Apr 2015 16:21:52 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3911857@Uncensored</guid><description><![CDATA[The username won't *always* be "citadel" ... most of the time it will, but
not always.  (On a lot of sites, including mine, it's "bbs") 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3911441</link><pubDate>Thu, 16 Apr 2015 16:28:53 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3911441@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, so you have to create the db files as root and chown them?</p>
<p>Regarding the uid, if not commandline,  doing getpwnam of the user citadel to get the uid sounds clever to me - since that should be the default, and like -h the others are very special cases...</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3911235</link><pubDate>Thu, 16 Apr 2015 11:37:14 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3911235@Uncensored</guid><description><![CDATA[  
 So it seems that the only configuration variable that's really giving us
a chicken-and-egg problem is 2config.c_ctdluid, which specifies the uid under
which Citadel server should run (after it's done binding to low numbered sockets
and things like that). 
  
 I wonder if it would make sense to simply make that a command line switch.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3909263</link><pubDate>Mon, 13 Apr 2015 15:58:26 +0500</pubDate><title>Message #3909263</title><guid isPermaLink="false">3909263@Uncensored</guid><description><![CDATA[<html><body>

<p>@harryc, there is a branch, check_messages; these tests may help you with your pdfs.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3908280</link><pubDate>Sat, 11 Apr 2015 11:53:23 +0500</pubDate><title>Re: Config System</title><guid isPermaLink="false">3908280@Uncensored</guid><description><![CDATA[<html><body>

<p>Notice the lessons in the "chicken and egg" problem you mention above have been considered before in database-ish systems config.</p>
<p>Mysql/Mariadb) as well as ldap servers 'slapd' have config files that contain only the minimum of items necessary to connect to the (currently local only) database, leaving the bulk of config items in the database.  Some have struggled mightily to retain backward compatibility by implementing both, reading the legacy first then allowing it to be overwritten by the in-db stuff.</p>
<p>The much debated Windows system has an example of retaining configuration tables, currently also implemented in Citadel in the aptly named "system configuration" message. More or less under the theme:  "last known good".  It's a good idea already half implemented in Citadel. Citadel actually has the same concept of saving previous configs items, stored right now in the database:  </p>
<p>Notice line 164 in serv_expire.c: </p>
<p>/* Don't purge messages containing system configuration, dumbass. */</p>
<p>That was written because old system config messages were retained (but as yet not offered as backups if the 'latest and greatest' fails to start).</p>
<p> </p>
<p>So, ah, you know, while you're at it, let's have the "system configuration stored as message" notion get merged into this "all config items in one place" thinking.</p>
<p> I ask that you look at each item in the config, to decide which ought to be 'the same' across any version of citadel serving the same userbase, and which are specific to the local instance (directory for the datafiles, etc).  Consider storing the config item data element's retrieval to use a key that includes the instance named in the local config file for all local-only settings, with the 'userbase global' settings using a zero length string as the key.</p>
<p>Last, consider creating a read-only "distro specific default config" which is written into the "active config" when it's empty or corrupt.</p>
<p> </p>
<p>-HC</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3907871</link><pubDate>Fri, 10 Apr 2015 18:37:32 +0500</pubDate><title>Message #3907871</title><guid isPermaLink="false">3907871@Uncensored</guid><description><![CDATA[  
 Yeesh. 
  
 I'm shuffling around trying to figure out how the new config system is going
to work, and I'm stuck with a bit of a catch-22. 
  
 There are some configuration items which need to be determined before we
can open the databases, but we want to use the databases to store configuration
items.  Somehow I don't think that's going to work.   :) 
  
 My current thinking is that we'll keep citadel.config, but we'll make it
a text file with config strings in it.  While the server is running, a copy
of the config will be in memory as a hash table so we keep the speed we need.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3905554</link><pubDate>Tue, 07 Apr 2015 12:55:45 +0500</pubDate><title>Message #3905554</title><guid isPermaLink="false">3905554@Uncensored</guid><description><![CDATA[My point here is that I don't want to discourage anyone's development ideas,
as long as they do not throw the Citadel system off track by destabilizing
or bloating it. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3905257</link><pubDate>Tue, 07 Apr 2015 07:57:06 +0500</pubDate><title>Message #3905257</title><guid isPermaLink="false">3905257@Uncensored</guid><description><![CDATA[<html><body>

<p>yes, Y not.</p>
<p>Having worked for a company that offered an email/imap/calendar/addressbook/syncml server based on c / iiop (corba) and Oracle SQL backend I can tell you a bit about that one isn't going to scale on that.</p>
<p>Working for ArangoDB now, I can tell you clustering isn't going to improve performance either.</p>
<p>The multithreaded aproach citadel has probably offers a good scalability vector in our current situation: cores, more more more cores. Disk space cheap cheaper cheaper</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3904790</link><pubDate>Mon, 06 Apr 2015 09:25:18 +0500</pubDate><title>Message #3904790</title><guid isPermaLink="false">3904790@Uncensored</guid><description><![CDATA[Perhaps -- but pluggable DB's have been ok with us right from the beginning.
 If he wants to write one that plugs into an off-host SQL database then why
not?  The default configuration is still going to be Berkeley DB for the foreseeable
future, but there are going to be people out there who might choose to implement
all sorts of interesting things. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3904695</link><pubDate>Mon, 06 Apr 2015 08:10:30 +0500</pubDate><title>Message #3904695</title><guid isPermaLink="false">3904695@Uncensored</guid><description><![CDATA[<html><body>

<p>To scale current citadel systems - probably nginx imap reverse proxies, postfix / postscreen.</p>
<p>Heartbeat / HA has STONIS to make shure just one item is running on top of a drdb share.</p>
<p>XMPP / IMAP / whatever clients will reconnect.</p>
<p>You can run webcits on several hosts.</p>
<p>Once you're operating two or more sets of hardware with virtual cloud and blablabla you will find something to give the standby to do while its waiting for the other one to die.</p>
<p>I realy don't think its a usecase.</p>
<p>The advantage of the embedded db engine is a very clear one: you don't need to copy stuff back and forth via a network socket..</p>
<p>If you change that you will add a penalty to each of those db calls, which right now are lightning fast. Plus you have to create the schema and such...</p>
<p>You also have to know that some of the calls work by filtering messages _after_ loading their bodies from the DB, which will then become a performance nightmare.</p>
<p>I relaly don't think its a good idea.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3904634</link><pubDate>Sun, 05 Apr 2015 23:28:32 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3904634@Uncensored</guid><description><![CDATA[    
 Ok, well I'm still skeptical about multiple citservers running a single site
in a non-federated tandem ... but either way it still sets out a pretty clear
roadmap for the kind of things we need to do next.  It still means we move
all of the config stuff into the database.  So we'll definitely do that, and
then let's see where it goes from there.   
    
 No worries about being "late to the citadel world" -- I for one am truly
appreciating your fresh perspective.  It's giving me the encouragement I need
to give the code base some love again.  I've had a busy couple of years and
haven't written nearly as much code as I used to.   
  
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3904242</link><pubDate>Sat, 04 Apr 2015 16:36:07 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3904242@Uncensored</guid><description><![CDATA[<html><body>

<p>P.S. I should have added:  the whole 'logging' thing goes away, and the 'CULL' command is a no-op in the HA setup.</p>
<p>P.P.S. As I'm a bit late to the citadel world, I actually have no certain idea what anyone who posts here does for work, where in the world they live, or, well, anything.  I gather from some of the postings the two in apparent leadership lead me to speculate they are almost certainly nearabouts the age where, like me, there is a bit of grey in the hair.   I live about a three hour drive west of Chicago.  My job has been, for the last 20 years anyway,  to sit in front of six screens to do systems architecture and write software during the day, with occasional visits to industrial clients.</p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3904233</link><pubDate>Sat, 04 Apr 2015 16:20:30 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3904233@Uncensored</guid><description><![CDATA[<html><body>

<p>The beautiful thing about the mariadb/galera multimaster database approach is:  Each cit-server talking to a database server instance --- running on the same box citadel is --- thinks it's the only server running.  The fact that citadel has that wonderful 'go threading' call, and has sorted through all the transaction/multiple cursors thing makes citserver threads running on different boxes seem not different to any one citserver thread than a local one.  When a system goes down it's no different than a few threads stopping, when it comes back it seems like there are more threads handling the load.</p>
<p>Certainly in prep for some approach such as this:  When moving the config structure to key/data model:  Use the BIOS box uuid (or if that's blank create one and store it in /etc/citadel/something.conf),  then cause all the entries that are specific to one instance use that UUID as part of the key.  It wouldn't harm matters for a single instance and would be backend database agnostic.</p>
<p>Surveying the landscape out there, I can't help but have the feeling that creating a version of cit-server with these high-availability features makes creating some sort of consortium of developers and High Availability users where the users pay dues of some sort so they could gain comfort about the long term future of the package.  I see many packages out there that change the licensing structure to 'the honor system', others go the closed source route for the add-in package.   I don't know what the answer is, but I do feel confident the people using the HA system wouldn't deploy it without having  some assurance the package would be kept current going forward, and would much rather pay for that comfort as the expense of hiring internal tech staff to stay current enough to step in at need would be 10x more expensive.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3904144</link><pubDate>Sat, 04 Apr 2015 15:52:59 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3904144@Uncensored</guid><description><![CDATA[  
 I do understand the whole uptime thing.  Remember, I work in the hosting
business.  I know all about 99.999% SLA's (which somehow seem to be disregarded
when Exchange shits the bed -- shouldn't all those people be running something
more reliable?) 
  
 Only problem I can see with a multi-master Citadel server is that there are
some states that are *not* stored in the database.  For example, XMPP and
the whole presence / instant messaging thing.  What if the user you're trying
to locate or message is on a different server than yours? 
  
 Or are you suggesting that Citadel Server would still only have one "brain"
even if the back end database was operating from multiple SQL servers? 
  
 Abstracting the interface of database.c should be fairly easy.  Again, that
was its intention and we've switched before. 
  
 From time to time I have thought about putting in the hooks to do "log shipping"
whenever something is written to the database.  Once again, that requires
that everything must *be* in the database.  And again I am looking to move
in that direction. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3904134</link><pubDate>Sat, 04 Apr 2015 15:34:09 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3904134@Uncensored</guid><description><![CDATA[<html><body>

<p>I can understand your perspectives, here's a bit more data my current research on the subject revealed.</p>
<p> </p>
<p>1)  DBMAIL. Mentioned above as 'already does this'.</p>
<p>I wanted to use it.  Seemed just what the situation called for.  Scratch the surface and you see that it expects something else to access spam assassin first. It expects something else to use ClamAV first.  Also it requires yet another app to manage the the *dav thing.   Citadel does all these things in one package.  Nod to Citadel.  Citadel makes it possible to manage one server that has the potential to make postfix forwarder go away, make the required Davical go way.  Pretty compelling and attractive from a maintainers standpoint.  DBMail prefers 'lmtp' connections from postfix and clearly sees itself as being part of 'an ecosystem' of othersoftware to deliver value.  'ecosystem' from an admin standpoint is Corporate Speak for 'higher admin staff and salary budget'.  And now citadel is offering to manage 'presence' information.  That's a whole level less forgiving of the 'occasional outages' because whereas the sending smtp servers will just retry' -- 'presence' has a near to realtime requi
<p> </p>
<p>2)  More or less:  "Citserver can handle big loads".  Yes it can.  And well.   For years as well.  Just put it on a machine with a gazillion cores that uses boatloads of ram as a disk cache and it's a rocket.</p>
<p>But load capacity is not the reason SQL backend is needed.</p>
<p>Here's the 'use case' I think the current jargon calls it:</p>
<p>Whether Citadel is running on bare hardware or in a virtual machine: there will be occasions the admins have to shut it down to load a newer os kernel or upgrade citadel, and there will be occasions the hardware crashes or the admins have to bring it down to retire hardware in favor of new stuff the better to avoid crashes.</p>
<p>No matter how hard one tries, there will be times citadel goes down. Even if some purchase 'rack space' or 'hosting' and run citadel there:  those admins will 'migrate' it to other platforms as their loads and upgrades permit.  During that time the whole 'state of the machine' just freezes while the move is in progress.  And still as security is always a concern for a net facing program there's going to be rebooting to run the latest kernels.</p>
<p>And if its a software or hardware crash: there's something like 3 chances in 4 that will happen when the citadel admin is not at work, and I know I don't want to be called in to deal with it.</p>
<p>So I hope you'll agree that, rare though they be, there are times citserver will not be available if it's running on just one instance, and nobody wants to diagnose and repair while users and managers are imposing conditions of time pressure.</p>
<p>At present the choice is to have another computer or a VM hosted on another computer running all the time testing to see if the 'primary' version of citadel is still kicking.  And when it decides that the primary one appears to be dead (or is it just someone pulled the net cable to the switch connecting the standby to the primary), it fires itself up, using DRBD or a recent snapshot or similar.  And the hot standby script writers hope really hard their code to let what was the primary server know it's been demoted if and when it comes on line gets through. </p>
<p>What are the real downsides to this approach:</p>
<p>1) There's another computer doing nothing but waiting for either a communications loss or hard failure of the main computer.  That processing power has an opportunity cost.</p>
<p>2) The 'Split Brain' issue is unsolved.  Consider what that 'watchdog' code on the standby system has to look like:  There's no way to know whether the main system is 'really down' or is it just a networking interruption between the primary and the standby?  Some minimize the problem by setting a long long time for the secondary to wait before taking over.  The longer the time, the longer there is the no service.  The only safe amount of time is-- long enough to be sure the admin is at work, could be 18 hours, could be from dinner Friday to arriving at work Monday.  If those kinds of delay are tolerable then there's really little point in the whole 'hot backup' trouble at all. Whether  DRBD or some other schema, the only way 'out of the split brain / data integrity dilemma' is either:  Freeze operations on the primary if it can't talk to the secondary (increasing overall downtime to ensure data integrity) or place hope there is a 100% can't fail system of 'shooting the primary in the head' (get pr
<p>Especially once in the 'presence' XMPP world, users will remember an hour of downtime  100 times longer than 100 hours of uptime.</p>
<p>3)  What does mating a citserver with a redundant mysql server in a 'group redundancy failover mode' running on the same system do?</p>
<p>A) When the system is running, all copies are handling incoming and outgoing email at the same time.  It is possible to have a few copies running 'in the cloud' and a few locally with only the write transactions crossing the wire.  So:  All resources are generating value all the time.</p>
<p>B) There is no real 'split brain' risk because: any system that goes down won't be write corrupted owing to the transaction nature of cit-server writes and using a 'copy on write' filesystem ike ZFS or btrfs.  And it won't be 'split brain' corrupted because it won't  let itself come back up until it  has a database updated from a known-good peer.  With mariadb/galera the systems that keep track of 'which peers have current data' is a tiny process that just keeps track of transaction number (not storing the content) which can run on a raspberry pi hooked to a car battery that will run for a month without external power.  Or save a few systems from recycling to do the job. </p>
<p>C) Write lags imposed by all the handshaking necessary to send out the write transactions is not a huge factor because most all the reading in cit-server doesn't impose a write lock, only the writing thread will be stalled. </p>
<p>So going with cit-server running on a copy-on-write filesystem with a distributed database:</p>
<p>1) Allows all hardware to be generating value all the time.</p>
<p>2) Reduces to zero the amount of admin brainpower and staffing hours dedicated to managing the code and the process of failover/recovery.  This because any business in need of this kind of availability already has to manage such databases if not for website hosting then for internal data management needs.  So zero marginal admin.  And these organizations are already managing inbound load balancers so no extra work there either.</p>
<p>3) Eliminates the need the nearest other solution, DBMAIL, imposes to manage a mail forwarder that runs spamassasin and clamav.  DBMail also imposes the need to manage the whole 'grouware'/presence/calendar/vcard/etc. through yet another package.  And, citserver has webcit and LDAP to offer a 'less tech knowlege required' admin/aide interface.</p>
<p>4) Allows all equipment failures and reboot needs to happen at times of the admin's choosing.  For example, not Friday or Saturday around dinner.</p>
<p>In short:  If occasional downtime for scheduled reboot/repairs, power outages, intermittent or prolonged occasional net outages to one location, is not an issue, really all you need is a good hot-backup solution (DRBD) and the current citadel implementation is just about perfect as is.  (If you only have one internet service and one location with plenty of other single points of failure (cable modem), and a very understanding user base and at least somewhat understanding group of folks trying to send to them -- the system as is is for you.</p>
<p>If not:  either contemplate turning DBMAIL into Citserver+SQL (major surgery involving lots of packages DBMAIL doesn't know a thing about  (*DAV, spam, virus, presence), or add sql as a non-default backend to citserver (code changes to database.c).  I'm looking at the work involved and think citserver with an SQL option is by far the best over time.</p>
<p>I'm thinking change database.c to use generic function calls that point to either the current backend: Berkeley DB or SQL.  Sort of a  'plug-in'.</p>
<p>I'll get off my soapbox now.</p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3903927</link><pubDate>Fri, 03 Apr 2015 18:53:46 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3903927@Uncensored</guid><description><![CDATA[ >the idea that you could spread a single Internet domain across a large 
 
 >group of Citadel servers, and there is still all sorts of bizarre   
 >message routing code to make that happen.   
  
 ... and this brings up the first bit of axe wielding. 
  
 Effective immediately, I am removing support for that functionality, since
no one anywhere is using it.  This will *greatly* simplify the message routing
code. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3903843</link><pubDate>Fri, 03 Apr 2015 18:45:07 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3903843@Uncensored</guid><description><![CDATA[ >I really don't think we should try to fill that gap - since nobody  
 >had scalability issues with citadel so far. Just for failover drdb is  
 >perfect.   
  
 There was a time when we wanted to try to be an "enterprise" mail/groupware
system.  That gave rise to the Global Address Book and the idea that you could
spread a single Internet domain across a large group of Citadel servers, and
there is still all sorts of bizarre message routing code to make that happen.

  
 Guess what?  Everyone who builds those type of systems, is using Exchange.
 Too many servers, too much complexity, too much licensing cost, too many
overpaid MCSE's arguing with each other about the configuration.  And the
people in charge of buying those systems assume that for it to be worthwhile
it has to be expensive. 
  
 F**k those people.  Citadel is for smart people.  Citadel is for people who
know that a single,
properly configured back end server can handle thousands of seats.  We run
fast and efficiently because we don't run on Windows.  When we need to scale
out, we move the user interface engines onto separate servers, we add front
end relay servers with their own spam and virus handling, etc. 
  
 So I'm ok with the back end being a SQL server, but it's not going to be
a SQL back end, if you know what I mean.  Just indexes and blobs.  Because
we can't really do a true schema without dropping support for the existing
NoSQL engine, and that's something we really can't do. 
  
 First things first though: get everything ino the db.  config comes first.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3903616</link><pubDate>Fri, 03 Apr 2015 12:05:45 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3903616@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Fri Apr 03 2015 10:58:37 EDT</span><span>from IGnatius T Foobar @ Uncensored </span><span class="message_subject">Subject: Re: CODE FREEZE - RELEASE IMMINENT</span></div>
<div class="fmout-JUSTIFY">From the very beginning, the idea of a pluggable data store has been part of the architecture. We've done it once -- originally we were using "gdbm" but because that was so unstable we switched to Berkeley DB. <br /><br />dothebart would undoubtedly want to use ArangoDB. </div>
<div class="fmout-JUSTIFY"> </div>
</blockquote>
<div class="fmout-JUSTIFY">well, no. using memory mapped files as database backend for citadel probably wouldn't perform better.</div>
<blockquote>
<div class="fmout-JUSTIFY"><br />I'm ok with it as long as it does NOT destabilize the code base. We've been on Berkeley DB for a long time now, so the code is probably a bit ossified, and we'll need to do some work to get back that loose coupling we need. Yes, everyone loves to hate Oracle, but the Berkeley DB code is ABSOLUTELY ROCK SOLID and we don't want to gain a reputation for unstable performance -- that honor belongs to Exchange alone. :) <br /><br />But yes you are correct: I want to get *everything* into the database. No flat files anywhere. This includes things like the netconfigs and bio and userpics etc etc etc. This will make the XML export format a lot easier to work with too, because it will *include* all of those pieces without having to rsync them over from system to system. A single dump file really will cover the whole Citadel installation. <br /><br />Since the pluggable DB would be something configured at compile time -- switching databases on an existing installation would be a matter 
<div class="message_content"> </div>
</blockquote>
<p>Yes, getting rid of the rest of the config &amp; text files would be a good thing to do.</p>
<p>However, I don't think images / binary data should be put into the DB - filesystem is perfect for that.</p>
<p>From what I know from Arangodb Clustering doesn't improve performance but rather the opposite plus it makes the code branch in lots of places.</p>
<p>I really don't think we should try to fill that gap - since nobody had scalability issues with citadel so far. Just for failover drdb is perfect.</p>
<p>I also don't think we should opt for a SQL backend. i.e. dbmail is already doing that. It also takes away a significant advantage of being easily configurable, plus the scalability on very small systems is void afterwards.</p>
<p> </p>
<p>In the things missing i'd  rather add subjects &amp; senders to the fulltext index, and maybe look around for something similar to solr.</p>
<p>Regarding js hacking - fixing that the autocompletion only works for the first recipient would be a good thing to add.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3903442</link><pubDate>Fri, 03 Apr 2015 10:58:37 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3903442@Uncensored</guid><description><![CDATA[From the very beginning, the idea of a pluggable data store has been part
of the architecture.  We've done it once -- originally we were using "gdbm"
but because that was so unstable we switched to Berkeley DB. 
  
 dothebart would undoubtedly want to use ArangoDB. 
  
 I'm ok with it as long as it does NOT destabilize the code base.  We've been
on Berkeley DB for a long time now, so the code is probably a bit ossified,
and we'll need to do some work to get back that loose coupling we need.  Yes,
everyone loves to hate Oracle, but the Berkeley DB code is ABSOLUTELY ROCK
SOLID and we don't want to gain a reputation for unstable performance -- that
honor belongs to Exchange alone.  :) 
  
 But yes you are correct: I want to get *everything* into the database.  No
flat files anywhere.  This includes things like the netconfigs and bio and
userpics etc etc etc.    This will make the XML export
format a lot easier to work with too, because it will *include* all of those
pieces without having to rsync them over from system to system.  A single
dump file really will cover the whole Citadel installation. 
  
 Since the pluggable DB would be something configured at compile time -- switching
databases on an existing installation would be a matter of exporting to XML,
recompiling Citadel Server with a new database back end, and loading the dump
file. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3902991</link><pubDate>Thu, 02 Apr 2015 19:57:07 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3902991@Uncensored</guid><description><![CDATA[<html><body>

<p>I've done a lot of comparison between options in the email server space, and also in the high availability space.  Because of the clamav and built in access to the spam daemon, Citadel server lacks only one thing to be the best replacement for hacked-together postfix+lmtp+caldav/webdav, etc., etc.  The ability to have two of them, or ten of them, running 'hot' at the same time. </p>
<p>Now the only people who really need that are larger setups that can't tolerate the time it takes to bring a server down, duplicate/update the database, then bring it up on another server.</p>
<p>Mariadb has a replicated multi-master setup, so that each instance of the db could run on the same machine as the cit-server.   All the situation takes to be safely redundant is a third database instance, possibly offsite, to break data freshness ties in the case of ungraceful shutdowns.</p>
<p>I'm taking a look at making sql a backend option for citadel.  This is not something that will happen by Tuesday.  </p>
<p> </p>
<p>That said, you can see why I'm really supporting the notion mentioned upstream of a key/setting table replacing the static config structure. </p>
<p>If you like we can talk about assigning that bit to me.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3902446</link><pubDate>Thu, 02 Apr 2015 04:54:36 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3902446@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Apr 01 2015 20:01:27 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: CODE FREEZE - RELEASE IMMINENT</span></div>
<div class="message_content">
<p>Merging back XMPP is fine, but obviously it has to be tested tested tested.</p>
<p>An idea for the bootstrap code is that almost everything can happen client side.  Most of the C code in WebCit will then end up being a mostly-stateless REST engine.  </p>
</div>
</blockquote>
<p>for that rest interface GotoRestRoom() should probably be ressurected. - since you need to map the Floors &amp; rooms to a URL.</p>
<p>Rendering mails into json was already done in co-work with the Railslove guys, it wasn't really used so far. It demonstrates neatly how easy it is to produce json with the templating engine.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3902269</link><pubDate>Wed, 01 Apr 2015 20:01:27 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3902269@Uncensored</guid><description><![CDATA[<html><body>

<p>Merging back XMPP is fine, but obviously it has to be tested tested tested.</p>
<p>An idea for the bootstrap code is that almost everything can happen client side.  Most of the C code in WebCit will then end up being a mostly-stateless REST engine.  </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3902057</link><pubDate>Wed, 01 Apr 2015 18:51:52 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3902057@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Apr 01 2015 13:16:20 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: CODE FREEZE - RELEASE IMMINENT</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Ok folks, the "v9.01" tag is in git, and Easy Install has been updated. I'll do the tarballs shortly. <br /><br />For the 9.xx development cycle, I'd like to keep the trunk fairly stable and do unstable work in branches, if possible. Some of the things I'd like to accomplish during 9.xx: <br /><br />* Replace citadel.config (struct config) with a key-value config store. The fixed-struct config has gotten very unwieldy. <br />* CalDAV and CardDAV <br /><br />Then for the 10.xx development cycle, I' <br />m thinking about completely gutting WebCit and replacing the existing layout with one based on Bootstrap. </div>
</div>
</blockquote>
<p>ok - so its feature branches &amp; cherry picking now - I favourited cherrypicking bugfixes; maybe we should have both - feature branches and stable release branches for bugfixes - so we can easily release an older bugfix version later...</p>
<p>My next plans are</p>
<p> - templating vcards (and making more fields configurable)</p>
<p> - Merging back xmpp, and maybe implement buddy images.</p>
<p>bootstrap sounds like a good idea - no clue if or if not. Afaik some arangoDB UI stuff is done with it, so it can't be a that terrible choice.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3902052</link><pubDate>Wed, 01 Apr 2015 18:45:21 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3902052@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Apr 01 2015 12:45:07 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: CODE FREEZE - RELEASE IMMINENT</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">
<blockquote>Whats the release version gonna be? 8.30? </blockquote>
<br />9.01 <br /><br />I'm updating it now. </div>
</div>
</blockquote>
<p>did you try out the discount configure etc. code? I wasn't really able to test it, as I would have liked with queasy install.</p>
<p> </p>
<p>Btw, why are our env-getters in citadel setup all #if 0'ed?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3901643</link><pubDate>Wed, 01 Apr 2015 13:16:20 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3901643@Uncensored</guid><description><![CDATA[  
 Ok folks, the "v9.01" tag is in git, and Easy Install has been updated. 
I'll do the tarballs shortly. 
  
 For the 9.xx development cycle, I'd like to keep the trunk fairly stable
and do unstable work in branches, if possible.  Some of the things I'd like
to accomplish during 9.xx: 
  
 * Replace citadel.config (struct config) with a key-value config store. 
The fixed-struct config has gotten very unwieldy. 
 * CalDAV and CardDAV 
  
 Then for the 10.xx development cycle, I' 
 m thinking about completely gutting WebCit and replacing the existing layout
with one based on Bootstrap. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3901626</link><pubDate>Wed, 01 Apr 2015 12:45:07 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3901626@Uncensored</guid><description><![CDATA[ >Whats the release version gonna be? 8.30?  
  
 9.01 
  
 I'm updating it now. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3896862</link><pubDate>Mon, 23 Mar 2015 18:31:12 +0500</pubDate><title>Suggested speedup in msgbase.c</title><guid isPermaLink="false">3896862@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<p>around line 2378, msgbase.c, function CtdlSaveMsgPointersInRoom</p>
<p>    for (i=0; i&lt;num_newmsgs; ++i) {<br />        unique = 1;<br />        if (num_msgs &gt; 0) for (j=0; j&lt;num_msgs; ++j) {<br />            if (msglist[j] == newmsgidlist[i]) {<br />                unique = 0;<br />+                break;<br />            }<br />        }<br />        if (unique) {<br />            msgs_to_be_merged[num_msgs_to_be_merged++] = newmsgidlist[i];<br />        }<br />    }</p>
<p> </p>
<p>... on another less critical subject, how about "struct floor" -&gt; struct "ctdlfloor" to keep in pattern with ctdlusers ctdlroom, etc.</p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3896356</link><pubDate>Sat, 21 Mar 2015 14:45:56 +0500</pubDate><title>Proposed Local Configuration Room housekeeping patch</title><guid isPermaLink="false">3896356@Uncensored</guid><description><![CDATA[<html><body>

<p>--- /tmp/serv_expire.old    2015-03-21 13:43:43.574817705 -0500<br />+++ serv_expire.c    2015-03-21 13:43:47.896354149 -0500<br />@@ -162,8 +162,11 @@<br />     if (epbuf.expire_mode == EXPIRE_NEXTLEVEL) return;<br />     if (epbuf.expire_mode == EXPIRE_MANUAL) return;<br /> <br />-    /* Don't purge messages containing system configuration, dumbass. */<br />-    if (!strcasecmp(qrbuf-&gt;QRname, SYSCONFIGROOM)) return;<br />+    /* Don't purge most recent messages containing system configuration, dumbass. */<br />+    if (!strcasecmp(qrbuf-&gt;QRname, SYSCONFIGROOM)) {<br />+        epbuf.expire_mode = EXPIRE_NUMMSGS;<br />+        epbuf.expire_value = 3; /* We like history... but only to a point... */<br />+    }</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3896189</link><pubDate>Fri, 20 Mar 2015 21:28:13 +0500</pubDate><title>Is resuming -O2 -fPIC for libcitadel possible?</title><guid isPermaLink="false">3896189@Uncensored</guid><description><![CDATA[<html><body>

<p>On Sun, 16 Oct 2011 when exporting for wheezy, this happened to libcitadel:</p>
<p> </p>
<p>index 7bfdf7e..0420dc5 100755 (executable)<br />--- a/libcitadel/debian/rules<br />+++ b/libcitadel/debian/rules<br />@@ -17,7 +17,8 @@ ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))<br />        CFLAGS += -O0 -ggdb -rdynamic -MD -MP -D DEBUG -D VALGRIND<br />        EXTRA_ARGS =  --with-backtrace<br /> else<br />-       CFLAGS += -O2 -fPIC<br />+#      CFLAGS += -O2 -fPIC<br />+       CFLAGS += -O0 -ggdb -rdynamic -MD -MP -D DEBUG -D VALGRIND</p>
<p> </p>
<p>Is there a problem resuming</p>
<p> </p>
<p>     CFLAGS += -O2 -fPIC</p>
<p> </p>
<p>for non-debug compiles?</p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3896131</link><pubDate>Fri, 20 Mar 2015 17:59:49 +0500</pubDate><title>Re: fix for ldap uuid / citserver uid collision, ldap/vcard auth issue</title><guid isPermaLink="false">3896131@Uncensored</guid><description><![CDATA[<html><body>

<p>If you'd prefer, let me know and I'll separate each fix into it's own attachment.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895897</link><pubDate>Thu, 19 Mar 2015 23:50:42 +0500</pubDate><title>fix for ldap uuid / citserver uid collision, ldap/vcard auth issue</title><guid isPermaLink="false">3895897@Uncensored</guid><description><![CDATA[<html><body>

<p>Please find attached a diff for citserver that fixes two problems:</p>
<p> </p>
<p>1)  The problem long discussed upstream to do with LDAP auth wanting the user name offered after the PASS command to stick around for later vcard use.  The approach is to have vcard related searches use the citserver username to search against the ldap CN, while login searches behave as in the release version.</p>
<p> </p>
<p>2) The vcard has a field uid, which citserver uses to tag vcards  for uniqueness.  LDAP also has a uuid for each of its records, most aptly saved also in the vcard as uuid.  These collided causing the vcard to be reloaded every check owing to the overwriting the LDAP written uid over the citserver use of the same field. The patches below use the RFC approved 2.1 X- extension to support the field X-UUID for the ldap uuid.  There's also small code cleanup to avoid setting the UID twice.</p>
<p> </p>
<p>Though I didn't go this direction, I think the correct approach to problem 1 above is not to use the approach below, but instead to keep the field typed after the citserver command USER, adding that to the user structure, and using that when it comes time to check LDAP for vcard changes.  I was just that worried that with all the fixed array sizes in citserver I would break something if I increased the size of such a broadly used structure as the user one.</p>
<p>I think that does it for me insofar as fixes goes.  Thanks again, even with the bumps this clean little pearl just keeps doing what I need it to do every day.</p>
<p>Harry</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895870</link><pubDate>Thu, 19 Mar 2015 22:14:44 +0500</pubDate><title>Re: hc changes to date, git diff format attached</title><guid isPermaLink="false">3895870@Uncensored</guid><description><![CDATA[<html><body>

<p>You'll find the changes you're looking for if you find this line in the previously attached file:</p>
<p><tt>diff --git a/webcit/configure.ac b/webcit/configure.ac</tt></p>
<p>Everything I cooked up that's different follows that.  The autogenerated material, which shows the differences in the build environment, is above that.</p>
<p>.. I hate to mention it but I've got another pretty serious bug fix patch in the works. I fear I'm trying your patience.</p>
<p>Playing 'Human Computer' I finally got to the bottom of the conceptual tangle regarding ldap uid, uidNumber and CN and how those related to Citadel's uid number, and 'Fullname'.</p>
<p>You'll see it as we logically follow the major events in the CREU routine.</p>
<p>Notice that when a person using LDAP auth is l to Citadel with CREU, we get to the create_user routine wherein Citadel matches whatever they typed after 'USER' against the LDAP field 'uid' or 'sAMAccountName' for LDAP RFC or LDAP AD auth respectively.</p>
<p>Notice when control gets to CtdlTryUserLDAP... the routine that is to return whether the user exists or not in reality, the side effect of that routine is: it replaces the username argument passed into the routine with the CN if using RFC LDAP or displayName if using AD LDAP Auth.</p>
<p>It then completely throws away whatever it was the user typed as the argument to Citadel's 'USER' command, most would call it 'the account name'.</p>
<p>Going forward in Citadel, through the function call internal_create_name we see Citadel keeps as the 'fullname' of the user's record the CN or the displayName, and the LDAP record uidNumber if RFC LDAP auth, or hashed GUID if LDAP AD auth, as Citadel's numeric uid.</p>
<p>Whatever the user typed to log in to citadel as an argument to 'user' is lost to the world.  Seemed odd, throwing away and never using again what it was the user thought their login account name was, but it's an acceptable quirk.  I was thrown off the track for some hours by the webcit field 'username' which of course wasn't what the user used to log in at all.  You'll recall previously I'd written code that replaced 'uid' with 'cn' as the search pattern in CtdlTryUserLDAP, which I deployed here as a patch against the distro, to good effect, though I didn't know I was masking a bug at the time.  With 'CN' and not 'uid' as the field to match against, passing the 'fullname' a later argument to CtdlTryUserLDAP would do the right thing.</p>
<p>But, as your team rejected my patch to make the LDAP search base a user config item, so I could put in 'cn=' instead of 'uid=' and so dodge the fact the typed in username is lost to the world, the project became how to move forward with uid as the search base.</p>
<p>Note CtdlTryUserLDAP is called in three places.  Once in create_user, and once in CtdlLoginExistingUser.. both routines lose forever the argument the user put in as their username, routines written at a time we thought we'd never want to reuse that code for anything else and so wouldn't miss keeping what the user's software thinks is their account name.</p>
<p>I've done a lot of typing, it was all setup so you'll see the major bug.</p>
<p>The problem hits in the third place CtdlTryUserLDAP is called:   vcard_newuser.  That routine is passed only a user structure, it's one of those callback routines.  Called toward the end of the create_user function. </p>
<p>Notice the user structure has the user's numeric id and the CN as the 'fullname'--- but we don't have a context, so we can't<br />use the LDAP dn stored there during any possible previous lookups.  And, as noted above Citadel doesn't keep LDAP's argument to USER at login time anywhere, it's gone when that routine returns, so there is no argument to  CtdlTryUserLDAP that would match against the correct LDAP uid / sSAMAccount.</p>
<p>We can't 'dance with the one that brung ya'.</p>
<p>The patch set included as an attachment to this email fixes matters for those who use RFC LDAP auth, it adds a parameter to the CtdlTryUserLDAP routine to use the provided numeric uid as a lookup target when we know that number is correct: the vcard_newuser routine, using only the uid= test for the brief moment Citadel retains that as the argument to USER.</p>
<p>So, this patch set included below (don't use it, it shows the problem only) works 'great' for RFC LDAP AUTH.  My approach, dutifully implemented and working well for RFC auth..</p>
<p>...has no chance of working for Microsoft AD ldap auth.</p>
<p>That's because not only does citadel not retain the argument to sSAMAccount past the login / CREU function call... it hashes the AD LDAP string objectGUID into a number which is then stored as the uid number in the user structure.  Which is great... if only there was an 'unhash' function.  Alas searching on  objectGUID=Unhash(userstruct-&gt;uid) is not an option.</p>
<p>The only approach I can see that 'colors within all the lines' is</p>
<p>1) keep the argument to USER around in a new field in the user structure so CtdlTryUserLDAP will always do the right thing and have the right search key in scope in the three relevant routines.  It was above my pay grade to mess with the user structure.</p>
<p>2) The approach I'll be uploading in the next patch in the next message: Make admins Double Dog promise never, ever to change the full name displayed in the user name field because that's the string that will be used to look up the associated LDAP structure.  If someone renames an LDAP account to use a different CN / sAMAccountname, the associated field in CitServer will have to be manually edited to match or the person will not be able to log into citserver.</p>
<p>At least both approaches won't call for LDAP changes since the CN is always indexed and the uid is usually indexed.</p>
<p> </p>
<p>Repeat: The patch set below is to highlight the problem only, it can't work for Microsoft AD LDAP auth.  It does work for RFC LDAP AUTH.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895760</link><pubDate>Thu, 19 Mar 2015 15:17:57 +0500</pubDate><title>Re: hc changes to date, git diff format attached</title><guid isPermaLink="false">3895760@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, the patch only contains the autogenerated files? Can you send the other files as diff attachments?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895755</link><pubDate>Thu, 19 Mar 2015 15:11:13 +0500</pubDate><title>Re: hc changes to date, git diff format attached</title><guid isPermaLink="false">3895755@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Mar 19 2015 13:54:08 EDT</span> <span>from harryc @ Uncensored </span> <span class="message_subject">Subject: Re: hc changes to date, git diff format attached</span></div>
<div class="message_content">
<p>Thanks for the thought.  I noticed the citadel server has a line of code in there to block CREU from working when there is LDAP auth. </p>
<p> </p>
<p># sendcommand CREU ItSeemedLikeAGoodIdea<br />sendcommand: started (pid=29593) connecting to Citadel server at /var/run/citadel/citadel-admin.socket<br />200 email1 Citadel server ADMIN CONNECTION ready.<br />CREU ItSeemedLikeAGoodIdea<br />570 User accounts are not created within Citadel in host authentication mode.<br />sendcommand: processing ended.</p>
<p>My intuition was that line of code blocking CREU was added to let LDAP using folks know LDAP was the place to create accounts and auth.</p>
<p>Maybe the CREU code could change when using LDAP so that, only if in LDAP mode, and the account lookup fails, give the LDAP engine a chance to find it.  And if found, then load the details into the vcard, then report 'the account already exists'.  Only if the account doesn't exist does citserver emit the above error message.</p>
<p>What say?? </p>
<h3 class="sectionedit9"><a id="qusrqueryforauser" name="qusrqueryforauser"></a></h3>
</div>
</blockquote>
<p>Ah, yes didn't know that, but yes, thats probably the best place to alter.</p>
<p>CREU -&gt; poll LDAP, if exist, continue doing all the stuff, if not return error user not found on ldap, creu not able to run without in ldap mode.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895731</link><pubDate>Thu, 19 Mar 2015 13:58:38 +0500</pubDate><title>Re: hc changes to date, git diff format attached</title><guid isPermaLink="false">3895731@Uncensored</guid><description><![CDATA[<html><body>

<p>Re: LDAP, I use LDAP (RFC2307) auth.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895724</link><pubDate>Thu, 19 Mar 2015 13:54:08 +0500</pubDate><title>Re: hc changes to date, git diff format attached</title><guid isPermaLink="false">3895724@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks for the thought.  I noticed the citadel server has a line of code in there to block CREU from working when there is LDAP auth. </p>
<p> </p>
<p># sendcommand CREU ItSeemedLikeAGoodIdea<br />sendcommand: started (pid=29593) connecting to Citadel server at /var/run/citadel/citadel-admin.socket<br />200 email1 Citadel server ADMIN CONNECTION ready.<br />CREU ItSeemedLikeAGoodIdea<br />570 User accounts are not created within Citadel in host authentication mode.<br />sendcommand: processing ended.</p>
<p>My intuition was that line of code blocking CREU was added to let LDAP using folks know LDAP was the place to create accounts and auth.</p>
<p>Maybe the CREU code could change when using LDAP so that, only if in LDAP mode, and the account lookup fails, give the LDAP engine a chance to find it.  And if found, then load the details into the vcard, then report 'the account already exists'.  Only if the account doesn't exist does citserver emit the above error message.</p>
<p>What say??</p>
<p> </p>
<p> </p>
<h3 class="sectionedit9"><a id="qusrqueryforauser" name="qusrqueryforauser"></a></h3>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895711</link><pubDate>Thu, 19 Mar 2015 13:01:29 +0500</pubDate><title>Re: hc changes to date, git diff format attached</title><guid isPermaLink="false">3895711@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks a lot.</p>
<p> </p>
<p>I guess if you run CREU http://citadel.org/doku.php/documentation:appproto:users#creu.create.new.user.account with a script, you may get that.</p>
<p>I don't know which admin interface you use to your ldap tree?</p>
<p> </p>
<blockquote>
<div class="message_header"><span>Thu Mar 19 2015 11:58:19 EDT</span> <span>from harryc @ Uncensored </span> <span class="message_subject">Subject: hc changes to date, git diff format attached</span></div>
<div class="message_content">
<p>Please find attached a 'git diff' showing all my suggestions noted recently above, except I didn't implement the variable ldap search string.   I'm still not certain what the best way is there.</p>
<p>I thought to edit out all the changes to automatically generated files, but I decided to leave them in there so you can see what Ubuntu Trusty LTS 14.04 does differently.</p>
<p>There's a further implementation puzzle I'd like to support without having to call it 'an ugly hack'.  When a new person shows up to work, they get a shiny new entry in the LDAP database.  What I need is for that same account to show up in the Citadel database's 'global address book' --- within an hour or so of the ldap record being created--- and here's the puzzle:  before their first log in, or even without requiring the person with the new LDAP record to log in.</p>
<p>That is to say: there's value in having the global address book updated for new ldap entries independently of when or if that person decides to log in or get their first email message.  Any notions?  I have a little script that picks out ldap users that aren't yet listed in PF with a nice filled out vcard.  I'd like to kick Citadel into loading their particulars without having to know their password.  Preferably some 'sendcommand' magic.</p>
<p>Thanks for keeping this solid performer going!</p>
<p>Harry</p>
<p> </p>
</div>
</blockquote>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895687</link><pubDate>Thu, 19 Mar 2015 11:58:19 +0500</pubDate><title>hc changes to date, git diff format attached</title><guid isPermaLink="false">3895687@Uncensored</guid><description><![CDATA[<html><body>

<p>Please find attached a 'git diff' showing all my suggestions noted recently above, except I didn't implement the variable ldap search string.   I'm still not certain what the best way is there.</p>
<p>I thought to edit out all the changes to automatically generated files, but I decided to leave them in there so you can see what Ubuntu Trusty LTS 14.04 does differently.</p>
<p>There's a further implementation puzzle I'd like to support without having to call it 'an ugly hack'.  When a new person shows up to work, they get a shiny new entry in the LDAP database.  What I need is for that same account to show up in the Citadel database's 'global address book' --- within an hour or so of the ldap record being created--- and here's the puzzle:  before their first log in, or even without requiring the person with the new LDAP record to log in.</p>
<p>That is to say: there's value in having the global address book updated for new ldap entries independently of when or if that person decides to log in or get their first email message.  Any notions?  I have a little script that picks out ldap users that aren't yet listed in PF with a nice filled out vcard.  I'd like to kick Citadel into loading their particulars without having to know their password.  Preferably some 'sendcommand' magic.</p>
<p>Thanks for keeping this solid performer going!</p>
<p>Harry</p>
<p> </p>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895451</link><pubDate>Thu, 19 Mar 2015 07:41:42 +0500</pubDate><title>Re: webcit: kernel: [..] traps: webcit[24889] general protection w/patch</title><guid isPermaLink="false">3895451@Uncensored</guid><description><![CDATA[<html><body>

<p>Many thanks for the good work.</p>
<p>to ease the deployment, can you re-send your mails with the diffs as an  attachment?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3895378</link><pubDate>Wed, 18 Mar 2015 23:31:44 +0500</pubDate><title>webcit: kernel: [..] traps: webcit[24889] general protection w/patch</title><guid isPermaLink="false">3895378@Uncensored</guid><description><![CDATA[<html><body>

<p>When attempting via webcit to visit the global address book room of a newly created user (no messages), this crash appears in the syslog:</p>
<p>kernel: [112197.282170] traps: webcit[24889] general protection ip:</p>
<p>Investigations led to a few patches, correcting the problem, as follows:</p>
<p>Mar 18 19:12:45 email2 citserver[24393]: [65][Email Administrator(9)] GOTO My Citadel Config<br />Mar 18 19:12:45 email2 citserver[24393]: CC[65]MSG&lt;0000000009.My Citadel Config&gt; 2 new of 2 total messages, oldest=2564, newest=26264<br />Mar 18 19:12:45 email2 citserver[24393]: [65][Email Administrator(9)] LFLR<br />Mar 18 19:12:45 email2 citserver[24393]: [65][Email Administrator(9)] MSGS ALL|0|1<br />Mar 18 19:12:45 email2 citserver[24393]: [65][Email Administrator(9)] MSG0 2564<br />Mar 18 19:12:45 email2 webcit[24889]: ignoring spurious preference line: []<br />Mar 18 19:12:45 email2 webcit[24889]: Loading [startpage]with type [1] ["dotskip?room=_BASEROOM_"]<br />Mar 18 19:12:45 email2 webcit[24889]: Loading with: -&gt; LoadStartpage("dotskip?room=_BASEROOM_", 0)<br />Mar 18 19:12:45 email2 citserver[24393]: [65][Email Administrator(9)] CHEK<br />Mar 18 19:12:45 email2 citserver[24393]: [65][Email Administrator(9)] GOTO Global Address Book<br />Mar 18 19:12:45 email2 citserver[24393]: CC[65]MSG&l
<p>In Iowa the phrase we have for this sort of thing is "oops." Investigations led to:</p>
<p>Attempting to access the webcit log yielded an empty webcit directory.  Note the command line:</p>
<p>/usr/sbin/webcit -u 65534 -D/var/run/webcit/webcit.pid.443 -p443 127.0.0.1 504 -s -i0.0.0.0 -t/var/log/webcit//access.443.log -s</p>
<p>This patch corrected that.  webcit's -t does nothing.</p>
<p> </p>
<p>diff --git a/webcit/webserver.c b/webcit/webserver.c<br />index 0261d69..70c40ee 100644<br />--- a/webcit/webserver.c<br />+++ b/webcit/webserver.c<br />@@ -194,13 +194,16 @@ int main(int argc, char **argv)<br />                        verbose=1;<br />                        break;<br />                default:<br />-                       fprintf(stderr, "usage: webcit "<br />+                       fprintf(stderr, "usage:\nwebcit "<br />                                "[-i ip_addr] [-p http_port] "<br />                                "[-c] [-f] "<br />                                "[-T Templatedebuglevel] "<br />                                "[-d] [-Z] [-G i18ndumpfile] "<br />+                               "[-u uid] [-h homedirectory] "<br />
<p> </p>
<p> </p>
<p>diff --git a/webcit/debian/webcit.init b/webcit/debian/webcit.init<br />index b99e24c..d124d45 100644<br />--- a/webcit/debian/webcit.init<br />+++ b/webcit/debian/webcit.init<br />@@ -25,7 +25,7 @@ PIDFILE=$RUNDIR/$NAME.pid<br /> SCRIPTNAME=/etc/init.d/webcit<br /> SENDCOMMAND=/usr/sbin/sendcommand<br /> DEFAULT=/etc/default/webcit<br />-LOGDIR=/var/log/webcit/<br />+#LOGDIR=/var/log/webcit/ deprecated<br /> DROP_TO_UID=`id -u nobody`<br /> <br /> # Exit if the package is not installed<br />@@ -79,9 +79,9 @@ do_start()<br />            mkdir -p $RUNDIR<br />        fi<br /> <br />-        if test ! -d $LOGDIR; then<br />-           mkdir -p $LOGDIR<br />-       fi<br />+        #if test ! -d $LOGDIR; then<br />+       #    mkdir -p $LOGDIR<br />+       #fi<br /> <br />        # are we disabled?<br />        if test "$1" -lt "0"; then<br />@@ -93,7 +93,7 @@ do_start()<br />        #   1 if daemon was already runn
<p>        if $DAEMON -u $DROP_TO_UID -D$PIDFILE.$1 \<br />-           -p$@ -t$LOGDIR/access.${1}.log $4; then<br />+           -p$@  $4; then<br />            return 0<br />        else<br />            return 2</p>
<p> </p>
<p>There is no guarantee as to the size of any of the ldap strings.  The routine display_vcard presupposed an arbitrary limit.  That has been corrected, which resolved this bug.</p>
<p>diff --git a/webcit/vcard_edit.c b/webcit/vcard_edit.c<br />index 1a9f11a..2d4ceef 100644<br />--- a/webcit/vcard_edit.c<br />+++ b/webcit/vcard_edit.c<br />@@ -276,6 +276,31 @@ void fetchname_parsed_vcard(struct vCard *v, char **storename) {<br /> <br /> <br /> <br />+static void dynstrcat(char **oldstring, const char *addon) {<br />+    char *hold;<br />+    hold = *oldstring;<br />+    asprintf(oldstring,"%s%s",hold,addon);<br />+    free(hold);<br />+}<br />+static void dynurlesccat(char **oldstring, char *addon_to_escapify) {<br />+    int addon_max_size;<br />+    char *escapified_addon;<br />+    addon_max_size=4*strlen(addon_to_escapify);<br />+    escapified_addon = malloc(addon_max_size);<br />+    urlesc(escapified_addon,addon_max_size,addon_to_escapify);<br />+    dynstrcat(oldstring,escapified_addon);<br />+    free(escapified_addon);<br />+}<br />+static void dynesccat(char **oldstring, char *addon_to_escapify,int arg3, int arg4) {<br />+    int addon_m
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3894938</link><pubDate>Wed, 18 Mar 2015 19:07:08 +0500</pubDate><title>Fix to incorrect group privilege escalation in webcit</title><guid isPermaLink="false">3894938@Uncensored</guid><description><![CDATA[<html><body>

<p>Webcit has an unwelcome group privilege escalation owing to a missing line in webcit/configure.ac, and a related patch to webcit/sysdep.c</p>
<p>Kindly notice that when webcit starts up, this appears in the syslog:</p>
<p>...</p>
<p>Mar 18 17:56:56 email2 webcit[24601]: Message catalog directory: /usr/share//locale<br />Mar 18 17:56:56 email2 webcit[24599]: No Site-local Stylesheet [/usr/share/citadel-webcit/static.local//webcit.css] installed.<br />Mar 18 17:56:56 email2 webcit[24601]: No Site-local Stylesheet [/usr/share/citadel-webcit/static.local//webcit.css] installed.<br />Mar 18 17:56:56 email2 webcit[24599]: Attempting to bind to port 80...<br />Mar 18 17:56:56 email2 webcit[24601]: Attempting to bind to port 443...<br />Mar 18 17:56:56 email2 webcit[24599]: Listening on socket 6<br />Mar 18 17:56:56 email2 webcit[24599]: WARNING: getpwuid(65534): Success#012Group IDs will be incorrect.<br />Mar 18 17:56:56 email2 webcit[24599]: Changing uid to 65534<br />Mar 18 17:56:56 email2 webcit[24601]: Listening on socket 6<br />Mar 18 17:56:56 email2 webcit[24601]: Requesting cipher list: DEFAULT<br />Mar 18 17:56:56 email2 webcit[24601]: WARNING: getpwuid(65534): File exists#012Group IDs will be incorrect.<br />Mar 18 17:56:56 email2
<p> </p>
<p>The systems I use certainly have the function getpwuid, yet webcit complains about lacking it, while citadel-server gets it right.</p>
<p>The configure.ac file in webcit lacks the necessary line to confirm the presence of getpwuid.  These two patches corrects that problem. (The first patch also has the fix for the failure to build webcit owing to a misordering of libraries mentioned last post)</p>
<p>iff --git a/webcit/configure.ac b/webcit/configure.ac<br />index f17cc58..8cb65c3 100644<br />--- a/webcit/configure.ac<br />+++ b/webcit/configure.ac<br />@@ -88,6 +88,7 @@ dnl Checks for header files.<br /> AC_HEADER_STDC<br /> dnl AC_HEADER_SYS_WAIT<br /> <br />+AC_CHECK_FUNCS(crypt gethostbyname connect flock getpwnam_r getpwuid_r getloadavg)<br /> AC_CACHE_CHECK(<br />        [for call semantics from getpwuid_r], <br />        ac_cv_call_getpwuid_r,<br />@@ -238,7 +239,7 @@ dnl Checks for the discount markdown library.<br /> AC_CHECK_LIB(markdown,<br />         markdown,<br />         [<br />-        LDFLAGS="$LDFLAGS -lmarkdown"<br />+        LIBS="$LIBS -lmarkdown"<br />         AC_DEFINE(HAVE_MARKDOWN,[],[whether we have markdown message rendering])<br /> ])<br /><br /></p>
<p> </p>
<p>diff --git a/webcit/sysdep.c b/webcit/sysdep.c<br />index 94314a2..02bfe02 100644<br />--- a/webcit/sysdep.c<br />+++ b/webcit/sysdep.c<br />@@ -557,6 +557,8 @@ webcit_calc_dirs_n_files(int relh, const char *basedir, int home, char *webcitdi<br /> void drop_root(uid_t UID)<br /> {<br />        struct passwd pw, *pwp = NULL;<br />+        char pwbuf[SIZ];<br />+<br /> <br />        /*<br />         * Now that we've bound the sockets, change to the Citadel user id and its<br /><br /></p>
<p> </p>
<p>After the patches, the startup log shows:</p>
<p>Mar 18 18:00:14 email2 webcit[24701]: Message catalog directory: /usr/share//locale<br />Mar 18 18:00:14 email2 webcit[24701]: No Site-local Stylesheet [/usr/share/citadel-webcit/static.local//webcit.css] installed.<br />Mar 18 18:00:14 email2 webcit[24701]: Attempting to bind to port 443...<br />Mar 18 18:00:14 email2 webcit[24701]: Listening on socket 7<br />Mar 18 18:00:14 email2 webcit[24701]: Requesting cipher list: DEFAULT<br />Mar 18 18:00:14 email2 webcit[24701]: Changing uid to 65534<br />Mar 18 18:00:14 email2 webcit[24699]: Attempting to bind to port 80...<br />Mar 18 18:00:14 email2 webcit[24699]: Listening on socket 7<br />Mar 18 18:00:14 email2 webcit[24699]: Changing uid to 65534</p>
<p> </p>
<p>Best,</p>
<p>Harry Coin</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3894819</link><pubDate>Wed, 18 Mar 2015 15:55:55 +0500</pubDate><title>Re: dpkg-buildpackage of latest git of webcit fails w/patch</title><guid isPermaLink="false">3894819@Uncensored</guid><description><![CDATA[<html><body>

<p>Also, in the spirit of 'belt-and-suspenders' programming practices:</p>
<p> </p>
<p>--- webcit-8.24-dfsg/webcit.h    2014-01-27 09:42:11.000000000 -0600<br />+++ webcit-8.24-dfsg/webcit.h.new    2014-10-23 14:12:58.638800940 -0500<br />@@ -64,7 +64,7 @@<br /> #define _(string)    (string)<br /> #endif<br /> <br />-#define IsEmptyStr(a) ((a)[0] == '\0')<br />+#define IsEmptyStr(a) ( ( (a) == NULL ) || ((a)[0] == '\0') )<br /> <br /> #define DO_DBG_QR 0<br /> #define DBG_QR(x) if(DO_DBG_QR) _DBG_QR(x)</p>
<p> </p>
<p>The previous definition will crash abort webcit in the event a is null.  The patch will correctly report the emptyness of a pointer to a string set to null and if not null then if zero length.</p>
<p>If it is important maybe a new define  if the question is whether a is a non null string of zero length.</p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3894812</link><pubDate>Wed, 18 Mar 2015 15:37:40 +0500</pubDate><title>Re: dpkg-buildpackage of latest git of webcit fails w/patch</title><guid isPermaLink="false">3894812@Uncensored</guid><description><![CDATA[<html><body>

<p>Ref the previous webcit build bug report, the problem was in the makefile -lmarkdown was too soon in the library list.</p>
<p>editing the makefile allowed proper completion, but the makefile got wiped out every dpkg-buildpackage.  So a similar change in configure led to the correct makefile, whichgot wiped out every ./bootstrap.  The lasting change was to configure.ac, and is:</p>
<p> </p>
<p>--- webcit/configure.ac    2015-03-18 14:30:52.396576048 -0500<br />+++ patches/configure.ac    2015-03-18 14:32:02.863553320 -0500<br />@@ -238,7 +238,7 @@<br /> AC_CHECK_LIB(markdown,<br />      markdown,<br />      [<br />-     LDFLAGS="$LDFLAGS -lmarkdown"<br />+     LIBS="$LIBS -lmarkdown"<br />      AC_DEFINE(HAVE_MARKDOWN,[],[whether we have markdown message rendering])<br /> ])<br /><br /></p>
<p> </p>
<p>(make sure to run bootstrap after making this patch, and then dpkg-buildpackage)</p>
<p>Harry</p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3894792</link><pubDate>Wed, 18 Mar 2015 14:35:15 +0500</pubDate><title>dpkg-buildpackage of latest git of webcit fails</title><guid isPermaLink="false">3894792@Uncensored</guid><description><![CDATA[<html><body>

<p>webcit build note:<br /><br />Latest git-pull into an empty directory, followed by a dpkg-buildpackage, on Ubuntu LTS Trusty 14.04 had a build that failed with:<br /><br />LD: webcit<br />msg_renderers.o: In function `render_MAIL_markdown':<br />msg_renderers.c:(.text+0x1d49): undefined reference to `mkd_string'<br />msg_renderers.c:(.text+0x1d59): undefined reference to `mkd_basename'<br />msg_renderers.c:(.text+0x1d63): undefined reference to `mkd_compile'<br />msg_renderers.c:(.text+0x1d70): undefined reference to `mkd_document'<br />msg_renderers.c:(.text+0x1d99): undefined reference to `mkd_cleanup'<br />collect2: error: ld returned 1 exit status<br />make[1]: *** [webcit] Error 1<br />make[1]: Leaving directory `/usr/src/citadel-master/citadel/webcit'<br />make: *** [build-stamp] Error 2<br />dpkg-buildpackage: error: debian/rules build gave error exit status 2<br /><br />But:<br /><br />dpkg -l | grep markdown<br />ii  libjs-marked 0.3.1+dfsg-1                           
<p>-- second smaller matter:<br />P.S. Because people like to see their name in the webcit configuration field titled also 'User Name', and not some contraction for email purposes: I think allowing the sysadmin to choose the ldap search string is a good idea.  Presently it's either (sAMAccountName=%s) or  (&amp;(objectclass=posixAccount)(uid=%s)). I'd like to add cn=%s to the mix.  It's possible only if user names can have any printable ascii plus space.<br /><br />In the alternative consider changing the webcit field to be 'User ID' from 'User Name' so people don't expect to see their name in that spot.  This would make the meaning of the field below: 'User ID Number' coordinate with the proposed 'User ID' above.<br /><br /><br /><br /><br /><br /><br /><br /></p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3887302</link><pubDate>Sun, 01 Mar 2015 11:25:35 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3887302@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, I've fixed the init script for the .debs, wanted to continue with easy install, but can't seem to find it?</p>
<p>wouldn't setup contain them as here document?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3887272</link><pubDate>Sun, 01 Mar 2015 10:03:46 +0500</pubDate><title>Re: CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3887272@Uncensored</guid><description><![CDATA[<html><body>

<p>Ok, fixed some tiny leaks, and install stuff.</p>
<p>easy install git will now drag discount - wasn't able to test it with the download yet, can we get queasy install working once more?</p>
<p>http://www.pell.portland.or.us/~orc/Code/discount/discount-2.1.8.tar.gz</p>
<p>should be copied to the download directory.</p>
<p>@oates, the_mgt</p>
<p>discount is the markdown parser library, it should be readily available so you just need to add the build dependency - in debian its libmarkdown.</p>
<p>we have http://oscargodson.github.io/EpicEditor/ as markdown support for the users; it will be part of the webcit tarball.</p>
<p>the .debs currently configure to release it too; the install make target will copy it.</p>
<p>Optionally one can  configure webcit to load it from else where by </p>
<p>--with-markdowneditordir=/usr/share/citadel-webcit/epic/</p>
<p>(or wherevel else; it will expect to find js/epiceditor.js there)</p>
<p>Whats the release version gonna be? 8.30? </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3881296</link><pubDate>Sat, 14 Feb 2015 15:25:11 +0500</pubDate><title>CODE FREEZE - RELEASE IMMINENT</title><guid isPermaLink="false">3881296@Uncensored</guid><description><![CDATA[  
 * RSS feeds seem to be parsing cleanly again. 
  
 * XMPP is clean now too.  All this time I've been an idiot and either adding
extra traces to citserver or running Wireshark on the client machine to try
to analyze the conversation.  It turns out I can just click "Debug" on Pidgin
and it tells me exactly what's going on; it even told me why it was unhappy
with Citadel's XML stream. 
  
 Taken together this means WE ARE NOW IN CODE FREEZE AND PREPARING FOR A RELEASE.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3873006</link><pubDate>Sun, 01 Feb 2015 07:30:50 +0500</pubDate><title>Message #3873006</title><guid isPermaLink="false">3873006@Uncensored</guid><description><![CDATA[<html><body>

<p>i've added a tiny section for using jshint to revalidate wclib.js &amp; friends:</p>
<p>http://www.citadel.org/doku.php/documentation:customize_webcit#usingjshintforjavascriptsyntaxchecking</p>
<p>could help saving precious time in searching errors.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3870421</link><pubDate>Mon, 26 Jan 2015 11:32:00 +0500</pubDate><title>Message #3870421</title><guid isPermaLink="false">3870421@Uncensored</guid><description><![CDATA[Uncensored is updated to git master as of right now.  Let's see how this goes.

]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3868041</link><pubDate>Tue, 20 Jan 2015 18:24:51 +0500</pubDate><title>Message #3868041</title><guid isPermaLink="false">3868041@Uncensored</guid><description><![CDATA[<html><body>

<p>ok, I like the shape of the stream transcoding now.</p>
<p>The interface seems sufficient so it doesn't need to be changed again after a release giving us new library version for no value.</p>
<p>we can now compress chunks, so we can READ one chunk, compress it, send it as http chunk to the browser, and continue with the next.again.</p>
<p>That way we should be faster sending it, and not have much in ram, so we can handle bigger files more easily.</p>
<p>We also can handle as much of range requests, that http pseudo streaming is possible.</p>
<p>The only thing missing is, that zlib sugests using 64k windows, and we do  4/16k right now - which we should fix. </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3868034</link><pubDate>Tue, 20 Jan 2015 18:08:08 +0500</pubDate><title>Message #3868034</title><guid isPermaLink="false">3868034@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, the old format uses indention like mime to wrap around lines? I don't think that translates well...</p>
<p>but, its probably cheap to try, I just made it a possible renderer for messages of the type text/x-markdown,</p>
<p>you only need to mix these two lines:</p>
<p>    RegisterMimeRenderer(HKEY("text/x-citadel-variformat"), render_MAIL_variformat, 1, 2);<br />    RegisterMimeRenderer(HKEY("text/x-markdown"), render_MAIL_markdown, 1, 30);<br /><br /></p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3867904</link><pubDate>Tue, 20 Jan 2015 13:09:42 +0500</pubDate><title>Message #3867904</title><guid isPermaLink="false">3867904@Uncensored</guid><description><![CDATA[I wonder if it would be useful in converting legacy format text messages to
HTML. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3867099</link><pubDate>Mon, 19 Jan 2015 02:45:58 +0500</pubDate><title>Message #3867099</title><guid isPermaLink="false">3867099@Uncensored</guid><description><![CDATA[<html><body>

<p>the only thing its able to - render markdown to html.</p>
<p>Its used to create markdown wiki rooms - for those who don't like html wiki (like me)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3866656</link><pubDate>Sun, 18 Jan 2015 20:09:59 +0500</pubDate><title>Message #3866656</title><guid isPermaLink="false">3866656@Uncensored</guid><description><![CDATA[Wait a minute, adding dependencies has to be something we discuss before going
forward with it. 
  
 What are we doing with this library? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3863139</link><pubDate>Mon, 12 Jan 2015 17:17:14 +0500</pubDate><title>Message #3863139</title><guid isPermaLink="false">3863139@Uncensored</guid><description><![CDATA[<html><body>

<p>ok, hopefully after the next update uncensored rss should work fine again.</p>
<p>should we start out on another queasy install round?</p>
<p>we've got a new dependency:</p>
<p>http://www.pell.portland.or.us/~orc/Code/discount/</p>
<p>is the q(easy) install script somewhere in git?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3862629</link><pubDate>Sun, 11 Jan 2015 16:12:14 +0500</pubDate><title>Message #3862629</title><guid isPermaLink="false">3862629@Uncensored</guid><description><![CDATA[<html><body>

<p>ok, found &amp; fixed.</p>
<p>For your compfort, the room menu has a relative new point 'zap duplicates' </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3862616</link><pubDate>Sun, 11 Jan 2015 15:24:17 +0500</pubDate><title>Message #3862616</title><guid isPermaLink="false">3862616@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, yes. I think that log output gives good pointers.</p>
<p>lets fix it.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3862352</link><pubDate>Sun, 11 Jan 2015 09:15:22 +0500</pubDate><title>Message #3862352</title><guid isPermaLink="false">3862352@Uncensored</guid><description><![CDATA[<html><body>

<p>the whole feed</p>
<p>I don't get it why its not identifying the single items properly... it doesn't provide a guid, so this should be a checksum over subject and link, which also don't seem to change...</p>
<p>i've enabled seen logging on uncensored, so maybe this tells us more...</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3862333</link><pubDate>Sun, 11 Jan 2015 07:30:55 +0500</pubDate><title>Message #3862333</title><guid isPermaLink="false">3862333@Uncensored</guid><description><![CDATA[The whole feed or an individual item? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3862296</link><pubDate>Sun, 11 Jan 2015 06:39:03 +0500</pubDate><title>Message #3862296</title><guid isPermaLink="false">3862296@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, theoatmeal is so kind to tell us is time...</p>
<p>       &lt;dc:date&gt;2015-01-11T11:36:55+01:00&lt;/dc:date&gt;</p>
<p>which doen't go well with checksumming a feed to see whether one already saw it...</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3859658</link><pubDate>Tue, 06 Jan 2015 19:06:39 +0500</pubDate><title>Message #3859658</title><guid isPermaLink="false">3859658@Uncensored</guid><description><![CDATA[<html><body>

<p>finally. been working on that for a while.</p>
<p>zlib compression with chunked encoding is working.</p>
<p>So if you download a file, webcit will only load one chunk from citserver, compress it, send it as http chunk, redo until finished.</p>
<p> </p>
<p>oh, and in other news, another thing anoying me is gone, gotonext now brings you to the blog entry with new comments instead of the overview.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3858044</link><pubDate>Thu, 01 Jan 2015 17:48:19 +0500</pubDate><title>Message #3858044</title><guid isPermaLink="false">3858044@Uncensored</guid><description><![CDATA[Hmm, why are message saves taking as long as they used to in the 1980's when
BBS ran on floppy disk? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3858043</link><pubDate>Thu, 01 Jan 2015 17:47:21 +0500</pubDate><title>Message #3858043</title><guid isPermaLink="false">3858043@Uncensored</guid><description><![CDATA[Updated 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3858007</link><pubDate>Thu, 01 Jan 2015 15:35:49 +0500</pubDate><title>Message #3858007</title><guid isPermaLink="false">3858007@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, pretty uncool.</p>
<p>we afe c_baseroom on the config struct; its loaded from the config file, and put in there by the defaults.</p>
<p>However, its not exposed to the CONF interface, so if it gets broken, there is no other way than hexeditor to repair this?</p>
<p>if its not there, the _BASEROOM_ macro is broken, and logging into webcit doesn't work anymore...</p>
<p>whats the best way to fix this? remove c_baseroom at all? or set it on each serverstart?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3855399</link><pubDate>Wed, 31 Dec 2014 14:24:39 +0500</pubDate><title>Message #3855399</title><guid isPermaLink="false">3855399@Uncensored</guid><description><![CDATA[<html><body>

<p>oops, one more bug in the digest recipients fixed.</p>
<p>one more uncensored update please.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3855135</link><pubDate>Wed, 31 Dec 2014 10:23:51 +0500</pubDate><title>Message #3855135</title><guid isPermaLink="false">3855135@Uncensored</guid><description><![CDATA[Ok, then I'm going to check in my XMPP work, check out your changes, and update.

  
 By the way, I don't know if this has anything to do with base64 or whatever,
but the RSS feeds are wonky.  We're getting the same messages over and over
again as if they are new. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3854875</link><pubDate>Wed, 31 Dec 2014 08:41:58 +0500</pubDate><title>Message #3854875</title><guid isPermaLink="false">3854875@Uncensored</guid><description><![CDATA[<html><body>

<p>I've removed all that too; In my tests i've not been able to send myself messages with pidgin - even not with 8.24</p>
<p>the only thing which I left in place was the adaptation of the new base64 code.</p>
<p> </p>
<p>Mailinglists have been fixed too - no more digest sending to non digest subscribers, and digests are collected over the day and sent out at 0 o'clock.</p>
<p>So please upgrade uncensored to fix cit sup.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3854653</link><pubDate>Tue, 30 Dec 2014 17:51:46 +0500</pubDate><title>Message #3854653</title><guid isPermaLink="false">3854653@Uncensored</guid><description><![CDATA[  
 I spent a good chunk of today working on XMPP.  Unfortunately I did have
to revert out pretty much the last year or so of changes.  The result was
a server that allows messages to be sent back and forth (I used two different
clients plus a non-XMPP Citadel client). 
  
 There's a small bug regarding the communication of presence information,
but once that's ironed out I would like to check this all back in. 
  
 Perhaps afterwards we can cherry-pick some of the stuff that's been added
in this past year, but only if it is TESTED. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3854015</link><pubDate>Mon, 29 Dec 2014 10:28:11 +0500</pubDate><title>Message #3854015</title><guid isPermaLink="false">3854015@Uncensored</guid><description><![CDATA[<html><body>

<p>WHOA!</p>
<p> </p>
<p>something which anoyed me for years fixed.</p>
<p> </p>
<p>now the folder counters follow the current numbers.</p>
<p>Read a message, new decreases.</p>
<p>Delete/move a message new/total decreases.</p>
<p>Refresh message folder - numbers refreshed.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3851321</link><pubDate>Tue, 23 Dec 2014 13:02:39 +0500</pubDate><title>Message #3851321</title><guid isPermaLink="false">3851321@Uncensored</guid><description><![CDATA[Ok, uncensored is updated from git master as of this morning. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3851233</link><pubDate>Tue, 23 Dec 2014 05:20:34 +0500</pubDate><title>Message #3851233</title><guid isPermaLink="false">3851233@Uncensored</guid><description><![CDATA[<html><body>

<p>si.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3850693</link><pubDate>Mon, 22 Dec 2014 14:35:16 +0500</pubDate><title>Message #3850693</title><guid isPermaLink="false">3850693@Uncensored</guid><description><![CDATA[Does this explain all of the people who are complaining that they can't subscribe
or unsubscribe to the Citadel Support list? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3850645</link><pubDate>Mon, 22 Dec 2014 14:21:31 +0500</pubDate><title>Message #3850645</title><guid isPermaLink="false">3850645@Uncensored</guid><description><![CDATA[<html><body>

<p>so.. uncensored has to be updated asap.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3850644</link><pubDate>Mon, 22 Dec 2014 14:20:53 +0500</pubDate><title>Message #3850644</title><guid isPermaLink="false">3850644@Uncensored</guid><description><![CDATA[<html><body>

<p>ok, another nasty bug caused by our new base64 encoder.</p>
<p>it adds linebreaks, which some places don't expect to.</p>
<p>this breaks...</p>
<p> - smtp auth</p>
<p>  - imap auth</p>
<p> - list subscription</p>
<p> - webcit sieve editing</p>
<p>well, these cases don't gain as much from the improved speed (it was 10 times afair) but now they work with the new behaviour.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3836212</link><pubDate>Tue, 02 Dec 2014 02:12:56 +0500</pubDate><title>Message #3836212</title><guid isPermaLink="false">3836212@Uncensored</guid><description><![CDATA[<html><body>

<p>It locked up on me.  Fun, but nogo :-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3835036</link><pubDate>Sun, 30 Nov 2014 17:16:39 +0500</pubDate><title>Message #3835036</title><guid isPermaLink="false">3835036@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, maybe finally a successor to tinymce?</p>
<p>http://coolwanglu.github.io/vim.js/experimental/vim.html</p>
<p>;-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3817034</link><pubDate>Mon, 10 Nov 2014 18:37:07 +0500</pubDate><title>Re: Little patch to serv_migrate.c</title><guid isPermaLink="false">3817034@Uncensored</guid><description><![CDATA[And that's the idea, it's supposed to be "it just works" and not complicated
to configure.  The old gag is that it's "so easy to install, even an MCSE
could do it" 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3817007</link><pubDate>Mon, 10 Nov 2014 17:07:52 +0500</pubDate><title>Re: Little patch to serv_migrate.c</title><guid isPermaLink="false">3817007@Uncensored</guid><description><![CDATA[<html><body>

<p>I've had really good experiences using postfix as a screen-and-forward-only 'from the outside to the inside' incoming email handler for citadel running in a DMZ area on on the router itself.  Not only does that handle bursty incoming traffic and ease most of the obvious spam filtering load, but you might imagine using that to forward incoming mail to the appropriate citadel workgroup server.  Not only does it free up the citadel system to respond to the traffic cared about most-- staff imap access load time,    but it also limits the corruption/info-leak extent a bad actor that gains undue access can win. </p>
<p>One useful side effect of the setup is email is still accepted by the (potentially load-shared) front end when the target citadel server is rebooted.  That's why I had to enhance the ldap / auth / vcard code in Citadel, to keep the forwarder and citadel aware of the current approved incoming email address roster.<br /><br />Anyhow I have hopes for a long future using citadel as a core bit of the design, so far the fit has been quite good.  I hope keeping the ties to the AV and antispam modules remains a priority.  I suppose the reason I haven't gotten involved with 'big stuff' changes is that I really use most of what's there as it is and it 'just works'.  I like that.</p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3816955</link><pubDate>Mon, 10 Nov 2014 15:16:23 +0500</pubDate><title>Re: Little patch to serv_migrate.c</title><guid isPermaLink="false">3816955@Uncensored</guid><description><![CDATA[The traditional need for a distributed database is what drove the design that
allows a single email domain to contain addressees spread across any number
of Citadel server nodes.  But as you correctly point out, that kind of thinking
is rapidly becoming obsolete (except in the Microsoft world where they maintain
that illusion to sell expensive server licenses and even more expensive industry
certifications).  And no one is going to use Citadel (or Exchange) as the
basis of a hyperscale email system, so it's really pointless at this stage.

  
 That's why in the next major version I want to abandon the concept of network-wide
email domains.  To the best of my knowledge, nobody is using Citadel in that
way, and it really just creates a support headache. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3816949</link><pubDate>Mon, 10 Nov 2014 15:07:06 +0500</pubDate><title>Re: Little patch to serv_migrate.c</title><guid isPermaLink="false">3816949@Uncensored</guid><description><![CDATA[<html><body>

<p><br />You're welcome.  What many see as a weakness in Citadel: the storing of email in it's own single-process-managed db filesystem, is actually quite a security strength in the way I need email to work.  Now that processors come with so many cores and solid state disks remove the storage bottleneck, performance just doesn't push email systems toward distributed databases as once it did.  So I just fix what I need to.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3816867</link><pubDate>Mon, 10 Nov 2014 12:00:39 +0500</pubDate><title>Message #3816867</title><guid isPermaLink="false">3816867@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, fail. some xmpp was committed which shouldn't, and smtp job finalisation doesn't work - be shure to delete all entries in the smtp queue room before shutting down.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3815290</link><pubDate>Sat, 08 Nov 2014 09:18:11 +0500</pubDate><title>Message #3815290</title><guid isPermaLink="false">3815290@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, funny #b11aa21e7968de3591f30d7af1ba561fab7bc53f - I had valgrind crash on me when locking the user... after shuffeling stuff a little bit around it wouldn't crash no more...</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3814060</link><pubDate>Fri, 07 Nov 2014 16:02:26 +0500</pubDate><title>Re: Little patch to serv_migrate.c</title><guid isPermaLink="false">3814060@Uncensored</guid><description><![CDATA[  
 harry comes up with the *best* fixes.  They're never big, but they always
fix issues that no one else was ever able to find. 
  
 Thanks harry ! 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3811943</link><pubDate>Thu, 06 Nov 2014 19:02:25 +0500</pubDate><title>Re: Little patch to serv_migrate.c</title><guid isPermaLink="false">3811943@Uncensored</guid><description><![CDATA[<html><body>

<p>thanks - committed.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3811531</link><pubDate>Thu, 06 Nov 2014 16:14:51 +0500</pubDate><title>Little patch to serv_migrate.c</title><guid isPermaLink="false">3811531@Uncensored</guid><description><![CDATA[<html><body>

<p>/*<br /> * Output a string to the client with these characters escaped:  &amp; &lt; &gt;<br /> */<br />void xml_strout(char *str) {<br /><br />    char *c = str;<br />++    if ( c == NULL ) return;<br />    while (*c != 0) {<br /><br /><br />As I was migrating from an i386 version to an amd64 version the receiving system would spin endlessly at 100% CPU until the watchdog timers expired in the migration.</p>
<p> </p>
<p>The cause was a string that the migrate export routine presumed was always non-null, except some are null.</p>
<p> </p>
<p>Harry</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3804809</link><pubDate>Wed, 29 Oct 2014 09:00:17 +0500</pubDate><title>Message #3804809</title><guid isPermaLink="false">3804809@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Wed Oct 29 2014 07:28:22 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">That's actually a bug that's plagued us for many years, isn't it? </div>
</div>
</blockquote>
<p>well, its probably been around since I added the flood protection for aide messages.</p>
<p>in all other cases the code should be slow enough ;-)</p>
<p>However, it seems there is still something similar left in the very same corner :-(</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3804604</link><pubDate>Wed, 29 Oct 2014 07:28:22 +0500</pubDate><title>Message #3804604</title><guid isPermaLink="false">3804604@Uncensored</guid><description><![CDATA[That's actually a bug that's plagued us for many years, isn't it? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3804243</link><pubDate>Tue, 28 Oct 2014 12:05:56 +0500</pubDate><title>Message #3804243</title><guid isPermaLink="false">3804243@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Sun Sep 07 2014 05:04:42 EDT</span> <span>from Freakdog @ Dog Pound BBS II </span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Wed Sep 03 2014 09:23:26 AM EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Wed Sep 03 2014 07:51:50 EDT</span> <span>from Freakdog @ Dog Pound BBS II </span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Sep 02 2014 05:20:32 PM EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>I don't have any troubles with spool files, probably due to the single coredness of my server.</p>
<p>If you have, you will have to provide more information so that we can fix this.WFM YMMV ;-)</p>
</div>
</blockquote>
<p>Hmm...I'm running my Citadel in a VirtualBox VM which has been allocated a single core. The underlying server is running a quad core CPU.<br /><br />I find that if I remove the offending spool file, the issue goes away...I can always identify the offending spool file, easily, as it's the largest spool file in the spoolout directory...continuing to grow but never sent/picked up.</p>
<p>I haven't encountered it in quite a while, though.</p>
</div>
</blockquote>
<p>so if you re-sync a room this may happen to you?</p>
<p>where does it break? in collectding? or sending?</p>
<p>or does it break while collecting the spoolfiles with large attachments to the spoolfile to transmit?</p>
</div>
</blockquote>
<p>I haven't resync'd a room in quite a long time...and I was not resyncing any rooms at the times this happened.</p>
<p>It appears to break while sending...if I was reading the logs, correctly, while spooling out, not while actually transmitting the spoolfile. In fact, the spoolfile was growing, I believe, because my node could not connect to the remote, nor did the remote seem to be connecting to me.</p>
<p>I'm not aware of any attachments that may have been in the spoolfiles at the time.</p>
</div>
</blockquote>
<p>Ok, we have some fixes for this now. I found one missing critical section, and some conditions which would introduce race conditions with the queueing mechanism.</p>
<p>I guess it would be worth while retrying it.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3804047</link><pubDate>Mon, 27 Oct 2014 18:44:32 +0500</pubDate><title>Message #3804047</title><guid isPermaLink="false">3804047@Uncensored</guid><description><![CDATA[<html><body>

<p>ok, it seems as if I found two possible problems for the networker.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3784492</link><pubDate>Mon, 29 Sep 2014 14:18:06 +0500</pubDate><title>Message #3784492</title><guid isPermaLink="false">3784492@Uncensored</guid><description><![CDATA[I don't see the wiki module being a problem, because it doesn't send any user-supplied
arguments to the shell.  The wiki module generates its own temporary file
names and uses those.  
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3783992</link><pubDate>Mon, 29 Sep 2014 09:54:35 +0500</pubDate><title>Message #3783992</title><guid isPermaLink="false">3783992@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks!</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3783965</link><pubDate>Mon, 29 Sep 2014 09:04:34 +0500</pubDate><title>Message #3783965</title><guid isPermaLink="false">3783965@Uncensored</guid><description><![CDATA[<html><body>

<p>its possible with authentication - however you probably won't get a modified environment without any further exploit - As we don't add i.e. the useragent to the environment ;-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3782897</link><pubDate>Sun, 28 Sep 2014 01:38:39 +0500</pubDate><title>Message #3782897</title><guid isPermaLink="false">3782897@Uncensored</guid><description><![CDATA[<html><body>

<p>Dothebart, with or without auth?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3782168</link><pubDate>Fri, 26 Sep 2014 03:25:54 +0500</pubDate><title>Message #3782168</title><guid isPermaLink="false">3782168@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, so the wiki module and the serv_migrate is vulnerable to shell shock? (as they use system() / popen())</p>
<p>I wouldn't count the migrate as that much of a risk, but the wiki for shure.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3770034</link><pubDate>Wed, 10 Sep 2014 02:36:10 +0500</pubDate><title>Message #3770034</title><guid isPermaLink="false">3770034@Uncensored</guid><description><![CDATA[<html><body>

<p>ok, I had something here which was different to the smtp stack which I changed. It seemed as if it would continue to run after an abort state should have terminated it.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3767978</link><pubDate>Sun, 07 Sep 2014 05:04:42 +0500</pubDate><title>Message #3767978</title><guid isPermaLink="false">3767978@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Sep 03 2014 09:23:26 AM EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Wed Sep 03 2014 07:51:50 EDT</span> <span>from Freakdog @ Dog Pound BBS II </span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Sep 02 2014 05:20:32 PM EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>I don't have any troubles with spool files, probably due to the single coredness of my server.</p>
<p>If you have, you will have to provide more information so that we can fix this.WFM YMMV ;-)</p>
</div>
</blockquote>
<p>Hmm...I'm running my Citadel in a VirtualBox VM which has been allocated a single core. The underlying server is running a quad core CPU.<br /><br />I find that if I remove the offending spool file, the issue goes away...I can always identify the offending spool file, easily, as it's the largest spool file in the spoolout directory...continuing to grow but never sent/picked up.</p>
<p>I haven't encountered it in quite a while, though.</p>
</div>
</blockquote>
<p>so if you re-sync a room this may happen to you?</p>
<p>where does it break? in collectding? or sending?</p>
<p>or does it break while collecting the spoolfiles with large attachments to the spoolfile to transmit?</p>
</div>
</blockquote>
<p>I haven't resync'd a room in quite a long time...and I was not resyncing any rooms at the times this happened.</p>
<p>It appears to break while sending...if I was reading the logs, correctly, while spooling out, not while actually transmitting the spoolfile. In fact, the spoolfile was growing, I believe, because my node could not connect to the remote, nor did the remote seem to be connecting to me.</p>
<p>I'm not aware of any attachments that may have been in the spoolfiles at the time.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3763043</link><pubDate>Wed, 03 Sep 2014 09:23:26 +0500</pubDate><title>Message #3763043</title><guid isPermaLink="false">3763043@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Sep 03 2014 07:51:50 EDT</span> <span>from Freakdog @ Dog Pound BBS II </span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Sep 02 2014 05:20:32 PM EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>I don't have any troubles with spool files, probably due to the single coredness of my server.</p>
<p>If you have, you will have to provide more information so that we can fix this.WFM YMMV ;-)</p>
</div>
</blockquote>
<p>Hmm...I'm running my Citadel in a VirtualBox VM which has been allocated a single core. The underlying server is running a quad core CPU.<br /><br />I find that if I remove the offending spool file, the issue goes away...I can always identify the offending spool file, easily, as it's the largest spool file in the spoolout directory...continuing to grow but never sent/picked up.</p>
<p>I haven't encountered it in quite a while, though.</p>
<br /><br /></div>
</blockquote>
<p>so if you re-sync a room this may happen to you?</p>
<p>where does it break? in collectding? or sending?</p>
<p>or does it break while collecting the spoolfiles with large attachments to the spoolfile to transmit?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3763020</link><pubDate>Wed, 03 Sep 2014 07:51:50 +0500</pubDate><title>Message #3763020</title><guid isPermaLink="false">3763020@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Sep 02 2014 05:20:32 PM EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>I don't have any troubles with spool files, probably due to the single coredness of my server.</p>
<p>If you have, you will have to provide more information so that we can fix this.WFM YMMV ;-)</p>
</div>
</blockquote>
<p>Hmm...I'm running my Citadel in a VirtualBox VM which has been allocated a single core. The underlying server is running a quad core CPU.<br /><br />I find that if I remove the offending spool file, the issue goes away...I can always identify the offending spool file, easily, as it's the largest spool file in the spoolout directory...continuing to grow but never sent/picked up.</p>
<p>I haven't encountered it in quite a while, though.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3762838</link><pubDate>Tue, 02 Sep 2014 17:20:32 +0500</pubDate><title>Message #3762838</title><guid isPermaLink="false">3762838@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Sep 02 2014 09:33:37 EDT</span> <span>from Freakdog @ Dog Pound BBS II </span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Mon Sep 01 2014 03:20:13 AM EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>hm,the disk is full on startup case isn't caught at all in the db-layer...</p>
<p>some pointers become NULL and we crash.</p>
</div>
</blockquote>
<p>Is this in response to my question about spool files?</p>
<p>If so, the disk isn't full when the spool file issue crops up.</p>
<p>If not, please ignore this message and carry on.</p>
</div>
</blockquote>
<p>no, neither was.</p>
<p>I don't have any troubles with spool files, probably due to the single coredness of my server.</p>
<p>If you have, you will have to provide more information so that we can fix this.WFM YMMV ;-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3762741</link><pubDate>Tue, 02 Sep 2014 09:35:22 +0500</pubDate><title>Message #3762741</title><guid isPermaLink="false">3762741@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Sep 02 2014 09:33:37 AM EDT</span> <span>from Freakdog @ Dog Pound BBS II </span></div>
<div class="message_content">
<blockquote>
<div class="message_header"><span>Mon Sep 01 2014 03:20:13 AM EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>hm,the disk is full on startup case isn't caught at all in the db-layer...</p>
<p>some pointers become NULL and we crash.</p>
</div>
</blockquote>
<p>Is this in response to my question about spool files?</p>
<p>If so, the disk isn't full when the spool file issue crops up.</p>
<p>If not, please ignore this message and carry on.</p>
</div>
</blockquote>
<p>Just read the Citadel Support room...so no, that was not in response to my question about spool files. D'oh!</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3762735</link><pubDate>Tue, 02 Sep 2014 09:33:37 +0500</pubDate><title>Message #3762735</title><guid isPermaLink="false">3762735@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Mon Sep 01 2014 03:20:13 AM EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>hm,the disk is full on startup case isn't caught at all in the db-layer...</p>
<p>some pointers become NULL and we crash.</p>
</div>
</blockquote>
<p>Is this in response to my question about spool files?</p>
<p>If so, the disk isn't full when the spool file issue crops up.</p>
<p>If not, please ignore this message and carry on.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3761761</link><pubDate>Mon, 01 Sep 2014 03:20:13 +0500</pubDate><title>Message #3761761</title><guid isPermaLink="false">3761761@Uncensored</guid><description><![CDATA[<html><body>

<p>hm,the disk is full on startup case isn't caught at all in the db-layer...</p>
<p>some pointers become NULL and we crash.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3751199</link><pubDate>Thu, 07 Aug 2014 09:14:02 +0500</pubDate><title>Message #3751199</title><guid isPermaLink="false">3751199@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Aug 06 2014 09:50:33 AM EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Have I mentioned lately how wonderful it is that our Berkeley DB layer is so stable? How it almost never breaks because it's well tested, well tuned, and nobody's in there messing with it? <br /><br />Let's keep it that way. </div>
</div>
</blockquote>
<p>Silly question...will a fix for the "shutting down database" due to network spool files issue be seen in an upcoming release?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3750952</link><pubDate>Wed, 06 Aug 2014 09:50:33 +0500</pubDate><title>Message #3750952</title><guid isPermaLink="false">3750952@Uncensored</guid><description><![CDATA[  
 Have I mentioned lately how wonderful it is that our Berkeley DB layer is
so stable?  How it almost never breaks because it's well tested, well tuned,
and nobody's in there messing with it? 
  
 Let's keep it that way. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3748799</link><pubDate>Wed, 30 Jul 2014 14:50:32 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3748799@Uncensored</guid><description><![CDATA[ >One idea - sendcommand IGAB should probably do the ldap polling too  
 >if used with an ldap enabled setup.. Spidering the ldap for all  
 >accounts (and creating them if not there) then would probably also be  
 >a good thing to do.   
  
 I am envisioning a slightly evolved scope for that in the next major version.

  
 Remember that we have deprecated the support for a single Internet domain
to be populated by a Global Address Book shared across multiple Citadel servers.
 This means that we can perform tighter integration of the GAB with an underlying
authentication mechanism. 
  
 That does mean we can get more aggressive about keeping the Citadel account
set up to date when we use an LDAP server. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3748059</link><pubDate>Tue, 29 Jul 2014 10:58:09 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3748059@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Jul 24 2014 11:13:05 EDT</span><span>from harryc @ Uncensored </span><span class="message_subject">Subject: re: 8.25</span></div>
<div class="message_content">
<blockquote>
<div class="message_header"><span>Thu Jul 24 2014 03:47:28 EDT</span><span>from dothebart @ Uncensored </span><span class="message_subject">Subject: re: 8.25</span></div>
<div class="message_content">
<p>"ok - now that you say it, this makes a lot more sense.</p>
<p>however, if you are to set this string, isn't that rather going to happen during setup?"</p>
<p>You've spotted a little quirk in citadel that I struggle with as well.   Notice that using the command line interface or using sendcommand, all the possible ldap items are there available to be set:  basedn, binddn, and with my little patch also the search string.  So I thought adding the search string setup to the exact same spot as the other ldap items was in keeping with the sentiment of the main authors.  But in webcit one can only choose 'authentication mode' and if that happens to be one of the ldap choices there is no way to set that up other than using the command line or sendcommand.  I wondered perhaps it was the plan of the authors to remove the authentication matter entirely from webcit and that's why they didn't add the ldap setup details? Or was it the ldap setup details were on the list to be added to webcit?   Anyhow it was beyond my available minutes to puzzle that one through so I just continued in the direction I thought I saw there.</p>
</div>
</blockquote>
</div>
</blockquote>
<div class="message_content">
<div class="message_content">
<p> switching authentication modes isn't supported - since you will loose access to the accounts you've created in the other authentication means.</p>
<p>However, loading the contact data probably isn't as permissive.</p>
<p>One idea - sendcommand IGAB should probably do the ldap polling too if used with an ldap enabled setup.. Spidering the ldap for all accounts (and creating them if not there) then would probably also be a good thing to do.</p>
</div>
</div>
<blockquote>
<div class="message_content">
<blockquote>
<div class="message_content">
<p>"so at the place where you choose LDAP/AD you would need another mask, defaulted with the two strings?</p>
<p>And, what about editing it? should webcit expose this to the user?"</p>
<p>I suppose if it is the intention of the authors to make webcit able to do everything authentication related the command line / sendcommand is capable of doing, you'd want the current "access" tab on webcit to allow gui entry of the basedn, binddn, and a drop-down box offering the current choices with an added one "LDAP (custom search)".  When the "custom search" is chosen then a text box that is not user editable beneath the access item would become user editable.  For security I'd advise forcing the response to be A-Za-z0-9 and having webcit paste it in (XXXX=%s).  Somehow allowing even power-users access to the whole % thing strikes me as an invitation to trouble.    I suppose in a perfect world webcit would create a dropdown on the fly composed of all the items in the ldap schema it finds with format compatible with being a user id and not allow the user to have to know in advance but just choose from a list."</p>
</div>
</blockquote>
</div>
</blockquote>
<div class="message_content">
<div class="message_content">
<p>yes, you're shurely right. theres no fun to be made with %s.</p>
</div>
</div>
<blockquote>
<div class="message_content">
<blockquote>
<div class="message_content">
<p> </p>
<p>"On other topics, git master has the draft code for ldaps binding - maybe you could give it a try?"</p>
<p>What a welcome change that would have been for me a year ago.   So I needed security as well, and was trying to decide whether to patch citadel to do ldaps or try some other approach.  In the end, with storage being so cheap and the content of the ldap database changing so slowly (hence the reason for ldap to exist separately from databases) I decided to set up the citadel system as an ldap replication slave using secure communications between the ldap replication slave and the master ldap systems.  In that fashion, a hacker would not be able to tell based on ldap traffic between the mail systems and the ldap servers what's going on on the email system or be able to interfere.  Only when there's a change on the ldap server would there be ldap traffic between the ldap systems and the email systems, and that happens so infrequently it's much easier to detect security shenanigans than lookups every email transit.  Meanwhile all the ldap lookups for email purposes would be local socket calls, never hitt
<p>In direct answer to your question, perhaps a bit shame-facedly,  so... err...  I really have never pulled a development system fresh from the source, compiled and ran it.   I've always used the 'apt-get source' and dpkg-build... tools to keep the systems tidy.   Using debian/ubuntu what's the best practice to keep systems from colliding to get and compile and 'psuedo-real-world install' these sandbox ideas?   Set up a VM I suppose then... well,  I need a clue.</p>
<p>Harry</p>
<br /><br /></div>
</blockquote>
<br /><br /></div>
</blockquote>
<p>You can ./bootstrap and then use dpkg-buildpackage from git too, see http://www.citadel.org/doku.php/installation:debian for details.</p>
<p>LDAPS/Certificates - yes.</p>
<p>A feature complete ssl client would be able to do like that; a first start would however be to have a working encryption at all.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3745596</link><pubDate>Thu, 24 Jul 2014 12:12:33 +0500</pubDate><title>re: ldaps, was re: 8.25</title><guid isPermaLink="false">3745596@Uncensored</guid><description><![CDATA[<html><body>

<p>P.S. re: ldaps  To be useful in an email server context, the ssl has to be able to support not only the usual business of making sure the ldap server uses a certificate signed by a CA approved by the citadel server, but the citadel server be able to offer a certificate to authenticate itself to the ldap server.</p>
<p>The reason is that an email server's security is a stand-in for every recipient of email on that server and every system allowed to send mail via that server.  While uses where an individual is looking up something on an ldap system for himself or herself can accept server authentication only,  I think developers ought to give serious consideration to making citadel servers using ldaps have as the default offering local certificates to the ldap server to authenticate the citadel server to the ldap server and not just the ldap server to the citadel server.</p>
<p> </p>
<p>Harry</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3745573</link><pubDate>Thu, 24 Jul 2014 11:13:05 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3745573@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Thu Jul 24 2014 03:47:28 EDT</span> <span>from dothebart @ Uncensored </span> <span class="message_subject">Subject: re: 8.25</span></div>
<div class="message_content">
<p>"ok - now that you say it, this makes a lot more sense.</p>
<p>however, if you are to set this string, isn't that rather going to happen during setup?"</p>
<p> </p>
<p>You've spotted a little quirk in citadel that I struggle with as well.   Notice that using the command line interface or using sendcommand, all the possible ldap items are there available to be set:  basedn, binddn, and with my little patch also the search string.  So I thought adding the search string setup to the exact same spot as the other ldap items was in keeping with the sentiment of the main authors.  But in webcit one can only choose 'authentication mode' and if that happens to be one of the ldap choices there is no way to set that up other than using the command line or sendcommand.  I wondered perhaps it was the plan of the authors to remove the authentication matter entirely from webcit and that's why they didn't add the ldap setup details? Or was it the ldap setup details were on the list to be added to webcit?   Anyhow it was beyond my available minutes to puzzle that one through so I just continued in the direction I thought I saw there.</p>
<p> </p>
<p>"so at the place where you choose LDAP/AD you would need another mask, defaulted with the two strings?</p>
<p>And, what about editing it? should webcit expose this to the user?"</p>
<p>I suppose if it is the intention of the authors to make webcit able to do everything authentication related the command line / sendcommand is capable of doing, you'd want the current "access" tab on webcit to allow gui entry of the basedn, binddn, and a drop-down box offering the current choices with an added one "LDAP (custom search)".  When the "custom search" is chosen then a text box that is not user editable beneath the access item would become user editable.  For security I'd advise forcing the response to be A-Za-z0-9 and having webcit paste it in (XXXX=%s).  Somehow allowing even power-users access to the whole % thing strikes me as an invitation to trouble.    I suppose in a perfect world webcit would create a dropdown on the fly composed of all the items in the ldap schema it finds with format compatible with being a user id and not allow the user to have to know in advance but just choose from a list."</p>
<p> </p>
<p>"On other topics, git master has the draft code for ldaps binding - maybe you could give it a try?"</p>
<p> </p>
<p>What a welcome change that would have been for me a year ago.   So I needed security as well, and was trying to decide whether to patch citadel to do ldaps or try some other approach.  In the end, with storage being so cheap and the content of the ldap database changing so slowly (hence the reason for ldap to exist separately from databases) I decided to set up the citadel system as an ldap replication slave using secure communications between the ldap replication slave and the master ldap systems.  In that fashion, a hacker would not be able to tell based on ldap traffic between the mail systems and the ldap servers what's going on on the email system or be able to interfere.  Only when there's a change on the ldap server would there be ldap traffic between the ldap systems and the email systems, and that happens so infrequently it's much easier to detect security shenanigans than lookups every email transit.  Meanwhile all the ldap lookups for email purposes would be local socket calls, never hitt
<p>In direct answer to your question, perhaps a bit shame-facedly,  so... err...  I really have never pulled a development system fresh from the source, compiled and ran it.   I've always used the 'apt-get source' and dpkg-build... tools to keep the systems tidy.   Using debian/ubuntu what's the best practice to keep systems from colliding to get and compile and 'psuedo-real-world install' these sandbox ideas?   Set up a VM I suppose then... well,  I need a clue.</p>
<p> </p>
<p>Harry</p>
<p> </p>
<p> </p>
<br /><br /></div>
</blockquote>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3745440</link><pubDate>Thu, 24 Jul 2014 03:47:28 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3745440@Uncensored</guid><description><![CDATA[<html><body>

<p>ok - now that you say it, this makes a lot more sense.</p>
<p>however, if you are to set this string, isn't that rather going to happen during setup?</p>
<p>so at the place where you choose LDAP/AD you would need another mask, defaulted with the two strings?</p>
<p>And, what about editing it? should webcit expose this to the user?</p>
<p> </p>
<p>On other topics, git master has the draft code for ldaps binding - maybe you could give it a try?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3745364</link><pubDate>Wed, 23 Jul 2014 22:02:33 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3745364@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Jul 23 2014 10:59:48 EDT</span> <span>from dothebart @ Uncensored </span> <span class="message_subject">Subject: re: 8.25</span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Jul 22 2014 15:09:07 EDT</span> <span>from harryc @ Uncensored </span> <span class="message_subject">Subject: re: 8.25</span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Jul 22 2014 15:03:06 EDT</span> <span>from dothebart @ Uncensored </span> <span class="message_subject">Subject: re: 8.25</span></div>
<div class="message_content">
<p>please attach the patch to the mail.</p>
</div>
<div class="message_content"><br />Chuckle.. So that's what the 'attachment' button is for???  :-)</div>
<div class="message_content"> </div>
<div class="message_content">Hope it worked....</div>
<div class="message_content">Harry</div>
<div class="message_content"> </div>
</blockquote>
</div>
</blockquote>
<p>ok, nice. For shure if - its going to be appended to master (since its a new feature..).</p>
<p>it leaves me (you;-) with one problem.</p>
<p>Meanwhile a new config setting has been added by IG - the nntp settings - and you've added...</p>
<p>    if (config.c_ldap_searchstring[0]==0) {<br />        if (config.c_auth_mode == AUTHMODE_LDAP_AD) {<br />            strcpy(config.c_ldap_searchstring, "(sAMAccountName=%s)");<br />        }<br />        else {<br />            strcpy(config.c_ldap_searchstring, "(&amp;(objectclass=posixAccount)(uid=%s))");<br />        }<br />    }</p>
<p>However, since this is directly connected to the auth mode, one basicaly wouldn't need this to be a new config setting at all, but better calculate it on first use imho?</p>
<p>This would then remove many of your changes, plus the problem about the new settings conflict.</p>
</div>
<div class="message_content">--</div>
<div class="message_content"> </div>
<div class="message_content">
<p>Let me fill you in a bit on the puzzle I was aiming to solve.</p>
<p>There is no such thing as a 'standard' ldap structure.   More properly, almost everyone who uses it has committed great resources to building a structure that's ever so slightly different than someone who started a few years later or earlier, many have tweaked it to suit the needs of their group.  Each of these groups is dead certain sure their structure is standard, and even should there be agreement in principle that it's not, the work involved in changing everything is much greater than either hacking citadel or using a different package altogether.</p>
<p>It's not enough to permit citadel users the ability to adjust bind and base designated names-- to be broadly useful it has to be possible to adjust the string used to identify which element in the ldap structure is the one to return to citadel.  Now most everyone who uses active directory will use one default string.  A great whole lot of folks who use other ldap structures will use the posix account uid named above.   To maintain compatibility with the past, if citadel sees no search string set by the config, when first it's time to do a search the above code fills it in with the previous defaults.   It so happens in the ldap world I need to use, to be useful the search string is this: </p>
<p>"(cn=%s)"</p>
<p>Why?  uid would force the citadel name to be, for example, 'emailadmin' or 'jjones', while cn would allow it to be 'Email Administrator' or 'Jay Jones'.   Folks in my little world like to log in with their names, which they like because they remember it, and I like because they can log in without  'asking IT'.  The email contractions are often not so predictable in even a small group of folks.</p>
<p> </p>
<p>So you see, it isn't reliably possible to calculate the 'correct' string in all cases.  So what I did was have the system take it's shot at calculating it at the very last minute only if there hasn't been a setting change specifying otherwise.</p>
<p>I'm open to other approaches certainly.  For example one would be to use the uid here and hard code it, but have some other setting let users log in using any of the sensible possible fields in the vcard as the user name.  I suppose there are others, the above was my shot.</p>
<p>Harry</p>
<p> </p>
</div>
</blockquote>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3744842</link><pubDate>Wed, 23 Jul 2014 11:10:25 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3744842@Uncensored</guid><description><![CDATA[<html><body>

<p>so, its like this:</p>
<p>http://code.citadel.org/?p=citadel.git;a=commit;h=40aa7150b98da08472e18fdec844e626415e9e64</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3744832</link><pubDate>Wed, 23 Jul 2014 10:59:48 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3744832@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Jul 22 2014 15:09:07 EDT</span> <span>from harryc @ Uncensored </span> <span class="message_subject">Subject: re: 8.25</span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Jul 22 2014 15:03:06 EDT</span> <span>from dothebart @ Uncensored </span> <span class="message_subject">Subject: re: 8.25</span></div>
<div class="message_content">
<p>please attach the patch to the mail.</p>
</div>
<div class="message_content"><br />Chuckle.. So that's what the 'attachment' button is for???  :-)</div>
<div class="message_content"> </div>
<div class="message_content">Hope it worked....</div>
<div class="message_content">Harry</div>
<div class="message_content"> </div>
</blockquote>
</div>
</blockquote>
<p>ok, nice. For shure if - its going to be appended to master (since its a new feature..).</p>
<p>it leaves me (you;-) with one problem.</p>
<p>Meanwhile a new config setting has been added by IG - the nntp settings - and you've added...</p>
<p>    if (config.c_ldap_searchstring[0]==0) {<br />        if (config.c_auth_mode == AUTHMODE_LDAP_AD) {<br />            strcpy(config.c_ldap_searchstring, "(sAMAccountName=%s)");<br />        }<br />        else {<br />            strcpy(config.c_ldap_searchstring, "(&amp;(objectclass=posixAccount)(uid=%s))");<br />        }<br />    }</p>
<p>However, since this is directly connected to the auth mode, one basicaly wouldn't need this to be a new config setting at all, but better calculate it on first use imho?</p>
<p>This would then remove many of your changes, plus the problem about the new settings conflict.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3744235</link><pubDate>Tue, 22 Jul 2014 15:09:07 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3744235@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Jul 22 2014 15:03:06 EDT</span> <span>from dothebart @ Uncensored </span> <span class="message_subject">Subject: re: 8.25</span></div>
<div class="message_content">
<p>please attach the patch to the mail.</p>
</div>
<div class="message_content"><br />Chuckle.. So that's what the 'attachment' button is for???  :-)</div>
<div class="message_content"> </div>
<div class="message_content">Hope it worked....</div>
<div class="message_content">Harry</div>
<div class="message_content"> </div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3744231</link><pubDate>Tue, 22 Jul 2014 15:03:06 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3744231@Uncensored</guid><description><![CDATA[<html><body>

<p>please attach the patch to the mail.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3744221</link><pubDate>Tue, 22 Jul 2014 15:00:59 +0500</pubDate><title>re: 8.25</title><guid isPermaLink="false">3744221@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Jul 22 2014 14:32:54 EDT</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>8.25? Now?</p>
<br /><br /></div>
</blockquote>
<p>Here are a few of my local patches to 8.24 (the vcard bit I submitted earlier, it's here just for completeness) :</p>
<p>Feel free to use or not.  The smtp send fix on empty 'F' field you've noted above.</p>
<p> </p>
<p> </p>
<p>--- citadel-8.24/context.h    2014-01-27 09:42:11.000000000 -0600<br />+++ citadel-8.24patched/context.h    2014-07-21 14:01:24.009299829 -0500<br />@@ -149,6 +149,8 @@<br />     long *cached_msglist;            /* results of the previous CtdlForEachMessage() */<br />     int cached_num_msgs;<br /> <br />+    char vcard_updated_by_ldap;        /* !0 iff ldap changed the vcard, treat as aide update */<br />+<br />     AsyncIO *IO;                /* if this session has AsyncIO going on... */<br /> };<br /> <br />--- citadel-8.16/control.c    2013-03-07 14:44:12.000000000 -0600<br />+++ citadel-new/control.c    2014-03-10 23:07:41.705783000 -0500<br />@@ -423,6 +423,11 @@<br />         cprintf("%d\n", config.c_guest_logins);<br />         cprintf("%d\n", config.c_port_number);<br />         cprintf("%d\n", config.c_ctdluid);<br />+#ifdef HAVE_LDAP<br />+        cprintf("%s\n", config.c_ldap_searchstring);<br />+#else<br />+ 
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3744209</link><pubDate>Tue, 22 Jul 2014 14:32:54 +0500</pubDate><title>Message #3744209</title><guid isPermaLink="false">3744209@Uncensored</guid><description><![CDATA[<html><body>

<p>8.25? Now?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3744204</link><pubDate>Tue, 22 Jul 2014 14:29:54 +0500</pubDate><title>Re: A certain message format segfaults Citserver 8.24.  Patch included.</title><guid isPermaLink="false">3744204@Uncensored</guid><description><![CDATA[<html><body>

<p>Thanks for working this out. If only all troubles were presented in such a clear form :]</p>
<p>The development branch has a special function to check for whether a message field is empty or not - so this fix is only important for releases up to 8.2x; for that reason I'll go for a !=NULL check in that specific case.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3744195</link><pubDate>Tue, 22 Jul 2014 14:05:18 +0500</pubDate><title>A certain message format segfaults Citserver 8.24.  Patch included.</title><guid isPermaLink="false">3744195@Uncensored</guid><description><![CDATA[<html><body>

<p>Kindly notice that citserver v8.24 segfaults when asked to transmit a <br />certain sort of message.  Here are the details and a tested patch.</p>
<p>Harry</p>
<p>Details:</p>
<p>Using msmtp on a client system hoping to send via a citadel server, this appeared:</p>
<p>me@mysys$msmtp -C msmtp.conf dont@spamme.com</p>
<p>msmtp: cannot read from TLS connection: A TLS packet with unexpected length was received.<br />msmtp: could not send mail (account default from msmtp.conf)</p>
<p>This was a result of citserver segfaulting and restarting itself. </p>
<p>A gdb session shows citserver 8.24 segfaults as follows:<br /><br />...<br /><br />citserver[4201]: open_databases() finished<br />citserver[4201]: Changing uid to 110<br />citserver[4201]: libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3<br />[New Thread 0x7ffff0d60700 (LWP 4209)]<br />[New Thread 0x7ffff0c5f700 (LWP 4210)]<br />citserver[4201]: nothing to do for &lt;Global Address Book&gt;<br />citserver[4201]: SMTPCQ: processing outbound queue<br />citserver[4201]: SMTPCQ: queue run completed; 0 messages processed 0 activated<br />citserver[4201]: network: no neighbor nodes are configured - not polling.<br />citserver[4201]: No external notifiers configured on system/user<br />citserver[4201]: -- db checkpoint --<br />citserver[4201]: New client socket 38<br />citserver[4201]: Session (SMTPs-MTA) started from ceo1home.dontspamme.com (192.168.29.102).<br />citserver[4201]: SSL/TLS using DHE-RSA-AES128-SHA on TLSv1/SSLv3 (128 of 128 bits)<br />citserver[4201]: SMTP server: EHLO localhost<
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3744150</link><pubDate>Tue, 22 Jul 2014 12:20:28 +0500</pubDate><title>Re: LDAP and Citadel</title><guid isPermaLink="false">3744150@Uncensored</guid><description><![CDATA[<html><body>

<p>The changes I offered do not rely on any special citadel schemas.  It just uses inetOrgPerson.  However there are some fields most find useful that aren't included in the inetorgperson schema that are included in vcards.  If those fields are there then citadel will interpret them into the vcard.  I use 'extensible object' to add posixAccount.</p>
<p> </p>
<p>Harry</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3694824</link><pubDate>Wed, 09 Apr 2014 20:44:51 +0500</pubDate><title>Message #3694824</title><guid isPermaLink="false">3694824@Uncensored</guid><description><![CDATA[  
 Ok folks, same question again -- 
  
 What's unstable in git master right now?  I would really like to get a major
release done so I can start ripping out some of IGnet's guts. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3690064</link><pubDate>Sun, 30 Mar 2014 12:04:10 +0500</pubDate><title>Message #3690064</title><guid isPermaLink="false">3690064@Uncensored</guid><description><![CDATA[<html><body>

<p>Playing around on my phone right now and I just noticed that the browser in Android now works with WebCit.  Nice!</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3687102</link><pubDate>Tue, 25 Mar 2014 16:03:23 +0500</pubDate><title>Message #3687102</title><guid isPermaLink="false">3687102@Uncensored</guid><description><![CDATA[<html><body>

<p>btw, currently the xkcd room shows what happenes if any link is translated into a room name - the session is redirected to the lobby, messages are never marked read.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3685874</link><pubDate>Mon, 24 Mar 2014 14:59:09 +0500</pubDate><title>LDAP and Citadel</title><guid isPermaLink="false">3685874@Uncensored</guid><description><![CDATA[<html><body>

<p>With the recent changes made to citadel's LDAP / Vcard support, do they rely on the citadel schema being in place for users?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3685856</link><pubDate>Mon, 24 Mar 2014 13:51:59 +0500</pubDate><title>Citadel and NNTP</title><guid isPermaLink="false">3685856@Uncensored</guid><description><![CDATA[<html><body>

<p>Is the NNTP communication port going to be able to be set on a per system basis? (say I wanted to not use the stock port, but would rather have all of my systems talk on a non-standard port)</p>
<p> </p>
<p>Is this in the plans? I have no problems with the implementation of the NNTP protocol as the way to share rooms, and having read through the discussion and progress between you and platanov / veeren, it seems that you are not trying to just turn citadel into an NNTP server, but would rather use the NNTP protocol instead of your own IGNet one. Am I understanding this properly?</p>
<p> </p>
<p>If we were able to implement a server whitelist / blacklist for smtp, then I would be fine with using it for server to server communication, but my goal is to cause my network of servers to be an Island for communication amongst themselves, and to have Depth charges, and water mines around the island for stray boats trying to dock... if you understand my meaning.</p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3682376</link><pubDate>Thu, 20 Mar 2014 10:58:38 +0500</pubDate><title>Sorry for the repost</title><guid isPermaLink="false">3682376@Uncensored</guid><description><![CDATA[<html><body>

<p>Please feel free to delete the duplicate entry. I did a refresh not remembering that the last action was a post.</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3682372</link><pubDate>Thu, 20 Mar 2014 10:57:04 +0500</pubDate><title>Re: Change in Citadel</title><guid isPermaLink="false">3682372@Uncensored</guid><description><![CDATA[<html><body>

<p>I think the thing I am most concerned with is losing private communication from citadel to citadel, for the sake of sending mail only between two servers, with the same LDAP users on both servers.</p>
<p> </p>
<p>If I could set up two servers which share the same data store so that they have a common mailbox and such, it would be the best, but it is not what I am expecting.</p>
<p> </p>
<p>I look forward to seeing where Citadel goes, but hope it does not outgrow its BBS roots.</p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3681932</link><pubDate>Wed, 19 Mar 2014 21:15:59 +0500</pubDate><title>Re: Change in Citadel</title><guid isPermaLink="false">3681932@Uncensored</guid><description><![CDATA[<html><body>

<p>I think the thing I am most concerned with is losing private communication from citadel to citadel, for the sake of sending mail only between two servers, with the same LDAP users on both servers.</p>
<p> </p>
<p>If I could set up two servers which share the same data store so that they have a common mailbox and such, it would be the best, but it is not what I am expecting.</p>
<p> </p>
<p>I look forward to seeing where Citadel goes, but hope it does not outgrow its BBS roots.</p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3680185</link><pubDate>Tue, 18 Mar 2014 13:49:43 +0500</pubDate><title>Re: Crazy idea</title><guid isPermaLink="false">3680185@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Mar 18 2014 12:00:32 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Crazy idea</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">It's an interesting idea, but how would it be superior to simply implementing a clusterable set of Citadel servers running in an active/standby configuration? <br /><br />Right now there are people running Citadel sites in active/standby by sticking the entire thing on top of DRDB, but if we moved *everything* into Berkeley DB that currently sits in flat files, we could use Berkeley DB replication to build that functionality right into the Citadel server. </div>
</div>
</blockquote>
<p>From a security standpoint, and from wanting to run a secure mail server for 2 domains, it would allow for the general case of user connecting directly to one citadel machine or the other, and being able to have the two machines talk to each other (even using standard SMTP if need be) to be able to deliver mail to the other domain / citadel box without having a flood of attempted connections from other machines wanting to relay to that domain. </p>
<p>My use case is more in the realm of keeping the local users as local users, with the exception of citadel being able to mail to a different citadel (with the same local users) and be able to deny outside email if not coming from an authenticated user. So basically to handle the communication between the two servers, and reduce the visibility otherwise. In essence, close port 25, unless the magic packet comes, and then only for that connection open it, and then close the port again. My clients all use non-standard ports for IMAPS and SMTPS, so that is fine, but to facilitate normal routing of mail to the other domain, it would basically mean dead connection / server not found if the connection is not coming from the known machine (although I guess I could do that with firewall rules on both sides as well...)</p>
<p><br />I guess I just thought it was a neat idea, but I guess we all think our ideas are neat... until smashed down, trampled on, etc. (not saying that is how I feel...)</p>
<p> </p>
<p>Perhaps I misunderstood your intent to phase out intercitadel networking and clustering.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3680004</link><pubDate>Tue, 18 Mar 2014 12:31:00 +0500</pubDate><title>Re: Crazy idea</title><guid isPermaLink="false">3680004@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Mar 18 2014 12:00:32 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span> <span class="message_subject">Subject: Re: Crazy idea</span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">It's an interesting idea, but how would it be superior to simply implementing a clusterable set of Citadel servers running in an active/standby configuration? <br /><br />Right now there are people running Citadel sites in active/standby by sticking the entire thing on top of DRDB, but if we moved *everything* into Berkeley DB that currently sits in flat files, we could use Berkeley DB replication to build that functionality right into the Citadel server. </div>
</div>
</blockquote>
<p>you will like that I moved all network config reading/writing into one place.</p>
<p>you only need to change directory iterating and file open/close/read/write by the bdb versions.</p>
<p>One thing which was painfull in the past was that we would loose config information in case of disk full for the netconfig directory - a DB version should make shure under all circumstances that re-creating a config set is successfull before removing the original dataset.</p>
<p>Another file which is meanwhile handled via that mechanism is the mail.aliases - also a good thing to have, but creating it initially isn't as easy anymore then.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3679990</link><pubDate>Tue, 18 Mar 2014 12:00:32 +0500</pubDate><title>Re: Crazy idea</title><guid isPermaLink="false">3679990@Uncensored</guid><description><![CDATA[It's an interesting idea, but how would it be superior to simply implementing
a clusterable set of Citadel servers running in an active/standby configuration?

  
 Right now there are people running Citadel sites in active/standby by sticking
the entire thing on top of DRDB, but if we moved *everything* into Berkeley
DB that currently sits in flat files, we could use Berkeley DB replication
to build that functionality right into the Citadel server. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3679791</link><pubDate>Tue, 18 Mar 2014 08:29:17 +0500</pubDate><title>Crazy idea</title><guid isPermaLink="false">3679791@Uncensored</guid><description><![CDATA[<html><body>

<p>I had a thought last night, which I wonder if anyone is considering.</p>
<p> </p>
<p>I am not sure if you would be willing to try to implement something like this, but I was considering magic packets. Consider Wake-on-Lan how for all purposes, the system is "dead" but upon a specially formulated packet, the system receives the command to wake up. Now, I am not considering having the citadel system turned off, but considering having a port be "dead" unless it receives a specially formulated packet which is comprised of a one way secret, with each system setting what the special word, phrase, etc would be to "wake" it up. The port would be awake until receiving a second magic packet which would cause it to "die" again.</p>
<p> </p>
<p>I could get into more details if I need, but is anyone interested in something like this. It would be fairly simple if we implemented a basic type of firewall processing in Citadel, which just matches a simple set of rules and is only looking for one thing and drops all else until the packet comes, sets the flag, and then opens the port. Once the second packet comes to close it, the flag changes back and it is back to searching for only that one packet.</p>
<p> </p>
<p>This would solve my problem, and I think it could enable you to make the changes you want to make, while still selectively allowing for citadel to be able to open up communication with each other, but not have to be always on, or such.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3679707</link><pubDate>Mon, 17 Mar 2014 21:44:01 +0500</pubDate><title>Re: Change in Citadel</title><guid isPermaLink="false">3679707@Uncensored</guid><description><![CDATA[<html><body>

<p>Why not create your own certificate authority, have that issue certificates to the citadel servers you prefer, then turn off all non-secure smtp addresses, and delete references to the other certificate authorities.   Then citadel should only accept to transfer email from the authorized domains.   Just a theory.</p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3679702</link><pubDate>Mon, 17 Mar 2014 21:41:32 +0500</pubDate><title>Re: Ldap tweak for you</title><guid isPermaLink="false">3679702@Uncensored</guid><description><![CDATA[<html><body>

<p>Your interpretation is correct.   Thanks for the note in the log.  Notice this addresses the problems of 'ldap to vcard'.   Set up ldap, export the citadel addresses as vcards.  Done.</p>
<p> </p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3679690</link><pubDate>Mon, 17 Mar 2014 20:38:57 +0500</pubDate><title>Re: Change in Citadel</title><guid isPermaLink="false">3679690@Uncensored</guid><description><![CDATA[Sounds like we'll be making this transition over the course of a couple of
releases so we can feel out everyone's needs.  I like hearing about what you're
doing with the Citadel system; it's very interesting. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3679651</link><pubDate>Mon, 17 Mar 2014 15:14:24 +0500</pubDate><title>Re: Change in Citadel</title><guid isPermaLink="false">3679651@Uncensored</guid><description><![CDATA[<html><body>

<p>Thank you for including me here.</p>
<p>Probably our use case goes against the grain of the normal trend in email clients. We have a large international presence in many countries, and are not interested in communications with anyone outside our organization (through citadel). We have run our own mail servers for over 10 years in a very secure fashion, only enabling mail from known domains, or select email addresses, and refusing all others.</p>
<p>We decided to switch to Citadel, because we could make each use of the ability to "turn off" internet email, and still allow our users to communicate with each other through their email clients. We currently have 2 different secure domains which only function for internal communication, and have no intention of mailing the "outside world."</p>
<p>There have been times where, due to power outages and other such mishaps where the server has gone offline, making secure communication unable to take place, which caused us to consider a second machine / domain which would contain a matching userbase and would be interchangeable with the other domain in case one of the locations went down. We were not trying to duplicate inboxes, although that would be a nice feature to have, not essential. The users are all kept within an LDAP tree, which contains basic info from which to populate the vcard in citadel (which I have to manually do at this point, in order to allow for my users to have the proper information within the Citadel system, according to our protocol for setting up users.  I basically create a template file which maps out the different user registration lines and fills in the proper info and then logs them in for the first time and issues a registration then logs out, to take care of the required first login for ldap users).</p>
<p> </p>
<p>I think to sum up my concerns:</p>
<p>We need the ability for citadel to recognize communication from another citadel server, and reject anything not coming from a local user within citadel, under either domain. The usernames would be the same, but the email address could be either domain. Would it be possible to make an optional component be server to server federation of SMTP, with a special code or some type of way of only authenticating a known machine to be able to send messages to? Basically, one machine per domain, with the ability to receive outside mail from only the other machine.</p>
<p> </p>
<p>I can live with the global address book being unfederated. It would be nice for an LDAP version of Citadel to be able to search the LDAP as an address book source.</p>
<p> </p>
<p>Anyways, I am sure there is more to say, but this can at least prompt questions and such. I am also willing to test out custom builds or patches to bring this about. Please let me know how I can help.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3679441</link><pubDate>Mon, 17 Mar 2014 08:19:14 +0500</pubDate><title>Message #3679441</title><guid isPermaLink="false">3679441@Uncensored</guid><description><![CDATA[ >We currently would like to work towards either having two domains    
 >which are only able to send to each other (basically for the use that  
 
 >if one is down, the other will work).    
    
  
 (Adding bennabiy to the access list for the room, for this discussion.) 
  
 This is an interesting approach.  I've never seen anyone use two separate
domains for backup purposes. 
  
 One of the reasons I want to abandon the federated global address book is
because it's the source of the vast majority of addressability and reachability
problems.  Here are a few of the problems I've seen it create, in no particular
order: 
  
 * Changing the node name makes the entire address book invalid 
 * People set up their local domains incorrectly 
 * Changing a user's display name invalidates their address book entry 
  
 If and when we abandon IGnet and the federated GAB, we can really really
simplify
the data model.  Here's what I'm thinking: 
  
 * All networking of Citadel-to-Citadel gets done with SMTP (for mail), NNTP
(for rooms), and fully qualified domain names 
 * Abandon IGnet, and abandon the "short" node name entirely 
 * Now there's no need for any routing table; everything is done with DNS
and NNTP 
 * Global Address Book still exists, but the database built from it references
users by number, not name 
  
 Then -- we take everything still sitting in flat files, and move them into
the database: 
  
 * netconfigs (if we still need them at all) 
 * citadel.config and citadel.control 
 * room info files 
 * user profiles (both text and photos) 
  
 Once *everything* is in the database -- and unfortunately we may have to
flag-day our XML export format once we do that -- it becomes a simple matter
of database replication to run a pair of Citadel servers in active/standby
failover configuration.  From what I've seen, it seems that this is what most
people *really* want. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3679270</link><pubDate>Mon, 17 Mar 2014 08:08:43 +0500</pubDate><title>Re: Ldap tweak for you</title><guid isPermaLink="false">3679270@Uncensored</guid><description><![CDATA[(And of course I've added a credit for you in the documentation page on the
web site) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3679259</link><pubDate>Mon, 17 Mar 2014 07:35:06 +0500</pubDate><title>Re: Ldap tweak for you</title><guid isPermaLink="false">3679259@Uncensored</guid><description><![CDATA[Ok, the patch has been committed, but I haven't tested it yet because I don't
currently have an LDAP server running in my test system. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3678202</link><pubDate>Sat, 15 Mar 2014 10:59:36 +0500</pubDate><title>Re: Ldap tweak for you</title><guid isPermaLink="false">3678202@Uncensored</guid><description><![CDATA[  
 Ok, so if I'm reading this correctly, this is a fully built version of the
code that is supposed to take all of the user information learned out of LDAP
and uses it to populate the vCard? 
  
 Thanks for writing it.  This was one of those "someday" things. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3677929</link><pubDate>Fri, 14 Mar 2014 11:27:10 +0500</pubDate><title>Re: Ldap tweak for you</title><guid isPermaLink="false">3677929@Uncensored</guid><description><![CDATA[<html><body>

<p>The code above is a replacement for this in ldap.c</p>
<p> </p>
<p>/*<br /> * Learn LDAP attributes and stuff them into the vCard.<br /> * Returns nonzero if we changed anything.<br /> */<br />int Ctdl_LDAP_to_vCard(char *ldap_dn, struct vCard *v)<br />{<br />        int changed_something = 0;<br /><br />        if (!ldap_dn) return(0);<br />        if (!v) return(0);<br /><br />        /*<br />         * FIXME this is a stub function<br />         *<br />         * ldap_dn will contain the DN of the user, and v will contain a pointer to<br />         * the vCard that needs to be (re-)populated.  Put the requisite LDAP code here.<br />         *<br />        vcard_set_prop(v, "email;internet", xxx, 0);<br />         *<br />         * return nonzero to tell the caller that we made changes that need to be saved<br />        changed_something = 1;<br />         *<br />         */<br /><br />        return(changed_something);      /* tell the call
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3677025</link><pubDate>Thu, 13 Mar 2014 16:42:53 +0500</pubDate><title>P.S.</title><guid isPermaLink="false">3677025@Uncensored</guid><description><![CDATA[<html><body>

<p>I should have mentioned that the file with the stub I fixed is the end of ldap.c</p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3677016</link><pubDate>Thu, 13 Mar 2014 16:12:13 +0500</pubDate><title>Ldap tweak for you</title><guid isPermaLink="false">3677016@Uncensored</guid><description><![CDATA[<html><body>

<p>Since you folks were nice enough to add me to the development list, here's a bit that in the current code is labelled 'fix me'.</p>
<p>Harry Coin</p>
<p> </p>
<p>//return !0 iff property changed.<br />int vcard_set_props_iff_different(struct vCard *v,char *propname,int numvals, char **vals) {<br />    int i;<br />    char *oldval;<br />    for(i=0;i&lt;numvals;i++) {<br />      oldval = vcard_get_prop(v,propname,0,i,0);<br />      if (oldval == NULL) break;<br />      if (strcmp(vals[i],oldval)) break;<br />    }<br />    if (i!=numvals) {<br />        for(i=0;i&lt;numvals;i++) vcard_set_prop(v,propname,vals[i],(i==0) ? 0 : 1);<br />        return 1;<br />    }<br />    return 0;<br />}<br /><br /><br />//return !0 iff property changed.<br />int vcard_set_one_prop_iff_different(struct vCard *v,char *propname, char *newfmt, ...) {<br />    va_list args;<br />    char *newvalue;<br />    int changed_something;<br />    va_start(args,newfmt);<br />    if (-1==vasprintf(&amp;newvalue,newfmt,args)) {<br />        syslog(LOG_ALERT, "Out of memory!\n");<br />        return 0;<br />    }<br />  
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3675919</link><pubDate>Wed, 12 Mar 2014 16:31:03 +0500</pubDate><title>Message #3675919</title><guid isPermaLink="false">3675919@Uncensored</guid><description><![CDATA[  
 Attention please: 
  
 Due to the increasing number of people who cannot follow simple instructions
and post support inquiries in the developer forum, this room is now accessible
by invitation only. 
  
 I've pre-granted access to a number of people who I know belong here.  Please
let me know if I missed anyone. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3667466</link><pubDate>Thu, 27 Feb 2014 12:36:56 +0500</pubDate><title>Message #3667466</title><guid isPermaLink="false">3667466@Uncensored</guid><description><![CDATA[  
 "Please phrase your question in the form of a question." 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3667446</link><pubDate>Thu, 27 Feb 2014 11:05:11 +0500</pubDate><title>Re: Old Message</title><guid isPermaLink="false">3667446@Uncensored</guid><description><![CDATA[This is a developer forum.  Please take your question to the support forum
and try to be a little clearer. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3649546</link><pubDate>Wed, 05 Feb 2014 14:41:49 +0500</pubDate><title>Message #3649546</title><guid isPermaLink="false">3649546@Uncensored</guid><description><![CDATA[Ok, fix pls  :) 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3649545</link><pubDate>Wed, 05 Feb 2014 14:41:06 +0500</pubDate><title>Message #3649545</title><guid isPermaLink="false">3649545@Uncensored</guid><description><![CDATA[<html><body>

<p>more broken than in stable.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3649539</link><pubDate>Wed, 05 Feb 2014 14:35:56 +0500</pubDate><title>Message #3649539</title><guid isPermaLink="false">3649539@Uncensored</guid><description><![CDATA[More broken than in stable, or incomplete as in there were things you wanted
to add? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3649533</link><pubDate>Wed, 05 Feb 2014 14:07:51 +0500</pubDate><title>Message #3649533</title><guid isPermaLink="false">3649533@Uncensored</guid><description><![CDATA[<html><body>

<p>in master - yes. at least incomplete.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3649525</link><pubDate>Wed, 05 Feb 2014 13:32:37 +0500</pubDate><title>Message #3649525</title><guid isPermaLink="false">3649525@Uncensored</guid><description><![CDATA[Wait a minute -- xmpp is broken? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3649515</link><pubDate>Wed, 05 Feb 2014 12:43:41 +0500</pubDate><title>Message #3649515</title><guid isPermaLink="false">3649515@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Wed Feb 05 2014 09:52:52 EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY"><br />Ok folks, is there anything left in git master that would prevent us from moving towards a release on that track? <br /><br />I'm going to need to start working on some data model changes and would really like to get a new stable going. </div>
</div>
</blockquote>
<p>I didn't have time yet to finalize work on xmpp (currently broken), and zlib streaming may be desired.</p>
<p>however, thats not a big change which I don't give a huge chance to conflict with your changes, so we could cherrypick that over once its done.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3649486</link><pubDate>Wed, 05 Feb 2014 09:52:52 +0500</pubDate><title>Message #3649486</title><guid isPermaLink="false">3649486@Uncensored</guid><description><![CDATA[  
 Ok folks, is there anything left in git master that would prevent us from
moving towards a release on that track? 
  
 I'm going to need to start working on some data model changes and would really
like to get a new stable going. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3645574</link><pubDate>Sat, 25 Jan 2014 16:29:54 +0500</pubDate><title>Message #3645574</title><guid isPermaLink="false">3645574@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Wed Jan 22 2014 02:50:32 EST</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>found fineuploader.com - GPLv3 if you build it yourself.</p>
<p>that way I found out about nodejs, npm, grunt and all its tiny plugins. they include minification and other stuff.</p>
<p>Maybe we should add the ability for minification during building the dist-tarballs for webcit too.</p>
<p> </p>
<p>first files uploaded using that, seems nice.</p>
<br /><br /></div>
</blockquote>
<p>OK,</p>
<p>Fineuploader fixes my upload issues and works nice.</p>
<p>I hope to resolve one tiny issue, then we can cherrypick that over &amp; do a 8.24 release.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3643392</link><pubDate>Wed, 22 Jan 2014 02:50:32 +0500</pubDate><title>Message #3643392</title><guid isPermaLink="false">3643392@Uncensored</guid><description><![CDATA[<html><body>

<p>found fineuploader.com - GPLv3 if you build it yourself.</p>
<p>that way I found out about nodejs, npm, grunt and all its tiny plugins. they include minification and other stuff.</p>
<p>Maybe we should add the ability for minification during building the dist-tarballs for webcit too.</p>
<p> </p>
<p>first files uploaded using that, seems nice.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3638054</link><pubDate>Mon, 13 Jan 2014 18:48:57 +0500</pubDate><title>Message #3638054</title><guid isPermaLink="false">3638054@Uncensored</guid><description><![CDATA[<html><body>

<p>so we have some troubles with our attachment uploading facility.</p>
<p>if one has an nginx proxy, the upload will get interrupted after roughly 8k; regardless of https or not.</p>
<p>This behaviour seems to be portable amongst chromium &amp; iceweasel</p>
<p>Its even broken if one tries to upload files to uncensored, files no bigger 160k fail silently.</p>
<p>i've tried</p>
<p>http://paste.debian.net/76064/</p>
<p>as static.local/test.html</p>
<p>do_template?template=test</p>
<p>and.... tada, upload working.</p>
<p>any ideas?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3635276</link><pubDate>Mon, 06 Jan 2014 11:45:02 +0500</pubDate><title>libcitadel: base64 bug fix</title><guid isPermaLink="false">3635276@Uncensored</guid><description><![CDATA[<html><body>

<p>Didn't realize that different parts of citadel expect the base 64 decode to stop on null, and not just at length bytes. This small patch makes the b64 decoder stop on null (thereby allowing people to use AUTH LOGIN with SMTP again). :P</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3634355</link><pubDate>Sat, 04 Jan 2014 19:42:48 +0500</pubDate><title>Message #3634355</title><guid isPermaLink="false">3634355@Uncensored</guid><description><![CDATA[<html><body>

<p>By "it works nice" I mean: It is a partially working proof of concept for my ideas to unclutter the ui and make it responsive. There are lots of places were it simply is buggy and ugly, but I can use it to post to regular rooms, read the blogs, etc. the "Rooms" view is currently an epic fail, because I wanted to rip the tables out. We need to have the Rooms screen to adapt to small screensizes, therefore I wanted to read up on floating grids of variable heights. Seems there are more than 5 ways to do it and I got distracted then.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3634351</link><pubDate>Sat, 04 Jan 2014 19:36:16 +0500</pubDate><title>Message #3634351</title><guid isPermaLink="false">3634351@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Mon Dec 30 2013 10:17:07 EST</span> <span>from IGnatius T Foobar @ Uncensored</span></div>
<div class="message_content">
<p>Our UI is starting to look dated again.  I have some ideas, but I won't want to do anything that will conflict with the_mgt's rewrite.</p>
<p>What's the status of that and how can we work around conflicts?</p>
</div>
</blockquote>
<p>It is a branch in git, just try it, it is called layout_rework. It works nice in the larger resolutions, but I have hit some quirks with Firefox, yes. Also, the small portrait mode resolutions on mobiles and my javascript skills conflicted. I stopped when I dared to approach the minefield of Calendar, which still is so damn hardcoded html-in-C that it is a pain. We need template functions to call a week view, a day view, a tiny month view, etc etc.</p>
<p>I guess the rest is merely just a exercise in tightening the html pages.</p>
<p>The amazium (pure css) framework I use for the layout_rework branch does fit for 98% of our current way of doing things, but we would need to rethink some other parts to better fit into a grid idea. There are problems with the #content div and how it is created from C code in some cases.</p>
<p>Give the current branch a quick glance, if you absolutely do not like what you see, I need to start over anyway.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3633652</link><pubDate>Sat, 04 Jan 2014 11:47:20 +0500</pubDate><title>Message #3633652</title><guid isPermaLink="false">3633652@Uncensored</guid><description><![CDATA[Ok then, let's consider 8.3X to be frozen.  Please get in any remaining fixes
that are needed, and let me know when we can begin doing the final QA for
a release. 
  
 I want to get the stable_83x branch going as soon as possible.  But I don't
want to have multiple stable branches open at the same time. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3633162</link><pubDate>Sat, 04 Jan 2014 05:19:28 +0500</pubDate><title>Message #3633162</title><guid isPermaLink="false">3633162@Uncensored</guid><description><![CDATA[<html><body>

<p>its still some work left to do - but not that much.</p>
<p>I guess its forward-cherry-pickeable.</p>
<p>9.0 - yes that was also my Idea.</p>
<p>or... start an 8.xx branch, where we will fork 8.3x from, and if needed maybe an 8.4x; depending on how fast you progress on the nntp hacking.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3632735</link><pubDate>Fri, 03 Jan 2014 17:20:08 +0500</pubDate><title>Message #3632735</title><guid isPermaLink="false">3632735@Uncensored</guid><description><![CDATA[dothebart: the more I think about it the more I want to go 9.00 for the emergence
of NNTP (both for inter-Citadel networking and for Citadel-to-other networking)
and the removal of IGnet.  It's a big data model change. 
   
 So my question is: how stable is git master right now?  Can we freeze for
an 8.3X track? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3632706</link><pubDate>Fri, 03 Jan 2014 15:28:54 +0500</pubDate><title>Message #3632706</title><guid isPermaLink="false">3632706@Uncensored</guid><description><![CDATA[<html><body>

<p>IG, I sugest you create 8.3x branch now if you start working on nntp - I need some stabilization work, then this would be due to a release.</p></body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3632527</link><pubDate>Thu, 02 Jan 2014 17:51:57 +0500</pubDate><title>libcitadel: FAST as hell base64 patch</title><guid isPermaLink="false">3632527@Uncensored</guid><description><![CDATA[<html><body>

<p>Here's a patch to libcitadel that integrates a slightly modified libb64 and wraps it in the existing citadel function prototypes for a nice, speedy, drop-in replacement.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3632290</link><pubDate>Thu, 02 Jan 2014 09:59:10 +0500</pubDate><title>MIGRATE: fixed metadata import, slight optimize of chardata handling</title><guid isPermaLink="false">3632290@Uncensored</guid><description><![CDATA[<html><body>

<p>Patches attached for stable-82x (which you can safely ignore if you wanna cherry pick ;) ) and master branch.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3632118</link><pubDate>Thu, 02 Jan 2014 08:36:36 +0500</pubDate><title>Message #3632118</title><guid isPermaLink="false">3632118@Uncensored</guid><description><![CDATA[<html><body>

<p>So took care of the migrate import scenario.</p>
<p>Performance of old (buggy) version with my test data (some but not many big messages): </p>
<p><em>time /usr/sbin/sendcommand -h /test migr import &lt; /var/tmp/*xml</em><br /><em>sendcommand: started (pid=24356) connecting to Citadel server at /test/var/run/citadel/citadel-admin.socket</em><br /><em>200 potzblitz Citadel server ADMIN CONNECTION ready.</em><br /><em>migr import</em><br /><em>400 sock it to me</em><br /><em>sendcommand: processing ended.</em><br /><br /><strong><em>real    3m2.986s</em></strong><br /><em>user    0m1.886s</em><br /><em>sys     0m15.951s</em></p>
<p> </p>
<p>Whether one uses Splice or not doesn't seem to be so important</p>
<p><em>time ./citadel/sendcommand -w 5000 -h /test migr import &lt; /var/tmp/*xml</em><br /><em>sendcommand: started (pid=7682) connecting to Citadel server at /test/var/run/citadel/citadel-admin.socket</em><br /><em>200 potzblitz Citadel server ADMIN CONNECTION ready.</em><br /><em>migr import</em><br /><em>400 sock it to me</em><br /><em>sendcommand: processing ended.</em><br /><br /><strong><em>real    2m14.315s</em></strong><br /><em>user    0m0.010s</em><br /><em>sys     0m0.350s</em></p>
<p> </p>
<p>So we roughly save 25% real time.</p>
<p>the sendcommand enhancement accounts from 17.8s -&gt; 0.36s</p>
<p>it seems not to be so important whether one uses zerocopy (splice) or blockbuffered read/writing in our scenario.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3632089</link><pubDate>Thu, 02 Jan 2014 05:52:35 +0500</pubDate><title>Future of Citadel as Information System room</title><guid isPermaLink="false">3632089@Uncensored</guid><description><![CDATA[<html><body>

<p>Hidden room "Future of Citadel as Information System" has been created on uncensored.</p>
<p>To make sure those discussions are kept outside of the main line of development and/or not interfere with current issues, whatever they are, it is suggested to create a mail list subscription to that room.</p>
<p>I also propose to link that room with the preciseinfo.org parallel room, as I prefer to do posting from that system for various reasons.</p>
<p>http://preciseinfo.org:2000/dotgoto?room=Future%20of%20Citadel%20as%20Information%20System<br />or<br />https://preciseinfo.org/dotgoto?room=Future%20of%20Citadel%20as%20Information%20System</p>
<p>From then on, there will be no need to post to Citadel Development room to discuss the issues of the future of Citadel as some people may think it is inappropriate in this room.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631963</link><pubDate>Wed, 01 Jan 2014 22:44:55 +0500</pubDate><title>Sytem consistency</title><guid isPermaLink="false">3631963@Uncensored</guid><description><![CDATA[<html><body>

<p>System consistency and predictability of the behavior is a MUST in any "sane" behaving system.</p>
<p>Why, all of a sudden, you see an duplicate of the message I wrote before?</p>
<p>Did i push the POST button to send the additional copy of it? - Nope, I did not.</p>
<p>So, why should you see those duplicate messages beyond the "Will of God"?</p>
<p>The answer is: you should not, at least if user did not push some "post" button, and he did not.</p>
<p>ALL he did is to use the backspace button in the browser, which is utterly legal and in the situation he was it, was about the only logical step to take. And then BOOM!</p>
<p>I have no ideas on what your views on it, but if you want to carry the system state information somewhere, from the standpoint of web browser, you have to carry it in the URL itself, and not make some assumptions as to the state of the system at the moment.</p>
<p>For example, I currently have 3 tabs of webcit on uncensored: text client, development and Support. And that is the way I like to do it. I do now want to navigate webcit command interface just to take me from one room to another. For what?</p>
<p>Which means that if I switch tabs, now I am in a different room. Is it "legal" at that point for me to do a page refresh, just to see what are the new updates?</p>
<p>- Well, it is perfectly not only "legal", but intuitively appropriate.</p>
<p>But the strangest thing is that even if I see some room name in the banner, it does not necessarily mean that webcit "thinks" the same thing I do. It might "think" that I am in a different room. Fine, but then why do I see that room name of the "wrong room" in the banner?</p>
<p>And, mind you, my dear friends, we are talking about the most basic functionality and not some esoteric orgasm-like calendar or contacts automatic updates and super-universal-trans-net updatable bells and whistles.</p>
<p>We are talking about the MOST FUNDAMENTAL consistency of behavior issues.</p>
<p>The questions we are dealing with are: is this sane? or is it insane?</p>
<p>WHERE am I?</p>
<p>In the madhouse or on the planet Earth?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631957</link><pubDate>Wed, 01 Jan 2014 22:30:06 +0500</pubDate><title>Exposing the NNTP interface</title><guid isPermaLink="false">3631957@Uncensored</guid><description><![CDATA[<html><body>

<p>Yes.</p>
<p>If you expose the standard, text mode NNTP interface to citadel, without even full implementation of the NNTP server, then you have tons of NNTP clients that can recover the Citadel data and look at it in ANY way they please, and post to any room without even running the webcit hybrid.</p>
<p>I am just seeing it with one particular person that decided it is sufficient for her to just subscribe to a room she is interested in and read/post the posts from her mail client.</p>
<p>Thunderbird is a dedicated mail client with all sorts of abilities that are developed in many instances better than in many other places. Because their number of developers is an order of magnitude more than in other places.</p>
<p>With NNTP text mode standard interface, which is over 90% the same functionality as SMTP, people can also work with information from a number of NNTP client packages, they are used to and that perform all they want and need in the way they want.</p>
<p>Webcit still needs a lot of work. To increase performance of page load and usage of countless Javascript and/or style sheets just to read the message, seamlessness of operations of "bells and whistles" like Calendar, Contacts, Tasks and so on. These are not exactly the simplest things in the world and require development power "to stay in sync" with CURRENT "out there".</p>
<p>Either you implement something FULLY and completely, with all bells and whistles and support for anything "out there", the "latest and greatest", or you become "just another half-baked" something.</p>
<p>So, if you can not do it yourself, then let the users construct their own system from the components, such as citadel server, webcit hybrid client/server interface, mail or news client and so on.</p>
<p>In that case, you don't have to worry that much about your limited resource and doing a really good job on EVERYTHING, while being able to do a good job only in some areas.</p>
<p>And, if you implement a FULL NNTP server functionality, that would be really something, combined with the email server capabilities.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631953</link><pubDate>Wed, 01 Jan 2014 22:24:48 +0500</pubDate><title>What is structure information?</title><guid isPermaLink="false">3631953@Uncensored</guid><description><![CDATA[<html><body>

<p>Hey, this is one of the KEY issues and one of the biggest problems with information.</p>
<p>Why?</p>
<p>Because, from the standpoint of information, there is a producer and there is consumer.</p>
<p>The producers are many and they can talk about anything imaginable on any subject or area. And all of their great information is simply stored somewhere in your black box, called Citadel. It can retrieve this information from the net and not it HAS it. The question is what you do with it next.</p>
<p>And next comes the consumer problem.</p>
<p>- What kind of problem&amp;</p>
<p>Well, the consumer of INFORMATION could care less how, when and why. He, for example, just has his email client that periodically polls the list of addresses from the places of his interest.</p>
<p>As a result, he has a set of folders to where this information is automatically delivered.</p>
<p>But then the main problem of consumer comes:</p>
<p>WHAT do I read and HOW do I find what am I INTERESTED in reading out of all those information streams?</p>
<p>Which means what?</p>
<p>- Well, it means that you should be able to ZOOM on the information of HIS interest in such a way as to FACILITATE the speediest recovery of that information from the standpoint of his interests AT THE MOMENT, which means it dynamically changes based on his current needs/desires.</p>
<p>But if you look at information from the standpoint of exclusively the body text, you have ALL sorts of problems with filtering of information. Because what you have is just text. It does not say what is the area of your interest and it does not tell you to what category/subject/topic or you name it it belongs. ALL you have is a stream of characters in a global garbage dump of information.</p>
<p>And now comes the STRUCTURED part of the information.</p>
<p>It turns out that SMTP and NNTP have a provision for further classification of that information via X-headers, and, regardless of what they are and what kind of information they carry, ANY properly designed email or NNTP client has no problems of reading your message.</p>
<p>So, now you have the information in the STRUCTURED form and there is no one in the world that can force you not to recognize those extra information fields reflected in the X-headers.</p>
<p>And what is X-headers?</p>
<p>- Well, X-headers are nothing more than additional information about the BODY information.</p>
<p>It can be anything, such as information about your own universal categorization system.</p>
<p>It could be additional information about anything imaginable as far as the BODY of the message goes.</p>
<p>Which means what?</p>
<p>- Well, it means that now you can use some X-headers as additional categorization of information to be used, for example, in your information SEARCH boxes, which will place you EXACTLY into your view and interests as you have the abilities to filter our/in any information in the message itself in any way you please.</p>
<p>So, what we have now is STRUCTURED representation of information. And there is currently no better way of filtering in/out the information of your interest but by adding the structural elements to it.</p>
<p>In X-headers, you are welcome to store ANYTHING you want, including the system states if you wish.</p>
<p>And now you have a uniform and STRUCTURED information representation.</p>
<p>Now, is this a PLUS or a MINUS?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631946</link><pubDate>Wed, 01 Jan 2014 21:59:36 +0500</pubDate><title>What is Citadel concept?</title><guid isPermaLink="false">3631946@Uncensored</guid><description><![CDATA[<html><body>

<p>Well, it is unfair for anyone to interpret "what is Citadel" concept because only the original creator can fully comprehend it, even he himself might not have predicted its path to where it is NOW. But lets us try to look at it. Interesting exercise.</p>
<p>Or we can look at it from a different angle:</p>
<p>What DISTINGUISHES it from what's "out there"? Otherwise, the question arises: what and why do I need it? What makes it DIFFERENT?</p>
<p>Well, what makes it "different" is the very idea of uniting blogs, BBS and wiki in one integrated system, which is one of the greatest ideas "out there".</p>
<p>Because now, you are not limited to using some BBS package that is "good", and some wiki package that is "better than others" and a blog package of the same grade.</p>
<p>Furthermore, now you can easily exchange the MESSAGES between the packages, and, since you have a mail server capabilities, and of one of the most easiest installable mail server, which is a "royal pain on the neck" to install unless you are a sysadmin, the system becomes distributed and is directly connected to the net via email capability.</p>
<p>But it no longer can be viewed as "just another mail server out there". No, you won't "win" that game.</p>
<p>So, that means that now you become the INFORMATION SYSTEM, nothing more, nothing less.</p>
<p>So, to even think in terms of "well, we are just a mail server and it is not logically appropriate to, for example, edit posts, because we consider them as sent emails", this does not work as an argument. Because you are no longer "just another mail server out there". Just look at your webcit functionality. What does it tell you? Does it look like "yet another mail server"?</p>
<p>Yes, your information storage was initially designed with mail server ideology. But the times have changed, and that is precisely why many users selected you as their favorite package.</p>
<p>Because they can use it simultaneously as blogs, forums and wiki and move and/or email or redirect the information flows globally, and not just internally.</p>
<p>Which means that what you have underneath, which you know as SMTP messages, is nothing more than your INTERNAL view of information. User does not even need to know what are your internal representations. He might think of it in terms of emails, news groups or just web articles for that matter. Because NOTHING limits you in terms of presentation of information to the user and his understanding and needs.</p>
<p>You no longer can assume that once the email was sent, it can not be logically edited.</p>
<p>Because if it was just merely sent, then it should have disappeared from his view, just like snail mail.</p>
<p>But he can STILL look at it! And more than that, if there is a new email list subscriber, he can still recover and get updates on all the historical messages in some room. What does it mean?</p>
<p>That means that your messages, which is simply information, are still present in the store. And it is utterly irrelevant whether they were already sent out, or are in the drafts folder, or are on your screen, for that matter.</p>
<p>What matters, logically, is that the sheer fact that you do have those messages, and they are stored just like any information, regardless of ways of means of delivery, future or past.</p>
<p>So you become the INFORMATION SYSTEM, that happens to have pretty powerful email or news server capabilities.</p>
<p>And if your data/store model can not handle such architecture, then who knows, may be the time has come for you to look at your own screen in webcit and realize what you actually have that distinguishes you from others.</p>
<p>Hope it helps.</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631875</link><pubDate>Wed, 01 Jan 2014 12:00:46 +0500</pubDate><title>Citadel Webcit and UI problem</title><guid isPermaLink="false">3631875@Uncensored</guid><description><![CDATA[<html><body>

<p>Well, initially, when it was all created as a proof of concept, webcit was something "more than usual".</p>
<p>Basically, Webcit is a hybrid. It is a server AND client at the same time, depending on how you look at it.</p>
<p>From the standpoint of client part and overall screen design there are some serious issues and the way it looks now is the Rooms screen is way to cluttered with all the names of the groups people might even want to see or know about.</p>
<p>Second problem is a dynamic nature of UI interface. Now, since Webcit UI is accessible via web, it creates problems of dynamic nature, such as expanding the lists of hierarchies, sorting lists of items, and so on.</p>
<p>Thus, you have to either use the Javascript or PHP. Javascript presents a well known set of security related issues.</p>
<p>So, what might be more promising in terms of interfacing to the mail server and underlying data storage mechanisms and the rest of pure server type of functionality, is to simply abandon the web based access to the engine(s). There is simply no logical need for it and limitations in UI elements manipulation and UI "magic" of all kinds are either hardly implementable, or not implementable at all, practically speaking. Yes, in theory, it can be argued.</p>
<p>Therefore:</p>
<p>Why not just create a pure binary client that user installs on his machine that interfaces to the proper server to get/update data?</p>
<p>That client can be written in Java, and, therefore, easily installable on both, Windows and Unix/Linux platforms.</p>
<p>You can probably use most of the open source code, such as Thunderbird, for example, where all these things are solved, and simply add a few Citadel specific "bells and whistles".</p>
<p>Then the Javascript and dynamic nature of interface issues simply fall off, without any effort on your part.</p>
<p>Thunderbird, for example, has the correct model of folders implemented and visually and intuitively they are much more appealing than the current Webcit Rooms view design, which, with all due respect to the initial effort, looks like a hack, something made artificially busier and less flexible then it needs to be.</p>
<p>In other words, get away from this idea of HYBRID Webcit, which performs not server specific functions as far as Citatadel mail server/storage facility goes.</p>
<p>Server better remain purely a server, without any built-in GUI, even though it does not hurt to keep the Webcit approach if users like to use it for some reason.</p>
<p>And client is a client and it does not even have to be located on the same physical location as server.</p>
<p>It is like kernel/user mode separation in the OS.</p>
<p>So, one of the main components of the main operating screen is the folder view, on the side of which you can have various screen sections with simple execution of various commands with a single button push, instead of unnecessarily navigating the UI, each time causing several seconds delay in the user screen update. That is unacceptable, at least nowadays.</p>
<p>The execution of the commands from the time of button click should in most cases be instant, with some exceptions where it is simply impossible operation-wise.</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631650</link><pubDate>Tue, 31 Dec 2013 16:39:03 +0500</pubDate><title>Hierarchical categorization system in the modern information world</title><guid isPermaLink="false">3631650@Uncensored</guid><description><![CDATA[<html><body>

<p>Well, this is an interesting problem with information as such (outside of pure data, like in banks and so on).</p>
<p>Currently, if you try to find some book in a library, for example, the existing categorization of different information is totally a "hack".</p>
<p>Everyone creates his category description. In medicine, you may have a sub-discipline, then an author and so on. In physics that will not work. In patent applications there are completely different fields of description of your books, and so is in politics an you name it.</p>
<p>What does it all mean?</p>
<p>Well, it means that there is not categorization SYSTEM as such currently to accommodate for diverse types of information. Because any area, such as agriculture, or politics, or programming, has its own meaningful categorization.</p>
<p>Which, in turn, means that you can not possibly create, for example, a search engine screen that will get you to the aspect or area of your interest. You'd have to simply enter a dumb string in the search box and search the entire global dump of information, regardless of area or interest of yours.</p>
<p>That, in turn, means that you will get 99.99% crap. Because the very search is not targeted.</p>
<p>But this problem is solvable if you have a concept of universal hierarchical categorization system.</p>
<p>In this approach, you have, for example, the top level known as "area" - area of your interest. That could be agriculture, politics, technology, economics and so on.</p>
<p>On the 2nd level you would have a category, which could differ depending on you upper level. If it is a library collection, it is one thing, if it is a political discussion, it is a different thing, and so on.</p>
<p>Then, you might have a book or article name in a library view of categorization.</p>
<p>Now, in terms of implementation of such a system, it means that you might have, for example, a search box on every web page, and in that search box you may have a multi-level choice boxes, depending on where you are in the hierarchy and what is your top level of that hierarchy.</p>
<p>So, depending on where you are, what is displayed to the user in terms of UI, is a different set of labels in a set of several choice boxes, each of which contain the sub-level of hierarchy.</p>
<p>But the underlying web page does not have to know the specifics of the hierarchy. ALL it has to know is LEVELS. That is, on the 2nd level of hierarchy, in a library collection it will be one thing. It the politics discussion it will be something totally different. The semantics are mapped simply to the LEVELS of hierarchy.</p>
<p>So, what you have in a code for the search box for any and all web pages is like: level1, level2, level3 and so on.</p>
<p>You don't care what they mean.</p>
<p>The search engine interface, in turn can very simply determine the semantics of your area, category, book, chapter and so on. It is the simplest mapping.</p>
<p>So, what you have now is a Universal Hierarchical Categorization system that is applicable to ANY kind of information.</p>
<p>And that is your future for the Citadel system, if you want to have the future for it.</p>
<p>And that is EXACTLY how you bring in tons of developers on line - by creating INTEREST in them to go further in their own growth, and not merely forever struggle with coredumps, bugs, inconcistencies and bells and whistles of all kinds, that fundamentally do not change anything and do not really add to the Citadel as an information system.</p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631639</link><pubDate>Tue, 31 Dec 2013 16:12:48 +0500</pubDate><title>User interface design</title><guid isPermaLink="false">3631639@Uncensored</guid><description><![CDATA[<html><body>

<p>Well, this is a tough cracker, at least from the standpoint of how it is done today. Let us look at it briefly.</p>
<p>What is the Citadel MAIN screen design?</p>
<p>- Well, it is an entry point to the system, as far as UI goes. All it is is the MAIN screen. Nothing more than that.</p>
<p>What do you see there?</p>
<p>Well, logically, you should see the top level of the hierarchy of the system.</p>
<p>What is top level?</p>
<p>- Well, top level, as I see it currently (besides the left button bar) is floors.</p>
<p>What is floor.</p>
<p>- Floor is top level of information hierarchy.</p>
<p>How do you represent it UI-wise?</p>
<p>- Well, most of the "standards" of UI implement it in forms of folders that could be clicked upon, just like in Windows explorer.</p>
<p>ALL it is, in terms of system logic is a hierarchical view of the system, just like a directory tree.</p>
<p>When you expand the floor folder, what should you see?</p>
<p>- Well, as currently implemented, you see "rooms".</p>
<p>What is a "room"?</p>
<p>- Well a room is collection of information in some category (interesting categorization issue arises, but we'll skip that for now).</p>
<p>Can I have a SUB-room?</p>
<p>- No! - Sorry. Well, technically you can, but it is almost guaranteed to look ugly, at least as intuitive UI aspect of it goes. Because your sub-room may appear in UI not as a sub-folder, but in a totally different place on the screen - the "wow" factor. In other words, it simply does not make ANY sense to "mortals".</p>
<p>Sub-room is merely a desention into a deeper level of hierarchy, just like in any folder view of a directory tree.</p>
<p>So, technically, you should be able to create as many levels of hierarchy, which is merely zooming on a more detailed view of some category, sub-sub-category, sub-sub-sub category and so on. Until you die.</p>
<p>There is intrinsically and inherently no logical limitation as to the depth of your categorization system.</p>
<p>Which means ALL that is known today as "floors" or "rooms" are nothing more than a folder view into the information hierarchy that has a hierarchical categorization system.</p>
<p>Which, in turn, means that the main screen outside of the left command bar and a banner is just an Windows explorer view. ALL you have currently is full expanded version of explorer that does not smoothly and intuitively allow to create the FURTHER levels deeper then room. Because it was not designed to do that.</p>
<p>Question:</p>
<p>WHY do I have to see all the "floors" and "rooms" in fully expanded version?</p>
<p>What does it help but to create confusion - trying to read, essentially, the names of ALL rooms on ALL floors if I want to find the EXACT room in my own categorization understanding?</p>
<p>The answer is simple: there currently exists no such a concept as categorization system, and that is PRECISELY why you need to see things on your screen, that you'd rather not.</p>
<p>It is simply jamming your perception with information that is UTTERLY uninteresting to you.</p>
<p>It is like doing unix ls command on the entire hierarchy. Try to find what you are interested in a two mile long list.</p>
<p>That is EXACTLY what is happening currently with webcit.</p>
<p>Just look, for example, at Thunderbird. What do you see there in your personal folder? Well, you see EXACTLY what you want to see, and you can move, drag and drop ANY folders into ANY hierarchy you wish.</p>
<p>Yes, sure, the Citadel has its inherent hierarchical structure, like, for example, the news groups. You can not just drag and drop the group from it "natural" order on the server.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631631</link><pubDate>Tue, 31 Dec 2013 15:44:47 +0500</pubDate><title>The advantages of NNTP interface</title><guid isPermaLink="false">3631631@Uncensored</guid><description><![CDATA[<html><body>

<p>Well, currently, the only way to interact with Citadel in terms of reading and posting is a mail list subscription, which, with all due respect, creates the artificial problems and limitations.</p>
<p>For example, if you look at Citadel rooms as the same things as usenet forums, then what you have is tens of thousands of rooms.</p>
<p>Ok, let us assume that you want to subscribe to any room on the system. Currently, you can do it ONLY if there is a self-subscribe list, which means that merely to display the choice box to display all the innumerable groups, or rooms as they are called in citatel, you need to allow self-subscription, and you need to make most rooms as publically subscribable as a default.</p>
<p>That means that you have tons of mail lists. For what?</p>
<p>For example, I would like to subscribe to "Citadel Development" room. What do I do now? Do I have to call some "boss" on some "red phone" just to do such a simple things? WHY?</p>
<p>I want to subscribe to ANY publically accessible room on ucensored. How do I do that?</p>
<p>- "Sorry"?</p>
<p>NO!!!</p>
<p>It ain't gonna fly.</p>
<p>You are simply killing yourselves as fast as you can manage.</p>
<p>"Bells and whistles" handling will simply exhaust you and your resource faster than you can say hello. Because the handle all the "bells and whistles" on the currently "bleading edge" level you need many times over the amount of developers than what you have at the moment, from what I see.</p>
<p>It will take no more than a couple of days to ANY developer who knows Citadel to implement the BASIC NNTP functionality and interface. Because it is one of the simplest things in the world, pretty much the same as email.</p>
<p>You just need to properly respond and handle the return codes, most of which are the same as for email.</p>
<p>There is nothing much to be done even worth mentioning.</p>
<p>And then, they can have as many "rooms" as they want, just like on a usenet server - TENS of thousands. And you don't have to worry about the UI aspect of webcit that is simply not designed to handle such a number of rooms as usenet groops.</p>
<p>Will Webcit die at that point?</p>
<p>Well, to tell you the truth, and with all due respect there is MUCH to be desired, at least as far as stability, predictability of behavior, consistency, the ability to handle the optional "bells and whistles" features and so on.</p>
<p>So...</p>
<p>What would be the NEXT step in Citadel Life-Cycle?</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631627</link><pubDate>Tue, 31 Dec 2013 15:26:10 +0500</pubDate><title>Exposing the NNTP interface</title><guid isPermaLink="false">3631627@Uncensored</guid><description><![CDATA[<html><body>

<p>Yes.</p>
<p>If you expose the standard, text mode NNTP interface to citadel, without even full implementation of the NNTP server, then you have tons of NNTP clients that can recover the Citadel data and look at it in ANY way they please, and post to any room without even running the webcit hybrid.</p>
<p>I am just seeing it with one particular person that decided it is sufficient for her to just subscribe to a room she is interested in and read/post the posts from her mail client.</p>
<p>Thunderbird is a dedicated mail client with all sorts of abilities that are developed in many instances better than in many other places. Because their number of developers is an order of magnitude more than in other places.</p>
<p>With NNTP text mode standard interface, which is over 90% the same functionality as SMTP, people can also work with information from a number of NNTP client packages, they are used to and that perform all they want and need in the way they want.</p>
<p>Webcit still needs a lot of work. To increase performance of page load and usage of countless Javascript and/or style sheets just to read the message, seamlessness of operations of "bells and whistles" like Calendar, Contacts, Tasks and so on. These are not exactly the simplest things in the world and require development power "to stay in sync" with CURRENT "out there".</p>
<p>Either you implement something FULLY and completely, with all bells and whistles and support for anything "out there", the "latest and greatest", or you become "just another half-baked" something.</p>
<p>So, if you can not do it yourself, then let the users construct their own system from the components, such as citadel server, webcit hybrid client/server interface, mail or news client and so on.</p>
<p>In that case, you don't have to worry that much about your limited resource and doing a really good job on EVERYTHING, while being able to do a good job only in some areas.</p>
<p>And, if you implement a FULL NNTP server functionality, that would be really something, combined with the email server capabilities.</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631559</link><pubDate>Tue, 31 Dec 2013 04:58:22 +0500</pubDate><title>Message #3631559</title><guid isPermaLink="false">3631559@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Mon Dec 30 2013 10:17:07 EST</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Sun Dec 29 2013 06:14:53 AM EST</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>To allow admins to fuzz with webcits renderers (i.e. for hardcore mailq maintenance, or inspecting user settings like sieve scripts) i've created this faq to hand out to those in citadel support</p>
<p><a href="http://www.citadel.org/doku.php/faq:troubleshooting:viewhack" target="webcit01">http://www.citadel.org/doku.php/faq:troubleshooting:viewhack</a></p>
</div>
</blockquote>
<p>Our UI is starting to look dated again.  I have some ideas, but I won't want to do anything that will conflict with the_mgt's rewrite.</p>
<p>What's the status of that and how can we work around conflicts?</p>
</div>
</blockquote>
<p>maybe start fixing the_mgts firefox quirks?</p>
<p> </p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631555</link><pubDate>Tue, 31 Dec 2013 04:56:09 +0500</pubDate><title>Message #3631555</title><guid isPermaLink="false">3631555@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, it seems as if after re-importing sieve scripts are not detected anymore - while still present</p>
<p>so, somehow</p>
<p>    CtdlForEachMessage(MSGS_LAST, 1, NULL, SIEVECONFIG, NULL,<br />        get_sieve_config_backend, (void *)&amp;u );<br />doesn't grab it anymore.</p>
<p>currently sendcommand import is broken (by me) need more hacking on that.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631027</link><pubDate>Mon, 30 Dec 2013 10:17:07 +0500</pubDate><title>Message #3631027</title><guid isPermaLink="false">3631027@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Sun Dec 29 2013 06:14:53 AM EST</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>To allow admins to fuzz with webcits renderers (i.e. for hardcore mailq maintenance, or inspecting user settings like sieve scripts) i've created this faq to hand out to those in citadel support</p>
<p><a href="http://www.citadel.org/doku.php/faq:troubleshooting:viewhack" target="webcit01">http://www.citadel.org/doku.php/faq:troubleshooting:viewhack</a></p>
<br /><br /></div>
</blockquote>
<p>Our UI is starting to look dated again.  I have some ideas, but I won't want to do anything that will conflict with the_mgt's rewrite.</p>
<p>What's the status of that and how can we work around conflicts?</p>
<p> </p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3631023</link><pubDate>Mon, 30 Dec 2013 10:16:10 +0500</pubDate><title>Message #3631023</title><guid isPermaLink="false">3631023@Uncensored</guid><description><![CDATA[<html><body>

<p>Wow, that's an <em>incredible</em> speed improvement.  Good job!</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3628311</link><pubDate>Sun, 29 Dec 2013 06:14:53 +0500</pubDate><title>Message #3628311</title><guid isPermaLink="false">3628311@Uncensored</guid><description><![CDATA[<html><body>

<p>To allow admins to fuzz with webcits renderers (i.e. for hardcore mailq maintenance, or inspecting user settings like sieve scripts) i've created this faq to hand out to those in citadel support</p>
<p>http://www.citadel.org/doku.php/faq:troubleshooting:viewhack</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3625339</link><pubDate>Fri, 27 Dec 2013 09:09:45 +0500</pubDate><title>Message #3625339</title><guid isPermaLink="false">3625339@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Dec 24 2013 07:03:27 EST</span> <span>from dothebart @ Uncensored </span></div>
<div class="message_content">
<p>hm, it seems as somewhere in the migrate chain is a 4k limit which can be hit by the seen-records.</p>
<p>my hot guess right now is sendcommand.</p>
<br /><br /></div>
</blockquote>
<p>Before:</p>
<p>time /usr/sbin/sendcommand migr export &gt; /tmp/blarg.dmp <br />sendcommand: started (pid=29199) connecting to Citadel server at /var/run/citadel/citadel-admin.socket<br />200 potzblitz Citadel server ADMIN CONNECTION ready.<br />migr export<br />100 Exporting all Citadel databases.<br />sendcommand: processing ended.<br /><br />real    2m35.401s<br />user    0m21.811s<br />sys     2m5.756s<br /><br /></p>
<p>After:</p>
<p>time ./sendcommand MIGR export &gt; /tmp/out.dmp<br />sendcommand: started (pid=29014) connecting to Citadel server at /var/run/citadel/citadel-admin.socket<br />200 potzblitz Citadel server ADMIN CONNECTION ready.<br />MIGR export<br />100 Exporting all Citadel databases.<br />sendcommand: processing ended.<br /><br />real    0m10.288s<br />user    0m2.417s<br />sys     0m1.823s</p>
<p>Plus it now doesn't cut overlong lines anymore.</p>
<p>The second place cutting overlong lines:</p>
<p>/*<br /> * Import begins here<br /> */<br />void migr_do_import(void) {<br />    StrBuf *Buf;<br />    XML_Parser xp;<br />    int linelen;<br />    <br />    unbuffer_output();<br />    Buf = NewStrBufPlain(NULL, SIZ);<br />    xp = XML_ParserCreate(NULL);<br />    if (!xp) {<br />        cprintf("%d Failed to create XML parser instance\n", ERROR+INTERNAL_ERROR);<br />        return;<br />    }<br />    XML_SetElementHandler(xp, migr_xml_start, migr_xml_end);<br />    XML_SetCharacterDataHandler(xp, migr_xml_chardata);<br /><br />    CC-&gt;dont_term = 1;<br /><br />    cprintf("%d sock it to me\n", SEND_LISTING);<br />    unbuffer_output();<br /><br />    while (CtdlClientGetLine(Buf) &gt;= 0 &amp;&amp; strcmp(ChrPtr(Buf), "000")) {<br />        linelen = StrLength(Buf);<br />        StrBufAppendBufPlain(Buf, HKEY("\n"), 0);<br /><br />        if (server_shutting_down)<br />            break;    // Should we break o
<p>probably also gained speed next to being non-4k limited anymore.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3624023</link><pubDate>Wed, 25 Dec 2013 10:41:56 +0500</pubDate><title>New repository fork on github</title><guid isPermaLink="false">3624023@Uncensored</guid><description><![CDATA[<html><body>

<p>Hello !</p>
<p>I just started a fork repository on https://github.com/mingodad/citadel I think that is worth to make easy for other people collaborate and help develop citadel further.</p>
<p>Cheers !</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3623131</link><pubDate>Tue, 24 Dec 2013 07:03:27 +0500</pubDate><title>Message #3623131</title><guid isPermaLink="false">3623131@Uncensored</guid><description><![CDATA[<html><body>

<p>hm, it seems as somewhere in the migrate chain is a 4k limit which can be hit by the seen-records.</p>
<p>my hot guess right now is sendcommand.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3621063</link><pubDate>Wed, 18 Dec 2013 17:52:55 +0500</pubDate><title>Message #3621063</title><guid isPermaLink="false">3621063@Uncensored</guid><description><![CDATA[  
 Please take note: 
  
 The tag 'v8.23' does contain 8.23, but due to an error on my part, it contains
a version number of 8.22. 
  
 I have deleted this tag. 
  
 The tag 'v8.23-new' (1cc036dfd97eb78144040b27ade8662ea82a56cc) is the correctly
numbered 8.23 release. 
  
 Sorry for the inconvenience. 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3612094</link><pubDate>Sun, 08 Dec 2013 11:03:22 +0500</pubDate><title>Message #3612094</title><guid isPermaLink="false">3612094@Uncensored</guid><description><![CDATA[<html><body>

<p>there are those of us, who believe that a 'byzantine syntax' is core concept of a wiki.</p>
<p>while fancy html may offer the plethora of format options, this is advantage and disadvantage at once:</p>
<p> - documents can wysiwyg look like the user wants it to</p>
<p> - each document ends up looking individual, you end up with something looking like a turkish bazar.</p>
<p>'byzantine syntax' solves this; all documents have the same style.</p>
<p>so, from now on, citadel will offer the choice; you may choose the roomtype 'wiki' as before to get the old behaviour</p>
<p>Next to this, there is a new roomtype, which offers the very same wiki engine with a different document type:</p>
<p>Markdown: http://daringfireball.net/projects/markdown/</p>
<p>while this is not a classic wiki syntax as i.e. known under wiki-creole, its a syntax gaining more and more ground due to the use on Github, Stack Overflow and various blog softwares.</p>
<p>It also doesn't need any downmix for the textclient, since its pretty well plaintext readable.</p>
<p>We display this by introducing a new mimetype renderer in msg_renderers.c for all documents of the type 'text/x-markdown'.</p>
<p>While this would classicaly mean iso-8859-1 text, we assume this to be UTF-8. To make it clear, we add the proper encoding on saving. </p>
<p> </p>
<p>It however introduces two new dependencies:</p>
<p>  - Epic Editor http://epiceditor.com/ to aid the users during creation.( an alternative may be: http://code.google.com/p/pagedown/ )</p>
<p>  - https://github.com/Orc/discount offers libmarkdown2, which seems to be pretty marture since its already available in debian oldstable.</p>
<p> </p>
<p>More about Markdown: </p>
<p>http://en.wikipedia.org/wiki/Markdown</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3596131</link><pubDate>Wed, 20 Nov 2013 09:06:48 +0500</pubDate><title>Re: how to test customized pages?</title><guid isPermaLink="false">3596131@Uncensored</guid><description><![CDATA[<html><body>

<blockquote>
<div class="message_header"><span>Tue Nov 19 2013 18:08:40 EST</span> <span>from s3cr3to @ Uncensored </span> <span class="message_subject">Subject: how to test customized pages?</span></div>
<div class="message_content"><br />
<p>Then I wonder How to test the new updated pages before to make it public to me and my users.</p>
</div>
</blockquote>
<p>in general creating some Selenium tests is a good idea if you want to retest it later ;-)</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3596127</link><pubDate>Wed, 20 Nov 2013 09:04:53 +0500</pubDate><title>Re: how to test customized pages?</title><guid isPermaLink="false">3596127@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Nov 19 2013 18:53:35 EST</span> <span>from s3cr3to @ Uncensored </span> <span class="message_subject">Subject: how to test customized pages?</span></div>
<div class="message_content">
<p> </p>
<blockquote>
<div class="message_header"><span>Tue Nov 19 2013 06:16:39 PM EST</span> <span>from the_mgt @ Uncensored </span></div>
<div class="message_content">
<p>I once wondered exactly the same, there was some odd rule on how to test pages with names not currently present in webcit. In any case, you need to restart webcit before it will read a new html file. There was something else about it, but I forgot. :(</p>
<p>Be aware that hiding the options from the displayed html does not really disable them, they could be used with a correct url-</p>
<br /><br /></div>
</blockquote>
<p>Yeah, In fact, I recreate some pages in static.local to avoid this... in some way I manage to "disable" and some blocked features to our external customer, like:</p>
<blockquote>
<p>...2012 403.html<br />...2012 aide<br />...2013 bad-get_logged_in.html<br />...2013 get_logged_in.html<br />...2012 iconbar.html<br />...2012 logo.gif<br />...2012 menu<br />...2012 msg_listview.html<br />...2012 navbar.html<br />...2012 summary<br />...2012 view_message.html</p>
</blockquote>
<p>Today I create this new page and after restarting webcit I can't make it work...</p>
<p>I have the feeling that I see some text file with the "page names" that are allowed to run in webcit. (But maybe is just a wish that this exists :) )</p>
<p>Regards</p>
<br /><br /></div>
</blockquote>
<p>If dependencies to CSS or js change, you may have to follow those to make your pages work correctly.</p>
<p>Unless they require a specific context, you may be able to test a page like that: do_template?template=get_logged_in - slashes for subdirectories in the t/ directories are also represented as underscores -&gt; / becomes _</p>
<p>you can make webcit run with a different root directory using the -H option; that way you could i.e. run directly from a source directory</p>
<p>./webcit -H /var/tmp/test</p>
<p>which will then prefix that to all paths as documented under:</p>
<p> </p>
<p>http://citadel.org/doku.php/documentation:file_layout#webcit</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3595338</link><pubDate>Tue, 19 Nov 2013 18:53:35 +0500</pubDate><title>how to test customized pages?</title><guid isPermaLink="false">3595338@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Tue Nov 19 2013 06:16:39 PM EST</span> <span>from the_mgt @ Uncensored </span></div>
<div class="message_content">
<p>I once wondered exactly the same, there was some odd rule on how to test pages with names not currently present in webcit. In any case, you need to restart webcit before it will read a new html file. There was something else about it, but I forgot. :(</p>
<p>Be aware that hiding the options from the displayed html does not really disable them, they could be used with a correct url-</p>
<br /><br /></div>
</blockquote>
<p>Yeah, In fact, I recreate some pages in static.local to avoid this... in some way I manage to "disable" and some blocked features to our external customer, like:</p>
<blockquote>
<p>...2012 403.html<br />...2012 aide<br />...2013 bad-get_logged_in.html<br />...2013 get_logged_in.html<br />...2012 iconbar.html<br />...2012 logo.gif<br />...2012 menu<br />...2012 msg_listview.html<br />...2012 navbar.html<br />...2012 summary<br />...2012 view_message.html</p>
</blockquote>
<p>Today I create this new page and after restarting webcit I can't make it work...</p>
<p>I have the feeling that I see some text file with the "page names" that are allowed to run in webcit. (But maybe is just a wish that this exists :) )</p>
<p>Regards</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3595332</link><pubDate>Tue, 19 Nov 2013 18:16:39 +0500</pubDate><title>Message #3595332</title><guid isPermaLink="false">3595332@Uncensored</guid><description><![CDATA[<html><body>

<p>I once wondered exactly the same, there was some odd rule on how to test pages with names not currently present in webcit. In any case, you need to restart webcit before it will read a new html file. There was something else about it, but I forgot. :(</p>
<p>Be aware that hiding the options from the displayed html does not really disable them, they could be used with a correct url-</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3595326</link><pubDate>Tue, 19 Nov 2013 18:08:40 +0500</pubDate><title>how to test customized pages?</title><guid isPermaLink="false">3595326@Uncensored</guid><description><![CDATA[<html><body>

<p>I have 3 Citadel installations with "customized" pages.</p>
<p>I wonder if new updates will break my customized pages OR maybe because they are inside "static.local" I will lose some very important features that old versions don't have.</p>
<ol>
<li>In server #1, I tweak some pages to be public accessed, so the users don't see features disabled like "write new messages", etc. I try to keep it clean just to allow login and download attachments.</li>
<li>Other installation use the blue theme, using a very old "easy install" that nobody but me use and manage, is working so I don't update because It was hard to make it work like currently is.</li>
<li>The third is used just for me to manage the server, so I "hide and tweak" the login page in a way to make it "hard" for strangers to login, in fact, just works for my current IP (via nginx/firewall/etc)</li>
</ol>
<p>Both server #1 and #3 is what I need to keep updated (in debian), but every time I wonder if I lose some nice features or browser compatibility If the "static.local" aren't updated correctly.</p>
<p>Then I wonder How to test the new updated pages before to make it public to me and my users.</p>
<p>In other words, if I get the new version and tweak the page "get_logged_in.html" using other name like "x2new_get_logged_in.html"</p>
<p>I try this but I can't see the "new page": ht tp://myserver/x2new_get_logged_in.html</p>
<p>Regards</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3593846</link><pubDate>Tue, 19 Nov 2013 05:55:20 +0500</pubDate><title>Message #3593846</title><guid isPermaLink="false">3593846@Uncensored</guid><description><![CDATA[<html><body>

<p>That being said, it is possible to actually use layout_rework, this message is posted from my webcit at home, running layout_rework. And I loooooove the looks. I also accidently made it &quot;flat ui&quot;&#39;ish....</p>

<p>The fonts alone make it more lovable for me.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3593841</link><pubDate>Tue, 19 Nov 2013 05:51:17 +0500</pubDate><title>Message #3593841</title><guid isPermaLink="false">3593841@Uncensored</guid><description><![CDATA[<html><body>

<p> </p>
<blockquote>
<div class="message_header"><span>Fri Sep 27 2013 07:39:29 EDT</span> <span>from IGnatius T Foobar @ Uncensored </span></div>
<div class="message_content">
<div class="fmout-JUSTIFY">Code refactoring is useful internally, as long as it's thoroughly tested. <br />However it doesn't add any "wow factor" that makes people want to use Citadel as the rest of the world makes *visible* improvements to their offerings. <br /><br />I'm very interested in knowing whether the_mgt has made any progress in getting WebCit working on tablets. Any news there?</div>
</div>
</blockquote>
<p>Yep, just check out layout_rework branch and fool around. It has various issues because we lack a uniform way of representing pages. I need a lot of workarounds, and workaround X messes up Y which needs another workaround which might mess up X. The override banner is ugly and we should do a proper solution for that, in which we also give "Summary" and "Rooms" a proper state and banner.</p>
<p>Also Firefox is working against me in some places.</p>
<p>Some of the smaller resolutions have a problem with "display:block" + "float:left" and some inlining, I blame w3c for being ambiguous on the definitions.</p>
<p>It is not fearure complete, some places might simply not work, because I did not give them enough love. "Rooms" for example needs much love in order to get rid of the tables there, so they will swing into place properly on smaller screens.</p>
<p>In general, the rooms/pages where treated as they appear in the iconbar, from top to bottom. Warning messages, alerts and stuff that only seldomly shows up might have been neglected.</p>
<p>Also, it has free white space on both sides of the page, dothebart abhors that, but It was needed to make it fit on all the different resolutions. Think of 27" screens with more than HD resolution, you do not want to display from left to right side of those screens. Therefore 1200px is maximum width atm.</p>
<p>Problem is, I am lacking time and ideas to complete this, probably until next summer.</p>
<p>IMAP idle would be nice, my Symbian Belle device still has issues with my citadel imap server. XMPP should get some real love, too, so people do not need to run Openfire alongside citadel anymore.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3582287</link><pubDate>Tue, 05 Nov 2013 09:34:59 +0500</pubDate><title>Message #3582287</title><guid isPermaLink="false">3582287@Uncensored</guid><description><![CDATA[<html><body>

<p>https://datatracker.ietf.org/doc/draft-saintandre-xmpp-tls/</p>
<p>xmpp tls to become mandatory?</p>
<p>and.. http over xmpp? WTF?</p>
<p>plus, seems they want to make xmpp the next gen mail transport layer?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3577015</link><pubDate>Mon, 28 Oct 2013 21:11:10 +0500</pubDate><title>Re: Updated Easy Install Script</title><guid isPermaLink="false">3577015@Uncensored</guid><description><![CDATA[<html><body>

<p>Correction to the script, you can remove the set -x at the start... sorry about that. :)</p>
<blockquote>
<div class="message_header"><span>Mon Oct 28 2013 16:36:48 EDT</span> <span>from bennabiy @ Uncensored </span> <span class="message_subject">Subject: Updated Easy Install Script</span></div>
<div class="message_content">
<p>Here is an updated Easy Install script which I modified for the sake of compiling the git branches against an installation done with easy install.</p>
<p> </p>
<p>If you run it as normal, you will not even know anything is different with it. If you save it to the local computer and run it as such:</p>
<blockquote>
<p>#./install with-source</p>
</blockquote>
<p>then you will be prompted for the location of your local git folder (where you keep your branches) and then asked which branch you want to use.</p>
<p>Please feel free to do with this as you want, but it has been very helpful for me :)</p>
<p>ben-Nabiy Derush</p>
<br /><br /></div>
</blockquote>
<p> </p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3576962</link><pubDate>Mon, 28 Oct 2013 16:36:48 +0500</pubDate><title>Updated Easy Install Script</title><guid isPermaLink="false">3576962@Uncensored</guid><description><![CDATA[<html><body>

<p>Here is an updated Easy Install script which I modified for the sake of compiling the git branches against an installation done with easy install.</p>
<p> </p>
<p>If you run it as normal, you will not even know anything is different with it. If you save it to the local computer and run it as such:</p>
<blockquote>
<p>#./install with-source</p>
</blockquote>
<p>then you will be prompted for the location of your local git folder (where you keep your branches) and then asked which branch you want to use.</p>
<p>Please feel free to do with this as you want, but it has been very helpful for me :)</p>
<p>ben-Nabiy Derush</p>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3560849</link><pubDate>Tue, 08 Oct 2013 18:18:49 +0500</pubDate><title>Message #3560849</title><guid isPermaLink="false">3560849@Uncensored</guid><description><![CDATA[<html><body>

<p>So, freakdogs problem, I expanded the test to compare the original to the strbuf version of the stripallbut function.</p>
<p>The results schow what happened:</p>
<p>[Original String] -&gt; [stripallbut result] [StrBufStripAllBut result]  [Expected result]</p>
<p> </p>
<p>./stripallbut_test <br /><br /><br /><strong>     CUnit - A unit testing framework for C - Version 2.1-2</strong><br /><strong>     http://cunit.sourceforge.net/</strong><br /><br /><strong>[Nmm &lt;fghjk&gt; tyutyu] -&gt; [fghjk][fghjk][fghjk]</strong><br /><strong>[Sdd &lt;&gt; ghhjjkk] -&gt; [][][]</strong><br /><strong>[&lt;&gt;] -&gt; [][][]</strong><br /><strong>[] -&gt; [][][]</strong><br /><strong>[Sdd &lt;] -&gt; [Sdd &lt;][][Sdd &lt;]</strong><br /><strong>[Df Ghjkl&gt;] -&gt; [Df Ghjkl&gt;][][Df Ghjkl&gt;]</strong><br /><strong>[&gt;&lt; bggt] -&gt; [&gt;&lt; bggt][][&gt;&lt; bggt]</strong><br /><strong>[FSDFSDFSDFSDF&lt;&gt;&lt;&gt;&lt;&gt;bggt] -&gt; [FSDFSDFSDFSDF&lt;&gt;&lt;&gt;&lt;&gt;bggt][][FSDFSDFSDFSDF&lt;&gt;&lt;&gt;&lt;&gt;bggt]</strong><br /><strong>[FSDFSDFSDF&lt;&gt;&lt;eoeo&gt;&lt;&gt;bggt] -&gt; [FSDFSDFSDF&lt;&gt;&lt;eoeo&gt;&lt;&gt;bggt][][FSDFSDFSDF&lt;&gt;&lt;eoeo&gt;&lt;&gt;bggt]</strong><br /><strong>[Abc&lt;QWER&gt;] -&gt; [QWER][QWER][QWER]</strong><br /><strong>
<p> </p>
<p>so, this patch: </p>
<p><em>commit f242e6338a332e2f84b03a437c79cfbf4da7d217</em><br /><em>Author: Art Cancro &lt;ajc@uncensored.citadel.org&gt;</em><br /><em>Date:   Wed Jul 10 21:07:43 2013 -0400</em><br /><br /><em>    StrBufStripAllBut() now returns the LEFTMOST qualifying substring. This allows mail to be received from brain-damaged Microsoft MTAs that place additional superfluous angle-bracketed strings on the MAIL FROM line.  Bill Gates is Hitler.</em><br /><br /></p>
<p>broke it. Since it didn't quote the broken MS RFC-Violator string to be worked around,</p>
<p>what to do now with this? "fix" citmail to work around these bugs, change the unittests to have the matching results again?</p>
<p>or define a new set and fix the function to work with them properly?</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3553581</link><pubDate>Sun, 06 Oct 2013 07:32:05 +0500</pubDate><title>Message #3553581</title><guid isPermaLink="false">3553581@Uncensored</guid><description><![CDATA[<html><body>

<p>a little hacking and wiresharking later, one can use</p>
<p>http://camendesign.com/code/video_for_everybody/test.html</p>
<p>to download videos with range request from the files store and play them in the browser.</p>
<p>(download the html file, edit it, enter the room in another window, load the file from disk -&gt; video plays and is fastforwardeable)</p>
<p>lets see whether this is able to work with attachments too, and how one could have transparent decrompression too.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3545946</link><pubDate>Fri, 27 Sep 2013 07:39:29 +0500</pubDate><title>Message #3545946</title><guid isPermaLink="false">3545946@Uncensored</guid><description><![CDATA[Code refactoring is useful internally, as long as it's thoroughly tested.
 However it doesn't add any "wow factor" that makes people want to use Citadel
as the rest of the world makes *visible* improvements to their offerings.

  
 I'm very interested in knowing whether the_mgt has made any progress in getting
WebCit working on tablets.  Any news there? 
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3545832</link><pubDate>Thu, 26 Sep 2013 15:58:42 +0500</pubDate><title>Message #3545832</title><guid isPermaLink="false">3545832@Uncensored</guid><description><![CDATA[<html><body>

<p>I like fastcgi.</p>
<p>I don't know whether spdy will be worth the effort.</p>
<p>it would realy be more important to be to be able to understand REST alike URL-schemes the like...</p>
<p>DAV/floor/toplevel_room/subroom/messageid/attachmentID</p>
<p>or something like that; plus being able to access files to download like that for using it in blogs; and... display GPS-Tracks on maps,  and maybe being able to do Pseudo streaming with range requests (which would pe pretty easy for me right now, since I just did that at $company) which is usefull for HTML-5 video streaming.</p>
<p>I started out on that a while ago, but got distracted.</p>
<p>right now mobile IMAP-client support in the means of IMAP-Idle would be most important to me.</p>
<p>Another thing hot on my todo list is finding out how to do nonblocking / libev supported client side SSL for the pop3 aggregator.</p>
<p> </p>
<p>Currently I'm doing a bunch of refactoring:</p>
<p> - separating citadel protocol handlers from core message/room/etc. functionality into modules/ctdlproto/serv_*.c</p>
<p> - reducing the includes to the minimum</p>
<p> - replaced cm_fields['A'] by enums alike cm_fields[eAuthor] where eAuthor is defined to be 'A' - By that I found the bug that bouncing messages are being sent to the bounce message text instead of the author. It also enables one to read source code without cross-reading techdoc/hack.txt all the time to revalidate what it actualy does. As mentioned, backwards compatibility is ensured by defining the Enum values to their letters.</p>
<p> - only use msgbase.c:CM_* functions to manipulate message fields (free'ing if already allocated, copying etc) makes the code more compact and better readable</p>
<p> - since the CM_* migration now is finished, and was done with the idea in mind to supplement cm_fields[] with cm_lengths[] we now should gain performance by no more needing to strlen() the fields all over the place.</p>
<p> - message saving to [network|mailque|notifyqueue] is done via api calls now</p>
<p>once this stabilizes, we could release this as 8.30; it needs some more testing before I put it to outgesourced, but already is in pretty good shape.</p>
</body></html>
]]></description></item><item><link>http://uncensored.citadel.org/readfwd?go=Citadel%20Development?start_reading_at=3545780</link><pubDate>Thu, 26 Sep 2013 11:41:37 +0500</pubDate><title>Message #3545780</title><guid isPermaLink="false">3545780@Uncensored</guid><description><![CDATA[  
 Reading a little about HTTP 2.0 and SPDY, which seems destined to be a part
of HTTP 2.0 
  
 [ http://www.chromium.org/spdy/spdy-whitepaper ] 
  
 I'm not sure I want to implement this.  We haven't even implemented all of
the features of HTTP 1.1 in their entirety. 
  
 It would seem that a more sensible implementation might be to do the following:

  
 1. Regardless of operating mode, *always* use the "/webcit" (or perhaps "/wc")
prefix for every transaction 
    (exceptions would be things like "/dav" of course) 
  
 2. Increase the number of protocol modes to three: HTTP, HTTPS, and FastCGI.
 This would give administrators a choice of running WebCit as a standalone
web server (using HTTP 1.1 forever), or plugging it into any FastCGI-enabled
web server. 
  
  
  I know already that dothebart will be super happy about this idea.  :) 
 what do y'all think? 
]]></description></item></channel></rss>

