[Citadel Development] (no subject)

2021-03-03 Thread IGnatius T Foobar
  
 GGGHHH 
  
 "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 sooo overdue for a migration to 64-bit.)

 


[Citadel Development] (no subject)

2021-02-03 Thread ParanoidDelusions


 
I'm working with someone via e-mail. They're seeing an issue. 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. 
 




[Citadel Development] (no subject)

2021-01-18 Thread ParanoidDelusions


I don't know much about such things. :) I thought maybe there was some backdoor way. 

Mon Jan 18 2021 23:37:05 EST from IGnatius T Foobar 

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. 


 




[Citadel Development] (no subject)

2021-01-18 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2021-01-18 Thread ParanoidDelusions


Is it compiled for Mac? I can test there too. There is a Linux part on MiSTer FPGA. :) 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. :) 


Mon Jan 18 2021 14:53:47 EST from IGnatius T Foobar 

 
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.


 




[Citadel Development] (no subject)

2021-01-18 Thread IGnatius T Foobar


The final package will probably have syntax something like this...
citadel.AppImage run [-h dir] [-p port] [-s port]-h : Operate with data directory dir-p : Run the HTTP server on port port-s : Run the HTTPS server on port port
citadel.AppImage stop(stops a running instance of the Citadel system)
citadel.AppImage install [-h dir](installs systemd unit files for automatic startup/shutdown)
citadel.AppImage configure
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.




[Citadel Development] (no subject)

2021-01-17 Thread ParanoidDelusions


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. 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. ;) 
 
 

Sun Jan 17 2021 17:53:34 EST from IGnatius T Foobar 

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. 


 




[Citadel Development] (no subject)

2021-01-17 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2021-01-17 Thread ParanoidDelusions


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. That may take some time. 
 

Sun Jan 17 2021 00:53:31 EST from IGnatius T Foobar 

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. 


 




[Citadel Development] (no subject)

2021-01-16 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2021-01-16 Thread ParanoidDelusions


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? 
 




[Citadel Development] (no subject)

2021-01-16 Thread ParanoidDelusions


That worked like a breeze. 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. 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. 
 
If I hit ctrl-C in the terminal window, it reloads, too... 
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. 
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. 

Sat Jan 16 2021 00:06:44 EST from IGnatius T Foobar 

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. 


 




[Citadel Development] (no subject)

2021-01-15 Thread IGnatius T Foobar
  
 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. 
 


[Citadel Development] (no subject)

2021-01-14 Thread ParanoidDelusions


I'm excited to have something to do with the Pi400. 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. 
 
 

Thu Jan 14 2021 19:05:55 EST from IGnatius T Foobar 

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. 


 




[Citadel Development] (no subject)

2021-01-14 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2021-01-14 Thread ParanoidDelusions


Ah, the ARM version isn't available yet. Ok. Well, I'll try to get to testing the Intel version this weekend. 

Thu Jan 14 2021 17:56:36 EST from ParanoidDelusions 

Oh. I got a 128gb SD for the Pi400... so I'll try installing there too 






[Citadel Development] (no subject)

2021-01-14 Thread ParanoidDelusions


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.
 

Thu Jan 14 2021 17:46:50 EST from ParanoidDelusions 

I've got another 240gb SSD...


 




[Citadel Development] (no subject)

2021-01-14 Thread ParanoidDelusions


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. I may have quit today... so I might have a lot of time, and little money. :)
 




[Citadel Development] (no subject)

2020-12-05 Thread ParanoidDelusions


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). You might find me useful, but the signal to noise ratio will be pretty chatty. The text-client install is an example. You’ve got to really understand permissions, file locations, and the relationship of How you installwhere you installWhere accounts launch programs from. 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 launching. It has to be in a path the citadel binary can find, and the account that citadel launches under has to have permissions to it. It *says* this in the text document, and I read it several times - but it was understood the way a kid from the Peanuts understands a teacher talking.
 
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. 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.  

Sat Dec 05 2020 13:45:14 EST from IGnatius T Foobar @ Uncensored 

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) 


 




[Citadel Development] (no subject)

2020-12-05 Thread IGnatius T Foobar
  
 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) 
 


[Citadel Development] (no subject)

2020-11-15 Thread IGnatius T Foobar
  
 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.

 


[Citadel Development] (no subject)

2020-11-10 Thread ParanoidDelusions


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. 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..." 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 opposition to what I am saying. Either way - it encourages conversation. The other would be a mobile app, or at least mobile sharing. The ability to take a photo, or something else saved on your mobile device, add a little note, and share it - without first sending it to a PC... this encourages repeat usage - it creates discussion. I know we can easily do most of this now and that the way it is creates a natural barrier to entry that actually keeps the userbase higher quality and more technical. But maybe if something like this could be switched on or off, depending on what kind of userbase the sysop wants? Just throwing ideas out there. I have no actually coding ability outside Access VBA - so it is all just a big pipe dream for me. 
 




[Citadel Development] (no subject)

2020-07-12 Thread IGnatius T Foobar
  
 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 :) 
 


[Citadel Development] (no subject)

2020-07-03 Thread IGnatius T Foobar
  
 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. 
 


[Citadel Development] (no subject)

2020-07-03 Thread IGnatius T Foobar
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? 
 


[Citadel Development] (no subject)

2020-06-30 Thread winzlo
In my external perspective of looking forward, I would vote #2.  Give the
most control with the least reliance on legacy code. 
 


[Citadel Development] (no subject)

2020-06-15 Thread IGnatius T Foobar
  
 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. 
 


[Citadel Development] (no subject)

2020-05-24 Thread IGnatius T Foobar
  
 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. 
 


[Citadel Development] (no subject)

2020-05-24 Thread winzlo
 >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.
 :) 
 


[Citadel Development] (no subject)

2020-05-24 Thread winzlo
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.  :) 
 


[Citadel Development] (no subject)

2020-04-06 Thread IGnatius T Foobar
I'm going through the Citadel Server documentation and it mentions that the
IMAP client works with Eudora. 
  
 LOL 
 


[Citadel Development] (no subject)

2020-01-03 Thread IGnatius T Foobar
 >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.   
 


[Citadel Development] (no subject)

2019-12-01 Thread userT



Sun Nov 24 2019 23:10:08 EST from IGnatius T Foobar @ Uncensored 

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. 


>*Raises hand*
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...




[Citadel Development] (no subject)

2019-11-24 Thread IGnatius T Foobar
  
 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. 
 


[Citadel Development] (no subject)

2019-09-09 Thread IGnatius T Foobar
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
] 
 


[Citadel Development] (no subject)

2019-09-08 Thread ParanoidDelusions


 

Fri Sep 06 2019 12:56:11 EDT from IGnatius T Foobar @ Uncensored 

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. 


LOL. I'm running on bare metal on the Pi. I can image the SD that runs the machine, of course - same net effect. 
But even then, do I just run the latest easy-install - and it keeps the same databases, pointers, messages, users, rooms, etc.? 
 




[Citadel Development] (no subject)

2019-09-06 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2019-09-04 Thread ParanoidDelusions
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.
 
 


[Citadel Development] (no subject)

2019-09-04 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2019-09-03 Thread ParanoidDelusions
767 new of 767 messages.  
 


[Citadel Development] (no subject)

2019-08-14 Thread userT


Whoa, great progress!
I had read before that Citadel had pendant issues with Debian and derivatives, including of course Raspbian.But now fixed, and also included systemd support.
Great work. Thanks.




[Citadel Development] (no subject)

2019-08-06 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2019-07-29 Thread IGnatius T Foobar
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_foo...@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 
"ignatiustfoo...@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.)

   @ignatiustfoo...@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. 
 


[Citadel Development] (no subject)

2019-01-13 Thread winzlo
Makes sense.  :)  Now to find a Linux variant that doesn't suck...  

  
 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... 
 


[Citadel Development] (no subject)

2019-01-13 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2019-01-12 Thread winzlo
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. 
 


[Citadel Development] (no subject)

2019-01-11 Thread IGnatius T Foobar
Easy there, chief.  I said it's ironic, not that it's the preferred way to
run ... well, pretty much anything, actually. 
 


[Citadel Development] (no subject)

2019-01-11 Thread winzlo
 > 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... 
 


[Citadel Development] (no subject)

2019-01-05 Thread IGnatius T Foobar
  
 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 
s
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.

 


[Citadel Development] (no subject)

2018-12-28 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2018-12-28 Thread winzlo
Any chance that the OSX port can be 1000?  :) 
 


[Citadel Development] (no subject)

2018-12-20 Thread IGnatius T Foobar
  
 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.

 


[Citadel Development] (no subject)

2018-12-18 Thread IGnatius T Foobar
 >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. 
 


[Citadel Development] (no subject)

2018-10-29 Thread userT


So I just read this:https://www.fastmail.com/help/technical/ssltlsstarttls.html
Quite helped me to understand the differences, but one of the parts that caught my attention was this:"At some point, it was decided that having 2 ports for every protocol was wasteful, and instead you should have 1 port that starts off as plaintext, but the client can upgrade the connection to an SSL/TLS encrypted one. This is what STARTTLS was created to do."
In my particular case, I also think it'd be better to go back having only one port for each protocol. But, from what I could overall understand, they still cannot reach a "global" agreement, old software is too conservative, etc, etc, which has the effect of keeping more than one port for each protocol for good...
And I'd like to ask, what do you think in general?In the case you think as well only one port would be enough, which case would you prefer to stay for good? The more recent TLS implicit ports, or the old ports just with STARTTLS?
Thanks again.




[Citadel Development] (no subject)

2018-10-14 Thread winzlo
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. 
 



[Citadel Development] (no subject)

2018-09-18 Thread userT


Hello.First time in the Development room.
First, I'm not really a developer, but FWIW I do have some time for reading, and testing <-- hope this serves.
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?
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.
And in the way, while reviewing serv_xmpp.c, I thought "what if it was just a patching matter after all"?
According tohttps://tools.ietf.org/html/rfc6120#section-7.6https://xmpp.org/rfcs/rfc3920.html#bindit 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.
While currently XMPP seems to somewhat "work" on Webcit, this would explain why it doesn't work with XMPP clients.
In the meanwhile I'll try imagining how to do this "patch"..
Sorry for my indecisiveness beforehand; if you say "forget about XMPP, better focus on IRC", I'll take the advise.





[Citadel Development] (no subject)

2018-09-10 Thread winzlo
Sounds like a plan.  MySQL has a similar mechanism, probably for similar 
functionality
(though also for much more). 
 



[Citadel Development] (no subject)

2018-09-10 Thread IGnatius T Foobar
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. 
 



[Citadel Development] (no subject)

2018-09-10 Thread winzlo
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.

 



[Citadel Development] (no subject)

2018-09-07 Thread IGnatius T Foobar
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. 
 



[Citadel Development] (no subject)

2018-09-06 Thread winzlo
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. 
 



[Citadel Development] (no subject)

2018-09-05 Thread IGnatius T Foobar
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. 
 



[Citadel Development] (no subject)

2018-09-03 Thread winzlo
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.) 
 



[Citadel Development] (no subject)

2018-09-03 Thread IGnatius T Foobar
  
 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. 
 



[Citadel Development] (no subject)

2018-09-03 Thread IGnatius T Foobar
Yeah, the server didn't answer at all.  :( 
 



[Citadel Development] (no subject)

2018-08-27 Thread winzlo
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. 
 



[Citadel Development] (no subject)

2018-08-24 Thread IGnatius T Foobar
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. 
 



[Citadel Development] (no subject)

2018-08-19 Thread winzlo
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 .ead 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! 
 



[Citadel Development] (no subject)

2018-08-11 Thread IGnatius T Foobar
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. 
 



[Citadel Development] (no subject)

2018-08-10 Thread wizard of aahz
Hiya Ig.. I think that I was seeing the same problem that was experienced
by fleeb the other day. 
 



[Citadel Development] (no subject)

2018-08-10 Thread IGnatius T Foobar
  
 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. 
 



[Citadel Development] (no subject)

2018-04-11 Thread IGnatius T Foobar
(I did it ... and it works) 
 



[Citadel Development] (no subject)

2018-04-11 Thread IGnatius T Foobar
 > 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. 
  
  "Believe me.  I know protocol handlers.  libcurl has the best
protocol handlers."  
 



[Citadel Development] (no subject)

2018-04-06 Thread IGnatius T Foobar
  
 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. 
 



[Citadel Development] (no subject)

2018-03-30 Thread IGnatius T Foobar
  
 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. 
 



[Citadel Development] (no subject)

2018-02-14 Thread IGnatius T Foobar
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.  :) 
 



[Citadel Development] (no subject)

2018-01-24 Thread IGnatius T Foobar
  
 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. 
 



Re: [Citadel Development] (no subject)

2018-01-11 Thread Robert J. Clay

On Thu, Jan 11, 2018 at 10:12 AM, IGnatius T Foobar  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.



Jame



[Citadel Development] (no subject)

2018-01-11 Thread IGnatius T Foobar
Citadel 917, WebCit 917, libcitadel 917, textclient 917 all made it into Debian
Testing after clean auto-builds.  Nice. 
 



[Citadel Development] (no subject)

2017-12-26 Thread IGnatius T Foobar
  
 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. 
 



[Citadel Development] (no subject)

2017-12-15 Thread Freakdog


 

Thu Dec 14 2017 07:26:17 PM EST from IGnatius T Foobar @ Uncensored 


How did it go? 
Very badly. It wiped out most of my Internet email address directory. I had to restore from a backup. 


Oy gevalt!





[Citadel Development] (no subject)

2017-12-14 Thread IGnatius T Foobar
 >How did it go?  
  
 Very badly.  It wiped out most of my Internet email address directory.  I
had to restore from a backup. 
 



[Citadel Development] (no subject)

2017-12-14 Thread Freakdog


 

Sat Dec 09 2017 03:48:11 PM EST from IGnatius T Foobar @ Uncensored 

Ok, I'm gonna take the plunge here, and upgrade both Uncensored and Easy Install to the current git-master. This will either be a disaster or totally awesome. 


How did it go?





[Citadel Development] (no subject)

2017-12-09 Thread IGnatius T Foobar
  
 Ok, I'm gonna take the plunge here, and upgrade both Uncensored and Easy
Install to the current git-master. 
  
 This will either be a disaster or totally awesome. 
 



[Citadel Development] (no subject)

2017-12-06 Thread IGnatius T Foobar
  
 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. 
 



[Citadel Development] (no subject)

2017-11-17 Thread bennabiy
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 :)  
>  Fri Nov 17 2017 10:57:03 AM EST from IGnatius T Foobar @ Uncensored 
>
>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. 
>
>  
>
>  

  

 



[Citadel Development] (no subject)

2017-11-17 Thread IGnatius T Foobar
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. 
 



[Citadel Development] (no subject)

2017-11-16 Thread bennabiy
Logging CN and DN in debug output like so (names changed...)  

citserver[68186]: ldap: found
uid=someone-mn,ou=Mn,ou=People,dc=servername,dc=net  

citserver[68186]: ldap: cn = Someone of Mn  

citserver[68186]: ldap: display name:  , uid = <10073>   

  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. 

   

  I need users to be able to use uid for their login name, not CN (as some of
our CN's are VERY LONG)

  
>  Sun Nov 05 2017 10:34:18 PM EST from IGnatius T Foobar @ Uncensored 
>
>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. 
>
>  
>
>  

  

 



[Citadel Development] (no subject)

2017-11-07 Thread bennabiy
Will test it. Glad we can solidify the system while at it :)   

   

   
>  Sun Nov 05 2017 10:34:18 PM EST from IGnatius T Foobar @ Uncensored 
>
>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. 
>
>  
>
>  

  

 



[Citadel Development] (no subject)

2017-11-05 Thread IGnatius T Foobar
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. 
 



[Citadel Development] (no subject)

2017-11-05 Thread IGnatius T Foobar
 > 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! 
 > 
 >

  
 



Re: [Citadel Development] (no subject)

2017-10-31 Thread bennabiy
posixAccount contains the uidNumber which would work. I agree, Full DN would
be bad idea... some UID generation would be better.  
>  Mon Oct 30 2017 10:11:52 AM EDT from IGnatius T Foobar @ Uncensored 
>Subject: Re: [Citadel Development] (no subject)
>
>
>>
>>
>>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? 
>>
>>
>>  

>  
>
>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.  
>
>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).  
>
>
>
>  

  

 



Re: [Citadel Development] (no subject)

2017-10-30 Thread IGnatius T Foobar




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?


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.
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).





Re: [Citadel Development] (no subject)

2017-10-28 Thread bennabiy
where ldap:dc=foo,dc=bar is the DN or just the basename for lookups?  

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? 


   

   
>  Sat Oct 28 2017 12:54:33 AM EDT from IGnatius T Foobar @ Uncensored 
>Subject: Re: [Citadel Development] (no subject)
>
>
>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. 
>
>  
>
>  

  

 



Re: [Citadel Development] (no subject)

2017-10-27 Thread IGnatius T Foobar
  
 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. 
 



Re: [Citadel Development] (no subject)

2017-10-25 Thread IGnatius T Foobar
Grr.  In addition to OpenSSL, the new Debian also brings along libical2, which
has an API change which is neither forward nor backward compatible. 
 



Re: [Citadel Development] (no subject)

2017-10-25 Thread IGnatius T Foobar

 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! 
 



Re: [Citadel Development] (no subject)

2017-10-20 Thread bennabiy
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.   

   

Shabbat Shalom!  
>  Fri Oct 20 2017 04:48:25 PM EDT from IGnatius T Foobar @ Uncensored 
>Subject: Re: [Citadel Development] (no subject)
>
>  
>>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! 
>
>  
>
>  

  

 



Re: [Citadel Development] (no subject)

2017-10-20 Thread IGnatius T Foobar
 >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! 
 



Re: [Citadel Development] (no subject)

2017-10-20 Thread bennabiy
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.  
>  Thu Oct 19 2017 04:11:40 PM EDT from "Robert J. Clay"  
>Subject: Re: [Citadel Development] (no subject)
>
>  On Thu, Oct 19, 2017 at 1:47 PM, IGnatius T Foobar 
>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
> rjc...@gmail.com
> j...@rocasa.us
> [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851086
> 
>
>  

  

 



  1   2   3   4   5   6   7   8   9   10   >