Re: mod_smtpd project planning

2005-06-29 Thread Jem Berkes
running httpd 2.x since it appeared, but am new to development. - Jem Berkes

Re: mod_smtpd project planning

2005-06-30 Thread Jem Berkes
It's a SMTP protocol frontend for httpd. It will have the power to be a sendmail replacer or to supply content via SMTP because it will delegate most of the actual handling to other modules. All the details haven't been worked out yet, but it will make use of the Apache 2.x filters and

Questions from a newbie

2005-07-02 Thread Jem Berkes
chunk of data (const char* ?) from mod_smtpd and deliver the mail via procmail, etc. This is a loose binding by the way since all received mails do not necessarily have to be delivered. - Jem Berkes

Questions from a newbie

2005-07-03 Thread Jem Berkes
I'm just getting into module development for the first time (thanks to impetus provided by Google's Summer of Code)... I've got a test environment with 2.1.6-alpha and have succeeded in writing minimal modules and getting them working on a live server. But I have a few nagging questions that I

Re: Questions from a newbie

2005-07-03 Thread Jem Berkes
... The other solution (letting mod_smtpd read the whole thing into a buffer and then passing the buffer) seems way too memory hungry for me. I was trying to figure that out too. It seems like a bad idea to read the whole thing into memory because the buffer could easily require several tens

Immediate output in process_connection

2005-07-03 Thread Jem Berkes
I've been playing with basic modules that implement their own protocol (process_connection hooked) along the lines of the mod_echo example. But one thing I can't seem to do is send output immediately back to the client, even though I am flushing the output filters. With the following code, if

Re: mod_smtpd design.

2005-07-03 Thread Jem Berkes
I don't see why it matters if there are redundant members in request_rec. However, for purity, it might be cool to divide request_rec up into common elements and protocol-specific stuff in a union. That's not really a problem, though of course it's hacky. It's the logical consequence

Re: Immediate output in process_connection

2005-07-03 Thread Jem Berkes
What is your Listen line for this protocol's port? I just had Listen 1234 Try something like: Listen 0.0.0.0:1234 myproto AcceptFilter myproto none Well that did indeed solve my problem :) Thanks.

mod_rdate, for what it's worth

2005-07-03 Thread Jem Berkes
I wrote a little mod_rdate if anyone is interested, http://www.sysdesign.ca/archive/apache/module-experiment/mod_rdate.c rdate allows a host to synchronize its time to a server, with approximately 1-second accuracy. It is far inferior to NTP but so much simpler and still my preferred method for

Re: mod_smtpd design.

2005-07-11 Thread Jem Berkes
Where are we in the mod_smtpd design/task allocation? Since there are several people involved we're really going to have to divide up the tasks and at least decide on how our various modules will communicate. I'd like to start coding, if one of the mentors could push me in the direction they

Re: mod_smtpd design.

2005-07-14 Thread Jem Berkes
I'd like to see more of you on IRC:-) OK, I'm regularly logging onto #apache-modules now SMTP is two tasks: accept incoming connections (a protocol module - c.f. the ftp modules), and make outgoing connections to another server. The latter would be a proxy_smtp module in the mod_proxy

mod_smtpd design - protocol

2005-07-16 Thread Jem Berkes
I want to focus a bit on mod_smtpd design, in particular the protocol module (which accepts connections and does the E/SMTP talking). I've seen various ideas thrown around on what exactly the module should do. It would be nice if we could come up with at least the high level design specs for

Re: mod_smtpd design - protocol

2005-07-16 Thread Jem Berkes
Have you considered using libapreq2 for parsing the mime headers in there? The header parser should really convenient for that, you could even introduce a post-header-parser hook that runs when the parser finishes. My own suggestion is that we don't touch or try to interpret MIME. Parsing

Re: Initial mod_smtpd code.

2005-07-18 Thread Jem Berkes
Jem/Paul/Nick: I'm especially interested in what you think about the design I've laid out in this implementation. I'll try this out today and send my feedback. With respect to hooking every command, the reason I suggested that is to offer some usefl facilities to those writing filter modules.

Re: Initial mod_smtpd code.

2005-07-18 Thread Jem Berkes
This is my first attempt at writing an experimental version of mod_smtpd. I don't yet have svn access yet so this code can be downloaded from http://rian.merseine.nu/mod_smtpd-0.1.tar.gz. Nifty! I had some compilation problems involving regex, so in the attached patch I use ap_regex.h and

DNSBL filtering for Apache

2005-07-19 Thread Jem Berkes
While I was thinking about Nick's suggestion for mod_rbl (blacklist lookups with mod_smtpd) I happened upon this idea, which is somewhat unrelated to the smtp project. DNSBLs, the dominant form of real time blacklisting, are not specific to SMTP because this is just a way to publish lists of

Re: DNSBL filtering for Apache

2005-07-19 Thread Jem Berkes
Apache -- the HTTP side too -- would benefit from DNSBL support. Or does this already do this? For example, both the CBL and AHBL projects list IP addresses of hosts engaging in activities such as proxy hijacking and spam relaying. This means it would be useful for webmasters to be able to

Re: Initial mod_smtpd code.

2005-07-19 Thread Jem Berkes
Hmm. That sounds like a good idea, maybe there already is a hook defined that could deal with this, I'll look into it. I could also start work on a mod_smtpd_dnsbl if the mentors feel that is worthwhile? This would look up a connecting IP address against a blacklist and return a descriptive

Re: Initial mod_smtpd code.

2005-07-20 Thread Jem Berkes
Overall blacklists aren't that effective and cause a lot of false positives. They may make sense in the case of something like SpamAssassin which uses a blacklist in conjunction with other false positives, but by themselves they really aren't a responsible way of dealing with the spam

Re: SSI for gzipped files

2005-07-22 Thread Jem Berkes
I have an idea for someone to implement and give me credit for. I recently needed to have my SSI work from a gz file. The server-intensive way to make Interesting, I've wanted to accomplish the same thing but couldn't figure out a good way to do it. Maybe there are a lot of people who need

mod_dnsbl_lookup 0.90

2005-07-29 Thread Jem Berkes
I've posted it here. I've been testing it with 2.1.6-alpha http://www.sysdesign.ca/archive/mod_dnsbl_lookup-0.90.tar.gz The README file should describe everything. This is a module providing an optional utility function intended for (but not limited to) mod_smtpd. The function allows the user

Re: mod_dnsbl_lookup 0.90

2005-08-03 Thread Jem Berkes
Sorry for the slow replies, our phone landline +internet is dead and the telco [TSX: MBT] won't fix it for a week. Terrible for getting work done. Cool. I'd split dnsbl_zones into ipv4_dnsbl_zones and ipv6_dnsbl_zones and have the DnsblZones directive work like; DnsblIPv4Zones

Re: mod_dnsbl_lookup 0.90

2005-08-13 Thread Jem Berkes
Cool. I'd split dnsbl_zones into ipv4_dnsbl_zones and ipv6_dnsbl_zones and have the DnsblZones directive work like; DnsblIPv4Zones DnsblIPv6Zones or similar. IPv6 RBL's do exist, and are incompatible with IPv4 ones, so it's worth having the support early-on. I haven't found

Re: mod_dnsbl_lookup 0.90

2005-08-13 Thread Jem Berkes
the DNSBL zone? Are we still using decimal octets? Can you point me towards some examples? On Sat, 13 Aug 2005, Colm MacCarthaigh wrote: On Sat, Aug 13, 2005 at 03:20:10PM -0700, Jem Berkes wrote: I haven't found any examples of IPv6 RBLs. rbl-plus.hea.net. If you can give me a small fixed

Re: mod_dnsbl_lookup 0.90

2005-08-13 Thread Jem Berkes
Following up on mod_dnsbl, a new version is nearing completion although I have encountered some obstacles that slowed me down. I have taken some of Colm's advice to make mod_dnsbl_lookup more flexible and self sufficient. I'm attaching the documentation part of what I'm currently working on. If

Re: New mod_smtpd release

2005-08-15 Thread Jem Berkes
Well there's also another problem. RFC 2821 (SMTP) doesn't define a particular message format for SMTP (in wide use there the RFC 822 and MIME message formats). I don't think that mod_smtpd should assume a RFC 822 or MIME message format since its strictly a SMTP module, that's why I agree

Hash table growth

2005-08-15 Thread Jem Berkes
When I looked at the expand function used by apr_hash.c it looked to me like it keeps growing if you keep using 'set' with novel values. I was thinking of using apr_hash in order to cache DNSBL queries for my module. It would ensure rapid cache search but I am having trouble figuring out how I

New mod_dnsbl_lookup release

2005-08-15 Thread Jem Berkes
I don't have svn access yet, but I have posted the module here: http://www.sysdesign.ca/archive/mod_dnsbl_lookup-0.91.tar.gz This is much improved from my earlier 0.90, taking advice from Colm. With this new style of configuration the module can be used more flexibly for blacklists, whitelists,

Re: mod_dnsbl_lookup 0.90

2005-08-15 Thread Jem Berkes
That's super in-efficient for the majority case, and there's no application level caching, which tends to be a must for most implementations (even if it is only per-request, like Exim's or We talked about this on IRC, and it seems the preferred approach is to delegate the caching

Supporting RBL in mod_smtpd

2005-08-18 Thread Jem Berkes
Here is my current plan for introducing the RBL support in mod_smtpd, using the existing mod_dnsbl_lookup which I posted earlier. This way of accomplishing the RBL support should not require any code modification to mod_smtpd itself. Nick and Rian, let me know if I should be going about this a

Re: Supporting RBL in mod_smtpd

2005-08-18 Thread Jem Berkes
smtpd_run_connect (might deny service to connecting IP, per request_rec) smtpd_run_mail (might deny service to this envelope domain, per loc) +1 ... Don't do this just yet, mod_smtpd is changing completely! completely = structures/io. I should commit my changes very soon so you can

Re: mod_smtpd overhaul

2005-08-22 Thread Jem Berkes
Is this the right way or is there an example module I could compare with? I noticed a couple posts about examples, there is now one as I have committed all the RBL stuff I wrote. See: https://svn.apache.org/repos/asf/httpd/mod_smtpd/trunk/mod_smtpd_rbl/ This hooks into mod_smtpd in two

Committed mod_smtpd/trunk/mod_smtpd_rbl and mod_dnsbl_lookup

2005-08-22 Thread Jem Berkes
Hopefully later today I should have this completely done and checked in. I waited for Rian to update the mod_smtpd structures, and I have now checked in my code for RBL functionality. There are README files in both directories describing use. However could someone tell me how to properly use

Re: mod_smtpd overhaul

2005-08-23 Thread Jem Berkes
I don't have a problem with it. Do I need a verification of my earlier commit before I commit a new directory structure? What do you mean by verification? In your earlier email you said Since the commit mail hasn't come through yet (needs to be approved I imagine)

Re: mod_smtpd overhaul

2005-08-23 Thread Jem Berkes
+1, Jem since you have checked in the first plugin for mod_smtpd would you mind creating a directory structure similar to this if it seems fine to you? I've built the directory structure to hold multiple modules. I also updated my modules so they build without duplicating .h files, and fixed

Re: mod_smtpd filter support

2005-08-30 Thread Jem Berkes
This mostly means that mod_smtpd is very close to completion. I expect some bug-fixes and I plan on adding a one-recipient/one-transaction feature and a message body reading abstraction, but other than that it seems to be in its final working state. Features include: Thanks for the update

Re: mod_smtpd module review

2005-09-20 Thread Jem Berkes
I just saw this old message now... I have been moving and my new ISP still hasn't connected my service after 3 weeks. This past week I have finished up a few modules and ready for review. http://www.brianfrance.com/software/apache/mod_smtpd_load.tar.gz This is a nifty addition, thanks! I

Re: to the users of mod_smtpd

2005-09-20 Thread Jem Berkes
To Plugin Writers: If examining the source on svn, also remember to check out my completed RBL / DNSBL modules under modules/access. In particular, mod_dnsbl_lookup provides functionality that could easily be used to implement a spamassassin-style scoring filter. That particular module can

Re: [PATCH] mod_smtpd_queue_smtp

2005-09-20 Thread Jem Berkes
But as far as I can tell, this code is all about SMTP forwarding (not even relaying per-se). Confuses me anyway :) I.e. smarthosting. Which might be a better name for the whole thing. For anything involving filtering + forwarding on SMTP, might be worth including a note to admins to