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 { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Match\ Header : mail_daemon inbound_filters : Addon Match\ Header : mail_daemon inbound_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon R5\ Daemon\ Filter : mail_daemon inbound_filters : Addon R5\ Daemon\ Filter : mail_daemon inbound_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Spam\ Filter : mail_daemon inbound_filters : Addon Spam\ Filter : mail_daemon inbound_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
if $(USESSL) { if $(USESSL) {
@@ -15,12 +16,6 @@ if $(USESSL) {
SubDirHdrs [ FDirName / boot home config include ] ; SubDirHdrs [ FDirName / boot home config include ] ;
} }
if $(BONE_COMPATIBLE) {
SubDirC++Flags -DBONE ;
} else {
SubDirC++Flags -DBUILDING_R5_LIBNET ;
}
Addon POP3 : mail_daemon inbound_protocols : Addon POP3 : mail_daemon inbound_protocols :
MessageIO.cpp MessageIO.cpp
pop3.cpp pop3.cpp
@@ -12,7 +12,11 @@
#include <errno.h> #include <errno.h>
#include <unistd.h> #include <unistd.h>
#include <sys/time.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 <status.h>
#include <StringList.h> #include <StringList.h>
@@ -21,10 +25,6 @@
#include <MDRLanguage.h> #include <MDRLanguage.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#if USESSL #if USESSL
#include <openssl/ssl.h> #include <openssl/ssl.h>
#include <openssl/rand.h> #include <openssl/rand.h>
@@ -63,7 +63,7 @@ POP3Protocol::~POP3Protocol()
} }
#endif #endif
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
close(conn); close(conn);
#else #else
closesocket(conn); closesocket(conn);
@@ -104,7 +104,7 @@ POP3Protocol::Open(const char *server, int port, int)
return B_NAME_NOT_FOUND; return B_NAME_NOT_FOUND;
} }
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
conn = socket(AF_INET, SOCK_STREAM, 0); conn = socket(AF_INET, SOCK_STREAM, 0);
#else #else
conn = socket(AF_INET, 2, 0); conn = socket(AF_INET, 2, 0);
@@ -117,7 +117,7 @@ POP3Protocol::Open(const char *server, int port, int)
saAddr.sin_addr.s_addr = hostIP; saAddr.sin_addr.s_addr = hostIP;
int result = connect(conn, (struct sockaddr *) &saAddr, sizeof(saAddr)); int result = connect(conn, (struct sockaddr *) &saAddr, sizeof(saAddr));
if (result < 0) { if (result < 0) {
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
close(conn); close(conn);
#else #else
closesocket(conn); closesocket(conn);
@@ -155,7 +155,7 @@ POP3Protocol::Open(const char *server, int port, int)
error << ". (SSL Connection Error)"; error << ". (SSL Connection Error)";
runner->ShowError(error.String()); runner->ShowError(error.String());
SSL_CTX_free(ctx); SSL_CTX_free(ctx);
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
close(conn); close(conn);
#else #else
closesocket(conn); closesocket(conn);
@@ -178,7 +178,7 @@ POP3Protocol::Open(const char *server, int port, int)
} }
if (err < 0) { if (err < 0) {
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
close(conn); close(conn);
#else #else
closesocket(conn); closesocket(conn);
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Fortune : mail_daemon outbound_filters : Addon Fortune : mail_daemon outbound_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
if $(USESSL) { if $(USESSL) {
@@ -15,12 +16,6 @@ if $(USESSL) {
SubDirHdrs [ FDirName / boot home config include ] ; SubDirHdrs [ FDirName / boot home config include ] ;
} }
if $(BONE_COMPATIBLE) {
SubDirC++Flags -DBONE ;
} else {
SubDirC++Flags -DBUILDING_R5_LIBNET ;
}
Addon SMTP : mail_daemon outbound_protocols : Addon SMTP : mail_daemon outbound_protocols :
smtp.cpp smtp.cpp
md5c.c ; md5c.c ;
@@ -3,7 +3,6 @@
** Copyright 2001 Dr. Zoidberg Enterprises. All rights reserved. ** Copyright 2001 Dr. Zoidberg Enterprises. All rights reserved.
*/ */
#include <DataIO.h> #include <DataIO.h>
#include <Message.h> #include <Message.h>
#include <Alert.h> #include <Alert.h>
@@ -16,6 +15,12 @@
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
#include <netdb.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 <status.h>
#include <ProtocolConfigView.h> #include <ProtocolConfigView.h>
@@ -34,10 +39,6 @@
#include <MDRLanguage.h> #include <MDRLanguage.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/select.h>
#include <arpa/inet.h>
#define CRLF "\r\n" #define CRLF "\r\n"
#define SMTP_RESPONSE_SIZE 8192 #define SMTP_RESPONSE_SIZE 8192
@@ -368,7 +369,7 @@ SMTPProtocol::Open(const char *address, int port, bool esmtp)
if (hostIP == 0) if (hostIP == 0)
return EHOSTUNREACH; return EHOSTUNREACH;
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
_fd = socket(AF_INET, SOCK_STREAM, 0); _fd = socket(AF_INET, SOCK_STREAM, 0);
#else #else
_fd = socket(AF_INET, 2, 0); _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; saAddr.sin_addr.s_addr = hostIP;
int result = connect(_fd, (struct sockaddr *) &saAddr, sizeof(saAddr)); int result = connect(_fd, (struct sockaddr *) &saAddr, sizeof(saAddr));
if (result < 0) { if (result < 0) {
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
close(_fd); close(_fd);
#else #else
closesocket(_fd); closesocket(_fd);
@@ -415,7 +416,7 @@ SMTPProtocol::Open(const char *address, int port, bool esmtp)
error << ". (SSL Connection Error)"; error << ". (SSL Connection Error)";
runner->ShowError(error.String()); runner->ShowError(error.String());
SSL_CTX_free(ctx); SSL_CTX_free(ctx);
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
close(_fd); close(_fd);
#else #else
closesocket(_fd); closesocket(_fd);
@@ -754,7 +755,7 @@ SMTPProtocol::Close()
} }
#endif #endif
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
close(_fd); close(_fd);
#else #else
closesocket(_fd); closesocket(_fd);
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Inbox : mail_daemon system_filters : Addon Inbox : mail_daemon system_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon New\ Mail\ Notification : mail_daemon system_filters : Addon New\ Mail\ Notification : mail_daemon system_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Outbox : mail_daemon system_filters : Addon Outbox : mail_daemon system_filters :
@@ -4,10 +4,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku { if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ; UsePublicHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
} }
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ;
Addon Message\ Parser : mail_daemon system_filters : Addon Message\ Parser : mail_daemon system_filters :
+3 -3
View File
@@ -12,7 +12,7 @@ resource app_version
{ {
major = 3, major = 3,
middle = 0, middle = 0,
minor = 2, minor = 3,
/* 0 = development 1 = alpha 2 = beta /* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */ 3 = gamma 4 = golden master 5 = final */
@@ -20,8 +20,8 @@ resource app_version
internal = 3, internal = 3,
short_info = "BeMail 3.0.2", short_info = "BeMail 3.0.3",
long_info = "BeMail 3.0.2 ©2004 Haiku" long_info = "BeMail 3.0.3 ©2005 Haiku"
}; };
resource app_flags B_SINGLE_LAUNCH; resource app_flags B_SINGLE_LAUNCH;
+3 -3
View File
@@ -2,7 +2,7 @@ resource app_version
{ {
major = 3, major = 3,
middle = 0, middle = 0,
minor = 2, minor = 3,
/* 0 = development 1 = alpha 2 = beta /* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */ 3 = gamma 4 = golden master 5 = final */
@@ -10,8 +10,8 @@ resource app_version
internal = 3, internal = 3,
short_info = "E-mail Preferences 3.0.2", short_info = "E-mail Preferences 3.0.3",
long_info = "E-mail Preferences 3.0.2 ©2004 Haiku" long_info = "E-mail Preferences 3.0.3 ©2005 Haiku"
}; };
resource(101, "BEOS:L:STD_ICON") #'ICON' array 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 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 January 30 2005 - v3.0.2
- Added SMTP SSL support - Added SMTP SSL support
- Fixed a nasty bug with Message-ID generation that was caused by incorrect headers when building on BONE - 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. - 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. - 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 :) - 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:" - E-mail addresses are now properly recognized without the "mailto:" prefix.
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). - 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 - Included new icons by Stefano
- Fixed a horrible bug that would cause deletion of entire mailboxes on newly set-up IMAP accounts. - 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 ; SetSubDirSupportedPlatformsBeOSCompatible ;
if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders mail ;
}
UsePublicHeaders [ FDirName add-ons mail_daemon ] ;
UsePrivateHeaders mail ; UsePrivateHeaders mail ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers os add-ons mail_daemon ] ; 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 ; AddResources mail_daemon : mail_daemon.rdef ;
Server mail_daemon : 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: ABOUT:
@@ -120,7 +120,7 @@ ADDON INSTALLATION.
them as [ and ] characters instead of marking a set of values. For more them as [ and ] characters instead of marking a set of values. For more
info on this, read up on regular expressions. 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 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 documentation can be found in the directory with no spaces in its
name: AGMSBayesianSpamDocumentation. It even has, unlike this, lots of 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 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]) ([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, major = 3,
middle = 0, middle = 0,
minor = 2, minor = 3,
/* 0 = development 1 = alpha 2 = beta /* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */ 3 = gamma 4 = golden master 5 = final */
@@ -12,8 +12,8 @@ resource app_version
internal = 3, internal = 3,
short_info = "Mail Daemon 3.0.2", short_info = "Mail Daemon 3.0.3",
long_info = "Mail Daemon 3.0.2 ©2004 Haiku" long_info = "Mail Daemon 3.0.3 ©2005 Haiku"
}; };
resource(0, "Read") #'BBMP' archive BBitmap resource(0, "Read") #'BBMP' archive BBitmap
+2 -2
View File
@@ -40,7 +40,7 @@
#include <MDRLanguage.h> #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 BONE_SERIAL_PPP_GET_STATUS 0xbe230501
#define BSPPP_CONNECTED 4 #define BSPPP_CONNECTED 4
typedef struct { typedef struct {
@@ -233,7 +233,7 @@ MailDaemonApp::MessageReceived(BMessage *msg)
switch (msg->what) { switch (msg->what) {
case 'moto': case 'moto':
if (settings_file.CheckOnlyIfPPPUp()) { if (settings_file.CheckOnlyIfPPPUp()) {
#ifdef BONE #ifndef HAIKU_TARGET_PLATFORM_BEOS
int s = socket(AF_INET, SOCK_DGRAM, 0); int s = socket(AF_INET, SOCK_DGRAM, 0);
bsppp_status_t status; bsppp_status_t status;