Language:
switch to room list switch to menu My folders
Go to page: First ... 90 91 92 93 [94] 95 96 97 98 ... Last
[#] Wed Nov 23 2011 12:21:29 EST from IGnatius T Foobar @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

IG: What about citserver's "-t <trace_file>" option? Should it still
work?

Not anymore. It is a vestige of the old logging system which has been completely replaced with syslog.

I do see that if you specify the -t option it will create the file and then do nothing with it; this has been fixed as of today.

[#] Thu Nov 24 2011 11:40:31 EST from Stefan @ Uncensored

Subject: Warnings

[Reply] [ReplyQuoted] [Headers] [Print]

Hi,

while building the 8.02 RPMS in OBS I got the following warnings:

Webcit:

W: incorrect-fsf-address /usr/share/citadel-webcit/static/wclib.js
The Free Software Foundation address in this file seems to be outdated or
misspelled.  Ask upstream to update the address, or if this is a license file,
possibly the entire file with a new copy available from the FSF.

W: zero-length /usr/share/citadel-webcit/static/t/room/edit/submit.html
W: zero-length /usr/share/citadel-webcit/static/t/sieve/empty.html
W: version-control-internal-file /usr/share/citadel-webcit/static/.gitignore
You have included file(s) internally used by a version control system in the
package. Move these files out of the package and rebuild it.

Citadel:

I: binary-or-shlib-calls-gethostbyname /usr/sbin/citadel-setup
I: binary-or-shlib-calls-gethostbyname /usr/sbin/citserver
The binary calls gethostbyname(). Please port the code to use getaddrinfo().

Regards
Stefan



[#] Thu Nov 24 2011 16:50:27 EST from dothebart @ Uncensored

Subject: Re: Warnings

[Reply] [ReplyQuoted] [Headers] [Print]

 

Thu Nov 24 2011 11:40:31 ESTfrom Stefan @ Uncensored Subject: Warnings

Hi,

while building the 8.02 RPMS in OBS I got the following warnings:

Webcit:

W: incorrect-fsf-address /usr/share/citadel-webcit/static/wclib.js
The Free Software Foundation address in this file seems to be outdated or
misspelled.  Ask upstream to update the address, or if this is a license file,
possibly the entire file with a new copy available from the FSF.

W: zero-length /usr/share/citadel-webcit/static/t/room/edit/submit.html
W: zero-length /usr/share/citadel-webcit/static/t/sieve/empty.html

oh, funny. maybe webcit should warn about that too... no clue why they're there... (or empty...)


W: version-control-internal-file /usr/share/citadel-webcit/static/.gitignore
You have included file(s) internally used by a version control system in the
package. Move these files out of the package and rebuild it.

oops, will add that to the buildscript for the tgz's

Citadel:

I: binary-or-shlib-calls-gethostbyname /usr/sbin/citadel-setup

wouldn't care about that one


I: binary-or-shlib-calls-gethostbyname /usr/sbin/citserver
The binary calls gethostbyname(). Please port the code to use getaddrinfo().

Regards
Stefan



well, thats probably a little bigger doing...

we're going to take the 3rd road: going with c-ares. most probably that migration won't be done before 8.20



[#] Fri Nov 25 2011 10:33:21 EST from IGnatius T Foobar @ Uncensored

Subject: Re: Warnings

[Reply] [ReplyQuoted] [Headers] [Print]

The Free Software Foundation address in this file seems to be
outdated or

Ok, that's fixed. I see that they now want you to publish their web address instead of their street address, and that's fine.

I've switched to the new suggested declaration, except the words "free software" have once again been replaced with "open source software" because this is software designed to actually be used instead of to have people like RMS sit around and "talk about freedom"

[#] Fri Nov 25 2011 16:29:21 EST from IGnatius T Foobar @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

I've started my own implementation of OpenID 2.0 Relying Party support. After re-reading the specification for the protocol, I've decided that it's doable, it's just going to take some time -- but it's worth doing, far more so than trying to link in libopkele and add C++ dependencies.

For those of you following along at home, a couple of years ago (more than a couple of years ago?) I looked at OpenID 2.0 and noticed that there were a half dozen specifications competing to be the one used in the new version of the protocol, so they did a "design by committee" type thing and ended up mashing them all together. Yuck.

OpenID 2.0 requires XRI support, but it appears *nobody* is using XRI. Nobody wants it, nobody is asking for it, and none of the OpenID providers out there seem to be offering it, so we can safely skip this part of the protocol.

It also requires Yadis. There doesn't seem to be any way around this. Google, AOL, and others are using the Yadis discovery protocol and generating XRDS documents. Fortunately we can implement Yadis discovery using libcurl and expat, and a bunch of our own code wrapped around that.

I'm sure there will be other pitfalls as we go along, but right now I'm just working on implementing the "discovery" part of the protocol.

The good news is that once we have this in place, we'll be able to support not only OpenID on its own, but lots of other single sign ons. OpenID is used by Google, Yahoo, AOL, Microsoft ... pretty much every major service except Facebook. When you see a login box that offers lots of different login options, most of them nowadays are just using OpenID but the site knows the discovery URL to use for that service and fills it in for you.

[#] Sun Nov 27 2011 04:55:55 EST from dothebart @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

please make shure you split sending + receiving into two functions; and collect all vars needed in both on a struct.

this will be essential to ease the work of migrating it to event driven programming. 



[#] Sun Nov 27 2011 11:27:15 EST from IGnatius T Foobar @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

We already keep all of the state in a single struct, so that should be fine.

On the other hand we have to determine whether going event driven is appropriate for this function, since it is expected to have interactive performance rather than background.

[#] Sun Nov 27 2011 14:35:16 EST from dothebart @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]


Sun Nov 27 2011 11:27:15 EST
from IGnatius T Foobar @ Uncensored
On the other hand we have to determine whether going event driven is appropriate for this function, since it is expected to have interactive performance rather than background. 

in this case, "performance" means something else.

since an http request does a DNS request, opens an external TCP connection anywhere across the 'net which might be randomly slow... so performing this operation doesn't use local resources directyl; but it might take up to several seconds to be finished.

so by doing this "inline" you block a worker thread for a real long time; this worker could do some other usefull operations while the async io (libev..) is select(epoll-)'ing   for that external event to happen.

so for each external http request you basicaly have to fork another worker thread  (which does that workers job while its blocking...); which is the  "real" resource consumption of an non async aproach

Once the http thread finishes, the asyncio task has to wake up some worker to pick up the citserver<->webcit conversation again and reply to the user.

I don't expect the enduser to directly notice the difference between one of the approach on an idle system; no profiler will show it either.

I somewhere had a nice graph showing how much time it takes to retrieve an information from (each line up to 10^2 magnitudes in time more) the sequence looked something like that:

cpu register

cpu cache 

computers memory 

in cluster memory

------1

disk i/o

-----2

database i/o [berkeley DB in our case]

-----3

local network i/o (in the direct reach without more ip hops; so basicaly "in the same building")

external i/o

external i/o to anywhere around the world

 

the last one is what we do with that openid; waiting for that should consume as less resources as possible inside of the citadel application stack; so making the evio epoll() and collect the HTTP response until we get back on parsing & evaluating the reply  is definitely a must.

----[1|2|3] marks the boundaries in which we have to decide by using different event loops; everything above ----1 is expected to be "fast evough" to fit in everywhere in some of the loops now and then; while 2 & 3 are that different slow, that 2 is done by one queue which simply "waits" for the next slot to become available, while 3 uses poll() to aggregate from the kernel when something relevant for the above layers happenes.

 

To exploit an inline approach, an attacker simply would have to start many openid requests; each request swawns a thread waiting for an external resource (which in worst case the attacker also controls to send replies even more slow)  and our citserver would have to start forking workers until there is no more & the system is dead.

In comparison in the async IO case the resource useage is the memory required by the citadel context, the http context + the number of filedescriptors;

which we obviously have much more available than worker threads.

Webcit will currently remain the weak link in that chain; it might be subject to change later on.



[#] Sun Nov 27 2011 14:59:17 EST from dothebart @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

oh, and unless you do stuff like...

for (foo = somestring; strlen(foo) > 0); foo++)

or some weird lots of DB-queries 

I wouldn't expect anything below ----2 to be byound of the threshhold _one_ user could notice; this just all gets important once you want to serve lots of users.

however, the async approach isn't about making something slower to the user; its primarily about using the cpu more effectively while waiting for the IO to that user.

in fact this makes stuff even faster to the user in some cases; 

i.e. i3wm.org uses libev + XCB to manage its conversation with the X11 server; which makes it in fact lots faster than other windowmanagers around; 

these other windowmanagers will send a resize directive to the X11 server and wait for its reply to continue their command flow; while i3wm uses XCB to serialize the X11 command (which is somewhat like CORBA just to name a comparison) and send it plus using libev to wait for the reply; it then can continue doing other stuff [using XCB to send more requests...) without having to wait for the first command to continue; once the reply is there, XCB deserialises that status sent by the X-server and continues this control flow and commands basing on the results of that command.

think of it as "multiplexing" the cpu since the cpu to file i/o  since is lots faster (see table of last post).

If you still have doubts of asyncio having negative impact on performance to the end-user, please let me know.



[#] Wed Nov 30 2011 17:27:17 EST from IGnatius T Foobar @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

I've finally finished the implementation of OpenID 2.0 authentication (relying party) support. There are only two places where we go to the web using libcurl.

I was happy to discover that there were no changes required to the Citadel server protocol, and therefore no changes required in WebCit. I will, however, follow up with WebCit changes that allow a user to sign in using Google, Yahoo, and AOL without even knowing that they're using OpenID.

The only thing missing right now is the Simple Registration extension. This is the piece that allows OpenID providers to provide a screen name, location, gender, date of birth, etc. to Citadel, further simplifying the login process.
That should be a *fairly* quick thing to do since we did it in OpenID 1.1 and it hasn't changed by a whole lot (I don't think it did anyway).

As soon as Simple Registration is completed I will be merging it into git master. Only one file (serv_openid_rp.c) has changed.

[#] Wed Nov 30 2011 17:38:36 EST from IGnatius T Foobar @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

Yeesh. There is no Simple Registration in OpenID 2.0; now they have an extension called "Attribute Exchange." Feh.

[#] Thu Dec 01 2011 16:23:47 EST from Freakdog @ Dog Pound BBS II

Subject: TXT client ignores "fullscreen=yes" and "local_screen_dimensions" opts

[Reply] [ReplyQuoted] [Headers] [Print]

Starting with Citadel 8.01 (maybe 8.00?) and still present in 8.02, the text client no longer seems to obey the "fullscreen" or "local_screen_dimensions" directives in the citadel.rc (or .citadelrc).

I routinely run a 40+ line terminal screen (PuTTY, Terminal from my Mac Book), and starting with 8.01, with "fullscreen=yes" (personal .citadelrc) and "local_screen_dimensions=1" (personal .citadelrc and /usr/local/citadel/citadel.rc), I get a prompt at 24 lines, and no blue status bar at the bottom of my session.

And looking at the citadel.rc file that came with the citadel-8.02.tar.gz, I no longer see the "fullscreen" option, though "local_screen_dimensions" is still present.

Were the options removed from the actual text client? If so, can we have them back?

Thanks.



[#] Thu Dec 01 2011 18:23:12 EST from IGnatius T Foobar @ Uncensored

Subject: Re: TXT client ignores "fullscreen=yes" and "local_screen_dimensions" opts

[Reply] [ReplyQuoted] [Headers] [Print]

Fullscreen mode has been removed. It was too cumbersome to maintain.

local screen dimensions has been removed because the client now *always* operates in that mode. If you are getting a 24 line screen then there's something else wrong, and we should troubleshoot that.

[#] Fri Dec 02 2011 16:23:13 EST from Freakdog @ Dog Pound BBS II

Subject: Re: TXT client ignores "fullscreen=yes" and "local_screen_dimensions" opts

[Reply] [ReplyQuoted] [Headers] [Print]

Same happens if I ssh in using the citadel user name.



[#] Fri Dec 02 2011 16:16:42 EST from Freakdog @ Dog Pound BBS II

Subject: Re: TXT client ignores "fullscreen=yes" and "local_screen_dimensions" opts

[Reply] [ReplyQuoted] [Headers] [Print]

Definitely not working.

Attached is screen shot. I've used PuTTY to ssh to my server, then run "citadel <myhost>", and the prompt appears on line 24.



24-line-prompt-43-line-terminal.png (image/png, 63438 bytes) [ View | Download ]
[#] Sat Dec 03 2011 11:38:51 EST from IGnatius T Foobar @ Uncensored

Subject: Re: TXT client ignores "fullscreen=yes" and "local_screen_dimensions" opts

[Reply] [ReplyQuoted] [Headers] [Print]

What if you use the same PuTTY terminal to connect to Uncensored? Same issue?

[#] Sun Dec 04 2011 17:56:02 EST from Freakdog @ Dog Pound BBS II

Subject: Re: TXT client ignores "fullscreen=yes" and "local_screen_dimensions" opts

[Reply] [ReplyQuoted] [Headers] [Print]

No, but then, your hello banner is only 14 lines long...mine's more than 24.

[#] Mon Dec 05 2011 18:16:49 EST from IGnatius T Foobar @ Uncensored

Subject: Re: TXT client ignores "fullscreen=yes" and "local_screen_dimensions" opts

[Reply] [ReplyQuoted] [Headers] [Print]

What if you read the userlist? That's guaranteed to go to multiple screenfuls.

[#] Mon Dec 05 2011 18:23:58 EST from dothebart @ Uncensored

[Reply] [ReplyQuoted] [Headers] [Print]

ok, got the bug.

its iceweasel 8 to send requests bytewise (which is definitely a performance regression...) 

fix to make webcit cope with it committed.

please upgrade uncensored soon so I can stop using chrome again ;-)



[#] Tue Dec 06 2011 00:34:55 EST from IGnatius T Foobar @ Uncensored

Subject: ALL PACKAGERS PLEASE PUSH CITADEL 8.03 IMMEDIATELY

[Reply] [ReplyQuoted] [Headers] [Print]



Attention all Citadel packagers!

Please push the current contents of git master as Citadel 8.03 release IMMEDIATELY.

The code contains a fix to a VERY SERIOUS bug that is causing upgrades to fail and email aliases to be lost, causing incoming mail to bounce. There is no risk of data corruption and no security vulnerabilities; however due to the issue of bounced mail I am considering this to be a HIGH PRIORITY update.

cc: Citadel Development room, Citadel Packaging room.

Go to page: First ... 90 91 92 93 [94] 95 96 97 98 ... Last