[Citadel Development] Re: [SCM] citadel.org branch, master, updated. 7bfc9ea85ba1146f09982b9616eaf82b54321ea4

2011-07-12 Thread samjam


On 12/07/11 14:51, IGnatius T Foobar wrote:

No, we just pull the top-level headers and we do not fetch the message body.



Do we still do the security check to make sure the message is in the 
room, so we can't used this to peek at arbitrary messages?


Sam


[Citadel Development] Re:

2011-07-11 Thread samjam


On 11/07/11 14:04, IGnatius T Foobar wrote:

Actually, I'm in the process of ripping out the *new* way too.  The buttons
for Reply, ReplyQuoted, and Forward need to carry a whole lot of information
(subject, references, recipients) out to the browser and then back in through
a URL submission, and because those buttons are passed through the 
GetLoggedInFirst()
framework, their URL's need to be double-escaped.  As a result, there are
a number of special characters which can break the whole thing if they appear
anywhere.

  Instead of trying to tweak this fragile and ugly situation, I am rewriting
it to have the browser simply tell WebCit the number of the message being
replied to (or forwarded), and WebCit can fetch all of that information on
its own.  We already do this for the quoted/forwarded message text, so it
should be fairly straightforward to get all the other info too.

  (I said "straightforward" rather than "easy" because the tricky part will
be to do it without fetching the message three or four times.)




Not forgetting the continuation of a message from the drafts folder




[Citadel Development] Re: SMTP timeout

2011-06-29 Thread samjam
And the thing is, while I think the ISP delaying schools email for 120 
seconds to try and get an ident connection on 113 is nuts, I was too 
embarrassed to mention that I was timing out after only 30 seconds - so 
I merely said that I had increased the timeout to nearly 5 minutes.


30 seconds is a fine time to *want* to wait; but a measure of 
sufficiency is it being long enough to be able to confidently blame the 
other party - and it failed on that score.


If I said "but you shouldn't wait 120 seconds for ident which can't be 
trusted anyway" the would say "and you should wait longer than 30 seconds".


And the thing is although I would be right, so would they.

Sam

On 29/06/11 07:41, samjam wrote:


My children's school's SMTP server waits 120 seconds before responding 
with a "250 Recipient OK" during SMTP.


The server is reports itself as "Mirapoint Messaging Server MOS 
4.2.2-FCS Queuing"


Funnily if the connection is aborted after 60 seconds, the "250" 
response comes back immediately.


Talks with the techie suggest they are waiting for a response from my 
ident server; however although I don't run an ident service the port 
is not firewalled so they should get a connection refused pretty 
quickly. I'm wondering if their firewall blocks their own ident 
connection.



I mention this because:

commit 45ba51763ead4a25ad46fb8b2c82d398fdbb051a
Author: Wilfried Goesgens 
Date:   Sun Nov 21 16:34:16 2010 +0100

Relax SMTP Client timeout settings as discussed.

 - default is 30 seconds
 - Server greeting 90 seconds (DNS lookups for RBLs might be slow



And this is a real-world case where perhaps we need to be more 
forgiving than 30 seconds because of someone elses badly configured 
mail server.


I increased the timeout from 30 seconds to 230 seconds and - to my 
relief, mail started to be delivered.


I think this timeout should be configurable

Sam




[Citadel Development] SMTP timeout

2011-06-28 Thread samjam


My children's school's SMTP server waits 120 seconds before responding 
with a "250 Recipient OK" during SMTP.


The server is reports itself as "Mirapoint Messaging Server MOS 
4.2.2-FCS Queuing"


Funnily if the connection is aborted after 60 seconds, the "250" 
response comes back immediately.


Talks with the techie suggest they are waiting for a response from my 
ident server; however although I don't run an ident service the port is 
not firewalled so they should get a connection refused pretty quickly. 
I'm wondering if their firewall blocks their own ident connection.



I mention this because:

commit 45ba51763ead4a25ad46fb8b2c82d398fdbb051a
Author: Wilfried Goesgens 
Date:   Sun Nov 21 16:34:16 2010 +0100

Relax SMTP Client timeout settings as discussed.

 - default is 30 seconds
 - Server greeting 90 seconds (DNS lookups for RBLs might be slow



And this is a real-world case where perhaps we need to be more forgiving 
than 30 seconds because of someone elses badly configured mail server.


I increased the timeout from 30 seconds to 230 seconds and - to my 
relief, mail started to be delivered.


I think this timeout should be configurable

Sam


[Citadel Development] Re: bugs and inconsistencies ; documentation

2011-05-16 Thread samjam

On 15/05/11 16:06, dothebart wrote:


/sendcommand: started (pid=28583) running in 504/
/Attaching to server.../
/potzblitz Citadel server ready./
/Authenticated as an internal program./
/LPRM/
/100 Publiic rooms:/
/Lobby|2|0|0|0|422|0|0|1302842947|/
/testbcc|2|0|64|16|422|0|1|1305378302|/
/testml|2|0|64|0|422|0|1|1304971292|/
/testml1|2|0|64|0|422|0|1|1304971122|/
/testml3|2|0|64|0|422|0|1|1304975085|/
/Trashcan|2|0|64|0|422|0|0|1302842941|/
/sendcommand: processing ended./

what else would you expect?

//

/
I think he wonders why Public is spelt Publ_ii_c with 2 i's

Sam
/


[Citadel Development] Re: Embargoed: multiple jabber servers vulnerable to denial of service

2011-05-05 Thread samjam


On 05/05/11 12:46, IGnatius T Foobar wrote:

I'm willing to hold off on releasing our own security alert, and even perhaps
waiting until "0 Day" to release an updated version of the software.  What
I'm *not* willing to do, is to stop using our source code repository the way
it was intended because some tinfoil-hat thinks that someone's going to monitor
it for potential abuses.


I guess he's not going to give you the chance, next time.

git is fine with you having private branches that you merge/push later.


[Citadel Development] Re: [SCM] citadel.org branch, master, updated. 2063519eeba1e97c13732f061faea42556e9488b

2011-04-06 Thread samjam

On 06/04/11 10:38, dothebart wrote:


Di Apr 05 2011 12:39:14 EDTvon "ajc" 
Betreff: [SCM] citadel.org branch, master, updated.
2063519eeba1e97c13732f061faea42556e9488b

Push to the project "citadel.org ": The branch, master has been
updated
via 2063519eeba1e97c13732f061faea42556e9488b (commit)
from 7b25397a71281e53fc9aec4cca4a63d07e2658d8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log
-

http://code.citadel.org/cgit.cgi/git.citadel.org/commit/?id=2063519eeba1e97c13732f061faea42556e9488b
commit 2063519eeba1e97c13732f061faea42556e9488b
Author: Art Cancro 
Date: Tue Apr 5 12:39:09 2011 -0400

Remove all uses of __FUNCTION__ because it is not portable

---

are you trying to achieve Visual Studio 6 compileability? I know this 
macro isn't portable, but most modern compilers offer it.


I'm pretty sure that on GCC it isn't really a macro either - certainly 
you can't paste it to other symbols, and I'm pretty sure it's left 
behind after the CPP has finished its work.


Sam


[Citadel Development] Re: [SCM] citadel.org branch, master, updated. e432540ab02282396bf87eafde6a1698819912ff

2011-01-28 Thread samjam


On 27/01/11 23:25, IGnatius T Foobar wrote:

Ok.  This solves the problem of "I can request arbitrary msgnums and the server
will give them to me whether or not they exist in a room to which I have access"
-- which was only a minor nuisance before, but with Citadel sites being exposed
to the public Internet with anonymous guest mode enabled, that would have
become quite a large problem.  Imagine how lovely it would be if Google indexed
it all.  :)


  Unfortunately it takes a little more memory than I wanted it to.


I'm also concerned about the binary tree:

If the binary tree is not bulk-populated at the start and in a balanced 
fashion, but rather as messages are seen, then if messages are seen in 
mostly numerical order, which will happen in folders with large numbers 
of messages - the sorts of folders where we really want the benefit of a 
binary tree, then we will end up with an unbalanced binary tree, which 
will be as bad as a linear search but taking up a lot more memory.


Further, if the tree caches "seen" message, it means that if a message 
has been seen at all in a session, it can always be seen until the 
session logs out, even if the message has been removed from all rooms 
available to the user. In other words it makes it hard to withdraw 
access. Maybe the user hadn't even read the message, but merely had it 
loaded into a room index. The admin moves the message to a restricted 
room, but all users who ever had it listed in their index can still see 
it until they log out.


It seems to me that the new code is worse than the old code in terms of 
memory usage, not better in terms of the cases that ought to benefit, 
and worse in terms of security.


I think the binary search of the linear list that was committed is a 
better solution. If a binary tree is used, it should be a balanced tree.


I think there are bigger potential performance gains than can be had 
here, if performance is a problem.


Sam


[Citadel Development] 303 Status response

2011-01-21 Thread samjam
W3C seem to have updated RCS's inlreation to the meaning and use of the 
HTTP 302 and 303  status responses:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

It looks like whether or not 302 or 303 is used should possible depend 
on the level of HTTP in the request.


I would therefore like to suggest again, that where possible, citadel 
should not return body as a result of post, but save state and then 
issue a 303 to re-request the correct view. This avoids browser pain 
if/when the back button is used.


I have no strong case to make, I merely mention it as potential 
best-practice.


Sam


 10.3.3 302 Found

The requested resource resides temporarily under a different URI. Since 
the redirection might be altered on occasion, the client SHOULD continue 
to use the Request-URI for future requests. This response is only 
cacheable if indicated by a Cache-Control or Expires header field.


The temporary URI SHOULD be given by the Location field in the response. 
Unless the request method was HEAD, the entity of the response SHOULD 
contain a short hypertext note with a hyperlink to the new URI(s).


If the 302 status code is received in response to a request other than 
GET or HEAD, the user agent MUST NOT automatically redirect the request 
unless it can be confirmed by the user, since this might change the 
conditions under which the request was issued.


  Note: RFC 1945 and RFC 2068 specify that the client is not allowed
  to change the method on the redirected request.  However, most
  existing user agent implementations treat 302 as if it were a 303
  response, performing a GET on the Location field-value regardless
  of the original request method. The status codes 303 and 307 have
  been added for servers that wish to make unambiguously clear which
  kind of reaction is expected of the client.


 10.3.4 303 See Other

The response to the request can be found under a different URI and 
SHOULD be retrieved using a GET method on that resource. This method 
exists primarily to allow the output of a POST-activated script to 
redirect the user agent to a selected resource. The new URI is not a 
substitute reference for the originally requested resource. The 303 
response MUST NOT be cached, but the response to the second (redirected) 
request might be cacheable.


The different URI SHOULD be given by the Location field in the response. 
Unless the request method was HEAD, the entity of the response SHOULD 
contain a short hypertext note with a hyperlink to the new URI(s).


  Note: Many pre-HTTP/1.1 user agents do not understand the 303
  status. When interoperability with such clients is a concern, the
  302 status code may be used instead, since most user agents react
  to a 302 response as described here for 303.





[Citadel Development] Re: Message security

2011-01-19 Thread samjam


On 19/01/11 13:02, IGnatius T Foobar wrote:

  >Even after you explicitly log out of one of the accounts? What does
  >"logout" mean in such a case? Is the message requested in the context of

  >the logged-out account, or the new logged in account?

  Try it again now; it *should* theoretically act like "any other web site"
at this point.  If you log out from one window, the session should be logged
out and the other window should reflect that as well.


Thanks; I'll try it.

But, to be clear, as I think I failed to be clear:
window-1 was logged in as user-1
window-2 logged out as user-1 and logged in as user-2
window-1 could still read messages from user-1
window-2 could still read messages from user-2

So the same browser had read-access to two different accounts at the 
same time.


I don't see how each browser was routing to a different webcit->citadel 
session so it suggests that a session was reading messages that did not 
belong to the logged in user.


That's a different problem to logout plain not working.

Sam


[Citadel Development] Re: Message security

2011-01-19 Thread samjam


On 18/01/11 18:59, IGnatius T Foobar wrote:

There was, however, a problem with sessions not being *fully* logged out.
  I have just fixed that.

  I doubt we will ever have the ability to log in two different users at the
same time from the same browser.  On the other hand, I have been adding "go="
url components to a lot of the stuff I've been touching, so that if a user
has two different windows open in two different rooms it'll try to keep each
window in the correct room.



Cool. I didn't want the capability, I was just horrified that it worked 
after I logged out.


Sam


[Citadel Development] Re: Message security

2011-01-19 Thread samjam


On 18/01/11 16:10, dothebart wrote:


because of the use of cookie based authentication you can't do that 
with one browser.



I did do it.


if you're able to reproduce this with two browsers (run a chrome and a 
firefox) and we have a problem.


Since the client knows the room its in, messages from "wrong" rooms 
will be displayed.


Even after you explicitly log out of one of the accounts? What does 
"logout" mean in such a case? Is the message requested in the context of 
the logged-out account, or the new logged in account?


Either way seems wrong.

Sam


[Citadel Development] Message security

2011-01-18 Thread samjam


Try this on a recent citadel HEAD:

Have two accounts with messages in the mailbox.

Open to browser windows with the same browser instance.

Login window 1 to webcit and bring up the mailbox view

Open the same view on window 2, and then logout on window 2

Login window 2 to the other webcit account and bring to mailbox view

You should now have 2 windows both seeming to be logged into webcit but 
with different accounts.


Now for the fun:

On each window, click on messages in the mail list.

Be surprised that they BOTH work, even though session 1 is supposed to 
be logged out.


[Citadel Development] Re: HELP HELP Re: [SCM] citadel.org branch, master, updated. e396526ea63700bee599f96fc03e72fc8ea503c2

2011-01-11 Thread samjam


On 11/01/11 14:34, samjam wrote:


On 11/01/11 12:38, samjam wrote:


On 11/01/11 05:09, IGnatius T Foobar wrote:

It's been a productive evening.  :)

  Wiki now works and looks good, even in guest mode.


Thanks very much. I'll give it a go.

I'll give guest mode a go too, I've never tried that yet.

Sam


I tried anonymous access and was started at the number of rooms that 
were available including a room called "trash" which included a lot of 
mail addressed to users on my system.


The "room list" show many rooms but not divided into floors. This 
seems to have permanently damaged my own room view, when I logged in 
again, I now get a room list without floors and without my own mail 
folders. EEEK.


I then disabled anonymous access - but it's not disabled! It still 
works! How can I turn off anon-access?
Deleting my cookies put things back to normal - which makes me wonder if 
a stale-cookie can allow someone to retain anon-access even against policy!


Further tests show that room access is denied, but room-list access, and 
online users list, including the appearance of chat is available.


[Citadel Development] HELP HELP Re: [SCM] citadel.org branch, master, updated. e396526ea63700bee599f96fc03e72fc8ea503c2

2011-01-11 Thread samjam


On 11/01/11 12:38, samjam wrote:


On 11/01/11 05:09, IGnatius T Foobar wrote:

It's been a productive evening.  :)

  Wiki now works and looks good, even in guest mode.


Thanks very much. I'll give it a go.

I'll give guest mode a go too, I've never tried that yet.

Sam


I tried anonymous access and was started at the number of rooms that 
were available including a room called "trash" which included a lot of 
mail addressed to users on my system.


The "room list" show many rooms but not divided into floors. This seems 
to have permanently damaged my own room view, when I logged in again, I 
now get a room list without floors and without my own mail folders. EEEK.


I then disabled anonymous access - but it's not disabled! It still 
works! How can I turn off anon-access?


[Citadel Development] Re: [SCM] citadel.org branch, master, updated. e396526ea63700bee599f96fc03e72fc8ea503c2

2011-01-11 Thread samjam


On 11/01/11 12:38, samjam wrote:


On 11/01/11 05:09, IGnatius T Foobar wrote:

It's been a productive evening.  :)

  Wiki now works and looks good, even in guest mode.


Thanks very much. I'll give it a go.



Every time I edit a page, my signature get's added automatically to the 
top. Is this intentional?


I note that wiki links with a space in are never able to be shown. The 
error message reports that the name (with spaces removed) is not 
available. No doubt the spaces are removed on retrieval but not on creation.


I note that the subject line may be specified on creation and edit but 
is ignored.


Are the wiki rooms safe to manipulate via imap?
Or would they need magic headers with an RFC822 representation so as to 
make them easier to
I was expecting cunning use of Supersedes: and In-Reply-To: and things 
like that... not that I'm complaining...


(I see that the add-floors capability is still broken/missing)


Sam


[Citadel Development] Re: [SCM] citadel.org branch, master, updated. e396526ea63700bee599f96fc03e72fc8ea503c2

2011-01-11 Thread samjam


On 11/01/11 05:09, IGnatius T Foobar wrote:

It's been a productive evening.  :)

  Wiki now works and looks good, even in guest mode.


Thanks very much. I'll give it a go.

I'll give guest mode a go too, I've never tried that yet.

Sam


[Citadel Development] Re: [SCM] citadel.org branch, libevent, updated. ee15c03b742bbedd404642c9f1306fa3949d00c7

2011-01-07 Thread samjam


Why disable c-ares? - I guess I'm using it. Should I rebuild with this 
commit?


Sam

On 07/01/11 11:07, dothebart wrote:

Push to the project "citadel.org ": The branch, libevent has been updated
via  ee15c03b742bbedd404642c9f1306fa3949d00c7 (commit)
via  83ff5dd0d51f8bc4e1f3a37e0eac3bbdc71af842 (commit)
   from  d268f98de5cfcd79b55869b79cc08db6e028c108 (commit)

Those revisions listed above that are new to this repository have not appeared 
on any other notification email; so we list those revisions in full, below.
- Log -
http://code.citadel.org/cgit.cgi/git.citadel.org/commit/?id=ee15c03b742bbedd404642c9f1306fa3949d00c7
commit ee15c03b742bbedd404642c9f1306fa3949d00c7
Author: Wilfried Goesgens
Date:   Fri Jan 7 12:05:22 2011 +0100

 libev/libc-ares migration

  - disable c-ares for now
  - add fixed ip to connect instead of looked up ip

http://code.citadel.org/cgit.cgi/git.citadel.org/commit/?id=83ff5dd0d51f8bc4e1f3a37e0eac3bbdc71af842
commit 83ff5dd0d51f8bc4e1f3a37e0eac3bbdc71af842
Author: Wilfried Goesgens
Date:   Fri Jan 7 12:04:21 2011 +0100

 libev migration - shutdown cleanly.

---

Summary of changes:
  citadel/event_client.c |8 +++--
  citadel/modules/eventclient/serv_eventclient.c |3 +-
  citadel/modules/smtp/serv_smtpeventclient.c|   37 ++-
  3 files changed, 29 insertions(+), 19 deletions(-)


hooks/post-receive




[Citadel Development] Add, Change or Delete floors

2011-01-07 Thread samjam


On yesterdays HEAD I can't create floors - the "Add, Change or Delete 
floors" link from advanced goes to "/webcit/display_floorconfig" which 
actually displays the "Advanced" menu and not any kind of floor config menu.


Sam


[Citadel Development] Re: wiki still does nothing

2011-01-07 Thread samjam

On 01/01/11 11:58, samjam wrote:
With master HEAD I create a new wiki room. When viewing, I see this 
message:


*There is no page called 'home' here.*

Select the 'Edit this page' link in the room banner if you would like 
to create this page.


If I select edit, and save the page, I still see the same message. No 
home page is ever created.

Any advice here?

Sam


[Citadel Development] edit room does not populate radio boxes

2011-01-01 Thread samjam


The edit_room view does not pre-populate radio boxes which the check 
mark, thus any room when editing shows all checkboxes as unchecked


[Citadel Development] wiki still does nothing

2011-01-01 Thread samjam

With master HEAD I create a new wiki room. When viewing, I see this message:

*There is no page called 'home' here.*

Select the 'Edit this page' link in the room banner if you would like to 
create this page.


If I select edit, and save the page, I still see the same message. No 
home page is ever created.


[Citadel Development] webcit create new room broken

2011-01-01 Thread samjam


The create new room page in webcit is broken on master HEAD
The main form to provide room details is permanently scrolled to the 
bottom and has no scroll-bars, so I can't see anything above the "Type 
of room" and so can't enter these details.


[Citadel Development] To complete this action, you must log in. FIXME localize this string

2011-01-01 Thread samjam


  
  
I just installed HEAD from master branch, and using webcit when I
try to "write a message" I get this popup:

  

To complete this action, you must log in. FIXME localize this string

When I try to log in again I get the error:

Already logged in.

(which I knew anyway - but it still wants be to log in - darned
machine)
  



[Citadel Development] Re: [SCM] citadel.org branch, master, updated. 2b54d172dce8b1b30dc9cc616edfab531dfeb207

2010-12-30 Thread samjam


On 29/12/10 18:45, ajc wrote:

Push to the project "citadel.org ": The branch, master has been updated
via  2b54d172dce8b1b30dc9cc616edfab531dfeb207 (commit)
   from  0bdbaf2df45e3652253b05541800843a07f47852 (commit)

Those revisions listed above that are new to this repository have not appeared 
on any other notification email; so we list those revisions in full, below.
- Log -
http://code.citadel.org/cgit.cgi/git.citadel.org/commit/?id=2b54d172dce8b1b30dc9cc616edfab531dfeb207
commit 2b54d172dce8b1b30dc9cc616edfab531dfeb207
Author: Art Cancro
Date:   Wed Dec 29 13:43:58 2010 -0500

 Changed 'free software' to 'open source' to piss off Richard Stallman


Hey, watch it, I'm a paying member of the FSF. Now I'm going to have to 
preach to you.


Why did you change it really? (I don't want my use of citadel to be a 
pawn in anyone's silly games)


Sam


[Citadel Development] Re: mime safe these days?

2010-12-15 Thread samjam

On 15/12/10 09:10, dothebart wrote:


Di Dez 14 2010 13:50:44 EST von samjam @ Uncensored Betreff: Re:
mime safe these days?

On 14/12/10 11:03, dothebart wrote:

i've got a mail where just the attached vcard is shown, and
the actual
content isn't detected, but we should do that later on, since its
going to involve functional changes,

That seems a good reason not to upgrade - unless it only affects
webcit?

Sam

well, i'd say it vice versa, its a good time to upgrade.

its used in webcit and citserver.

it should give you a speedup with big messages with several base64 
encoded messages, since before we would decode all of them regardless 
we need it decoded or not.


currently my next target is some experiment with libevent and 
rewriting the SMTP client, so some time till the next mimeparser 
attack will hapen ;-)




So in what circumstances will users be unable to read parts of messages 
that have a vcard attached?


Sam


[Citadel Development] Re: mime safe these days?

2010-12-14 Thread samjam


On 14/12/10 11:03, dothebart wrote:
i've got a mail where just the attached vcard is shown, and the actual 
content isn't detected, but we should do that later on, since its 
going to involve functional changes, 


That seems a good reason not to upgrade - unless it only affects webcit?

Sam


[Citadel Development] mime safe these days?

2010-12-14 Thread samjam


I'm ready to build and deploy git HEAD if the mime stuff is working again.

Is it?

Sam


[Citadel Development] Re: [SCM] citadel.org branch, master, updated. f56c54a0313a60d1a692dcae9fe3fbd9e25c4d8c

2010-11-22 Thread samjam


On 22/11/10 23:51, dothebart wrote:


ok, two questions here...

- do we also have mime containers with binary encoding?

- while recursing into sub-mimecontainers... do they have to be 
decoded first? where does the recursion start?


so far if we have an email with for example wmv's or other big shit 
attached, we will decode the base64 regardles we need it or not; and 
not just once; 3-times for love...


The 'homework helpers' mail parses correctly.



also a reminder about the "mime types not served properly" in the hot 
list. Does message 2851872 in citadel display properly now with these 
changes?


Sam


[Citadel Development] Re: installation failed

2010-11-18 Thread samjam


On 18/11/10 12:41, IGnatius T Foobar wrote:

I'm more concerned with the fact that he posted a newbie installation question
to the developer list.  It shows that he didn't bother to read the instructions
for requesting help.


yeah but can you see the "citadel deleted my hard disk" reports? "I 
did what the devs said and it wiped all my system and lost loads of user 
emails!"

Ouch!



[Citadel Development] Re: installation failed

2010-11-18 Thread samjam


On 17/11/10 20:17, IGnatius T Foobar wrote:

  >how to install citadel on centos 5
  >i did easy install,

  Log in as root and enter the following command:

  rm -rf /


Don't do that. I'm guessing that IGnatius was just over-tired.

If you are running roundcube, then you are probably running apache, so 
you need to either run webcit on a different port or use the apache 
proxy passthrough module.


Sam


[Citadel Development] Re: (no subject)

2010-11-17 Thread samjam


On 16/11/10 22:29, dothebart wrote:


Ok, most of the needed bugfixes were cherry-picked into stable-78x.

this one i'd like to discuss first, 'caus its a little more intrusive 
then the other ones; its changes are primarily intended to get a SMTP 
client timeout:


http://code.citadel.org/cgit.cgi/git.citadel.org/commit/?id=a1b7d9e895e73401161427363611b0160f51225f
http://code.citadel.org/cgit.cgi/git.citadel.org/commit/?id=9148bf110ec104dd6035c8f511d4c88afb276278

Client-sockets are in non-blocking mode now; we have timeouts after 
which we abort the SMTP-sesison.


This saves us from trapping into tarpits, or just connecting to 
SMTP-servers that won't send us a greeting within 5 seconds.




I think 5 seconds is a bit low for normal slowness. Although most sites 
respond more quickly, 5 seconds is still a short cutoff.


Some sites have a latency of a few seconds, and if they need do do DNS 
lookup as well over a congested link, 5 seconds will cause failure 
needlessly.


I'd favour at least 30 seconds.

Sam


[Citadel Development] Re: IMAP on outlook express

2010-11-15 Thread samjam


On 15/11/10 11:53, dothebart wrote:


with current git master? or older revisions?


git master as of a couple of weeks ago


I've tried with outlook 2k3, and fixed a bug last weekend.


Outlook express, though, not same parentage at all


if that doesn't fix their trouble, could you please do a tcpdump? (see 
the faq for details)



will do

Thanks

Sam


[Citadel Development] IMAP on outlook express

2010-11-15 Thread samjam


I've got a user with outlook express and IMAP is behaving rotten - they 
can't even subscribe to their own inbox.


I don't have access to such software anymore, anyone here can try it?

Sam


[Citadel Development] [PATCH] Remove space between floor names for IMAP compliance

2010-10-22 Thread samjam


Otherwise causes failures with strict com.sun.mail.imap, causing:

Caused by: javax.mail.MessagingException: Missing '(' at start of Namespace;
nested exception is:
com.sun.mail.iap.ProtocolException: Missing '(' at start of Namespace
at com.sun.mail.imap.IMAPStore.getNamespaces(IMAPStore.java:1505)
at com.sun.mail.imap.IMAPStore.getPersonalNamespaces(IMAPStore.java:1462)
---
 citadel/modules/imap/serv_imap.c |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/citadel/modules/imap/serv_imap.c b/citadel/modules/imap/serv_imap.c
index a7c3cb1..fba7c45 100644
--- a/citadel/modules/imap/serv_imap.c
+++ b/citadel/modules/imap/serv_imap.c
@@ -912,7 +912,6 @@ void imap_namespace(int num_parms, ConstStr *Params)
 	for (i = 0; i < MAXFLOORS; ++i) {
 		fl = CtdlGetCachedFloor(i);
 		if (fl->f_flags & F_INUSE) {
-			if (floors > 0) cprintf(" ");
 			cprintf("(");
 			snprintf(Namespace, sizeof(Namespace), "%s/", fl->f_name);
 			plain_imap_strout(Namespace);



[Citadel Development] Re: [PATCH] Remove space between floor names for IMAP compliance

2010-10-22 Thread samjam


Hmmm looks like a bug in citadel/webcit, the message I sent had this body, which shows up in IMAP but not webcit:
Otherwise causes failures with strict com.sun.mail.imap, causing:  Caused by: javax.mail.MessagingException: Missing '(' at start of Namespace; nested exception is: com.sun.mail.iap.ProtocolException: Missing '(' at start of Namespace at com.sun.mail.imap.IMAPStore.getNamespaces(IMAPStore.java:1505) at com.sun.mail.imap.IMAPStore.getPersonalNamespaces(IMAPStore.java:1462) ---  citadel/modules/imap/serv_imap.c |    1 -  1 files changed, 0 insertions(+), 1 deletions(-)




[Citadel Development] Re: Commit log to refs/heads/master

2010-09-29 Thread samjam


 

Wed Sep 29 2010  6:46:48 am EDT EDT from   dothebart @ Uncensored  Subject: Re: Commit log to refs/heads/master

hm, maybe the leading / is wrong? /webcit/ should have been entered by the user in advance, and webcit just ignores/keeps it.


no doubt, as you say, the leading / is wrong.

remember that you need to restart webcit if you add new files to any of its static & template directories.

In my case it was browser-side caching.

Yes, there shouldn't be any links to external resources ;-)

 




[Citadel Development] Loading directly from getsatisfaction

2010-09-29 Thread samjam


Why are the new templates loading css direct from getsatisfaction?
Warning: Unknown property 'border-radius'.  Declaration dropped.Source File: http://assets1.getsatisfaction.com/stylesheets/42cdb3c052/topic.cssLine: 405
Sam
 




[Citadel Development] Re: Commit log to refs/heads/master

2010-09-29 Thread samjam


 

Wed Sep 29 2010  3:52:52 am EDT EDT from   samjam @ Uncensored  Subject: Re: Commit log to refs/heads/master

 

Tue Sep 28 2010  5:43:40 pm EDT EDT from  "Art Cancro"   Subject: Commit log to refs/heads/master
 Files: 539dc48c5443282a65bb7b600142fee7229a7e4d webcit/static/styles/webcit.css  Drop shadows under sticky notes. Cool! 

behavior: url(/static/styles/PIE.htc);shouldn't that be
behavior: url(/webcit/static/styles/PIE.htc);?


err. maybe not, /static/styles/PIE.htc works for me after all, I'm just trying to work out why I'm not getting any of the new effects.




[Citadel Development] Re: Commit log to refs/heads/master

2010-09-29 Thread samjam


 

Tue Sep 28 2010  5:43:40 pm EDT EDT from  "Art Cancro"   Subject: Commit log to refs/heads/master
 Files: 539dc48c5443282a65bb7b600142fee7229a7e4d webcit/static/styles/webcit.css  Drop shadows under sticky notes. Cool! 

behavior: url(/static/styles/PIE.htc);shouldn't that be
behavior: url(/webcit/static/styles/PIE.htc);?




[Citadel Development] Re: Commit log to refs/heads/master

2010-09-20 Thread samjam


 

Tue Sep 14 2010  1:22:03 pm EDT EDT from   IGnatius T Foobar @ Uncensored  Subject: Re: Commit log to refs/heads/master


How is this information stored on disk?   
Which information?  


The id's of messages in rooms. Is it a list or a tree or a hash or a string?




[Citadel Development] Re: Commit log to refs/heads/master

2010-09-20 Thread samjam


 

Fri Sep 10 2010  4:36:38 pm EDT EDT from  "Art Cancro"   Subject: Commit log to refs/heads/master
 Files: cb7c600b56cf213ac36464ce85302192f213b03a citadel/msgbase.c  Applied samjam's CtdlMessageInRoom() patch but wrapped it around an #ifdef pending a performance review. I suspect that this could cause a problem on rooms with tens of thousands of messages. 

How is this information stored on disk?




[Citadel Development] Sender address broken

2010-09-20 Thread samjam


In nearly git-head of citadel, composing a mail message with webcit doesn't let me choose my identity, doesn't even choose my primary internet email address, but insists on making my from address be user.n...@full.host.name instead of u...@domain.name
I ran IGAB command but it made no difference.
In the end I had to make a change to my personal vcard (and then change it back). Possibly whatever happened then (perhaps due to an upgrade) should happen automatically on login.
Sam




[Citadel Development] Edit drafts, was Re: others messages

2010-09-20 Thread samjam


I think the initial HTTP handler should load the message from drafts and store it in the session, and then issue an HTTP redirect to the compose screen with a force-room.
Thus (because of the redirect) a browser refresh will be to the redirected URL in the room to continue the edit.
Sam




[Citadel Development] Edit drafts, was Re: others messages

2010-09-20 Thread samjam


 

Sat Sep 11 2010  7:34:03 am EDT EDT from   dothebart @ Uncensored  Subject: Edit drafts, was Re: others messages

 

Fr Sep 10 2010 11:28:58 EDT von   samjam @ Uncensored  Betreff: Edit drafts, was Re: others messages

 

Fri Sep 10 2010 11:15:23 am EDT EDT from   dothebart @ Uncensored  Subject: Edit drafts, was Re: others messages

Sam, have a look (from this message editing thing i'm just using):
<input type="hidden" name="force_room" value="Citadel Development">
its just posted to the server. If you add an attachment, the message isn't reloaded from the server, but you'll rather get the stuff you just posted next to the upload back into your edit window.
Once you press 'send' it will go to that room, and post the message from there.
(ok, we have one cavehat here: the post button is labeled differently depending on the view of the room, which probably won't work out in some cases, but I realy think we can live with that)
if, instead of THISROOM:NAME (is it? didn't look..) you offer a way to go to CITEROOM instead aren't we just done with it?
please correct me if i'm wrong.


You don't cover all the cases. The case where the use adds an attachment isn't the same as the user pressing refresh to re-load the page (which is likely on a poor network - GPRS or 3G).
But also we need to goto the room before we show the edit page so that the To, Cc are (or are not, for room posts) properly shown (it's not just the post button).


in that case he's still in the drafts room, and just reloads what got him to the edit window; so loading the initial edit screen again isn't a problem.

However, perhaps the message-to-be-edited body can be preserved in the same way that attachments are preserved.

this is not neccesary, as when pressing upload, you also post the current state of your message, which then in term is displayed to you in the previous state again.

So when the edit window is bought up it looks at the id of the message to be edited and checks to see if the message is already saved in the session. If so, it probably has already done GOTO the right room (but it can do it anyway). If not, it will load the message, save it in the session, and then goto the right room.
If the user clicks refresh (having already done goto the right room) the original message will fail to load again but has already been saved in the session (like an attachment) and so can still be used.
Sam

the goto just happenes if the user presses the final submit button, so unless he does that, he's still in the drafts room...
hm...
though it would be nice to have the room banner of your target room, right? and... maybe a dropdown list of your drafts to choose? which wouldn't work the way either of us stated above...


Not just the banner, but a mail message needs To and CC, but a normal room message does not. Then think draft calendar items. It would be better to go back to the room you were originally composing in while you continue composing.




[Citadel Development] Re: Fw: [PATCH] Fix typo that prevent message summary from working

2010-09-20 Thread samjam


Please could somebody apply this patch. Without it, mailbox view doesn't work.

Mon Sep 06 2010  7:14:12 am EDT EDT from   samjam @ Uncensored  Subject: Fw: [PATCH] Fix typo that prevent message summary from working

Fix typo that prevent message summary from working
--- webcit/static/t/mailsummary_json.html |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) 
 


 

diff --git a/webcit/static/t/mailsummary_json.html b/webcit/static/t/mailsummary_json.html
index 9bf68eb..2e3a749 100644
--- a/webcit/static/t/mailsummary_json.html
+++ b/webcit/static/t/mailsummary_json.html
@@ -1,5 +1,5 @@
 { "nummsgs": ,
-"startmsg": ,
+"startmsg": ,
 "roomname": "",
 "msgs": [  ]


[Citadel Development] Re: others messages

2010-09-20 Thread samjam


 

Mon Sep 06 2010 11:09:28 am EDT EDT from   IGnatius T Foobar @ Uncensored  Subject: Re: others messages

Yes I did, but it has not been implemented.  


I post a patch below. It works for me but has two possible optimizations that could follow:
1. I believe the message list is sorted so the loop could terminate early if msglist[i]>msgnum
2. The message list could be cached in the room somewhere
Also CtdlFetchMessage checks with CtdlMessageInRoom - perhaps this is not needed? I don't really know, but it seems a good idea from security as long as citadel replication enters the room first. Maybe being in CtdlFetchMessage breaks the xmlbackup?




[Citadel Development] Edit drafts, was Re: others messages

2010-09-20 Thread samjam


 

Fri Sep 10 2010  7:49:21 am EDT EDT from   samjam @ Uncensored  Subject: Re: others messages

We'll have to revert Wilfried's modifications to drafts in "82932fb6b663050ba7812555ddfb526a4fbe98b0" described as "Modification: use force_room instead of creating a new solution" because force_room changes room before reading the message out of the current room. I'll supply a fix for that soon. 

Well... I'm not sure about that either. Perhaps Wilfrieds answer is best, but then we need an option to explicitly load a message out of the non-current room.
Certainly we can't have tmplput_EDIT_MAIL_BODY() change the room, because a browser refresh would then fail to load the message from drafts as the room will have been changed.
Perhaps the answer is for tmplput_EDIT_MAIL_BODY() to be told the original room as well as message number so that it can read the message from that room by temporarily changing back to the room (after the force room) and then changing back to the force room again.




[Citadel Development] Re: others messages

2010-09-20 Thread samjam


 

Fri Sep 10 2010  7:36:29 am EDT EDT from   samjam @ Uncensored  Subject: Re: others messages

 

Mon Sep 06 2010 11:09:28 am EDT EDT from   IGnatius T Foobar @ Uncensored  Subject: Re: others messages

Yes I did, but it has not been implemented.  


I post a patch below. It works for me but has two possible optimizations that could follow:
1. I believe the message list is sorted so the loop could terminate early if msglist[i]>msgnum
2. The message list could be cached in the room somewhere
Also CtdlFetchMessage checks with CtdlMessageInRoom - perhaps this is not needed? I don't really know, but it seems a good idea from security as long as citadel replication enters the room first. Maybe being in CtdlFetchMessage breaks the xmlbackup?


We'll have to revert Wilfried's modifications to drafts in "82932fb6b663050ba7812555ddfb526a4fbe98b0" described as "Modification: use force_room instead of creating a new solution" because force_room changes room before reading the message out of the current room. I'll supply a fix for that soon.




[Citadel Development] Fw: [PATCH] Don't serve up messages unless they are in the validated room

2010-09-20 Thread samjam
Don't serve up messages unless they are in the validated room  
 Otherwise users can issue MSG4 with message-id's from a private
 room and read private messages
 ---
 citadel/msgbase.c |   52
+++-
 1 files changed, 51 insertions(+), 1 deletions(-)
 


  

 diff --git a/citadel/msgbase.c b/citadel/msgbase.c
index d7f832a..560b9b2 100644
--- a/citadel/msgbase.c
+++ b/citadel/msgbase.c
@@ -1097,7 +1097,47 @@ void mime_spew_section(char *name, char *filename, char *partnum, char *disp,
 	}
 }
 
+/*
+ * Check if a message is in the current room.
+ * This is used by CtdlFetchMessage to prevent random picking
+ * of messages from users private rooms
+ *
+ * The message list should probably be cached against the CC->room
+ */
+int CtdlMessageInRoom(long msgnum)
+{
+	visit vbuf;
+	struct cdbdata *cdbfr;
+
+	/* Learn about the user and room in question */
+	CtdlGetUser(&CC->user, CC->curr_user);
+	CtdlGetRelationship(&vbuf, &CC->user, &CC->room);
 
+	/* Load the message list */
+	cdbfr = cdb_fetch(CDB_MSGLISTS, &CC->room.QRnumber, sizeof(long));
+	if (cdbfr != NULL) {
+		long *msglist = NULL;
+		int num_msgs = 0;
+		int i;
+		int r = 0;
+		
+		msglist = (long *) cdbfr->ptr;
+		num_msgs = cdbfr->len / sizeof(long);
+
+		/* search for message msgnum */
+		for (i=0; i

[Citadel Development] Edit drafts, was Re: others messages

2010-09-20 Thread samjam


 

Fri Sep 10 2010  9:51:16 am EDT EDT from   dothebart @ Uncensored  Subject: Edit drafts, was Re: others messages

 

Fr Sep 10 2010 08:32:44 EDT von   samjam @ Uncensored  Betreff: Edit drafts, was Re: others messages

 

Fri Sep 10 2010  7:49:21 am EDT EDT from   samjam @ Uncensored  Subject: Re: others messages

We'll have to revert Wilfried's modifications to drafts in "82932fb6b663050ba7812555ddfb526a4fbe98b0" described as "Modification: use force_room instead of creating a new solution" because force_room changes room before reading the message out of the current room. I'll supply a fix for that soon. 

Well... I'm not sure about that either. Perhaps Wilfrieds answer is best, but then we need an option to explicitly load a message out of the non-current room.
Certainly we can't have tmplput_EDIT_MAIL_BODY() change the room, because a browser refresh would then fail to load the message from drafts as the room will have been changed.
Perhaps the answer is for tmplput_EDIT_MAIL_BODY() to be told the original room as well as message number so that it can read the message from that room by temporarily changing back to the room (after the force room) and then changing back to the force room again.


force-room is the room to enter when posting the message (not neccesarily the one to load the cited message from...)  you'd probably have to override the current logic in case of having that header in a mail..
The original room is a header sent with the MSG4 primary answer?


If the X-Citadel-Room header is set, then we go to this room, otherwise we go to _MAIL_ - but, only after fetching the message.

in that case just register a handler to it, add a conditional that returns whether its set or not, and a tmplput that puts it into the template

If tmplput_EDIT_MAIL_BODY() will issue the GOTO to go back to the room containing the message to be edited in order to get the message(after the force room; or for the case where the user clicks refresh) then the message must not come from a password protected room or the user would have to enter their password again.
So we need to be able to get the message to be edited before we change rooms (meaning we can't use force_room, but it seems wrong for a templ_put function to change room).
But if the user then clicks refresh on the browser we will have already  left that room and won't be able to fetch it again. If the room whose  message we are editing is a password room, we won't be able to go back  to that room to get it. Maybe we can add something to the session to  allow that message to be reloaded even if we are in the wrong room.




[Citadel Development] Edit drafts, was Re: others messages

2010-09-20 Thread samjam


 

Fri Sep 10 2010 11:15:23 am EDT EDT from   dothebart @ Uncensored  Subject: Edit drafts, was Re: others messages


Sam, have a look (from this message editing thing i'm just using):

its just posted to the server. If you add an attachment, the message isn't reloaded from the server, but you'll rather get the stuff you just posted next to the upload back into your edit window.
Once you press 'send' it will go to that room, and post the message from there.
(ok, we have one cavehat here: the post button is labeled differently depending on the view of the room, which probably won't work out in some cases, but I realy think we can live with that)
if, instead of THISROOM:NAME (is it? didn't look..) you offer a way to go to CITEROOM instead aren't we just done with it?
please correct me if i'm wrong.


You don't cover all the cases. The case where the use adds an attachment isn't the same as the user pressing refresh to re-load the page (which is likely on a poor network - GPRS or 3G).
But also we need to goto the room before we show the edit page so that the To, Cc are (or are not, for room posts) properly shown (it's not just the post button).
 
However, perhaps the message-to-be-edited body can be preserved in the same way that attachments are preserved.
So when the edit window is bought up it looks at the id of the message to be edited and checks to see if the message is already saved in the session. If so, it probably has already done GOTO the right room (but it can do it anyway). If not, it will load the message, save it in the session, and then goto the right room.
If the user clicks refresh (having already done goto the right room) the original message will fail to load again but has already been saved in the session (like an attachment) and so can still be used.
Sam




[Citadel Development] Re:

2010-09-20 Thread samjam


 

Wed Sep 08 2010  4:33:02 am EDT EDT from   dothebart @ Uncensored 

MS-RFC-Violator uses the timestamp when it polled the messages from citadel via imap to show and sort them? WTF?


Do you mean that that is how it finds new messages?




[Citadel Development] [PATCH] Allow save-to-drafts without recipients

2010-09-20 Thread samjam
Allow save-to-drafts without recipients  
>

  ---
 citadel/msgbase.c |9 +
 1 files changed, 5 insertions(+), 4 deletions(-)
 


  

Still need to read X-Citadel-Room when resuming from draftsdiff --git a/citadel/msgbase.c b/citadel/msgbase.c
index cd4fd5e..d7f832a 100644
--- a/citadel/msgbase.c
+++ b/citadel/msgbase.c
@@ -4033,12 +4033,13 @@ void cmd_ent0(char *entargs)
 	/* In mailbox rooms we have to behave a little differently --
 	 * make sure the user has specified at least one recipient.  Then
 	 * validate the recipient(s).  We do this for the Mail> room, as
-	 * well as any room which has the "Mailbox" view set.
+	 * well as any room which has the "Mailbox" view set - unless it
+	 * is the DRAFTS room which does not require recipients
 	 */
 
-	if (  ( (CC->room.QRflags & QR_MAILBOX) && (!strcasecmp(&CC->room.QRname[11], MAILROOM)) )
-	   || ( (CC->room.QRflags & QR_MAILBOX) && (CC->curr_view == VIEW_MAILBOX) )
-	) {
+	if ( (  ( (CC->room.QRflags & QR_MAILBOX) && (!strcasecmp(&CC->room.QRname[11], MAILROOM)) )
+	 || ( (CC->room.QRflags & QR_MAILBOX) && (CC->curr_view == VIEW_MAILBOX) )
+	) && (strcasecmp(&CC->room.QRname[11], USERDRAFTROOM)) !=0 ) {
 		if (CC->user.axlevel < AxProbU) {
 			strcpy(recp, "sysop");
 			strcpy(cc, "");


[Citadel Development] Re:

2010-09-20 Thread samjam


 

Mon Sep 06 2010 11:11:50 am EDT EDT from   IGnatius T Foobar @ Uncensored 

Ok folks, commit 8f713e8bba92ebb93a9a486d81ec7e966583fd9e in branch stable-78x is the official 7.84 release of all components.  tarballs have been built and uploaded.  


Did you push?
Sam




[Citadel Development] Re: dot stuffing broken

2010-09-20 Thread samjam


 

Mon Sep 06 2010  3:59:31 pm EDT EDT from   dothebart @ Uncensored  Subject: Re: dot stuffing broken

since in SMTP the dot in the first column on an empty line finishes the message body, AFAIR dots are just doubled?


No, just an extra dot is added

please provide a printf|nc shellscript demonstrating your claim.

If I do a print/nc test, then my own manual SMTP encoding is open to claim of error which would cloud the issue.
A safer test is to send a plain-text email from multiple mail clients.
I've sent a plain text email from outlook (as shown below) and thunderbird and as demonstrated an additional dot has been added to the final message body.
Also an additional leading blank line (and indent for thunderbird, but that's thunderbirds fault) is added; below is an ngrep -x capture of a plain-text message from outlook over the smtp port
58 2d 4d 6c 66 2d 56 65    72 73 69 6f 6e 3a 20 37    X-Mlf-Version: 7 2e 32 2e 34 2e 33 37 32    35 0d 0a 58 2d 4d 6c 66    .2.4.3725..X-Mlf 2d 55 6e 69 71 75 65 49    64 3a 20 6f 32 30 31 30    -UniqueId: o2010 30 39 30 37 30 36 34 33    35 38 30 30 31 32 30 36    0907064358001206 32 0d 0a 0d 0a 31 64 6f    74 0d 0a 2e 2e 0d 0a 32    21dot..2 64 6f 74 0d 0a 2e 2e 2e 0d 0a 33 64 6f 74 0d 0a    dot...3dot.. 2e 2e 2e 2e 0d 0a 34 64    6f 74 0d 0a 2e 2e 2e 2e ..4dot.. 2e 0d 0a 0d 0a 2e 0d 0a   
The message sent was:
1dot.2dot..3dot...4dot...
And so we see from ngrep above that in SMTP an extra dot was added by exchange server when talking to citadel. This is correct.
The message shown in thunderbird via imap is:
1dot..2dot...3dot4dot.
And so we see that the extra dot sent via smtp is still in the message and has not been removed by citadel.
 
Also, in the ngrep, note the 0d 0a 0d 0a in intalics showing that there is only one blank line after the headers are terminated, but thunderbird IMAP shows two blank lines. This happens for messages sent via SMTP but not messages sent via webcit.
In these two instances, citadel SMTP has changed the message.
Sam


Mo Sep 06 2010 11:27:53 EDT von   samjam @ Uncensored  Betreff: dot stuffing broken

Using SMTP, send yourself a plain-text message with a body like this:

1dot
.
2dots
..
3dots
...
4dots


And what you will get in your inbox is a message like this:

  1dot..2dots...3dots4dots.

The extra dots added by SMTP don't seem to get removed by citadel


 

 




[Citadel Development] Re:

2010-09-20 Thread samjam


 

Tue Sep 07 2010  8:29:02 am EDT EDT from   IGnatius T Foobar @ Uncensored  Subject: Re:


Did you push?
Yes.  


silly me;

git log | less -p 8f713e8bba92ebb93a9a486d81ec7e966583fd9e

is not the same as

git log 8f713e8bba92ebb93a9a486d81ec7e966583fd9e

Sam




[Citadel Development] Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

2010-09-20 Thread samjam


 

Mon Sep 06 2010  5:11:39 am EDT EDT from   samjam @ Uncensored  Subject: Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

 

Sun Sep 05 2010  2:24:33 pm EDT EDT from   dothebart @ Uncensored  Subject: Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

hm,
did you run that script in advance?
since its not clever to rename subdirectories (citadel/ to citadel-7.83) in a git workingcopy (and symlink citadel/ to it), I instead made it create the symlink to the citadel directory.
If you already have it the other way arround, it won't work for you then ;-)


Not at all.
Originally I did what you did, but it's not enough - ./buildpackage debian src doesn't work and ./buildpackage src produces different paths to originally (because tar follows the symlink before tar-ing).
With just your patch, clean "/.buildpackage debain" were failing and symlinks-to-self of citadel was created in the citadel folder and of libcitadel in the libcitadel folder which made builds fail.
Sam


As ti turns out, that patch isn't very good. I've been having problems with stgit missing chunks or whole changesets.
I'm just rebasing master (and confirmed the symlink loop) and will re-do the patch and post shortly.
Sam




[Citadel Development] Re: Fw: [PATCH] Re-enable drafts

2010-09-20 Thread samjam


 

Sun Sep 05 2010  2:44:51 pm EDT EDT from   dothebart @ Uncensored  Subject: Re: Fw: [PATCH] Re-enable drafts

afair IG disabled it because of it was getting late to get a 7.60 release out; maybe the history of this room of that time shows a more detailed reason. I think some of the concepts weren't all clean yet; probably when that 'save to drafts' button should be shown and when not; or, what to do with a draft if it was for example targeted to a public room (a forum in advance) how' d you continue posting that message into that room (and not just send it out as an email) ?
I think we should discuss these (and other questions) and find a solution to it.


Originally, the room was saved as an extra message header so the draft could be picked-up back to the same room.
I'll check it all over and post back.
Sam

diff --git a/citadel/euidindex.c b/citadel/euidindex.c
index 842fa1d..8ca39ee 100644
--- a/citadel/euidindex.c
+++ b/citadel/euidindex.c
@@ -69,6 +69,7 @@ int DoesThisRoomNeedEuidIndexing(struct ctdlroom *qrbuf) {
 		case VIEW_BBS:		return(0);
 		case VIEW_MAILBOX:	return(0);
 		case VIEW_ADDRESSBOOK:	return(1);
+		case VIEW_DRAFTS:   return(0);
 		case VIEW_CALENDAR:	return(1);
 		case VIEW_TASKS:	return(1);
 		case VIEW_NOTES:	return(1);
diff --git a/citadel/user_ops.c b/citadel/user_ops.c
index 2f23c38..d68d334 100644
--- a/citadel/user_ops.c
+++ b/citadel/user_ops.c
@@ -739,7 +739,7 @@ void do_login(void)
 	CtdlCreateRoom(MAILROOM, 4, "", 0, 1, 0, VIEW_MAILBOX);
 	CtdlCreateRoom(SENTITEMS, 4, "", 0, 1, 0, VIEW_MAILBOX);
 	CtdlCreateRoom(USERTRASHROOM, 4, "", 0, 1, 0, VIEW_MAILBOX);
-	/* CtdlCreateRoom(USERDRAFTROOM, 4, "", 0, 1, 0, VIEW_MAILBOX); temporarily disabled for 7.60 */
+	CtdlCreateRoom(USERDRAFTROOM, 4, "", 0, 1, 0, VIEW_MAILBOX);
 
 	/* Run any startup routines registered by loadable modules */
 	PerformSessionHooks(EVT_LOGIN);
diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h
index 69781b6..82c0ec6 100644
--- a/libcitadel/lib/libcitadel.h
+++ b/libcitadel/lib/libcitadel.h
@@ -103,6 +103,7 @@ typedef enum _room_views {
 	VIEW_CALBRIEF		= 7,	/* Brief Calendar view */
 	VIEW_JOURNAL		= 8,	/* Journal view */
 	VIEW_BLOG		= 9,	/* Blog view */
+	VIEW_DRAFTS		= 10, 	/* Drafts view */
 	VIEW_MAX
 } ROOM_VIEWS;
 
diff --git a/webcit/static/t/edit_message.html b/webcit/static/t/edit_message.html
index 600dd67..7febb91 100644
--- a/webcit/static/t/edit_message.html
+++ b/webcit/static/t/edit_message.html
@@ -14,10 +14,8 @@
 ">
 ">
  
-
   ">
 
   
diff --git a/webcit/static/t/view_message.html b/webcit/static/t/view_message.html
index aa2150e..941f98b 100644
--- a/webcit/static/t/view_message.html
+++ b/webcit/static/t/view_message.html
@@ -16,9 +16,7 @@ onMouseOut=document.getElementById("msg").style.visibility="hidden
 
  
  
-
 
%7C?subject=">[] 
%7C?replyquote=&recp=%22%22%3C%3E?subject=">[] 


[Citadel Development] Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

2010-09-20 Thread samjam


The symlink loop occurs when this line is executed:
ln -sf libcitadel libcitadel-7.83cd libcitadel-7.83
if libcitadel-7.83 is already a symlink pointing to libcitadel - so the symlink get's made inside libcitadel. The -f option doesn't have the desired effect if the pre-existing symlink target is a directory.
Patch to follow.
It would help sending git-patches if drafts-mode patch could be enabled on uncensored; git-imap-send dumps the diff and message in my drafts folder ready for me to pick-up.




[Citadel Development] Fw: [PATCH] Fix typo that prevent message summary from working

2010-09-20 Thread samjam
Fix typo that prevent message summary from working  

  ---
 webcit/static/t/mailsummary_json.html |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
 


  

 diff --git a/webcit/static/t/mailsummary_json.html b/webcit/static/t/mailsummary_json.html
index 9bf68eb..2e3a749 100644
--- a/webcit/static/t/mailsummary_json.html
+++ b/webcit/static/t/mailsummary_json.html
@@ -1,5 +1,5 @@
 { "nummsgs": ,
-"startmsg": ,
+"startmsg": ,
 "roomname": "",
 "msgs": [  ]


[Citadel Development] Fw: [PATCH] Fake the old version number for the paths inside the tar files

2010-09-20 Thread samjam
Helps for:
 ./buildpackes debian src
 and
 ./buildpackages sourcedist
 
 Also prevent the symlink from being created inside the target
 if the symlink already exists and points to the target
 ---
 citadel/buildpackages|   16 
 libcitadel/buildpackages |   15 ---
 webcit/buildpackages |   12 ++--
 3 files changed, 22 insertions(+), 21 deletions(-)
 


  

 diff --git a/citadel/buildpackages b/citadel/buildpackages
index 8b18185..00e12c5 100755
--- a/citadel/buildpackages
+++ b/citadel/buildpackages
@@ -29,6 +29,7 @@ else
 	fi
 	if test "$done" = "false"; then 
 		cd ..
+		rm -f "citadel-$CITADEL_VERSION"
 		ln -sf citadel "citadel-$CITADEL_VERSION"
 		cd "citadel-$CITADEL_VERSION"
 	else
@@ -47,18 +48,17 @@ case $1 in
 	
 	fi
 	if test "$2" == "src"; then
-	cd ..
-	rm -rf tmp
-	mkdir tmp
-	cp -rL citadel-$CITADEL_VERSION tmp
-	cd tmp/citadel-$CITADEL_VERSION
+	rm -fr ../tmp/citadel-$CITADEL_VERSION
+	mkdir -p ../tmp/citadel-$CITADEL_VERSION
+	cp -rL . ../tmp/citadel-$CITADEL_VERSION
+	cd ../tmp/citadel-$CITADEL_VERSION
 	rm -rf `find -name .svn ` svn*tmp config.log config.status
 	find -type f -exec chmod a-x {} \;
 	chmod a+x configure *.sh *.sh.in debian/rules debian/*inst* debian/rules mkinstalldirs
 	cd ..
 	tar -chzf citadel_${CITADEL_VERSION}.orig.tar.gz citadel-${CITADEL_VERSION}/ --exclude "debian/*"
 	pwd
-	cd  citadel-${CITADEL_VERSION}; debuild -S -sa -kw.goesg...@outgesourced.org
+	cd  citadel-${CITADEL_VERSION} && debuild -S -sa -kw.goesg...@outgesourced.org
 	else
 	fakeroot dpkg-buildpackage
 	fi
@@ -100,8 +100,8 @@ email=cita...@outgesourced.org
 
 	;;
 sourcedist)
-	cd ..; tar --exclude .svn --exclude "debian/*" -chvzf citadel-$CITADEL_VERSION.tar.gz citadel-$CITADEL_VERSION/
-	;;
+	cd ..; tar --exclude .svn --exclude "debian/*" -chvzf citadel-$CITADEL_VERSION.tar.gz --transform "s/^citadel/citadel-${CITADEL_VERSION}/" citadel/
+;;
 	*)
 		echo "Not yet implemented. we have: debian "
 		;;
diff --git a/libcitadel/buildpackages b/libcitadel/buildpackages
index 0766d40..54fa75e 100755
--- a/libcitadel/buildpackages
+++ b/libcitadel/buildpackages
@@ -29,6 +29,7 @@ else
 	fi
 	if test "$done" = "false"; then 
 		cd ..
+		rm -f "libcitadel-$LIBCITADEL_VERSION"
 		ln -sf libcitadel "libcitadel-$LIBCITADEL_VERSION" 
 		cd "libcitadel-$LIBCITADEL_VERSION"
 	else
@@ -47,18 +48,17 @@ case $1 in
 	
 	fi
 	if test "$2" == "src"; then
-	cd ..
-	rm -rf tmp
-	mkdir tmp
-	cp -rL libcitadel-$LIBCITADEL_VERSION tmp
-	cd tmp/libcitadel-$LIBCITADEL_VERSION
+	rm -rf ../tmp/libcitadel-$LIBCITADEL_VERSION
+	mkdir -p ../tmp/libcitadel-$LIBCITADEL_VERSION
+	cp -rL . ../tmp/libcitadel-$LIBCITADEL_VERSION
+	cd ../tmp/libcitadel-$LIBCITADEL_VERSION
 	rm -rf `find -name .svn ` svn*tmp config.log config.status `find -name .libs`
 	find -type f -exec chmod a-x {} \;
 	chmod a+x configure
 	cd ..
 	tar -chzf libcitadel_${LIBCITADEL_VERSION}.orig.tar.gz libcitadel-${LIBCITADEL_VERSION}/ --exclude "debian/*"
 	pwd
-	cd  libcitadel-${LIBCITADEL_VERSION}; debuild -S -sa -kw.goesg...@outgesourced.org
+	cd  libcitadel-${LIBCITADEL_VERSION} && debuild -S -sa -kw.goesg...@outgesourced.org
 	else
 	fakeroot dpkg-buildpackage
 	fi
@@ -110,7 +110,8 @@ email=cita...@outgesourced.org
 	--exclude "debian/*" \
 	--exclude "sysdep.h" \
 	\
-	-chvzf libcitadel-$LIBCITADEL_VERSION.tar.gz libcitadel-$LIBCITADEL_VERSION/
+	-cvhzf libcitadel-${LIBCITADEL_VERSION}.tar.gz --transform "s/^libcitadel/libcitadel-${LIBCITADEL_VERSION}/" libcitadel/
+
 	;;
 	*)
 		echo "Not yet implemented. we have: debian "
diff --git a/webcit/buildpackages b/webcit/buildpackages
index 8a066da..5d99504 100755
--- a/webcit/buildpackages
+++ b/webcit/buildpackages
@@ -26,6 +26,7 @@ else
 	fi
 	if test "$done" = "false"; then 
 		cd ..
+		rm -f "webcit-$WEBCIT_VERSION"
 		ln -sf webcit "webcit-$WEBCIT_VERSION"
 		cd "webcit-$WEBCIT_VERSION"
 	else
@@ -42,18 +43,17 @@ case $1 in
 	echo "Upstream Version higher than local."	
 	fi
 	if test "$2" == "src"; then
-	cd ..
 	rm -rf tmp
-	mkdir tmp
-	cp -rL webcit-$WEBCIT_VERSION tmp
-	cd tmp/webcit-$WEBCIT_VERSION
+	mkdir -p ../tmp/webcit-$WEBCIT_VERSION
+	cp -rL . ../tmp/webcit-$WEBCIT_VERSION
+	cd ../tmp/webcit-$WEBCIT_VERSION
 	rm -rf `find -name .svn ` svn*tmp* build-stamp configure-stamp *~ config.guess  config.log config.status autom4te.cache Makefile 
 	find -type f -exec chmod a-x {} \;
 	chmod a+x configure debian/rules po/create-pot.sh mk_module_init.sh
 	cd ..
 	tar -chzf webcit_${WEBCIT_VERSION}.orig.tar.gz webcit-${WEBCIT_VERSION}/ --exclude "debian/*"
 	pwd
-	cd  webcit-${WEBCIT_VERSION}; debuild -S -sa -kw.goesg...@outgesourced.org
+	cd  webcit-$WEBCIT_VERSION && debuild -S -sa -kw.goesg...@outgesourced.org
 	else
 	

[Citadel Development] Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

2010-09-20 Thread samjam


 

Mon Sep 06 2010  7:12:03 am EDT EDT from   samjam @ Uncensored  Subject: Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

The symlink loop occurs when this line is executed:
ln -sf libcitadel libcitadel-7.83cd libcitadel-7.83
if libcitadel-7.83 is already a symlink pointing to libcitadel - so the symlink get's made inside libcitadel. The -f option doesn't have the desired effect if the pre-existing symlink target is a directory.
Patch to follow.
It would help sending git-patches if drafts-mode patch could be enabled on uncensored; git-imap-send dumps the diff and message in my drafts folder ready for me to pick-up.


Although I found the un-quote button works nice. (Why doesn't the un-quote button appear for normal builds, but shows up on uncensored?)




[Citadel Development] others messages

2010-09-20 Thread samjam


citadel still lets a logged in user read messages belonging to any other user.
test:
login as yourself, and try MSG4 with arbitrary message-numbers.
I think Art proposed a fix which would be to cause the MSG* functions to make sure that the requested message was in the current room




[Citadel Development] Re: Fw: [PATCH] Re-enable drafts

2010-09-20 Thread samjam


 

Sun Sep 05 2010  2:44:51 pm EDT EDT from   dothebart @ Uncensored  Subject: Re: Fw: [PATCH] Re-enable drafts

afair IG disabled it because of it was getting late to get a 7.60 release out; maybe the history of this room of that time shows a more detailed reason. I think some of the concepts weren't all clean yet; probably when that 'save to drafts' button should be shown and when not; or, what to do with a draft if it was for example targeted to a public room (a forum in advance) how' d you continue posting that message into that room (and not just send it out as an email) ?
I think we should discuss these (and other questions) and find a solution to it.


Yep; I see that save-to-drafs from a room now complains at lack of recipients. I'll look back to my original patches in my old git-svn tree where recipients weren't required to save-to-drafts and it remembered the active room as an SMTP header.
Sam

diff --git a/citadel/euidindex.c b/citadel/euidindex.c
index 842fa1d..8ca39ee 100644
--- a/citadel/euidindex.c
+++ b/citadel/euidindex.c
@@ -69,6 +69,7 @@ int DoesThisRoomNeedEuidIndexing(struct ctdlroom *qrbuf) {
 		case VIEW_BBS:		return(0);
 		case VIEW_MAILBOX:	return(0);
 		case VIEW_ADDRESSBOOK:	return(1);
+		case VIEW_DRAFTS:   return(0);
 		case VIEW_CALENDAR:	return(1);
 		case VIEW_TASKS:	return(1);
 		case VIEW_NOTES:	return(1);
diff --git a/citadel/user_ops.c b/citadel/user_ops.c
index 2f23c38..d68d334 100644
--- a/citadel/user_ops.c
+++ b/citadel/user_ops.c
@@ -739,7 +739,7 @@ void do_login(void)
 	CtdlCreateRoom(MAILROOM, 4, "", 0, 1, 0, VIEW_MAILBOX);
 	CtdlCreateRoom(SENTITEMS, 4, "", 0, 1, 0, VIEW_MAILBOX);
 	CtdlCreateRoom(USERTRASHROOM, 4, "", 0, 1, 0, VIEW_MAILBOX);
-	/* CtdlCreateRoom(USERDRAFTROOM, 4, "", 0, 1, 0, VIEW_MAILBOX); temporarily disabled for 7.60 */
+	CtdlCreateRoom(USERDRAFTROOM, 4, "", 0, 1, 0, VIEW_MAILBOX);
 
 	/* Run any startup routines registered by loadable modules */
 	PerformSessionHooks(EVT_LOGIN);
diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h
index 69781b6..82c0ec6 100644
--- a/libcitadel/lib/libcitadel.h
+++ b/libcitadel/lib/libcitadel.h
@@ -103,6 +103,7 @@ typedef enum _room_views {
 	VIEW_CALBRIEF		= 7,	/* Brief Calendar view */
 	VIEW_JOURNAL		= 8,	/* Journal view */
 	VIEW_BLOG		= 9,	/* Blog view */
+	VIEW_DRAFTS		= 10, 	/* Drafts view */
 	VIEW_MAX
 } ROOM_VIEWS;
 
diff --git a/webcit/static/t/edit_message.html b/webcit/static/t/edit_message.html
index 600dd67..7febb91 100644
--- a/webcit/static/t/edit_message.html
+++ b/webcit/static/t/edit_message.html
@@ -14,10 +14,8 @@
 ">
 ">
  
-
   ">
 
   
diff --git a/webcit/static/t/view_message.html b/webcit/static/t/view_message.html
index aa2150e..941f98b 100644
--- a/webcit/static/t/view_message.html
+++ b/webcit/static/t/view_message.html
@@ -16,9 +16,7 @@ onMouseOut=document.getElementById("msg").style.visibility="hidden
 
  
  
-
 
%7C?subject=">[] 
%7C?replyquote=&recp=%22%22%3C%3E?subject=">[] 


[Citadel Development] Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

2010-09-20 Thread samjam


 

Sun Sep 05 2010  2:24:33 pm EDT EDT from   dothebart @ Uncensored  Subject: Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

hm,
did you run that script in advance?
since its not clever to rename subdirectories (citadel/ to citadel-7.83) in a git workingcopy (and symlink citadel/ to it), I instead made it create the symlink to the citadel directory.
If you already have it the other way arround, it won't work for you then ;-)


Not at all.
Originally I did what you did, but it's not enough - ./buildpackage debian src doesn't work and ./buildpackage src produces different paths to originally (because tar follows the symlink before tar-ing).
With just your patch, clean "/.buildpackage debain" were failing and symlinks-to-self of citadel was created in the citadel folder and of libcitadel in the libcitadel folder which made builds fail.
Sam

diff --git a/citadel/buildpackages b/citadel/buildpackages
index 8b18185..e78cc71 100755
--- a/citadel/buildpackages
+++ b/citadel/buildpackages
@@ -29,7 +29,7 @@ else
 	fi
 	if test "$done" = "false"; then 
 		cd ..
-		ln -sf citadel "citadel-$CITADEL_VERSION"
+		#ln -sf citadel "citadel-$CITADEL_VERSION"
 		cd "citadel-$CITADEL_VERSION"
 	else
 		cd "../citadel-$CITADEL_VERSION"
@@ -47,18 +47,17 @@ case $1 in
 	
 	fi
 	if test "$2" == "src"; then
-	cd ..
-	rm -rf tmp
-	mkdir tmp
-	cp -rL citadel-$CITADEL_VERSION tmp
-	cd tmp/citadel-$CITADEL_VERSION
+	rm -fr ../tmp/citadel-$CITADEL_VERSION
+	mkdir -p ../tmp/citadel-$CITADEL_VERSION
+	cp -rL . ../tmp/citadel-$CITADEL_VERSION
+	cd ../tmp/citadel-$CITADEL_VERSION
 	rm -rf `find -name .svn ` svn*tmp config.log config.status
 	find -type f -exec chmod a-x {} \;
 	chmod a+x configure *.sh *.sh.in debian/rules debian/*inst* debian/rules mkinstalldirs
 	cd ..
 	tar -chzf citadel_${CITADEL_VERSION}.orig.tar.gz citadel-${CITADEL_VERSION}/ --exclude "debian/*"
 	pwd
-	cd  citadel-${CITADEL_VERSION}; debuild -S -sa -kw.goesg...@outgesourced.org
+	cd  citadel-${CITADEL_VERSION} && debuild -S -sa -kw.goesg...@outgesourced.org
 	else
 	fakeroot dpkg-buildpackage
 	fi
@@ -100,8 +99,8 @@ email=cita...@outgesourced.org
 
 	;;
 sourcedist)
-	cd ..; tar --exclude .svn --exclude "debian/*" -chvzf citadel-$CITADEL_VERSION.tar.gz citadel-$CITADEL_VERSION/
-	;;
+	cd ..; tar --exclude .svn --exclude "debian/*" -chvzf citadel-$CITADEL_VERSION.tar.gz --transform "s/^citadel/citadel-${CITADEL_VERSION}/" citadel/
+;;
 	*)
 		echo "Not yet implemented. we have: debian "
 		;;


[Citadel Development] webcit stopped display message list

2010-09-20 Thread samjam


I'm investigating why webcit has stopped displaying the message list.
The http request:
https://mail.liddicott.net/webcit/roommsgs?room=Mail&startmsg=0&stopmsg=-1
now completes fine (and firefox downloads the json), but the _javascript_ is not doing it's job I guess




[Citadel Development] Re: webcit stopped display message list

2010-09-20 Thread samjam


 

Sat Sep 04 2010  9:08:58 am EDT EDT from   samjam @ Uncensored  Subject: webcit stopped display message list

I'm investigating why webcit has stopped displaying the message list.
The http request:
https://mail.liddicott.net/webcit/roommsgs?room=Mail&startmsg=0&stopmsg=-1
now completes fine (and firefox downloads the json), but the _javascript_ is not doing it's job I guess


function loadMessages(transport) { try { var data = "">
the evalJSON is failing with error:
SyntaxError: syntax error|undefined
The JSON returned was:
{ "nummsgs": 2,"startmsg": ,"roomname": "Mails\test","msgs": [ [1636,"uh testy uh","Sam Liddicott",1221820278,"Sep 19 2008",true ],[1198,"eh testy eh","sam.liddicott",1221816450,"Sep 19 2008",true ] ]}
 
I guess startmsg should not be empty.
git blame shows
e6bf3fbb (Wilfried Göesgens 2010-08-29 16:56:48 + 1) { "nummsgs": ,e6bf3fbb (Wilfried Göesgens 2010-08-29 16:56:48 + 2) "startmsg": ,
patch to follow




[Citadel Development] Fw: [PATCH] Fix typo that prevent message summary from working

2010-09-20 Thread samjam
   / --- forwarded message --- /

  
>  Sat Sep 04 2010  9:32:47 am EDT EDT from  "Sam Liddicott"
>  Subject: [PATCH] Fix typo that prevent
>message summary from working
>
>  ---
> webcit/static/t/mailsummary_json.html |2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
> 
>
>
>  

  

 diff --git a/webcit/static/t/mailsummary_json.html b/webcit/static/t/mailsummary_json.html
index 9bf68eb..2e3a749 100644
--- a/webcit/static/t/mailsummary_json.html
+++ b/webcit/static/t/mailsummary_json.html
@@ -1,5 +1,5 @@
 { "nummsgs": ,
-"startmsg": ,
+"startmsg": ,
 "roomname": "",
 "msgs": [  ]


[Citadel Development] Fw: [PATCH] Fake the old version number for the paths inside the tar files

2010-09-20 Thread samjam
This stops ./buildpackage debian  

getting caught in symlink looks, and makes "./buildpackage src" and "debian
src" work  / --- forwarded message --- /

  
>  Wed Sep 01 2010  8:45:15 am EDT EDT from  "Sam Liddicott"
>  Subject: [PATCH] Fake the old version number for the
>paths inside the tar files
>
>  
> Helps for:
> ./buildpackes debian src
> and
> ./buildpackages sourcedist
> ---
> citadel/buildpackages |   17 -
> 1 files changed, 8 insertions(+), 9 deletions(-)
> 
>
>
>  

  

 diff --git a/citadel/buildpackages b/citadel/buildpackages
index 8b18185..e78cc71 100755
--- a/citadel/buildpackages
+++ b/citadel/buildpackages
@@ -29,7 +29,7 @@ else
 	fi
 	if test "$done" = "false"; then 
 		cd ..
-		ln -sf citadel "citadel-$CITADEL_VERSION"
+		#ln -sf citadel "citadel-$CITADEL_VERSION"
 		cd "citadel-$CITADEL_VERSION"
 	else
 		cd "../citadel-$CITADEL_VERSION"
@@ -47,18 +47,17 @@ case $1 in
 	
 	fi
 	if test "$2" == "src"; then
-	cd ..
-	rm -rf tmp
-	mkdir tmp
-	cp -rL citadel-$CITADEL_VERSION tmp
-	cd tmp/citadel-$CITADEL_VERSION
+	rm -fr ../tmp/citadel-$CITADEL_VERSION
+	mkdir -p ../tmp/citadel-$CITADEL_VERSION
+	cp -rL . ../tmp/citadel-$CITADEL_VERSION
+	cd ../tmp/citadel-$CITADEL_VERSION
 	rm -rf `find -name .svn ` svn*tmp config.log config.status
 	find -type f -exec chmod a-x {} \;
 	chmod a+x configure *.sh *.sh.in debian/rules debian/*inst* debian/rules mkinstalldirs
 	cd ..
 	tar -chzf citadel_${CITADEL_VERSION}.orig.tar.gz citadel-${CITADEL_VERSION}/ --exclude "debian/*"
 	pwd
-	cd  citadel-${CITADEL_VERSION}; debuild -S -sa -kw.goesg...@outgesourced.org
+	cd  citadel-${CITADEL_VERSION} && debuild -S -sa -kw.goesg...@outgesourced.org
 	else
 	fakeroot dpkg-buildpackage
 	fi
@@ -100,8 +99,8 @@ email=cita...@outgesourced.org
 
 	;;
 sourcedist)
-	cd ..; tar --exclude .svn --exclude "debian/*" -chvzf citadel-$CITADEL_VERSION.tar.gz citadel-$CITADEL_VERSION/
-	;;
+	cd ..; tar --exclude .svn --exclude "debian/*" -chvzf citadel-$CITADEL_VERSION.tar.gz --transform "s/^citadel/citadel-${CITADEL_VERSION}/" citadel/
+;;
 	*)
 		echo "Not yet implemented. we have: debian "
 		;;


[Citadel Development] Fw: [PATCH] Re-enable drafts

2010-09-20 Thread samjam
This patch applies to HEAD and re-enables draft folders.  

I'm using it at home - seems to work - what was wrong with it that it was
disabled?  

Sam  / --- forwarded message --- /

  
>  Sat Sep 04 2010  4:06:51 am EDT EDT from  "Sam Liddicott"
>  Subject: [PATCH] Re-enable drafts
>
>  ---
> citadel/euidindex.c   |1 +
> citadel/user_ops.c|2 +-
> libcitadel/lib/libcitadel.h   |1 +
> webcit/static/t/edit_message.html |2 --
> webcit/static/t/view_message.html |2 --
> 5 files changed, 3 insertions(+), 5 deletions(-)
> 
>
>
>  

  

 diff --git a/citadel/euidindex.c b/citadel/euidindex.c
index 842fa1d..8ca39ee 100644
--- a/citadel/euidindex.c
+++ b/citadel/euidindex.c
@@ -69,6 +69,7 @@ int DoesThisRoomNeedEuidIndexing(struct ctdlroom *qrbuf) {
 		case VIEW_BBS:		return(0);
 		case VIEW_MAILBOX:	return(0);
 		case VIEW_ADDRESSBOOK:	return(1);
+		case VIEW_DRAFTS:   return(0);
 		case VIEW_CALENDAR:	return(1);
 		case VIEW_TASKS:	return(1);
 		case VIEW_NOTES:	return(1);
diff --git a/citadel/user_ops.c b/citadel/user_ops.c
index 2f23c38..d68d334 100644
--- a/citadel/user_ops.c
+++ b/citadel/user_ops.c
@@ -739,7 +739,7 @@ void do_login(void)
 	CtdlCreateRoom(MAILROOM, 4, "", 0, 1, 0, VIEW_MAILBOX);
 	CtdlCreateRoom(SENTITEMS, 4, "", 0, 1, 0, VIEW_MAILBOX);
 	CtdlCreateRoom(USERTRASHROOM, 4, "", 0, 1, 0, VIEW_MAILBOX);
-	/* CtdlCreateRoom(USERDRAFTROOM, 4, "", 0, 1, 0, VIEW_MAILBOX); temporarily disabled for 7.60 */
+	CtdlCreateRoom(USERDRAFTROOM, 4, "", 0, 1, 0, VIEW_MAILBOX);
 
 	/* Run any startup routines registered by loadable modules */
 	PerformSessionHooks(EVT_LOGIN);
diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h
index 69781b6..82c0ec6 100644
--- a/libcitadel/lib/libcitadel.h
+++ b/libcitadel/lib/libcitadel.h
@@ -103,6 +103,7 @@ typedef enum _room_views {
 	VIEW_CALBRIEF		= 7,	/* Brief Calendar view */
 	VIEW_JOURNAL		= 8,	/* Journal view */
 	VIEW_BLOG		= 9,	/* Blog view */
+	VIEW_DRAFTS		= 10, 	/* Drafts view */
 	VIEW_MAX
 } ROOM_VIEWS;
 
diff --git a/webcit/static/t/edit_message.html b/webcit/static/t/edit_message.html
index 600dd67..7febb91 100644
--- a/webcit/static/t/edit_message.html
+++ b/webcit/static/t/edit_message.html
@@ -14,10 +14,8 @@
 ">
 ">
  
-
   ">
 
   
diff --git a/webcit/static/t/view_message.html b/webcit/static/t/view_message.html
index aa2150e..941f98b 100644
--- a/webcit/static/t/view_message.html
+++ b/webcit/static/t/view_message.html
@@ -16,9 +16,7 @@ onMouseOut=document.getElementById("msg").style.visibility="hidden
 
  
  
-
 
%7C?subject=">[] 
%7C?replyquote=&recp=%22%22%3C%3E?subject=">[] 


[Citadel Development] Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

2010-09-20 Thread samjam


Bah!
If I forward a message, it also adds attachments from any previously half-composed messages!
This message has the correct proposed patch

Sat Sep 04 2010  3:39:28 am EDT EDT from   samjam @ Uncensored  Subject: Fw: [PATCH] Fake the old version number for the paths inside the tar files

(I wish drafts folder worked as a drafts folder in webcit)
If this looks good, we probably need the same thing for the other buildpackages
 --- forwarded message --- 

Wed Sep 01 2010  8:45:15 am EDT EDT from  "Sam Liddicott"   Subject: [PATCH] Fake the old version number for the paths inside the tar files
 Helps for: ./buildpackes debian src and ./buildpackages sourcedist --- webcit/buildpackages |   13 ++--- 1 files changed, 6 insertions(+), 7 deletions(-) 

 


 

diff --git a/webcit/buildpackages b/webcit/buildpackages
index 8a066da..23111fc 100755
--- a/webcit/buildpackages
+++ b/webcit/buildpackages
@@ -11,7 +11,7 @@ ACTUAL_DIR=`pwd`
 
 
 rm -rf debian/citadel-webcit debian/tmp/
-if echo "$ACTUAL_DIR" |grep -q "$WEBCIT_VERSION"; then
+if true || echo "$ACTUAL_DIR" |grep -q "$WEBCIT_VERSION"; then
 	echo "directory ($ACTUAL_DIR) naming scheme seems right. nothing done."
 else
 	done=false
@@ -42,18 +42,17 @@ case $1 in
 	echo "Upstream Version higher than local."	
 	fi
 	if test "$2" == "src"; then
-	cd ..
 	rm -rf tmp
-	mkdir tmp
-	cp -rL webcit-$WEBCIT_VERSION tmp
-	cd tmp/webcit-$WEBCIT_VERSION
+	mkdir -p ../tmp/webcit-$WEBCIT_VERSION
+	cp -rL . ../tmp/webcit-$WEBCIT_VERSION
+	cd ../tmp/webcit-$WEBCIT_VERSION
 	rm -rf `find -name .svn ` svn*tmp* build-stamp configure-stamp *~ config.guess  config.log config.status autom4te.cache Makefile 
 	find -type f -exec chmod a-x {} \;
 	chmod a+x configure debian/rules po/create-pot.sh mk_module_init.sh
 	cd ..
 	tar -chzf webcit_${WEBCIT_VERSION}.orig.tar.gz webcit-${WEBCIT_VERSION}/ --exclude "debian/*"
 	pwd
-	cd  webcit-${WEBCIT_VERSION}; debuild -S -sa -kw.goesg...@outgesourced.org
+	cd  webcit-$WEBCIT_VERSION && debuild -S -sa -kw.goesg...@outgesourced.org
 	else
 	fakeroot dpkg-buildpackage
 	fi
@@ -62,7 +61,7 @@ case $1 in
 	if test "$2" == "dfsg"; then
 	NONDFSG=-"-exclude static/openid-small.gif"
 	fi
-	cd ..; tar --exclude .svn --exclude "debian/*" $NONDFSG -cvhzf webcit-${WEBCIT_VERSION}.tar.gz webcit-${WEBCIT_VERSION}/
+	cd ..; tar --exclude .svn --exclude "debian/*" $NONDFSG -cvhzf webcit-${WEBCIT_VERSION}.tar.gz --transform "s/^webcit/webcit-${WEBCIT_VERSION}/" webcit/
 	;;
 i18n)
 	./webcit -G `pwd`/i18n_templatelist.c


[Citadel Development] Fw: [PATCH] Fake the old version number for the paths inside the tar files

2010-09-20 Thread samjam
(I wish drafts folder worked as a drafts folder in webcit)  

If this looks good, we probably need the same thing for the other
buildpackages  / --- forwarded message --- /

  
>  Wed Sep 01 2010  8:45:15 am EDT EDT from  "Sam Liddicott"
>  Subject: [PATCH] Fake the old version number for the
>paths inside the tar files
>
>  
> Helps for:
> ./buildpackes debian src
> and
> ./buildpackages sourcedist
> ---
> webcit/buildpackages |   13 ++---
> 1 files changed, 6 insertions(+), 7 deletions(-)
> 
>
>
>  

  

 diff --git a/webcit/buildpackages b/webcit/buildpackages
index 8a066da..23111fc 100755
--- a/webcit/buildpackages
+++ b/webcit/buildpackages
@@ -11,7 +11,7 @@ ACTUAL_DIR=`pwd`
 
 
 rm -rf debian/citadel-webcit debian/tmp/
-if echo "$ACTUAL_DIR" |grep -q "$WEBCIT_VERSION"; then
+if true || echo "$ACTUAL_DIR" |grep -q "$WEBCIT_VERSION"; then
 	echo "directory ($ACTUAL_DIR) naming scheme seems right. nothing done."
 else
 	done=false
@@ -42,18 +42,17 @@ case $1 in
 	echo "Upstream Version higher than local."	
 	fi
 	if test "$2" == "src"; then
-	cd ..
 	rm -rf tmp
-	mkdir tmp
-	cp -rL webcit-$WEBCIT_VERSION tmp
-	cd tmp/webcit-$WEBCIT_VERSION
+	mkdir -p ../tmp/webcit-$WEBCIT_VERSION
+	cp -rL . ../tmp/webcit-$WEBCIT_VERSION
+	cd ../tmp/webcit-$WEBCIT_VERSION
 	rm -rf `find -name .svn ` svn*tmp* build-stamp configure-stamp *~ config.guess  config.log config.status autom4te.cache Makefile 
 	find -type f -exec chmod a-x {} \;
 	chmod a+x configure debian/rules po/create-pot.sh mk_module_init.sh
 	cd ..
 	tar -chzf webcit_${WEBCIT_VERSION}.orig.tar.gz webcit-${WEBCIT_VERSION}/ --exclude "debian/*"
 	pwd
-	cd  webcit-${WEBCIT_VERSION}; debuild -S -sa -kw.goesg...@outgesourced.org
+	cd  webcit-$WEBCIT_VERSION && debuild -S -sa -kw.goesg...@outgesourced.org
 	else
 	fakeroot dpkg-buildpackage
 	fi
@@ -62,7 +61,7 @@ case $1 in
 	if test "$2" == "dfsg"; then
 	NONDFSG=-"-exclude static/openid-small.gif"
 	fi
-	cd ..; tar --exclude .svn --exclude "debian/*" $NONDFSG -cvhzf webcit-${WEBCIT_VERSION}.tar.gz webcit-${WEBCIT_VERSION}/
+	cd ..; tar --exclude .svn --exclude "debian/*" $NONDFSG -cvhzf webcit-${WEBCIT_VERSION}.tar.gz --transform "s/^webcit/webcit-${WEBCIT_VERSION}/" webcit/
 	;;
 i18n)
 	./webcit -G `pwd`/i18n_templatelist.c
diff --git a/webcit/buildpackages b/webcit/buildpackages
index 8a066da..23111fc 100755
--- a/webcit/buildpackages
+++ b/webcit/buildpackages
@@ -11,7 +11,7 @@ ACTUAL_DIR=`pwd`
 
 
 rm -rf debian/citadel-webcit debian/tmp/
-if echo "$ACTUAL_DIR" |grep -q "$WEBCIT_VERSION"; then
+if true || echo "$ACTUAL_DIR" |grep -q "$WEBCIT_VERSION"; then
 	echo "directory ($ACTUAL_DIR) naming scheme seems right. nothing done."
 else
 	done=false
@@ -42,18 +42,17 @@ case $1 in
 	echo "Upstream Version higher than local."	
 	fi
 	if test "$2" == "src"; then
-	cd ..
 	rm -rf tmp
-	mkdir tmp
-	cp -rL webcit-$WEBCIT_VERSION tmp
-	cd tmp/webcit-$WEBCIT_VERSION
+	mkdir -p ../tmp/webcit-$WEBCIT_VERSION
+	cp -rL . ../tmp/webcit-$WEBCIT_VERSION
+	cd ../tmp/webcit-$WEBCIT_VERSION
 	rm -rf `find -name .svn ` svn*tmp* build-stamp configure-stamp *~ config.guess  config.log config.status autom4te.cache Makefile 
 	find -type f -exec chmod a-x {} \;
 	chmod a+x configure debian/rules po/create-pot.sh mk_module_init.sh
 	cd ..
 	tar -chzf webcit_${WEBCIT_VERSION}.orig.tar.gz webcit-${WEBCIT_VERSION}/ --exclude "debian/*"
 	pwd
-	cd  webcit-${WEBCIT_VERSION}; debuild -S -sa -kw.goesg...@outgesourced.org
+	cd  webcit-$WEBCIT_VERSION && debuild -S -sa -kw.goesg...@outgesourced.org
 	else
 	fakeroot dpkg-buildpackage
 	fi
@@ -62,7 +61,7 @@ case $1 in
 	if test "$2" == "dfsg"; then
 	NONDFSG=-"-exclude static/openid-small.gif"
 	fi
-	cd ..; tar --exclude .svn --exclude "debian/*" $NONDFSG -cvhzf webcit-${WEBCIT_VERSION}.tar.gz webcit-${WEBCIT_VERSION}/
+	cd ..; tar --exclude .svn --exclude "debian/*" $NONDFSG -cvhzf webcit-${WEBCIT_VERSION}.tar.gz --transform "s/^webcit/webcit-${WEBCIT_VERSION}/" webcit/
 	;;
 i18n)
 	./webcit -G `pwd`/i18n_templatelist.c
diff --git a/webcit/buildpackages b/webcit/buildpackages
index 8a066da..23111fc 100755
--- a/webcit/buildpackages
+++ b/webcit/buildpackages
@@ -11,7 +11,7 @@ ACTUAL_DIR=`pwd`
 
 
 rm -rf debian/citadel-webcit debian/tmp/
-if echo "$ACTUAL_DIR" |grep -q "$WEBCIT_VERSION"; then
+if true || echo "$ACTUAL_DIR" |grep -q "$WEBCIT_VERSION"; then
 	echo "directory ($ACTUAL_DIR) naming scheme seems right. nothing done."
 else
 	done=false
@@ -42,18 +42,17 @@ case $1 in
 	echo "Upstream Version higher than local."	
 	fi
 	if test "$2" == "src"; then
-	cd ..
 	rm -rf tmp
-	mkdir tmp
-	cp -rL webcit-$WEBCIT_VERSION tmp
-	cd tmp/webcit-$WEBCIT_VERSION
+	mkdir -p ../tmp/webcit-$WEBCIT_VERSION
+	cp -rL . ../tmp/webcit-$WEBCIT_VERSION
+	cd ../tmp/webcit-$WEBCIT_VERSION
 	   

[Citadel Development] Re: Fw: [PATCH] Fake the old version number for the paths inside the tar files

2010-09-20 Thread samjam


Ignore that patch; I have one that fixes all 3 projects - otherwise they fail to build properly with symlink loops and the like




[Citadel Development] What happened to c_port_number?

2010-09-20 Thread samjam


c_port_number is used in ./server_main.c to listen on, but never set anywhere.
./server_main.c listens on port 0 when it runs this line:
CtdlRegisterServiceHook(config.c_port_number,So hows that ever supposed to work?
It's been suggested that I re-run "setup" but it doesn't seem to know any of my old answers, so I won't let it complete.




[Citadel Development] Blog rooms

2010-09-20 Thread samjam


AJC, I note that you have just added
VIEW_BLOG   = 9,    /* Blog view (not yet implemented) */but I remind you that 9 was used for VIEW_DRAFTS before it was disabled, and many of my uses already have such rooms.
I'm just doing fixes for drafts anyway (so I noticed this) - please could you use 10 for VIEW_BLOG?
Thanks
Sam




[Citadel Development] Re: What happened to c_port_number?

2010-09-20 Thread samjam


 

Sat Sep 04 2010  8:10:35 am EDT EDT from   samjam @ Uncensored  Subject: What happened to c_port_number?

c_port_number is used in ./server_main.c to listen on, but never set anywhere.
./server_main.c listens on port 0 when it runs this line:
CtdlRegisterServiceHook(config.c_port_number,So hows that ever supposed to work?
It's been suggested that I re-run "setup" but it doesn't seem to know any of my old answers, so I won't let it complete.


I'm also still getting:
file_funambol_msg : /usr/share/citadel-server/funambol_newmail_soap.xml *** glibc detected *** ./citserver: double free or corruption (out): 0x7fffeb8039c0 ***
If I don't override the address from the config with a literal "0.0.0.0" - perhaps related to faiing to show general config with webcit
Sam




[Citadel Development] Re: What happened to c_port_number?

2010-09-20 Thread samjam


 

Sat Sep 04 2010  8:50:05 am EDT EDT from   samjam @ Uncensored  Subject: Re: What happened to c_port_number?

 

Sat Sep 04 2010  8:39:27 am EDT EDT from   samjam @ Uncensored  Subject: Re: What happened to c_port_number?

And my server IP address (as shown in citadel aide sysconfig general) suddenly became 504 again
Port number and server ip address are fighting over the same config slot somewhere.
Sam


I risked it and re-ran setup. It didn't trash my config despite not knowing the original answers, and now things seem to be back to normal.


Nope, still broken - re-installing the (new) debs, breaks it again and knocks the config back again




[Citadel Development] Re: What happened to c_port_number?

2010-09-20 Thread samjam


 

Sat Sep 04 2010  8:54:39 am EDT EDT from   samjam @ Uncensored  Subject: Re: What happened to c_port_number?


Nope, still broken - re-installing the (new) debs, breaks it again and knocks the config back again


setup -q is the culprit,
after "setup" my ip address is 0.0.0.0, after setup -q is has gone again




[Citadel Development] Re: What happened to c_port_number?

2010-09-20 Thread samjam


 

Sat Sep 04 2010  8:29:13 am EDT EDT from   samjam @ Uncensored  Subject: Re: What happened to c_port_number?

 

Sat Sep 04 2010  8:10:35 am EDT EDT from   samjam @ Uncensored  Subject: What happened to c_port_number?

c_port_number is used in ./server_main.c to listen on, but never set anywhere.
./server_main.c listens on port 0 when it runs this line:
CtdlRegisterServiceHook(config.c_port_number,So hows that ever supposed to work?
It's been suggested that I re-run "setup" but it doesn't seem to know any of my old answers, so I won't let it complete.


I'm also still getting:
file_funambol_msg : /usr/share/citadel-server/funambol_newmail_soap.xml *** glibc detected *** ./citserver: double free or corruption (out): 0x7fffeb8039c0 ***
If I don't override the address from the config with a literal "0.0.0.0" - perhaps related to faiing to show general config with webcit
Sam


And my server IP address (as shown in citadel aide sysconfig general) suddenly became 504 again
Port number and server ip address are fighting over the same config slot somewhere.
Sam




[Citadel Development] Re: macro "strncmp" requires 3 arguments, but only 2 given

2010-09-20 Thread samjam


 

Wed Sep 01 2010  6:14:03 am EDT EDT from   samjam @ Uncensored  Subject: Re: macro "strncmp" requires 3 arguments, but only 2 given

 

Wed Sep 01 2010  6:06:48 am EDT EDT from   dothebart @ Uncensored  Subject: Re: macro "strncmp" requires 3 arguments, but only 2 given

HKEY is a macro that does
a, sizeof(a) - 1
so it actualy has 3 parameters. Maybe for some reason that macro isn't visible to your compiler there?
that strncmp actualy wants to check for the first two chars.


To be clear to my other reply, on my system strcmp and strncmp are macros and so HKEY won't work to return more than one parameter


You can do the HKEY trick on vararg macros:
cat < x.c
#define strncmp(a,b,c) [a][b][c]#define _strncmp(...) strcmp(__VA_ARGS__)#define HKEY(a) a, (sizeof(a)-1)_strncmp("something", HKEY("__"));x.c
gcc -E x.c
# 1 "x.c"# 1 ""# 1 ""# 1 "x.c"["something"]["__"][(sizeof("__")-1)];
But on my system strncmp isn't a vararg macro.




[Citadel Development] Re: Unusual SSL behavior, likely bug

2010-09-20 Thread samjam


 

Wed Sep 01 2010  5:39:34 am EDT EDT from   dothebart @ Uncensored  Subject: Re: Unusual SSL behavior, likely bug

Scanios, can you re-test with current git trunk?
TIA.

Mo Aug 30 2010 17:34:25 EDT von   dothebart @ Uncensored  Betreff: Re: Unusual SSL behavior, likely bug

ok, since our SVN is unavailable, and our Git is still maturizing, this is the fix for our imaps-blob-uploading issue.

So Aug 29 2010 18:32:54 EDT von   dothebart @ Uncensored  Betreff: Re: Unusual SSL behavior, likely bug
 

So Aug 29 2010 17:19:14 EDT von   dothebart @ Uncensored  Betreff: Re: Unusual SSL behavior, likely bug

hm, ok, i'd say its the line between header and body which is breaking our neck here.
could you please reassure, that the last line of those messages being written to citserver is the last line of the email-header?
for example .4
X-Evolution-Source: imap://some...@somewhereplace.com/
or in .3:
Content-Transfer-Encoding: 7bit


ok, forget about it. its the ssl-blob-reader; need to have a closer look at it tomorow.


 




I am now (for the first time in a while) able to save messages to drafts without an error message - thanks
Sam

/* $Id$
 *
 * Copyright (c) 1987-2009 by the citadel.org team
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#include 
#include 
#include 
#include 
#include "sysdep.h"

#ifdef HAVE_OPENSSL
#include 
#include 
#include 
#endif

#if TIME_WITH_SYS_TIME
# include 
# include 
#else
# if HAVE_SYS_TIME_H
#  include 
# else
#  include 
# endif
#endif

#ifdef HAVE_PTHREAD_H
#include 
#endif

#ifdef HAVE_SYS_SELECT_H
#include 
#endif

#include 
#include 
#include "server.h"
#include "serv_crypto.h"
#include "sysdep_decls.h"
#include "citadel.h"
#include "config.h"


#include "ctdl_module.h"
/* TODO: should we use the standard module init stuff to start this? */
/* TODO: should we register an event handler to call destruct_ssl? */

#ifdef HAVE_OPENSSL
SSL_CTX *ssl_ctx;		/* SSL context */
pthread_mutex_t **SSLCritters;	/* Things needing locking */

static unsigned long id_callback(void)
{
	return (unsigned long) pthread_self();
}

void destruct_ssl(void)
{
	int a;
	for (a = 0; a < CRYPTO_num_locks(); a++) 
		free(SSLCritters[a]);
	free (SSLCritters);
}

void init_ssl(void)
{
	SSL_METHOD *ssl_method;
	DH *dh;
	RSA *rsa=NULL;
	X509_REQ *req = NULL;
	X509 *cer = NULL;
	EVP_PKEY *pk = NULL;
	EVP_PKEY *req_pkey = NULL;
	X509_NAME *name = NULL;
	FILE *fp;

	if (!access(EGD_POOL, F_OK))
		RAND_egd(EGD_POOL);

	if (!RAND_status()) {
		CtdlLogPrintf(CTDL_CRIT,
			"PRNG not adequately seeded, won't do SSL/TLS\n");
		return;
	}
	SSLCritters =
	malloc(CRYPTO_num_locks() * sizeof(pthread_mutex_t *));
	if (!SSLCritters) {
		CtdlLogPrintf(CTDL_EMERG, "citserver: can't allocate memory!!\n");
		/* Nothing's been initialized, just die */
		exit(1);
	} else {
		int a;

		for (a = 0; a < CRYPTO_num_locks(); a++) {
			SSLCritters[a] = malloc(sizeof(pthread_mutex_t));
			if (!SSLCritters[a]) {
CtdlLogPrintf(CTDL_EMERG,
	"citserver: can't allocate memory!!\n");
/* Nothing's been initialized, just die */
exit(1);
			}
			pthread_mutex_init(SSLCritters[a], NULL);
		}
	}

	/*
	 * Initialize SSL transport layer
	 */
	SSL_library_init();
	SSL_load_error_strings();
	ssl_method = SSLv23_server_method();
	if (!(ssl_ctx = SSL_CTX_new(ssl_method))) {
		CtdlLogPrintf(CTDL_CRIT, "SSL_CTX_new failed: %s\n",
			ERR_reason_error_string(ERR_get_error()));
		return;
	}
	if (!(SSL_CTX_set_cipher_list(ssl_ctx, CIT_CIPHERS))) {
		CtdlLogPrintf(CTDL_CRIT, "SSL: No ciphers available\n");
		SSL_CTX_free(ssl_ctx);
		ssl_ctx = NULL;
		return;
	}
#if 0
#if SSLEAY_VERSION_NUMBER >= 0x00906000L
	SSL_CTX_set_mode(ssl_ctx, SSL_CTX_get_mode(ssl_ctx) |
			 SSL_MODE_AUTO_RETRY);
#endif
#endif

	CRYPTO_set_locking_callback(ssl_lock);
	CRYPTO_set_id_callback(id_callback);

	/* Load DH parameters into the context */
	dh = DH_new();
	if (!dh) {
		CtdlLogPrintf(CTDL_CRIT, "init_ssl() can't allocate a DH object: %s\n",
			ERR_reason_error_string(ERR_get_error()));
		SSL_CTX_free(ssl_ctx);
		ssl_ctx = NULL;
		return;
	}
	if (!(BN_hex2bn(&(dh->p), DH_P))) {
		CtdlLogPrintf(CTDL_CRIT, "init_ssl() can't assign DH_P: %s\n",
			ERR_reason_error_string(ERR_get_error()));
		SSL_CTX_free(ssl_ctx);
		ssl_ctx = NULL;
		return;
	}
	if (!(BN_hex2bn(&(dh->g), DH_G))) {
		Ctd

[Citadel Development] Re:

2010-09-20 Thread samjam


 

Sat Aug 28 2010 10:06:18 am EDT EDT from   dothebart @ Uncensored 

15:10  CIA-37: citadel: dothebart * r8892 citadel/ (13 files in 8 dirs): * do typedef the visit struct, remove all those 'struct' statements from all over the source15:11  CIA-37: citadel: dothebart * r8893 citadel/user_ops.c: * fix GTSN not to cut seen stats at 1024 chars
(somehow no svn commit mail?)
sam, could you please try whether that fixes your troubles?


That's great! Absolutely great! I can now use webcit to view mailboxes with thousands of messages. Also, lately I've notice everything much faster! I don't know if my vhoster has moved me to better hardware or if citadel has just got lots better.
Sam




[Citadel Development] Wiki still doesn't work

2010-09-20 Thread samjam


I'm using git master (head) and create a new private (mailbox) wiki room, click "edit this page", post my edit and still get the message "There is no page called 'home' here"
Are there any trivks to fully enable the wiki?




[Citadel Development] ./buildpackages breaks git

2010-09-20 Thread samjam


The command
./buildpackages debian
will rename the current directory and create a symlink to the old one.
This breaks git; "it knows", and some commands like "git blame" then think the files aren't checked in yet (although git diff works).
I always thought a build script renaming managed directories was dodgy anyway... - does it HAVE to do that?




[Citadel Development] Re: Git?

2010-09-20 Thread samjam


 

Mon Aug 30 2010  1:58:38 pm EDT EDT from   IGnatius T Foobar @ Uncensored  Subject: Re: Git?

Ok, we're switching to git.  I remain ambivalent about the subject, but since it is in high demand I will go with the flow here.  My needs are simple ... even CVS worked just fine for me.  Our source code repository will be offline until the conversion is complete. 


thank-you thank-you thank-you
Sam




[Citadel Development] Re:

2010-09-20 Thread samjam


 

Sat Aug 28 2010 10:06:18 am EDT EDT from   dothebart @ Uncensored 

15:10  CIA-37: citadel: dothebart * r8892 citadel/ (13 files in 8 dirs): * do typedef the visit struct, remove all those 'struct' statements from all over the source15:11  CIA-37: citadel: dothebart * r8893 citadel/user_ops.c: * fix GTSN not to cut seen stats at 1024 chars
(somehow no svn commit mail?)
sam, could you please try whether that fixes your troubles?


Sure (as soon as git comes online). Thanks for looking at that for me.
Sam




[Citadel Development] FIX: Re: BUG: Headers corruption during header folding

2010-08-27 Thread samjam


 

Fri Aug 27 2010  6:35:44 am EDT EDT from   dothebart @ Uncensored  Subject: FIX: Re: BUG: Headers corruption during header folding



I don't think so; it was introduced very recently - r8886 (git blame helps here)


ah, to new for my working copy. 2 lines above where I was looking at ;-)


The commit message of that buggy commit said that it had been backported to the latest release. That coult be bad news. So I'm trying to draw attention to the fact that it might not just be a trunk bug.
 




[Citadel Development] Re: Wiki mode yet?

2010-08-27 Thread samjam


 

Fri Aug 27 2010  8:41:46 am EDT EDT from   dothebart @ Uncensored  Subject: Re: Wiki mode yet?


Fr Aug 27 2010 08:33:51 EDT von   samjam @ Uncensored  Betreff: Wiki mode yet?

Should wiki mode be working yet? (I'm running svn trunk head)


Yes, it should be working. There may be (but hopefuly aren't ;-) issues with creation, or the dark blue bar above with the icons letting you browse history jump back to the main page from sub-pages.


I create a new room with default wiki view, and always it shows as:

There is no page called 'home' here.Select the 'Edit this page' link in the room banner if you would like to create this page

I click "Edit this Page" and put in some text and click post message but I am back to "There is no page called 'home' here"
What do I do wrong? (When the wiki room is a personal mail folder, it doesn't even post a message that IMAP can even see)




[Citadel Development] NNTP?

2009-10-16 Thread samjam
In 2006 there was discussion on NNTP support in citadel, as if it 
worked, but there is no NNTP now it seems.


Whats the current status and view of NNTP support?

Sam


[Citadel Development] Implicit Rooms for Webcit

2009-10-14 Thread samjam
I know the history of citadel such that it makes historical sense for the
current room to not be part of the webcit URL.  

But it doesn't make sense from a web point of view; I really think the
current room should be part of the URL.  

It also causes trouble for users who have more than one window open, and
don't realise that when they change room in one, it changes room in the
other.  

It also makes it hard to send URL's to postings in a room - or even URL's to
things like the download directories in a specific room.  

   

Can the principle be accepted that for web sites it makes sense to have the
room as part of the URL and that more than one room could be open at once?
I'm fine if internally, the users appear to be flip-flopping rooms, although
maybe that can be solved by allowing users to have sessions associated with
multiple rooms and having cunning javascript on-close handlers.  

Sam

[Citadel Development] Re: (no subject)

2009-10-09 Thread samjam

* IGnatius T Foobar wrote, On 06/10/09 15:25:
Why does "wiki" have to refer to "byzantine markup syntax" ??   I think 
the nature of a wiki isn't that it requires its maintainers to learn wiki 
markup, but that it can be maintained and edited from within itself.  
   
 I suppose we can solicit a few more opinions on this, but so far I'm not 
convinced.
  

I'm with you on that.

Sam




[Citadel Development] Re: evolution and namespaces

2009-07-27 Thread samjam
   
>  Mon Jul 27 2009 10:16:50 am EDT EDT from   IGnatius T Foobar @ Uncensored 
>Subject: Re: evolution and namespaces
>
>And it looks like they've already marked it as a dupe.   
>
>Evolution's failure to behave properly with namespaces is a colossal 
>failure on their part.  They should either map the namespaces properly or 
>not support them at all.   
>
>Of course, this is Ximian (aka Novell) we're talking about here.  Their 
>allegiance is to Microsoft; uncoincidentally, their support for Exchange  is
>very good.   
>
>
>  
>
>
>  

  

I think their exchange support is pretty rotten, RPC over HTTP support is
non-existent.  

Looks like a patch came out in February, maybe it will hit Karmic Koala  

Sam

[Citadel Development] Citadel commit log: revision 7647

2009-07-03 Thread samjam
   
>  Fri Jul 03 2009  1:27:48 am EDT EDT from  "ajc"
>  Subject: Citadel commit log: revision 7647
> 
> * Temporarily disabled the 'Drafts' functions.  I like the idea, but it
>doesn't work, and I'd like to shuffle some things around.  But in the
>meantime, we need to get 7.60 out the door.  The code is still there but the
>buttons are commented out, except for the VIEW_DRAFTS view, which I removed
>completely.  Since the 'Drafts' room will end up being either a mailbox view
>or a BBS view, chosen by the user, we should implement some other way of
>determining whether we're in the Drafts room, and only offer the 'Edit'
>button in that case.  Currently, when I click the 'Edit' button, it opens a
>message entry screen containing an error about a missing template.
>
>  

  


  The patches I posted were based on the folder name being the drafts folder,
but dothebart prefferred it to be based on view type.

  


  I agree that "edit" is confusing in most vires, but most mailers to provide
the option to edit a message as a new message, so I'm also not entirely
comfortable removing it.


  


  Sam

[Citadel Development] (no subject)

2009-06-19 Thread samjam
   
>  Thu Jun 18 2009 11:34:35 pm EDT EDT from   asdfg @ Uncensored 
>
>I've been noticing on the text client a character sequence shows up in 
>many messages including in the previous message before the word "Weird".  It
>looks like IBM characters hex C2 A0. 
>
>
>thanks,   
>asdfg   
>
>
>  
>
>
>  

  

I've noticed on my Nokia E51 than many message have garbage characters all
over the place; like: = > 4 etc, all "regular" characters but appearing where
they should not.  

For example; this message from IG:  
>  
>
>This is the third time I've made that fix. Let's try not to brea4 it again  

  

or this one fromdothebart  
>  
>
>there are several reasons. readon one: the server module is based on an
>older code that was arou7d in advance for a while.  
>
>reason two: we use expat for xml parsing. if you have a look at that, 2t
>uses it's own lib for xml parsing  

  

it's as if a character in the string is being over-written with a 1 byte
count because the characters all seem to be ascii codes <64  

It doesn't affect webcit or thunderbird.  

Sam

[Citadel Development] Citadel commit log: revision 7581

2009-06-16 Thread samjam
   
>  Sun Jun 14 2009  5:09:43 pm EDT EDT from   dothebart @ Uncensored 
>Subject: Citadel commit log: revision 7581
>
>
>
>sam, I think its better done that way. if there are any objections to using
>force_room, raise your voice.  
>
>  

  

raise raise  

the draft saved isn't always a mail message but may be a room message. I
still needed to add the code to extract the X-Citadel-Room header and goto
that room instead. I don't think the template should force_room because it
has no idea which room to force.  
>  
>
>And I don't know whether it might be a better solution to just use another
>template for loading a draft...  lets see how we can sort out that the best.
> 

  

Aye, lets see how it goes; and I'm not sure if the template can do it all; we
still also will need to recover any attachents too.  

I'm just "git svn rebase" ing to try your changes and see where to go from
there.  

Sam

[Citadel Development] Allow to post messgahe in Drafts in mailbox view

2009-06-16 Thread samjam
   
>  Sun Jun 14 2009  2:14:12 pm EDT EDT from   dothebart @ Uncensored 
>Subject: Allow to post messgahe in Drafts in mailbox view
>
>
>>  Sa Jun 13 2009 09:01:57 EDT von   samjam @ Uncensored  Betreff: Allow to
>>post messgahe in Drafts in mailbox view
>>
>>  ...

>  
>
>I added a new room-view for that. I think its better that way, less
>stringcompares, and other opportunities, like rendering it different.  
>
>  

  

That sounds good  
>  
>
>We probably should make roomtypes VIEW_DRAFTS not send out mails even if
>messages aren't specified (the same way mail rooms forces recipients..)  

  

Did you mean "not send out emails even if recipients are specified" ?  
>  
>
>I further want to have something in the preferences like a dropdown, where
>you can choose between drafts. This should be the third case in 'signature
>none/yes + input area / Messagetemplate + dropdownlist  

  

Alas, I don't follow this.  

Sam

[Citadel Development] Citadel commit log: revision 7575

2009-06-16 Thread samjam
   
>  Sun Jun 14 2009  2:00:41 pm EDT EDT from   dothebart @ Uncensored 
>Subject: Citadel commit log: revision 7575
> 
>
>
>
>>

>  
>
>Sam, when fixing bugs that also should be fixed in other branches, could you
>please commit these separately?  
>
>
>  

  

When I did my git-svn I only got the trunk, not the whole svn tree so I don't
have the other branches by default, but I'll see if I can work out how to
make it work.  

Sam

[Citadel Development] Allow to post messgahe in Drafts in mailbox view

2009-06-13 Thread samjam
Dothebart, you probably want this patch:
http://repo.or.cz/w/citadel.git?a=commit;h=67b387e587b4acdf04542acdeb03695bc0b
1c216  

Which allows one to post messages into Drafts without recipients, regardless
of view mode or anything else.  

   

The second and third patches here may be of interest:  

http://repo.or.cz/w/citadel.git?a=shortlog;h=refs/heads/sam  

The third you have already seen, but I think not accepted  

   

The second one is a first attempt at resume-from-drafts. It works for email
recipients but not room posts  

It is deficient in that:
 * It does not recover X-Citadel-Room yet  
 * It loses in-reply-to and references  
 * It doesn't extract recipients properly

The templates use &recp=&cc= to
extract the recipients - and this works for Drafts messages save from IMAP,
but Drafts messages saved from webcit don't have the  and RCPT fields,
because they weren't provided when the message was saved, for fear that
citadel would deliver the message (and it would have!)  

So... we can either edit citadel so it has a save-to-drafts command (or
variant of ENT0 to mean don't actually email, but room-post only) or I have
to parse the RFC headers from the message to get To: CC: BCC: in the same way
I do for X-Citadel-Room. If I do that, then I shall probably use svput* to
make these values available to the template and that will save me using GET
parameters  

 

[Citadel Development] Re: Citadel commit log: revision 7566

2009-06-12 Thread samjam
* dothebart wrote, On 12/06/09 13:57:
>
>  
>
> Fri Jun 12 2009 14:25:20 CEST from samjam @ Uncensored Subject:
> Citadel commit log: revision 7566
>
>  
>
> Fri Jun 12 2009 05:11:08 AM EDT from dothebart @ Uncensored
> Subject: Citadel commit log: revision 7566
>
> Sam, some hints here.
>
> [deleted]
>
> thanks for the tips
>
> I didn't test the drafts stuff so far, please re-check whether
> my additions did the job, and whether imap clients use the
> drafts folder properly. TIA.
>
>
> I think you got the sense of one test backwards, with == 2 instead
> of != 2
>
> However as mentioned I needed a better mechanism to tell if it was
> a room-post or an email being saved, instead of checking if the
> user had filled in an address .
>
> This patch (on top of the one you applied) fixes both problems,
> I've tested and am running it on my server. IMAP clients can pick
> up messages from Drafts.
>
> X-Citadel-Room is always included if a recipient is not required,
> otherwise it is not included and recipients (if any) are included.
>
> Sam
>
> Oh, yes you're right.
>
> Pro'lly we should first discuss on which conditions you want to offer
> the saving to a draft.
>
> There is the roomflag subject required; but this may be here in public
> rooms (with mailingilst attached, etc.) but I think thats reason
> enough to show a save as draft button.
>

Well I figure any compose should permit save-as-drafts, it's not the
room type that makes the difference but how important what you are
typing is, if you get interrupted.

I wonder if we should use EUID for save-to-drafts, so we don't end up
with lots of copies of the same message in drafts. I guess we also need
to delete-from-drafts when the message is sent.

>  
>
> We also need a way to start composing a mail from the drafts.
>
> Probably adding a flag to the roomtype other than mail so you can be
> presented a list of drafts to start composing the mail...
>
Sounds good, is there a search filter option on the X-Citadel-Room header?

Maybe the same code can be used for templates, too.
>
> pullquote should be the way to go here, but maybe with some still to
> find out modifications needed.
>
I don't know what that means.

Sam


  1   2   3   >