Now compiles for both Haiku and R5 targets. Also bumped the version

number to 3.0.3, just in case we want to do a new release soon with
this slightly better working version.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14718 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Alexander G.M. Smith
2005-11-05 22:51:31 +00:00
parent 4b1aabf67e
commit 9c91a5f9d6
19 changed files with 149 additions and 148 deletions
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Match\ Header : mail_daemon inbound_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon R5\ Daemon\ Filter : mail_daemon inbound_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Spam\ Filter : mail_daemon inbound_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
UsePrivateHeaders mail ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
if $(USESSL) {
@@ -15,12 +16,6 @@ if $(USESSL) {
SubDirHdrs [ FDirName / boot home config include ] ;
}
if $(BONE_COMPATIBLE) {
SubDirC++Flags -DBONE ;
} else {
SubDirC++Flags -DBUILDING_R5_LIBNET ;
}
Addon POP3 : mail_daemon inbound_protocols :
MessageIO.cpp
pop3.cpp
@@ -12,7 +12,11 @@
#include <errno.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/select.h>
#include <sys/socket.h>
#ifndef HAIKU_TARGET_PLATFORM_BEOS // These headers don't exist in BeOS R5.
#include <arpa/inet.h>
#include <sys/select.h>
#endif
#include <status.h>
#include <StringList.h>
@@ -21,10 +25,6 @@
#include <MDRLanguage.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#if USESSL
#include <openssl/ssl.h>
#include <openssl/rand.h>
@@ -63,7 +63,7 @@ POP3Protocol::~POP3Protocol()
}
#endif
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
close(conn);
#else
closesocket(conn);
@@ -104,7 +104,7 @@ POP3Protocol::Open(const char *server, int port, int)
return B_NAME_NOT_FOUND;
}
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
conn = socket(AF_INET, SOCK_STREAM, 0);
#else
conn = socket(AF_INET, 2, 0);
@@ -117,7 +117,7 @@ POP3Protocol::Open(const char *server, int port, int)
saAddr.sin_addr.s_addr = hostIP;
int result = connect(conn, (struct sockaddr *) &saAddr, sizeof(saAddr));
if (result < 0) {
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
close(conn);
#else
closesocket(conn);
@@ -155,7 +155,7 @@ POP3Protocol::Open(const char *server, int port, int)
error << ". (SSL Connection Error)";
runner->ShowError(error.String());
SSL_CTX_free(ctx);
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
close(conn);
#else
closesocket(conn);
@@ -178,7 +178,7 @@ POP3Protocol::Open(const char *server, int port, int)
}
if (err < 0) {
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
close(conn);
#else
closesocket(conn);
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Fortune : mail_daemon outbound_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
UsePrivateHeaders mail ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
if $(USESSL) {
@@ -15,12 +16,6 @@ if $(USESSL) {
SubDirHdrs [ FDirName / boot home config include ] ;
}
if $(BONE_COMPATIBLE) {
SubDirC++Flags -DBONE ;
} else {
SubDirC++Flags -DBUILDING_R5_LIBNET ;
}
Addon SMTP : mail_daemon outbound_protocols :
smtp.cpp
md5c.c ;
@@ -3,7 +3,6 @@
** Copyright 2001 Dr. Zoidberg Enterprises. All rights reserved.
*/
#include <DataIO.h>
#include <Message.h>
#include <Alert.h>
@@ -16,6 +15,12 @@
#include <stdio.h>
#include <errno.h>
#include <netdb.h>
#include <sys/time.h>
#include <sys/socket.h>
#ifndef HAIKU_TARGET_PLATFORM_BEOS // These headers don't exist in BeOS R5.
#include <arpa/inet.h>
#include <sys/select.h>
#endif
#include <status.h>
#include <ProtocolConfigView.h>
@@ -34,10 +39,6 @@
#include <MDRLanguage.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/select.h>
#include <arpa/inet.h>
#define CRLF "\r\n"
#define SMTP_RESPONSE_SIZE 8192
@@ -368,7 +369,7 @@ SMTPProtocol::Open(const char *address, int port, bool esmtp)
if (hostIP == 0)
return EHOSTUNREACH;
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
_fd = socket(AF_INET, SOCK_STREAM, 0);
#else
_fd = socket(AF_INET, 2, 0);
@@ -381,7 +382,7 @@ SMTPProtocol::Open(const char *address, int port, bool esmtp)
saAddr.sin_addr.s_addr = hostIP;
int result = connect(_fd, (struct sockaddr *) &saAddr, sizeof(saAddr));
if (result < 0) {
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
close(_fd);
#else
closesocket(_fd);
@@ -415,7 +416,7 @@ SMTPProtocol::Open(const char *address, int port, bool esmtp)
error << ". (SSL Connection Error)";
runner->ShowError(error.String());
SSL_CTX_free(ctx);
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
close(_fd);
#else
closesocket(_fd);
@@ -754,7 +755,7 @@ SMTPProtocol::Close()
}
#endif
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
close(_fd);
#else
closesocket(_fd);
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Inbox : mail_daemon system_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon New\ Mail\ Notification : mail_daemon system_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Outbox : mail_daemon system_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
}
UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Message\ Parser : mail_daemon system_filters :
+3 -3
View File
@@ -12,7 +12,7 @@ resource app_version
{
major = 3,
middle = 0,
minor = 2,
minor = 3,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
@@ -20,8 +20,8 @@ resource app_version
internal = 3,
short_info = "BeMail 3.0.2",
long_info = "BeMail 3.0.2 ©2004 Haiku"
short_info = "BeMail 3.0.3",
long_info = "BeMail 3.0.3 ©2005 Haiku"
};
resource app_flags B_SINGLE_LAUNCH;
+3 -3
View File
@@ -2,7 +2,7 @@ resource app_version
{
major = 3,
middle = 0,
minor = 2,
minor = 3,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
@@ -10,8 +10,8 @@ resource app_version
internal = 3,
short_info = "E-mail Preferences 3.0.2",
long_info = "E-mail Preferences 3.0.2 ©2004 Haiku"
short_info = "E-mail Preferences 3.0.3",
long_info = "E-mail Preferences 3.0.3 ©2005 Haiku"
};
resource(101, "BEOS:L:STD_ICON") #'ICON' array
+6 -3
View File
@@ -1,7 +1,11 @@
Haiku Mail Daemon Replacement v3.0.2
Haiku Mail Daemon Replacement v3.0.3
VERSION HISTORY
November 5 2005 - v3.0.3
- Fixed up source code to compile under the newest Haiku build system.
- AGMSBayesianSpamServer renamed to "spamdbm", runtime interface between the filter and server repaired, spam MIME types and icons also revived.
January 30 2005 - v3.0.2
- Added SMTP SSL support
- Fixed a nasty bug with Message-ID generation that was caused by incorrect headers when building on BONE
@@ -20,8 +24,7 @@ March 9 2004 - v2.3.0
- Handle spam messages with a malformed MIME Content-Type header that specifies multipart, but no boundary marker string. The messages show up as empty. They also sneakily have a second Content-Type that says the message is text. So, only use the multipart entry if there is no other, and only if the boundary string exists too.
- Makefiles changed to do a parallel make on multiprocessor systems.
- BeMail no longer breaks URLs in outgoing mails, at least it tries to do that. It's kind of a hack like the whole word-wrap algorithm, so it shouldn't do much more harm :)
- E-mail addresses are now properly recognized without the "mailto:"
prefix.
- E-mail addresses are now properly recognized without the "mailto:" prefix.
- Doesn't keep as many file handles open as before (was using 4 per window, with the BeOS limit of 100 files open, that was a maximum of 25 BeMail windows).
- Included new icons by Stefano
- Fixed a horrible bug that would cause deletion of entire mailboxes on newly set-up IMAP accounts.
+5 -6
View File
@@ -2,16 +2,15 @@ SubDir HAIKU_TOP src servers mail ;
SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
}
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
UsePrivateHeaders mail ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
if $(BONE_COMPATIBLE) {
SubDirC++Flags -DBONE ;
} else {
SubDirC++Flags -DBUILDING_R5_LIBNET ;
}
AddResources mail_daemon : mail_daemon.rdef ;
Server mail_daemon :
+3 -3
View File
@@ -1,4 +1,4 @@
Haiku Mail Daemon Replacement v3.0.2
Haiku Mail Daemon Replacement v3.0.3
ABOUT:
@@ -120,7 +120,7 @@ ADDON INSTALLATION.
them as [ and ] characters instead of marking a set of values. For more
info on this, read up on regular expressions.
AGMS Bayesian Spam Filter
Spam Filter
This filters out spam. If you want to know more (and you may) more
documentation can be found in the directory with no spaces in its
name: AGMSBayesianSpamDocumentation. It even has, unlike this, lots of
@@ -185,4 +185,4 @@ Copyright (c)2001-2005, Haiku, Inc.. All rights reserved.
Original software written by Bruno G. Albuquerque ([email protected]), Nathan Whitehorn ([email protected]), Peter Folk ([email protected]), Stephan Assmus
([email protected]), Alan Ellis, David Reid,Axel Dörfler ([email protected])
and Alexander G. M. Smith ([email protected]).
and Alexander G. M. Smith ([email protected]).
+3 -3
View File
@@ -4,7 +4,7 @@ resource app_version
{
major = 3,
middle = 0,
minor = 2,
minor = 3,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
@@ -12,8 +12,8 @@ resource app_version
internal = 3,
short_info = "Mail Daemon 3.0.2",
long_info = "Mail Daemon 3.0.2 ©2004 Haiku"
short_info = "Mail Daemon 3.0.3",
long_info = "Mail Daemon 3.0.3 ©2005 Haiku"
};
resource(0, "Read") #'BBMP' archive BBitmap
+2 -2
View File
@@ -40,7 +40,7 @@
#include <MDRLanguage.h>
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS // BONE and later have these, R5 doesn't.
#define BONE_SERIAL_PPP_GET_STATUS 0xbe230501
#define BSPPP_CONNECTED 4
typedef struct {
@@ -233,7 +233,7 @@ MailDaemonApp::MessageReceived(BMessage *msg)
switch (msg->what) {
case 'moto':
if (settings_file.CheckOnlyIfPPPUp()) {
#ifdef BONE
#ifndef HAIKU_TARGET_PLATFORM_BEOS
int s = socket(AF_INET, SOCK_DGRAM, 0);
bsppp_status_t status;