[Citadel Development] (no subject)

2014-09-03 Thread dothebart


 

Wed Sep 03 2014 07:51:50 EDT from Freakdog @ Dog Pound BBS II 

 

Tue Sep 02 2014 05:20:32 PM EDT from dothebart @ Uncensored 

I don't have any troubles with spool files, probably due to the single coredness of my server.
If you have, you will have to provide more information so that we can fix this.WFM YMMV ;-)


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.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.
I haven't encountered it in quite a while, though.


so if you re-sync a room this may happen to you?
where does it break? in collectding? or sending?
or does it break while collecting the spoolfiles with large attachments to the spoolfile to transmit?




[Citadel Development] (no subject)

2014-09-02 Thread Freakdog


 

Mon Sep 01 2014 03:20:13 AM EDT from dothebart @ Uncensored 

hm,the disk is full on startup case isn't caught at all in the db-layer...
some pointers become NULL and we crash.


Is this in response to my question about spool files?
If so, the disk isn't full when the spool file issue crops up.
If not, please ignore this message and carry on.




[Citadel Development] (no subject)

2014-09-02 Thread Freakdog


 

Tue Sep 02 2014 09:33:37 AM EDT from Freakdog @ Dog Pound BBS II 


Mon Sep 01 2014 03:20:13 AM EDT from dothebart @ Uncensored 

hm,the disk is full on startup case isn't caught at all in the db-layer...
some pointers become NULL and we crash.


Is this in response to my question about spool files?
If so, the disk isn't full when the spool file issue crops up.
If not, please ignore this message and carry on.


Just read the Citadel Support room...so no, that was not in response to my question about spool files. D'oh!




[Citadel Development] (no subject)

2014-09-02 Thread dothebart


 

Tue Sep 02 2014 09:33:37 EDT from Freakdog @ Dog Pound BBS II 

 

Mon Sep 01 2014 03:20:13 AM EDT from dothebart @ Uncensored 

hm,the disk is full on startup case isn't caught at all in the db-layer...
some pointers become NULL and we crash.


Is this in response to my question about spool files?
If so, the disk isn't full when the spool file issue crops up.
If not, please ignore this message and carry on.


no, neither was.
I don't have any troubles with spool files, probably due to the single coredness of my server.
If you have, you will have to provide more information so that we can fix this.WFM YMMV ;-)




[Citadel Development] (no subject)

2014-09-01 Thread dothebart


hm,the disk is full on startup case isn't caught at all in the db-layer...
some pointers become NULL and we crash.




[Citadel Development] (no subject)

2014-08-07 Thread Freakdog


 

Wed Aug 06 2014 09:50:33 AM EDT from IGnatius T Foobar @ Uncensored 

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. 


Silly question...will a fix for the "shutting down database" due to network spool files issue be seen in an upcoming release?




[Citadel Development] (no subject)

2014-07-22 Thread dothebart


8.25? Now?




[Citadel Development] (no subject)

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


[Citadel Development] (no subject)

2014-03-30 Thread IGnatius T Foobar


Playing around on my phone right now and I just noticed that the browser in Android now works with WebCit.  Nice!




[Citadel Development] (no subject)

2014-03-25 Thread dothebart


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.




[Citadel Development] (no subject)

2014-03-17 Thread IGnatius T Foobar
 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. 
 


[Citadel Development] (no subject)

2014-03-12 Thread Raul Mauricio Garcia Lara





 

Hello,
Where are storage the mail that is sended? If the response is in the BBDD,¿How can you acces to this BBDD?
 
Thank you very much.








[Citadel Development] (no subject)

2014-03-11 Thread LoanShark
  
 Please phrase your question in the form of a question. 
 


[Citadel Development] (no subject)

2014-02-05 Thread IGnatius T Foobar
  
 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. 
 


[Citadel Development] (no subject)

2014-02-05 Thread dothebart
  Wed Feb 05 2014 09:52:52 EST from IGnatius T Foobar @ Uncensored 


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. 

  

  

  

I didn't have time yet to finalize work on xmpp (currently broken), and zlib
streaming may be desired.  

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.


[Citadel Development] (no subject)

2014-02-05 Thread IGnatius T Foobar
Wait a minute -- xmpp is broken? 
 


[Citadel Development] (no subject)

2014-02-05 Thread dothebart


in master - yes. at least incomplete.




[Citadel Development] (no subject)

2014-02-05 Thread IGnatius T Foobar
More broken than in stable, or incomplete as in there were things you wanted
to add? 
 


[Citadel Development] (no subject)

2014-02-05 Thread dothebart


more broken than in stable.




[Citadel Development] (no subject)

2014-02-05 Thread IGnatius T Foobar
Ok, fix pls  :) 
 


[Citadel Development] (no subject)

2014-01-25 Thread dothebart


 

Wed Jan 22 2014 02:50:32 EST from dothebart @ Uncensored 

found fineuploader.com - GPLv3 if you build it yourself.
that way I found out about nodejs, npm, grunt and all its tiny plugins they include minification and other stuff.
Maybe we should add the ability for minification during building the dist-tarballs for webcit too.
 
first files uploaded using that, seems nice.


OK,
Fineuploader fixes my upload issues and works nice.
I hope to resolve one tiny issue, then we can cherrypick that over  do a 8.24 release.




[Citadel Development] (no subject)

2014-01-21 Thread dothebart


found fineuploader.com - GPLv3 if you build it yourself.
that way I found out about nodejs, npm, grunt and all its tiny plugins they include minification and other stuff.
Maybe we should add the ability for minification during building the dist-tarballs for webcit too.
 
first files uploaded using that, seems nice.




[Citadel Development] (no subject)

2014-01-13 Thread dothebart


so we have some troubles with our attachment uploading facility.
if one has an nginx proxy, the upload will get interrupted after roughly 8k; regardless of https or not.
This behaviour seems to be portable amongst chromium  iceweasel
Its even broken if one tries to upload files to uncensored, files no bigger 160k fail silently.
i've tried
http://paste.debian.net/76064/
as static.local/test.html
do_template?template=test
and tada, upload working.
any ideas?




[Citadel Development] (no subject)

2014-01-04 Thread dothebart


its still some work left to do - but not that much.
I guess its forward-cherry-pickeable.
9.0 - yes that was also my Idea.
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.




[Citadel Development] (no subject)

2014-01-04 Thread IGnatius T Foobar
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. 
 


[Citadel Development] (no subject)

2014-01-04 Thread the_mgt


 

Mon Dec 30 2013 10:17:07 EST from IGnatius T Foobar @ Uncensored

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.
What's the status of that and how can we work around conflicts?


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.
I guess the rest is merely just a exercise in tightening the html pages.
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.
Give the current branch a quick glance, if you absolutely do not like what you see, I need to start over anyway.




[Citadel Development] (no subject)

2014-01-04 Thread the_mgt


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.




[Citadel Development] (no subject)

2014-01-03 Thread dothebart


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.



[Citadel Development] (no subject)

2014-01-03 Thread IGnatius T Foobar
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? 
 


[Citadel Development] (no subject)

2014-01-02 Thread dothebart


So took care of the migrate import scenario.
Performance of old (buggy) version with my test data (some but not many big messages): 
time /usr/sbin/sendcommand -h /test migr import  /var/tmp/*xmlsendcommand: started (pid=24356) connecting to Citadel server at /test/var/run/citadel/citadel-admin.socket200 potzblitz Citadel server ADMIN CONNECTION ready.migr import400 sock it to mesendcommand: processing ended.real    3m2.986suser    0m1.886ssys 0m15.951s
 
Whether one uses Splice or not doesn't seem to be so important
time ./citadel/sendcommand -w 5000 -h /test migr import  /var/tmp/*xmlsendcommand: started (pid=7682) connecting to Citadel server at /test/var/run/citadel/citadel-admin.socket200 potzblitz Citadel server ADMIN CONNECTION ready.migr import400 sock it to mesendcommand: processing ended.real    2m14.315suser    0m0.010ssys 0m0.350s
 
So we roughly save 25% real time.
the sendcommand enhancement accounts from 17.8s - 0.36s
it seems not to be so important whether one uses zerocopy (splice) or blockbuffered read/writing in our scenario.




[Citadel Development] (no subject)

2013-12-31 Thread dothebart


hm, it seems as if after re-importing sieve scripts are not detected anymore - while still present
so, somehow
    CtdlForEachMessage(MSGS_LAST, 1, NULL, SIEVECONFIG, NULL,        get_sieve_config_backend, (void *)u );doesn't grab it anymore.
currently sendcommand import is broken (by me) need more hacking on that.




[Citadel Development] (no subject)

2013-12-31 Thread dothebart


 

Mon Dec 30 2013 10:17:07 EST from IGnatius T Foobar @ Uncensored 

 

Sun Dec 29 2013 06:14:53 AM EST from dothebart @ Uncensored 

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
http://www.citadel.org/doku.php/faq:troubleshooting:viewhack


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.
What's the status of that and how can we work around conflicts?


maybe start fixing the_mgts firefox quirks?
 
 




[Citadel Development] (no subject)

2013-12-30 Thread IGnatius T Foobar


Wow, that's an incredible speed improvement.  Good job!




[Citadel Development] (no subject)

2013-12-30 Thread IGnatius T Foobar


 

Sun Dec 29 2013 06:14:53 AM EST from dothebart @ Uncensored 

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
http://www.citadel.org/doku.php/faq:troubleshooting:viewhack


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.
What's the status of that and how can we work around conflicts?
 




[Citadel Development] (no subject)

2013-12-29 Thread dothebart


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
http://www.citadel.org/doku.php/faq:troubleshooting:viewhack




[Citadel Development] (no subject)

2013-12-27 Thread dothebart


 

Tue Dec 24 2013 07:03:27 EST from dothebart @ Uncensored 

hm, it seems as somewhere in the migrate chain is a 4k limit which can be hit by the seen-records.
my hot guess right now is sendcommand.


Before:
time /usr/sbin/sendcommand migr export  /tmp/blarg.dmp sendcommand: started (pid=29199) connecting to Citadel server at /var/run/citadel/citadel-admin.socket200 potzblitz Citadel server ADMIN CONNECTION ready.migr export100 Exporting all Citadel databases.sendcommand: processing ended.real    2m35.401suser    0m21.811ssys 2m5.756s
After:
time ./sendcommand MIGR export  /tmp/out.dmpsendcommand: started (pid=29014) connecting to Citadel server at /var/run/citadel/citadel-admin.socket200 potzblitz Citadel server ADMIN CONNECTION ready.MIGR export100 Exporting all Citadel databases.sendcommand: processing ended.real    0m10.288suser    0m2.417ssys 0m1.823s
Plus it now doesn't cut overlong lines anymore.
The second place cutting overlong lines:
/* * Import begins here */void migr_do_import(void) {    StrBuf *Buf;    XML_Parser xp;    int linelen;        unbuffer_output();    Buf = NewStrBufPlain(NULL, SIZ);    xp = XML_ParserCreate(NULL);    if (!xp) {        cprintf("%d Failed to create XML parser instance\n", ERROR+INTERNAL_ERROR);        return;    }    XML_SetElementHandler(xp, migr_xml_start, migr_xml_end);    XML_SetCharacterDataHandler(xp, migr_xml_chardata);    CC-dont_term = 1;    cprintf("%d sock it to me\n", SEND_LISTING);    unbuffer_output();    while (CtdlClientGetLine(Buf) = 0  strcmp(ChrPtr(Buf), "000")) {        linelen = StrLength(Buf);        StrBufAppendBufPlain(Buf, HKEY("\n"), 0);        if (server_shutting_down)            break;    // Should we break or return?                if (linelen == 0)            continue;        XML_Parse(xp, ChrPtr(Buf), linelen, 0);    }    XML_Parse(xp, "", 0, 1);    XML_ParserFree(xp);    FreeStrBuf(Buf);    rebuild_euid_index();    rebuild_usersbynumber();    CC-dont_term = 0;}
probably also gained speed next to being non-4k limited anymore.




[Citadel Development] (no subject)

2013-12-24 Thread dothebart


hm, it seems as somewhere in the migrate chain is a 4k limit which can be hit by the seen-records.
my hot guess right now is sendcommand.




[Citadel Development] (no subject)

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


[Citadel Development] (no subject)

2013-12-08 Thread dothebart


there are those of us, who believe that a 'byzantine syntax' is core concept of a wiki.
while fancy html may offer the plethora of format options, this is advantage and disadvantage at once:
 - documents can wysiwyg look like the user wants it to
 - each document ends up looking individual, you end up with something looking like a turkish bazar.
'byzantine syntax' solves this; all documents have the same style.
so, from now on, citadel will offer the choice; you may choose the roomtype 'wiki' as before to get the old behaviour
Next to this, there is a new roomtype, which offers the very same wiki engine with a different document type:
Markdown: http://daringfireball.net/projects/markdown/
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.
It also doesn't need any downmix for the textclient, since its pretty well plaintext readable.
We display this by introducing a new mimetype renderer in msg_renderers.c for all documents of the type 'text/x-markdown'.
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. 
 
It however introduces two new dependencies:
  - Epic Editor http://epiceditor.com/ to aid the users during creation.( an alternative may be: http://code.google.com/p/pagedown/ )
  - https://github.com/Orc/discount offers libmarkdown2, which seems to be pretty marture since its already available in debian oldstable.
 
More about Markdown: 
http://en.wikipedia.org/wiki/Markdown




[Citadel Development] (no subject)

2013-11-19 Thread the_mgt


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 loove the looks. I also accidently made it flat uiish...

The fonts alone make it more lovable for me.




[Citadel Development] (no subject)

2013-11-19 Thread the_mgt


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. :(
Be aware that hiding the options from the displayed html does not really disable them, they could be used with a correct url-




[Citadel Development] (no subject)

2013-11-05 Thread dothebart


https://datatracker.ietf.org/doc/draft-saintandre-xmpp-tls/
xmpp tls to become mandatory?
and.. http over xmpp? WTF?
plus, seems they want to make xmpp the next gen mail transport layer?




[Citadel Development] (no subject)

2013-10-06 Thread dothebart


a little hacking and wiresharking later, one can use
http://camendesign.com/code/video_for_everybody/test.html
to download videos with range request from the files store and play them in the browser.
(download the html file, edit it, enter the room in another window, load the file from disk - video plays and is fastforwardeable)
lets see whether this is able to work with attachments too, and how one could have transparent decrompression too.




[Citadel Development] (no subject)

2013-09-26 Thread IGnatius T Foobar
  
 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? 
 


[Citadel Development] (no subject)

2013-09-26 Thread dothebart


I like fastcgi.
I don't know whether spdy will be worth the effort.
it would realy be more important to be to be able to understand REST alike URL-schemes the like...
DAV/floor/toplevel_room/subroom/messageid/attachmentID
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.
I started out on that a while ago, but got distracted.
right now mobile IMAP-client support in the means of IMAP-Idle would be most important to me.
Another thing hot on my todo list is finding out how to do nonblocking / libev supported client side SSL for the pop3 aggregator.
 
Currently I'm doing a bunch of refactoring:
 - separating citadel protocol handlers from core message/room/etc. functionality into modules/ctdlproto/serv_*.c
 - reducing the includes to the minimum
 - 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/hacktxt all the time to revalidate what it actualy does. As mentioned, backwards compatibility is ensured by defining the Enum values to their letters.
 - 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
 - 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.
 - message saving to [network|mailque|notifyqueue] is done via api calls now
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.




[Citadel Development] (no subject)

2013-09-17 Thread IGnatius T Foobar
 but... again... HOW do you configure the floor expire policy using  
 webcit?  
  
 Hm, did the floor expire policy go missing during templatization?  It's 
definitely
configurable from the text client. 
 


[Citadel Development] (no subject)

2013-09-17 Thread dothebart


 

Tue Sep 17 2013 16:21:52 EDT from IGnatius T Foobar @ Uncensored 


but... again... HOW do you configure the floor expire policy using webcit? 
Hm, did the floor expire policy go missing during templatization? It's definitely configurable from the text client. 


either that, or was never implemented...
however trying documenting it uncovered that the way the strings sugest it should work it can be made to work using webcit alone (imho)
If I missed it, please point me to how it was implemented then - else I guess we'll have to implement it then.




[Citadel Development] (no subject)

2013-09-11 Thread IGnatius T Foobar
Setting an expire policy for a floor full of RSS feeds is good; that's how
we do it here.  No sense in preserving that stuff for a long time.  Until
of course I forgot about that when we started *originating* blogs from here
and I put my first one on that floor ... oops!  That's why the Member Blogs
floor has *no* expire policy. 
 


[Citadel Development] (no subject)

2013-09-11 Thread dothebart



Wed Sep 11 2013 07:35:07 EDT from IGnatius T Foobar @ Uncensored 

Setting an expire policy for a floor full of RSS feeds is good; that's how we do it here. No sense in preserving that stuff for a long time. Until of course I forgot about that when we started *originating* blogs from here and I put my first one on that floor ... oops! That's why the "Member Blogs" floor has *no* expire policy. 


but... again... HOW do you configure the floor expire policy using webcit?




[Citadel Development] (no subject)

2013-09-11 Thread ax25


 

Wed Sep 11 2013 09:14:06 AM EDT from dothebart @ Uncensored 


Wed Sep 11 2013 07:35:07 EDT from IGnatius T Foobar @ Uncensored 

Setting an expire policy for a floor full of RSS feeds is good; that's how we do it here. No sense in preserving that stuff for a long time. Until of course I forgot about that when we started *originating* blogs from here and I put my first one on that floor ... oops! That's why the "Member Blogs" floor has *no* expire policy.


but... again... HOW do you configure the floor expire policy using webcit?


I am not sure, but I think the floor expire policy gets set at creation time for the new floor.  Not sure how you change it in Webcit (I think I usually do it in the text client - but I am not sure as I don't do it often).




[Citadel Development] (no subject)

2013-09-10 Thread dothebart


so, I've written some faqs...
http://www.citadel.org/doku.php/faq:everydayuse:rss_aggregation
(since we've been ommitted with the RSS reader replacements for Google Reader in the latest linux Mag, I think we need to advertize the rss reader a little more?)
and since message expiry is a usecase in there i've created and linked:
http://www.citadel.org/doku.php/faq:systemadmin:how_do_i_expire_messages
which put a big question mark on my head - how do I configure the floor message expiry? or is this just [personal folder / public folde] ? Or is some configuration interface missing in webcit here?




[Citadel Development] (no subject)

2013-09-10 Thread ax25


 

Tue Sep 10 2013 04:40:40 PM EDT from dothebart @ Uncensored 

so, I've written some faqs...
http://www.citadel.org/doku.php/faq:everydayuse:rss_aggregation
(since we've been ommitted with the RSS reader replacements for Google Reader in the latest linux Mag, I think we need to advertize the rss reader a little more?)
and since message expiry is a usecase in there i've created and linked:
http://www.citadel.org/doku.php/faq:systemadmin:how_do_i_expire_messages
which put a big question mark on my head - how do I configure the floor message expiry? or is this just [personal folder / public folde] ? Or is some configuration interface missing in webcit here?


Nope, I think you have it covered:
  Use the default policy for this floor  Never automatically expire messages   Expire by message count   Expire by message age   Number of messages or days:  
I have tweaked (not edge cases), the use floor policy vs expire count (not age), and it seems to work just fine (current easy install release).
Ax25
P.S. I use the hell out of that thing as I pull in blog posts from many sources and even made a floor for rss feeds.  One of my users did not like the sort order for the floor I named RSS feeds, so I re-named it XRSS feeds to keep it low on the list alphabetically.




[Citadel Development] (no subject)

2013-09-10 Thread dothebart


 

Tue Sep 10 2013 22:24:10 EDT from ax25 @ Uncensored 
Ax25
P.S. I use the hell out of that thing as I pull in blog posts from many sources and even made a floor for rss feeds.  One of my users did not like the sort order for the floor I named RSS feeds, so I re-named it XRSS feeds to keep it low on the list alphabetically.


you can make them zap the rss rooms - I have similar problems.
Imap on elderly wintendo tends to take ages with many rooms - even more if one isn't interested in the content.
 
Question was - again - is there a way to configure a floor policy for each floor which webcit hasn't wrapped?




[Citadel Development] (no subject)

2013-08-31 Thread IGnatius T Foobar
  
 This weekend (in between stretches of the last frantic push to get my house
ready to sell) I'm building a demo/test Exchange environment that I need in
order to test the integration of third party spam filtering tools.  To be
sure, this is not a Citadel related project, but read on. 
  
 Yes, I have an MCSE on my staff, but he only works on high visibility projects
that make him look good to at least the next two levels of management.  But
this provided an opportunity for me to update my knowledge set, and my strength
is as a tech-heavy manager who hasn't become ignorant of the inner workings
of a technology infrastructure. 
  
 And what I discovered is interesting.  I've helped out with Exchange 
maintenance
over the years but this was the first time I've done an Exchange install from
scratch in more than a few years now. 
  
 One of the inspirations for turning Citadel into a groupware/collaboration
platform was that in the late 1990's when I was doing field service work,
I was frustrated that the Unix world still provided a solid mail system but
you had to be a genius to put it together, while Exchange 5.5 was a piece
of garbage but it was easy to install -- you just popped the disc in, ran
the install, and typed your domain name, and you were basically up and running.
 I knew we could do better than that, which is why my vision of Citadel being
the easiest to install has always been a driving force behind the project.

  
 I didn't realize that at some point we not only achieved parity with Exchange
on this, but that Exchange then took GIANT STEPS BACKWARDS in ease of 
installation.
 There's no such thing as an easy Exchange installation anymore.  There's
a giant list of prerequisites to put together in Active Directory.  The 
installation
has dozens of places where it can fail because
you didn't prepare the system properly.  Then it simply completes and gives
you no instruction on what to do next. 
  
 When you find the System Manager application, more often than not it fails
to initialize and doesn't tell you why it couldn't connect to your 
organization.
 You have to go digging through the event log to figure out what went wrong.
  
  
 Then once you do connect, you have to manually create recipient policies,
mailbox policies, send/receive connectors, and a bunch of other stuff that
Citadel has ready for you right out of the box. 
  
 Microsoft's attitude seems to be that if you're a large organization you
should make use of an MC$E that paid megabucks for training, and if you're
a small organization you should be using their cloud service instead of an
on-premises (or on-private-cloud) server. 
  
 So here we are, just as I suspected we were: we've got the small
organization space available for takeover with very little effort.  Keep up
the good work, guys -- and let's dominate this. 
 


[Citadel Development] (no subject)

2013-08-31 Thread dothebart


afaik they discontinued their small business server line for the cloud services, which they put in place to stop linux invading the server rooms.
I guess this was the easiest way to get a running exchange - and the other ones are only for big coorperations which need clusters etc.
I guess a missing feature we currently have is the pgp integration..




[Citadel Development] (no subject)

2013-08-31 Thread IGnatius T Foobar
You should see the way they've trained MCSE's to think.  There's no longer
any such thing as the Exchange server.  They've trained MCSE's to push no
fewer than *two* mailbox servers (in a redundant group) *plus* at least one
dedicated front end (client access) server.   
  
  
 Even if the organization has 100 users. 
 


[Citadel Development] (no subject)

2013-08-15 Thread Freakdog
Jus tupgraded...will let you all know how I make out. 
 


[Citadel Development] (no subject)

2013-08-14 Thread IGnatius T Foobar
Ok, the tag v8.20 is now in the repository for the official 8.20 release,
and source code tarballs are on the download site. 
 


[Citadel Development] (no subject)

2013-08-13 Thread dothebart


some try to get a hold on it...
however, it seems as if ld_preload changes offsets, need to find a way around this - so I can get usefull backtraces :-(

/*
 * gcc  -Wall -nostartfiles -fpic -shared -olibbacktrace.so  backtrace_open.c 
 */
#define _GNU_SOURCE
#define _FILE_OFFSET_BITS 64
#define _LARGEFILE_SOURCE

#include dlfcn.h

#include stdio.h
#include stdlib.h
#include string.h
#include unistd.h

#include sys/types.h
#include sys/stat.h
#include assert.h
#include sys/mman.h
#include fcntl.h
#include sys/socket.h

#include netinet/in.h
#include arpa/inet.h

#include errno.h
#include time.h

#include execinfo.h


/* XXX: do parallel support for open AND open64 by #undef open etc .. */


#define RESOLVE(x)	if (!o_##x  !(o_##x = dlsym(RTLD_NEXT, #x))) { fprintf(stderr, #x() not found!\n); exit(-1); }

#define min(x,y) ( (x)(y)?(x):(y) )
#define max(x,y) ( (x)(y)?(x):(y) )

#define N_FRAMES 16

/* XXX: need to handle this differently .. linked list? */
#define HIGHEST_FD 256
#define FEAT_RANGE_SUPPORT 1

static int (*o_open64)(const char *, int, ...);
static int (*o_close)(int);

static FILE *(*o_fopen64)(const char *, const char *);
static int (*o_fclose)(FILE *);
static int (*o_socket)(int domain, int type, int protocol);
static int (*o_connect)(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

FILE *myfd = NULL;


void _init(void)
{
	RESOLVE(fopen64);

	/* CRASH! if you load us uninitialized, your process deserves to die! */
	myfd = o_fopen64(getenv(DEBUG_FILENAME), w+);

	fprintf(myfd, %d: my filedescriptor.\n, fileno(myfd));
}


void oneline_backtrace(const char* CallName, const char *str1, long nFD)
{
	const long sizeofstr =
		N_FRAMES *3 + // 0x,
		sizeof(void*) * N_FRAMES * 4 + // hex number
		256;
	void *stack_frames[N_FRAMES];
	char addresslist[sizeofstr]; 
	size_t size, i;
	long offset = 0;

	offset = sprintf(addresslist, \n%ld: [%s][, nFD, CallName);

	size = backtrace(stack_frames, sizeof(stack_frames) / sizeof(void*));
	if (size  0)
	{
		if (N_FRAMES  size)
			size = N_FRAMES;

		for (i = 1; i  size; i++) {
			offset += sprintf(addresslist + offset, %p;, stack_frames[i]);
		}
	}
	offset += snprintf(addresslist + offset, sizeof(addresslist) - offset, ]\n\t%s, 
			   str1);

	fwrite(addresslist, 1, offset, myfd);
}



#define NUMBUFSIZE 60
static char numbuf[NUMBUFSIZE];
char *str_off_t(__off64_t t)
{
char *p=numbuf+sizeof(numbuf)-1;
int isneg=0;

if (t  0)
{
t= -t;
isneg=1;
}

*p=0;
do
{
*--p= '0' + (t % 10);
t=t / 10;
} while(t);

if (isneg)
*--p='-';

return p;
}


int open64(const char *pathname, int flag, ...)
{
	int ret;
	RESOLVE(open64);

	ret = o_open64(pathname, flag);
	oneline_backtrace (__FUNCTION__, pathname, ret);
	
	return ret;
}

FILE *fopen64(const char *pathname, const char *mode)
{
	FILE *Ret;
	RESOLVE(fopen64);
	Ret = o_fopen64(pathname, mode);

	oneline_backtrace (__FUNCTION__, pathname, fileno(Ret));
	
	return Ret;
}


int socket(int domain, int type, int protocol)
{
	int ret;
	char buf[128];

	RESOLVE(socket);
	ret = o_socket(domain, type, protocol);
	snprintf(buf, sizeof(buf), t: %d p:%d %s, 
		 type, protocol, strerror(errno));
	
	oneline_backtrace (__FUNCTION__, buf, ret);
	return ret;
}

int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen)
{
	const char *what;
	int ret;
	RESOLVE(connect);

	if (addrlen == sizeof(struct sockaddr_in6))
	{
		what =  IPv6 ;
	}
	else if (addrlen == sizeof(struct sockaddr_in))
	{

		what =  IPv4 ;
	}
	else
	{
		what =  WTF? ;

	}

	ret = o_connect(sockfd, addr, addrlen);

	oneline_backtrace (__FUNCTION__, what, sockfd);

	return ret;
}


int close(int fd)
{
	oneline_backtrace (__FUNCTION__, , fd);
	
	RESOLVE(close);
	return o_close(fd);
}

int fclose(FILE *stream)
{
	int fd;
	int ret;

	fd = fileno(stream);
	RESOLVE(fclose);
	ret = o_fclose(stream);

	oneline_backtrace (__FUNCTION__, strerror(errno), fd);
	
	return ret;
}


[Citadel Development] (no subject)

2013-08-13 Thread Freakdog


 

Mon Aug 12 2013 05:17:50 AM EDT from dothebart @ Uncensored 

hm, somethings smelly around the network queue importer.
it seems there is some sort of double close here (though I couldn't find it by browsing the source)
and from
sendcommand rwho
I see something messing with the current room of running rss aggregators over here on uncensored, which also seems to be the networker?
Probably time to give it its own context like all the other background jobs have?


So, this is something still remaining? This appears to be what happens when the networker gets hung up in 8.16, and clears when I stop and restart citadel.




[Citadel Development] (no subject)

2013-08-13 Thread dothebart



Tue Aug 13 2013 11:37:05 EDT from Freakdog @ Dog Pound BBS II 

 

Mon Aug 12 2013 05:17:50 AM EDT from dothebart @ Uncensored 

hm, somethings smelly around the network queue importer.
it seems there is some sort of double close here (though I couldn't find it by browsing the source)
and from
sendcommand rwho
I see something messing with the current room of running rss aggregators over here on uncensored, which also seems to be the networker?
Probably time to give it its own context like all the other background jobs have?


So, this is something still remaining? This appears to be what happens when the networker gets hung up in 8.16, and clears when I stop and restart citadel.


for some reason yes.
I've found  fixed a similar problem with cURL  the RSS-Aggregator which at least for my productive platform fixed the now and then appearing double close  db panics.
Howevery my dev system on my laptop oopsed again with no RSS-Aggregator being active.




[Citadel Development] (no subject)

2013-08-13 Thread dothebart


ok, next version.
doing pretty well already; however it doesn't show all open system calls any hints which calls I should intercept also are welcome.

/*
 * gcc  -Wall -nostartfiles -fpic -shared -olibbacktrace.so  backtrace_open.c 
 */
#define _GNU_SOURCE
#define _FILE_OFFSET_BITS 64
#define _LARGEFILE_SOURCE

#include dlfcn.h

#include stdio.h
#include stdlib.h
#include string.h
#include unistd.h

#include sys/types.h
#include sys/stat.h
#include assert.h
#include sys/mman.h
#include fcntl.h
#include sys/socket.h

#include netinet/in.h
#include arpa/inet.h

#include errno.h
#include time.h

#include execinfo.h


/* XXX: do parallel support for open AND open64 by #undef open etc .. */


#define RESOLVE(x)	if (!o_##x  !(o_##x = dlsym(RTLD_NEXT, #x))) { fprintf(stderr, #x() not found!\n); exit(-1); }

#define min(x,y) ( (x)(y)?(x):(y) )
#define max(x,y) ( (x)(y)?(x):(y) )

#define N_FRAMES 50

/* XXX: need to handle this differently .. linked list? */
#define HIGHEST_FD 256
#define FEAT_RANGE_SUPPORT 1

static int (*o_open64)(const char *, int, ...);
static int (*o_close)(int);

static FILE *(*o_fopen64)(const char *, const char *);
static FILE *(*o_fdopen)(int fd, const char *mode);
static int (*o_fclose)(FILE *);
static int (*o_socket)(int domain, int type, int protocol);
static int (*o_connect)(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

FILE *myfd = NULL;


void _init(void)
{
	RESOLVE(fopen64);
	RESOLVE(open64);
	RESOLVE(fdopen);
	RESOLVE(socket);
	RESOLVE(connect);
	RESOLVE(fopen64);
	RESOLVE(close);
	RESOLVE(fclose);

	/* CRASH! if you load us uninitialized, your process deserves to die! */
	myfd = o_fopen64(getenv(DEBUG_FILENAME), a+);

	fprintf(myfd, %d: my filedescriptor.\n, fileno(myfd));
	fprintf(myfd, %d: my pid\n, getpid());
}


void oneline_backtrace(const char* CallName, const char *str1, long nFD)
{

	static const long sizeofstr =
		N_FRAMES *3 + // 0x,
		sizeof(void*) * N_FRAMES * 4 + // hex number
		N_FRAMES * 64 + // function string version
		256;
	void *stack_frames[N_FRAMES];
	char addresslist[sizeofstr]; 
	size_t size, i;
	long offset = 0;
	char **strings;

	addresslist [0] = '\0';
//	fprintf(myfd, \n%ld: [, nFD);

//	fprintf(myfd, \n%s: [, CallName);
	offset = sprintf(addresslist, \n%ld: [%s][, nFD, CallName);

	size = backtrace(stack_frames, sizeof(stack_frames) / sizeof(void*));
///	fprintf(myfd, \n%ld: [, size);
	strings = backtrace_symbols(stack_frames, size);
	if (size  0)
	{
		if (N_FRAMES  size)
			size = N_FRAMES;

		// skip first two frames, its just us.
		for (i = 2; i  size; i++) {
//			fprintf(myfd, \t%ld - %p\n, i, strings[i]);
			if ((strings != NULL)  (strings[i] != NULL))
			{
//fprintf(myfd, \t%s\n, strings[i]);
offset += snprintf(addresslist + offset, sizeofstr - offset, \t%s\n, strings[i]);
			}
			else
			{
//fprintf(myfd, %p;, stack_frames[i]);
offset += snprintf(addresslist + offset, sizeofstr - offset, %p;, stack_frames[i]);
			}
			if (sizeofstr  offset + 64)
break;
		}
	}
	offset += snprintf(addresslist + offset, sizeofstr - offset, ]\n\t%s, 
			   str1);

	fwrite(addresslist, 1, offset, myfd);

}


int open64(const char *pathname, int flag, ...)
{
	int ret;

	ret = o_open64(pathname, flag);
	oneline_backtrace (__FUNCTION__, pathname, ret);
	
	return ret;
}

FILE *fopen64(const char *pathname, const char *mode)
{
	FILE *Ret;
	Ret = o_fopen64(pathname, mode);

	oneline_backtrace (__FUNCTION__, pathname, fileno(Ret));
	
	return Ret;
}

FILE *fdopen(int fd, const char *mode)
{
	FILE *Ret;
	Ret = o_fdopen(fd, mode);

	oneline_backtrace (__FUNCTION__, mode, fd);
	
	return Ret;
}

int socket(int domain, int type, int protocol)
{
	int ret;
	char buf[128];

	ret = o_socket(domain, type, protocol);
	snprintf(buf, sizeof(buf), t: %d p:%d %s, 
		 type, protocol, strerror(errno));
	
	oneline_backtrace (__FUNCTION__, buf, ret);
	return ret;
}

int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen)
{
	char what[64];
	char netbuf[64];
	int ret;

	if (addrlen == sizeof(struct sockaddr_in6))
	{
		inet_ntop(AF_INET6,
			  addr,
			  netbuf,
			  sizeof(netbuf));

		sprintf(what, ipv6[%s], netbuf);
	}
	else if (addrlen == sizeof(struct sockaddr_in))
	{

		inet_ntop(AF_INET,
			  addr,
			  netbuf,
			  sizeof(netbuf));
		sprintf(what, ipv4[%s], netbuf);
	}
	else
	{
		sprintf(what,  WTF? neither ipv4 nor 6? );

	}

	ret = o_connect(sockfd, addr, addrlen);

	oneline_backtrace (__FUNCTION__, what, sockfd);

	return ret;
}


int close(int fd)
{
	oneline_backtrace (__FUNCTION__, , fd);
	
	return o_close(fd);
}

int fclose(FILE *stream)
{
	int fd;
	int ret;

	fd = fileno(stream);
	ret = o_fclose(stream);

	oneline_backtrace (__FUNCTION__, strerror(errno), fd);
	
	return ret;
}


[Citadel Development] (no subject)

2013-08-12 Thread dothebart


hm, somethings smelly around the network queue importer.
it seems there is some sort of double close here (though I couldn't find it by browsing the source)
and from
sendcommand rwho
I see something messing with the current room of running rss aggregators over here on uncensored, which also seems to be the networker?
Probably time to give it its own context like all the other background jobs have?




[Citadel Development] (no subject)

2013-07-21 Thread dothebart


 

Fri Jul 19 2013 15:56:07 EDT from IGnatius T Foobar @ Uncensored 


Jul 19 2013 3:15pm from Citadel Subject: RSS Aggregation run failure Error while RSS-Aggregation Run of http://deutschesteffi.blogspot.com/feeds/posts/default need a 200, got a 0 ! Curl Error message: Operation too slow. Less than 64 bytes/sec transferred the last 600 seconds / Timeout was reached Response text was: GOTO _BASEROOM_ 
There's gotta be something wrong in there. Uninitialized buffer maybe? 


our gateway to curl:
static size_tgotdata(void *data, size_t size, size_t nmemb, void *cglobal){    AsyncIO *IO = (AsyncIO*) cglobal;    SetEVState(IO, eCurlGotData);    if (IO-HttpReq.ReplyData == NULL)    {        IO-HttpReq.ReplyData = NewStrBufPlain(NULL, SIZ);    }    IO-Now = ev_now(event_base);    return CurlFillStrBuf_callback(data,                   size,                   nmemb,                   IO-HttpReq.ReplyData);}
size_t CurlFillStrBuf_callback(void *ptr, size_t size, size_t nmemb, void *stream){    StrBuf *Target;    Target = stream;    if (ptr == NULL)        return 0;    StrBufAppendBufPlain(Target, ptr, size * nmemb, 0);    return size * nmemb;}
 
so... its gotta be cURL that gives us uninitialized data in case of errors...
only possible solution is to skip the reply buffer from the error message, which may contain usefull informations in other cases...




[Citadel Development] (no subject)

2013-07-19 Thread dothebart


ok, did everything for 8.17 - debbuild triggered. Please upgrade the dist, we can release 8.20 on monday then.




[Citadel Development] (no subject)

2013-07-19 Thread IGnatius T Foobar
  Jul 19 2013 3:15pm from Citadel 
 Subject: RSS Aggregation run failure
 Error while RSS-Aggregation Run of 
 http://deutschesteffi.blogspot.com/feeds/posts/default
  need a 200, got a 0 !
  Curl Error message: Operation too slow. Less than 64 bytes/sec 
 transferred the last 600 seconds / Timeout was reached
  Response text was: 
  
  GOTO _BASEROOM_  
 

  
 There's gotta be something wrong in there.  Uninitialized buffer maybe? 
 


[Citadel Development] (no subject)

2013-07-17 Thread dothebart


 

Thu Jul 11 2013 12:42:21 EDT from IGnatius T Foobar @ Uncensored 

Or we could just release 8.20, what's stopping us? 


hm, we need to disable the experimental ical code in webcit.
Sorry, weeks are flying by and quality hacking time is next to NIL.




[Citadel Development] (no subject)

2013-07-13 Thread dothebart


 

Thu Jul 11 2013 06:35:09 EDT from dothebart @ Uncensored 

 

Wed Jul 10 2013 21:09:27 EDT from IGnatius T Foobar @ Uncensored 

Ok, fixed. StrBufStripAllBut() now returns the leftmost qualifying substring.


did you check whether there are other places which might not like that behaviour?
8.1x-next now?
(cherry pick the last two commits over - webcit vcard fix plus yours)


    StrBufStripAllBut(sSMTP-from, '', '');
    StrBufStripAllBut(sSMTP-OneRcpt, '', '');./citadel/modules/smtp/serv_smtp.c    StrBufStripAllBut(section, '[', ']');    StrBufStripAllBut(partial, '', '');./citadel/modules/imap/imap_fetch.c
I still don't think thats a clever solution to change the methods way of working - i'd rather add a new function with another name for this.




[Citadel Development] (no subject)

2013-07-13 Thread IGnatius T Foobar


The previous behavior was not "rightmost" but rather "undefined" -- in other words, it was used in places where there was an assumption that there would never be more than one qualifying substring on the line.
That having been said, I did test the IMAP parser again, which is where these other calls are made, and it does seem to work properly.




[Citadel Development] (no subject)

2013-07-13 Thread IGnatius T Foobar
  
 Queasy Install has been updated: 
  
 * It now delivers Berkeley DB 5.1 instead of the old 4.1 (I'm looking forward
to DB 6 because it's released under the AGPL, for once Oracle did something
right ... but it hasn't been tested with Citadel yet) 
  
 * The text mode client is now built and delivered 
  
 When the 8.20 release goes gold, deployment strategy will be to simply copy
the Queasy Install site to the Easy Install site, and change the name and
URL.   
  
 Now for the big question: are there any release stopping bugs still in git
master?  I am ready for an 8.20 release.  (I don't want to do another 8.1X
release.  If any package maintainers want to stay on that track they will
be responsible as maintainers.  I am upstream.) 
 


[Citadel Development] (no subject)

2013-07-11 Thread dothebart


 

Wed Jul 10 2013 21:09:27 EDT from IGnatius T Foobar @ Uncensored 

Ok, fixed. StrBufStripAllBut() now returns the leftmost qualifying substring. 


did you check whether there are other places which might not like that behaviour?
8.1x-next now?
(cherry pick the last two commits over - webcit vcard fix plus yours)




[Citadel Development] (no subject)

2013-07-11 Thread IGnatius T Foobar
Or we could just release 8.20, what's stopping us? 
 


[Citadel Development] (no subject)

2013-07-11 Thread dothebart


i'd like to have another stable release with the latest bunch of bugfixes without eventualy introducing new ones. I think its also better to provide that to distros and users conservative about upgrades.
8.20 also means some more work because of the citadel text client now is going to be its own tarball.




[Citadel Development] (no subject)

2013-07-11 Thread IGnatius T Foobar
All right, backport what you want, tag it, and I'll put it up for download.
 
 


[Citadel Development] (no subject)

2013-07-10 Thread IGnatius T Foobar
Ok, fixed.  StrBufStripAllBut() now returns the leftmost qualifying substring.

 


[Citadel Development] (no subject)

2013-07-09 Thread dothebart


 

Mon Jul 08 2013 13:57:39 EDT from IGnatius T Foobar @ Uncensored 
SHOW STOPPING BUG. This may explain why I've been losing so much mail (and why my wife got a GMail account, and my mother in law got a Yahoo account) ...  MAIL FROM:nore...@microcenter.com SIZE=17697 AUTH= BODY=7BIT WTF?!?!?!?!?! 

what sort of mta is this? is it legal?




[Citadel Development] (no subject)

2013-07-09 Thread IGnatius T Foobar
It's questionable whether that sort of behavior is legal.  RFC 2821 doesn't
say anything about it other than the fact that parameters are acceptable
on the MAIL FROM: line.  I can't find any mention of an AUTH= parameter 
anywhere.

  
 As far as I can tell this is some sort of weird M$ thing that is now leaking
out onto the Internet, so I guess we've got to deal with it.  In the absence
of any real instruction it seems that the correct thing to do is to always
parse the leftmost string in angle brackets following MAIL FROM: as the envelope
sender address. 
 


[Citadel Development] (no subject)

2013-07-08 Thread IGnatius T Foobar

SHOW STOPPING BUG.
This may explain why I've been losing so much mail (and why my wife got a
GMail account, and my mother in law got a Yahoo account) ...

220 uncensored.citadel.org ESMTP Citadel server ready.
EHLO hoexcas03.ad.microcenter.com
250-Hello hoexcas03.ad.microcenter.com (webmail.ad.microcenter.com 
[66.194.187.100])
250-HELP
250-SIZE 1500
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
MAIL FROM:nore...@microcenter.com SIZE=17697 AUTH= BODY=7BIT
550 You must log in to send mail from uncnsrd
QUIT
221 Goodbye...

WTF?!?!?!?!?!


[Citadel Development] (no subject)

2013-07-08 Thread IGnatius T Foobar
Ok, looks like it's the AUTH= that's confusing it.  stripallbut('','')
is grabbing the second set of angle brackets instead of the first.  We never
guaranteed a specific behavior when more than one substring qualifies.  Empty
address means an empty node name, empty node name is replaced with ours, ours
is parsed as a spoof. 
 


[Citadel Development] (no subject)

2013-06-26 Thread dothebart


hm, after a report that the browser locale detection may go haywire if the locale is not on the on the list and you end up with russian or chinese, I first touched that code again after 8 years.
like time travel ;-)
the C now also is en_US - which should be more intuitive to the users.




[Citadel Development] (no subject)

2013-04-12 Thread dothebart


 

Thu Apr 11 2013 22:11:21 EDT from IGnatius T Foobar @ Uncensored 

Except I can't get it to work at all. It won't accept my username/password, it won't let me create a new account, and OpenID login doesn't seem to be operable. check out http://dev.citadel.org (I'm looking at it with chrome) 


hm, I don't see this effect over here - should do_template require http based authentication in first place?
I guess there is something else wrong.
That typo which I just committed just ommits the template with the login dialog, so this is a completely different thing.
I see a cookie in the request... so why? Maybe you should have another look at the conditions of your system?




[Citadel Development] (no subject)

2013-04-12 Thread IGnatius T Foobar
Does your patch implement a page change rather than a js modal? 
 


[Citadel Development] (no subject)

2013-04-12 Thread dothebart


the patch does 3fold:
- fix the js not to do things which are unneccesary and some browsers seem to not understand properly (have a function pointer in place instead of simply declaring a function)
- put the login dialog hidden into the header if one is not logged in, and let the .js simply uncover it once the user clicks / calls the .js function (which had a typo, so the dialog text would allways be there...)
- so the login js doesn't load this login.html anymore - saves an http request.
the symptoms of your system is to send an HTTP 401 to do_template, which it definitely shouldn't.
if you use i.e. teh firebug or its chrome equivalent (F12...) you see that the pop brings you the regular logged in page as it should (in advance to the 401)
so... you need to find out why the 401 comes.
maybe its session missmatch or some citserver communication issue... 




[Citadel Development] (no subject)

2013-04-11 Thread IGnatius T Foobar
Except I can't get it to work at all.  It won't accept my username/password,
it won't let me create a new account, and OpenID login doesn't seem to be
operable. 
  
 check out http://dev.citadel.org (I'm looking at it with chrome) 
 


[Citadel Development] (no subject)

2013-03-31 Thread dothebart


commit 66b37caa8621e2e78c61b44acef3653fdfdc1192Author: Wilfried Goesgens dotheb...@citadel.orgDate:   Sun Mar 31 13:52:02 2013 +0200    Rework Login dialog to work with rekonq (and hopefully Safari)      - modal.js: don't use a function pointer - simply name the function as the pointer.  - head.html: if we're not logged in, we add the login dialog to the page; its hidden anyways.  - login.html: since we get printed into existing pages, we don't need htmlbody - its wrong in first place to have them.  - authmethods.js: GetLoggedInFirst(): we don't need to send an ajax request to retrieve the login mask; if its needed, head.html already contains it. Simply uncover it to the user.
 
so now we have login.html in the pages if the user is not logged in.
what exactly would now be the usefullness of the push infrastructure over adding a hidden post field to login.html and filling that with GetLoggedInFirst()? just to KISS?




[Citadel Development] (no subject)

2013-03-31 Thread dothebart



Sun Mar 31 2013 08:00:48 EDT from dothebart @ Uncensored 

commit 66b37caa8621e2e78c61b44acef3653fdfdc1192Author: Wilfried Goesgens dotheb...@citadel.orgDate:   Sun Mar 31 13:52:02 2013 +0200    Rework Login dialog to work with rekonq (and hopefully Safari)      - modal.js: don't use a function pointer - simply name the function as the pointer.  - head.html: if we're not logged in, we add the login dialog to the page; its hidden anyways.  - login.html: since we get printed into existing pages, we don't need htmlbody - its wrong in first place to have them.  - authmethods.js: GetLoggedInFirst(): we don't need to send an ajax request to retrieve the login mask; if its needed, head.html already contains it. Simply uncover it to the user.
 
so now we have login.html in the pages if the user is not logged in.
what exactly would now be the usefullness of the push infrastructure over adding a hidden post field to login.html and filling that with GetLoggedInFirst()? just to KISS?


nice side effect: passvoid autocompletion from browser memory works again.




[Citadel Development] (no subject)

2013-03-30 Thread dothebart


ok, I think i've found the problem with the webcit login in rekonq (and most probably apple safari?) ;
changing in modal.jsvar toggleModal = function (b) {
to:
function toggleModal (b) {
seems to fix the problem.
next questions... why do we need to load the page (get_logged_in.html) in a second call? can't we just put it in there?
and if, why does it have extra htmlbody/body/html if its put into the DOM?




[Citadel Development] (no subject)

2013-03-30 Thread IGnatius T Foobar
The purpose of get_logged_in is to display the login dialog and then take
the user to the page he requested. 
 


[Citadel Development] (no subject)

2013-03-30 Thread dothebart


get_logged_in.html _is_ the login dialog, and nothing more.
GetLoggedInFirst() loads it, and inserts it into the page; I've found no place in which get_logged_in would be viewed as toplevel page - so the html wrappers are most probably wrong?
next - whats the sense in having a function pointer in toggleModal instead of having a function by that name? Since it seems not to be working in some browsers...




[Citadel Development] (no subject)

2013-03-21 Thread IGnatius T Foobar
  
 I would give you instructions on how to do so, but by posting a support request
in the developers forum you have clearly demonstrated that you do not know
how to follow instructions, so I'm not going to bother. 
  
 


[Citadel Development] (no subject)

2013-03-20 Thread wvtxman


 



 

citadel and names in outlook and other mail programs

'[Log in to get rid of this advertisement]
Hi,I am using citadel to handle my mail, and I want the name from the client E.G. Michael Taboada to replace the person's user name.For example, if I have a user called person, and they're real name is Michael Taboada, and their name is set that way in their client, the mail in other people's inboxes still shows person, instead of Michael Taboada.This applies to all inboxes sent to, not just other citadel users.Any help is appreciated.








[Citadel Development] (no subject)

2013-03-14 Thread Freakdog
I've noted two things, today, that might merit being looked at:   

 1) The Human readable node name is limited to 20 characters. Doesn't affect
me, much, but a new node came online that wanted to have a name that was 21
characters, and that last character is dropped.   
  
  
 2) When using the refresh option in a room's sharing options, in order to
catch a remote node up with that room's content, I've noticed that the messages
are imported (and I assume exported...I didn't look at the spool file) in
newest to oldest order. In other words, messages that were received by my
system yesterday or today, show up on the new/remote node in the First screen
full of messages, and the oldest messages not purged from my system show up
in the last screen full of messages. 
  
 I'm thinking that we would want those messages to be exported/imported in
the same order in which they were sent. 
 


[Citadel Development] (no subject)

2013-03-07 Thread IGnatius T Foobar
  
 fyi -- I have tagged v8.16  
 


[Citadel Development] (no subject)

2013-02-21 Thread IGnatius T Foobar


citserver[7336]: nothing to do for Global Address Book
citserver[7336]: nothing to do for edit me please
citserver[7336]: nothing to do for Digg
citserver[7336]: nothing to do for 09.Al Kaboom

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb71ffb70 (LWP 7341)]
0x080af3fa in DeletePOP3Aggregator (vptr=0x8282990) at 
modules/pop3client/serv_pop3client.c:202
202 ((struct CitContext*)ptr-IO.CitContext)-state = CON_IDLE;
(gdb) bt
#0  0x080af3fa in DeletePOP3Aggregator (vptr=0x8282990) at 
modules/pop3client/serv_pop3client.c:202
#1  0xb7d82e4d in DeleteHashPayload (Data=optimized out) at lib/hash.c:322
#2  0xb7d837cc in Put (Hash=0x827ea68, 
HKey=0x8283758 
pop3://test:passw...@pop.mailinator.com/09.Al%20Kaboom, HKLen=62, 
Data=0x8283178, DeleteIt=0x80af350 DeletePOP3Aggregator) at lib/hash.c:698
#3  0x080af7b8 in pop3client_scan_room
(OneRNCFG=0x8288328, qrbuf=0xb71ff110, data=optimized out)
at modules/pop3client/serv_pop3client.c:1078
#4  pop3client_scan_room (qrbuf=0xb71ff110, data=0x0, OneRNCFG=0x8288328)
at modules/pop3client/serv_pop3client.c:986
#5  0x08065f8d in CtdlForEachNetCfgRoom (CB=0x80af4d0 pop3client_scan_room, 
in_data=0x0, 
filter=pop3client) at room_ops.c:618
#6  0x080b060e in pop3client_scan () at 
modules/pop3client/serv_pop3client.c:1123
#7  pop3client_scan () at modules/pop3client/serv_pop3client.c:1090
#8  0x0805f5fb in PerformSessionHooks (EventType=50) at serv_extensions.c:1332
#9  0x08076e33 in do_housekeeping () at housekeeping.c:155
#10 0x0805d219 in worker_thread (blah=0x0) at sysdep.c:1355
#11 0x0807b190 in CTC_backend (supplied_start_routine=0x805d0c0) at 
threads.c:152
#12 0xb7d64c39 in start_thread () from 
/lib/i386-linux-gnu/i686/cmov/libpthread.so.0
#13 0xb79d992e in clone
() from /lib/i386-linux-gnu/i686/cmov/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further


[Citadel Development] (no subject)

2013-01-04 Thread IGnatius T Foobar


Jan  4 14:08:21 prod citserver[26786]: SMTPCQ: processing outbound queue
Jan  4 14:08:21 prod citserver[26786]: SMTPCQ: smtp_do_procmsg(3375193)
Jan  4 14:08:21 prod citserver[26786]: EVCURL:IO[12620]CC[62879] error 
description: The requested URL returned error: 404
Jan  4 14:08:21 prod citserver[26786]: EVCURL:IO[12620]CC[62879] error 
performing request: HTTP response code said error
Jan  4 14:08:21 prod citserver[26786]: IO[12620]CC[62879][252368]RSSneed a 200, 
got a 404 !
Jan  4 14:08:21 prod citserver[26786]: not sending message again
Jan  4 14:08:21 prod citserver[26786]: DB: seek: 1818125: (0 * 0) + 1818125: 
Illegal seek
Jan  4 14:08:21 prod citserver[26786]: DB: seek: 1818125: (0 * 0) + 1818125: 
Illegal seek
Jan  4 14:08:21 prod citserver[26786]: bdb(): txn_commit: Illegal seek
Jan  4 14:08:21 prod citserver[26786]: citserver is stopping in order to 
prevent data loss. uid=100 gid=101 euid=100 egid=101


[Citadel Development] (no subject)

2013-01-04 Thread dothebart


 

Fri Jan 04 2013 14:47:05 EST from IGnatius T Foobar @ Uncensored 
Jan 4 14:08:21 prod citserver[26786]: SMTPCQ: processing outbound queue Jan 4 14:08:21 prod citserver[26786]: SMTPCQ: smtp_do_procmsg(3375193) Jan 4 14:08:21 prod citserver[26786]: EVCURL:IO[12620]CC[62879] error description: The requested URL returned error: 404 Jan 4 14:08:21 prod citserver[26786]: EVCURL:IO[12620]CC[62879] error performing request: HTTP response code said error Jan 4 14:08:21 prod citserver[26786]: IO[12620]CC[62879][252368]RSSneed a 200, got a 404 ! Jan 4 14:08:21 prod citserver[26786]: not sending message again Jan 4 14:08:21 prod citserver[26786]: DB: seek: 1818125: (0 * 0) + 1818125: Illegal seek Jan 4 14:08:21 prod citserver[26786]: DB: seek: 1818125: (0 * 0) + 1818125: Illegal seek Jan 4 14:08:21 prod citserver[26786]: bdb(): txn_commit: Illegal seek Jan 4 14:08:21 prod citserver[26786]: citserver is stopping in order to prevent data loss. uid=100 gid=101 euid=100 egid=101 

please install a backtrace enabled binary so we can see where this error is triggered from




[Citadel Development] (no subject)

2013-01-04 Thread LoanShark
  
 For the record, IT'S NOT MY FAULT. 
 


[Citadel Development] (no subject)

2012-12-05 Thread dothebart


ok, f81a5a37a8c492f1061c8cca886d820acc9e3fb6 hopefully overcomes the good old challenge 'with which alias did I subscribe to that mailinglist?'




[Citadel Development] (no subject)

2012-11-17 Thread IGnatius T Foobar
Queasy Install (updated from git master) does not build:

In file included from utils/aidepost.c:26:
/snprintf.h:5: error: expected declaration specifiers or '...' before 'va_list'
/snprintf.h:5: error: conflicting types for 'vsnprintf'
make: *** [utils/aidepost.o] Error 1
Operating system: Linux Debian 6.0.4 ( 2.6.32-5-686 i686)


[Citadel Development] (no subject)

2012-11-17 Thread dothebart


does it define HAVE_SNPRINTF  ?
at least over here its not'and its compiling fine.
do we need our own snprintf implementation in first place?

Sat Nov 17 2012 12:46:49 EST from IGnatius T Foobar @ Uncensored 
Queasy Install (updated from git master) does not build:  In file included from utils/aidepost.c:26: ./snprintf.h:5: error: expected declaration specifiers or '...' before 'va_list' ./snprintf.h:5: error: conflicting types for 'vsnprintf' make: *** [utils/aidepost.o] Error 1 Operating system: Linux Debian 6.0.4 ( 2.6.32-5-686 i686) 

 




<    1   2   3   4   5   6   7   8   9   10   >