Page 3 of 15

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 12:36 am
by Keya
5.40's fasm.exe is from 2012, can that be updated? but i can understand not if it would break too many things! :)

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 12:47 am
by Andreas21
CGI->CGIVariable()

Code: Select all

If Not InitCGI() Or Not ReadCGI()
    End
  EndIf
  
  WriteCGIHeader(#PB_CGI_HeaderContentType, "text/html", #PB_CGI_LastHeader) ; Write the headers to inform the browser of the content format
  
  WriteCGIString("<html><title>PureBasic - variables</title><body>")  
  
  Procedure WriteCGIConstant(Constant$)
    WriteCGIString(Constant$ + ": " + CGIVariable(Constant$)+"<br>")
  EndProcedure
  
  WriteCGIConstant(#PB_CGI_AuthType$)
  WriteCGIConstant(#PB_CGI_ContentLength$)
  WriteCGIConstant(#PB_CGI_HeaderContentType$)
  WriteCGIConstant(#PB_CGI_DocumentRoot$)
  WriteCGIConstant(#PB_CGI_GatewayInterface$)
  WriteCGIConstant(#PB_CGI_PathInfo$)
  WriteCGIConstant(#PB_CGI_PathTranslated$)
  WriteCGIConstant(#PB_CGI_QueryString$)
  WriteCGIConstant(#PB_CGI_RemoteAddr$)
  WriteCGIConstant(#PB_CGI_RemoteHost$)
  WriteCGIConstant(#PB_CGI_RemoteIdent$)
  WriteCGIConstant(#PB_CGI_RemotePort$)
  WriteCGIConstant(#PB_CGI_RemoteUser$)
  WriteCGIConstant(#PB_CGI_RequestURI$)
  WriteCGIConstant(#PB_CGI_RequestMethod$)
  WriteCGIConstant(#PB_CGI_ScriptName$)
  WriteCGIConstant(#PB_CGI_ScriptFilename$)
  WriteCGIConstant(#PB_CGI_ServerAdmin$)
  WriteCGIConstant(#PB_CGI_ServerName$)
  WriteCGIConstant(#PB_CGI_ServerPort$)
  WriteCGIConstant(#PB_CGI_ServerProtocol$)
  WriteCGIConstant(#PB_CGI_ServerSignature$)
  WriteCGIConstant(#PB_CGI_ServerSoftware$)
  WriteCGIConstant(#PB_CGI_HttpAccept$)
  WriteCGIConstant(#PB_CGI_HttpAcceptEncoding$)
  WriteCGIConstant(#PB_CGI_HttpAcceptLanguage$)
  WriteCGIConstant(#PB_CGI_HttpCookie$)
  WriteCGIConstant(#PB_CGI_HttpForwarded$)
  WriteCGIConstant(#PB_CGI_HttpHost$)
  WriteCGIConstant(#PB_CGI_HttpPragma$)
  WriteCGIConstant(#PB_CGI_HttpReferer$)
  WriteCGIConstant(#PB_CGI_HttpUserAgent$)
  
  WriteCGIString("</body></html>")
Debug:

Code: Select all

[01:41:04] [COMPILER] Line 13: Constant not found: #PB_CGI_AuthType$.
[01:41:32] [COMPILER] Line 14: Constant not found: #PB_CGI_ContentLength$.
[01:41:36] [COMPILER] Line 15: Constant not found: #PB_CGI_HeaderContentType$.
[01:41:41] [COMPILER] Line 16: Constant not found: #PB_CGI_DocumentRoot$.
[01:41:46] [COMPILER] Line 17: Constant not found: #PB_CGI_GatewayInterface$.
[01:41:50] [COMPILER] Line 18: Constant not found: #PB_CGI_PathInfo$.
[01:41:54] [COMPILER] Line 19: Constant not found: #PB_CGI_PathTranslated$.
.....
CGI Windows -> Error 500 - Premature end of script headers...

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 3:30 am
by Opcode
Keya wrote:5.40's fasm.exe is from 2012, can that be updated? but i can understand not if it would break too many things! :)
Indeed. It seems like from 2012 till the latest version most of FASM changes have been bug fixes. It probably wouldn't hurt to update it before pushing out the final release of 5.40 LTS.

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 3:51 am
by Liqu
Async HTTP and Added HTTPS/TLS support for SendMail()

Whoa whoa whoa.
GREAT JOB THANK YOU!

Any example using The NEW SendMail() for gmail please?

======================

I hope there will be built in HTML5 support for easier GUI, so we can make great UI by using html5 + css3 and JS
Load HTML, CSS and JS from memory too please :D

I know there's AWESOMENIUM, but it takes a lot of files and licenses issue.

Purebasic & Spiderbasic Full Support, Purebasic can display Spiderbasic HTML5 apps natively. :D

Built in GIF Image Support for Image Gadget please :D

SQLite with encryption will be great too :D

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 4:09 am
by oreopa
This is an impressive update. Thanx a lot!

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 6:42 am
by Fred
mback2k wrote:Thanks for the new release. Would you mind sharing some details about the HTTPS/TLS implementation? I guess it is very important to understand if PureBasic performs server certificate validation, e.g. using the system certificate store, etc. and which cipher suites are used. Does PureBasic use the Windows SChannel library for TLS (for SMTPS)? And does it use WinHTTP for HTTPS? The post above mentions curl, I guess that one is used on Linux/Mac OS X? Thanks in advance!
We uses CURL for all plateforms, Windows uses native SChannel and OS X native DarwinSSL and both are statically linked. On Linux, we uses the CURL lib shipped with the OS, as it's not possible for us to ship the root certificates for SSL connexions (but it shouldn't be a problem as CURL is almost always installed on a Linux box).

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 7:37 am
by STARGÅTE
Many thanks for this strong update, especially for the new vector drawing library.
I hope I will find some time to test all new functions.

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 7:44 am
by mback2k
Fred wrote:We uses CURL for all plateforms, Windows uses native SChannel and OS X native DarwinSSL and both are statically linked. On Linux, we uses the CURL lib shipped with the OS, as it's not possible for us to ship the root certificates for SSL connexions (but it shouldn't be a problem as CURL is almost always installed on a Linux box).
Thanks for the information. So the cURL defaults apply to the connections created using PureBasic? I am just curious, because I am the creator of the native SChannel implementation in cURL.

You may want to update the license information in the PureBasic documentation to reflect that cURL is statically linked. ;-)

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 8:00 am
by Fred
Yes, default apply. About the license, yes, it will be done :)

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 8:11 am
by wilbert
Great additions Fred :)

A question about the OSX version.
I tried the x64 version on OSX and when debug is enabled, it takes a few seconds before a compiled application window shows.
On prior versions this was almost instantly and with the 5.40 beta without debugger enabled, it also is almost instantly.
Is there any reason why compiling with debugger enabled has become so much slower ?

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 8:39 am
by Fred
I have no idea...

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 9:01 am
by startup
thank you for the great update.
it might be a stupid question, but can you also supply a mail-get with tls? that would really complete the mail theme.

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 10:14 am
by applePi
thanks for the update, the vector drawing are impressive
all 3D examples does not work, needs fix to parameter mode and Flags for createLight, MoveCamera, MoveEntity, may be more. but this is beta 1.

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 11:03 am
by STARGÅTE
Why CRC32Fingerprint() is removed? I liked the way, to get a fast Long-Fingerprint.
Now I need a code like this, but I think the conversion between numeric (intern) -> string-output -> and again numeric is slow :-(

Code: Select all

UseCRC32Fingerprint()

Procedure.l CRC32Fingerprint(*Buffer, Size.i)
	ProcedureReturn Val("$"+Fingerprint(*Buffer, Size, #PB_Cipher_CRC32))
EndProcedure

Define Long.l

Debug CRC32Fingerprint(@Long, 4)

Re: PureBasic 5.40 LTS beta 1 is out !

Posted: Tue Sep 01, 2015 11:12 am
by Keya
STARGÅTE wrote:Why CRC32Fingerprint() is removed? I liked the way, to get a fast Long-Fingerprint.
my guess is its because CRC32 is the only 32bit hash; all the others are at least 128bit up to 512bit so in that way it makes sense to have the output as a string, so I can understand FingerPrint() only returning strings.

But it's inefficient for anything other than display purposes - it's inefficient if we want to actually use it for actual file comparisons, or storing the hash.

So I too would prefer access to the "raw" result - if I need to display it as hex that's easy to do myself! Just give me the buffer address, i know exactly how many bits i need to read. Don't force the hex string, i almost always don't need it in that processed format.