* contrib/hbtip/encoder.prg
* contrib/hbtip/encqp.prg
% use hb_default()
* contrib/hbtip/encqp.prg
! fixed RTE when using TIPEncoderQP class from a dynamically loaded hbtip.
It has been reported long time ago, so now I hacked a local
solution which simply removes inherition from this class,
which works around the problem. Hopefully the core can get
the fixes to allow derived classes to be used from dynamic libs
and this can be reverted. In this case only one variable was
inherited, so it was easy to do. BTW I was trying to use hb_MailAssemble()
from a script which triggered this.
TOFIX: Self contained example (tested on win/mingw):
--- hbmk2 test.hb
#require "hbtip"
PROCEDURE Main()
TIPEncoderBase64():New()
--- ->
Error BASE/3003 Cannot find super class 'TIPENCODER': __CLSINSTSUPER
Called from __CLSINSTSUPER(0)
Called from HBCLASS:CREATE(0)
Called from TIPENCODERBASE64(0)
---
* contrib/hbtip/sessid.prg
* contrib/hbtip/cgi.prg
* contrib/hbtip/encoder.prg
* contrib/hbtip/mail.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/httpcli.prg
* contrib/hbtip/smtpcli.prg
* contrib/hbtip/client.prg
* contrib/hbtip/ftpcli.prg
* contrib/hbtip/popcli.prg
+ Added TIP_SSL() function to return whether SSL functionality is available
or not.
% Deleted unnecessary tip.ch header inclusions.
+ Added TIPCLIENT():INETTIMEOUT() method to set / refresh timeout.
% Direct hb_inetTimeout() calls either optimized out (after ::super:open()),
or replaced by ::hb_inetTimeout() calls.
! Fixed to also accept pop3s where pops is accepted.
+ TIPCLIENTPOP() will set default port to 995 in pop3s mode.
+ TIPCLIENTSMTP() will set default port to 465 in smtps mode.
+ TIPCLIENTHTTP() will set default port to 443 in https mode.
+ Some steps towards SMTP STARTTLS authentication.
! Uncommented setting "Content-Length" in TIPMAIL:SETBODY().
gmail rejects attachment without it. It's also needed for internal
consistency as TIPMAIL:NEW() sets this data.
! HB_SENDMAIL() fixed to use HB_MEMOREAD() to read attachment.
! HB_SENDMAIL() fixed to load the attachment if it was passed
as a content/name pair array. Handling all combinations now.
* HB_SENDMAIL() changed to not exit on the first invalid attachment
specification, but simply ignore these. Feels more natural that way,
but the old behaviour can be restored if there was a reason for it
which overlooked.
* Formatting.
; TOFIX: hbtip currently has two different facilities to find out the
MIME type of a given extension: TIP_FILEMIMETYPE() and
HB_SETMIMETYPE(). First one also looks into the content while
the second one has a much more extensive extension based
detection. There is also a 3rd and separate function which
aims to detect whether a type is binary or text. This isn't
very efficient this way, unless there is some reasoning
behing current logic.
* contrib/hbtip/log.prg
! Fixed to reset internal file handle to empty value on close.
* contrib/hbssl/sslctx.c
! Added !OPENSSL_NO_STDIO guard for functions where it applies().
+ Added SSL_CTX_LOAD_VERIFY_LOCATIONS().
* config/global.cf
! Deleted two debug lines from prev commit.
* include/hbextern.ch
* source/rtl/Makefile
+ source/rtl/base64c.c
+ source/rtl/base64.prg
+ Added HB_BASE64ENCODE(), HB_BASE64DECODE() to core.
They were copied from hbtip and hbvpdf and currently
the decoder is .prg code while encoding is .c code.
Latter has one TOFIX for an error situation.
* contrib/hbtip/encurl.prg
* contrib/hbtip/thtml.prg
* contrib/hbtip/sessid.prg
* contrib/hbtip/popcln.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/tip.ch
* contrib/hbtip/cgi.prg
* contrib/hbtip/url.prg
* contrib/hbtip/encqp.prg
* contrib/hbtip/base64x.c
* contrib/hbtip/httpcln.prg
* contrib/hbtip/client.prg
* contrib/hbtip/encoder.prg
* contrib/hbtip/smtpcln.prg
* contrib/hbtip/encb64.prg
* contrib/hbtip/mail.prg
* contrib/hbtip/credent.prg
* contrib/hbtip/ftpcln.prg
+ Added TOFIXes, QUESTIONs
! Fixed to use hb_MemoRead() instead of MemoRead() in one place.
! Fixed a wrong error checks after FCreate() calls.
! Fixed to use Len( hb_inetCRLF ) instead of hardwired length.
! Using hb_ntos() instead of Str() in POP3 commands.
* Changed explicit values to manifest constants (F_ERROR)
* Changed high ASCII chars in source to Chr() representation,
now source can be edited with any editor.
! Added missing copyright header to tip.ch. Although this header
seems to be unnecessary.
! TipMail:MakeBoundary() to not add any date punctuations in the ID.
! Fixed tIPClientFTP:fileSize() to not return permantent zero.
% Heavier optimizations and cleanup in TIpClientSmtp().
% Optimizations.
* Formatting.
; Please test.