Browse source

Changelog

Query
From:
To:
Branch:
Path:
Message:
BugID:
User: +
Format:
: 6 checkins (+97/-72) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 18 checkins (+140/-100) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 10 checkins (+56/-36) by 4 people : 10 checkins (+1659/-98) by 4 people : 10 checkins (+23/-12) by 2 people : 2 checkins (+22/-14) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 8 checkins (+132/-16) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+17/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+11/-1) by 2 people : 17 checkins (+121/-129) by 2 people : 8 checkins (+70/-77) by 2 people : 3 checkins (+8/-3) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+3/-4) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 3 checkins (+34/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 5 checkins (+62/-8) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+26/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+15/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 3 checkins (+39/-10) by 2 people : 2 checkins (+69/-64) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+67/-28) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 2 checkins (+18/-1) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 13 checkins (+601/-637) by 3 people : 21 checkins (+408/-304) by 3 people : 13 checkins (+135/-139) by 2 people : 1 checkin (+76/-29) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+75/-70) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 1 checkin (+21/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 3 checkins (+48/-12) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 11 checkins (+279/-84) by 4 people : 8 checkins (+78/-47) by 2 people : 4 checkins (+25/-191) by 2 people : 4 checkins (+105/-142) by 2 people : 5 checkins (+183/-76) by 2 people : 3 checkins (+24/-21) by 2 people : 6 checkins (+34/-2) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 5 checkins (+59/-34) by 2 people : 31 checkins (+839/-507) by 3 people : 2 checkins (+57/-41) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 33 checkins (+1171/-458) by 3 people : 5 checkins (+59/-40) by Henrik Grubbström (Grubba) <grubba@grubba.org> Lines added/removed recently

Yesterday; Friday 01 August 2014

2014-08-01 09:00:22 (17 hours ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Show the connection state in lfun::_sprintf(%O).

2014-08-01 08:54:05 (17 hours ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Got rid of unused argument.

The called_from_real_backend arguemnt is no longer used, so there's
no need to keep it around and up to date.
SSL.Connection: Added lfun::_sprintf().

2014-08-01 01:02:29 (1 day ago) by Martin Nilsson <nilsson@opera.com>

Added standards cross references.

2014-08-01 00:11:41 (1 day ago) by Martin Nilsson <nilsson@opera.com>

We are typically only calling sign/verify once a connection, so just do the implementation selection during that call.

Thursday 31 July 2014

2014-07-31 21:00:41 (1 day ago) by Martin Nilsson <nilsson@opera.com>

Improved some comments.

2014-07-31 17:49:50 (1 day ago) by Per Hedbor <ph@opera.com>

Some tweaks to the overwiev Fuse documentation
Documentation tweaks for Shuffler

We should probably use this in at least Protocols.HTTP.Server, to test the code
if nothing else..

2014-07-31 17:27:55 (1 day ago) by Per Hedbor <ph@opera.com>

Aded GLUT absolutely minimal autodoc

This is generated automatically, but if GLUT is not installed
on the computer the generation is skipped.

Thus, also check in the generated file.

2014-07-31 17:06:08 (1 day ago) by Per Hedbor <ph@opera.com>

Added basic documentation to Image.WebP.

2014-07-31 16:06:29 (1 day ago) by Martin Nilsson <nilsson@opera.com>

Someone didn't test their changes.

2014-07-31 16:00:18 (1 day ago) by Martin Nilsson <nilsson@opera.com>

Make default signature hash more explicit.

2014-07-31 15:47:36 (1 day ago) by Per Hedbor <ph@opera.com>

Added a few more format notes

Also removed some trailing whitespaces
Added a few notes about what PCX is.
Documented the mission-critical Image.DSI module (Dream SNES image format)
Moved general format description from encode() to the module
Added a few notes about what an AVS file actually is.
Moved all _Image_JPEG documentation to Image.JPEG.
Actually document Image.WBMP.

Perhaps a few years to late.
Added a few notes about what ILBM is.
Moved _Regexp_PCRE documentation to Regexp.PCRE.

Also mark up code segments in the documentation with @code.
Fixed XPM documentation, it is now visible

Also constified a constant and removed a comment.

2014-07-31 11:59:30 (2 days ago) by Martin Nilsson <nilsson@opera.com>

Moved hash selection to the signer object.

2014-07-31 09:47:27 (2 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Removed some obsolete debug checks.

The current Pike backends support multiple concurrent threads running
the backend, so there's no purpose in these thread checks anymore.

2014-07-31 09:42:23 (2 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Removed some dead code.

2014-07-31 09:36:55 (2 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Stricter type for backend_once().

Wednesday 30 July 2014

2014-07-30 08:24:07 (3 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Removed some now ignored arguments.

The two last arguments to RUN_MAYBE_BLOCKING() are no longer used,
so there's no point in having them.

2014-07-30 08:21:23 (3 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Changed backend handling.

The backend to use (real/local) now strictly depends on blocking/
nonblocking mode. This means that creation of the local backend
can be (and has been) moved to set_blocking{,_keep_callbacks}().

This reduces the number of short-lived backends used by SSL in a
typical nonblocking backend-driven application down to ~ zero.

Tuesday 29 July 2014

2014-07-29 19:28:40 (3 days ago) by Per Hedbor <ph@opera.com>

More documentation for Image.XCF and Image.PSD.

2014-07-29 19:17:31 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Decomplex the lookup function a bit.

2014-07-29 18:49:28 (3 days ago) by Martin Nilsson <nilsson@opera.com>

More static.

2014-07-29 18:29:50 (3 days ago) by Martin Nilsson <nilsson@opera.com>

filesystem isn't used.

2014-07-29 18:24:28 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Synchronized port struct with socket.c

2014-07-29 18:16:45 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Remove aap_malloc and aap_free

2014-07-29 17:55:59 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Updated documentation for set_cipher_suite

2014-07-29 17:42:47 (3 days ago) by Per Hedbor <ph@opera.com>

Non-bignum support has been removed
Added some documentation to the Arg module

The rest of the documentation is now extracted as well.

2014-07-29 17:10:28 (3 days ago) by Per Hedbor <ph@opera.com>

Removed pike 7.5 (I think?) support and added some documentation.
Do not try to parse the received data as HTTP variables.

Fixes a crasher that occurs at times, and the parsing did not make
any sense anyway.
Removed prestate and supports from HTTPLoop.RequestObject

They were never exactly part of any standard.

2014-07-29 16:13:00 (3 days ago) by Per Hedbor <ph@opera.com>

Add locking support to FUSE.

Also implement the nano-second version of utime.

2014-07-29 14:58:57 (3 days ago) by Per Hedbor <ph@opera.com>

Added nano-second resolution file-timestamp support to stat

2014-07-29 09:19:29 (4 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Documentation: Added some crossreferences for *.secure().

Monday 28 July 2014

2014-07-28 15:10:13 (4 days ago) by Per Hedbor <ph@opera.com>

Removed some redundant debug that debugs that pike can call functions correctly.
Added a few OBJECT_CLEAR_ON_EXIT clears.

Images, String.Buffer objects and Gmp.mpz objects now honor the flag
for not only the object structure, but also the data in the object.

2014-07-28 10:23:48 (5 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Gmp.mpz: Propagate CLEAR_ON_EXIT to bignums.

Creating a bignum from a String.secure()d string now causes
the bignum to be Object.secure()d.

Sunday 27 July 2014

2014-07-27 12:30:59 (6 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Object: Added secure().

This function sets the OBJECT_CLEAR_ON_EXIT flag on the provided
object (analogous to String.secure() and STRING_CLEAR_ON_EXIT).

Also fixes the documented type of String.secure().

2014-07-27 12:27:27 (6 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Added flag to clear objects on free.

The PROGRAM_CLEAR_STORAGE flag now sets the new object flag
OBJECT_CLEAR_ON_EXIT (analogous to STRING_CLEAR_ON_EXIT) at
clone time.

2014-07-27 12:25:15 (6 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Added flags field for objects.

Saturday 26 July 2014

2014-07-26 11:19:16 (7 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Removed some now dead code.

2014-07-26 06:09:04 (7 days ago) by Martin Nilsson <nilsson@opera.com>

More internal documentation of rsa_pad.

2014-07-26 02:07:48 (1 week ago) by Martin Nilsson <nilsson@opera.com>

Optimized rsa_unpad a bit.

Friday 25 July 2014

2014-07-25 21:40:20 (1 week ago) by Martin Nilsson <nilsson@opera.com>

Improved RSA en/decrypt test a bit.
More serious attempt at constant time RSA unpadding.

2014-07-25 11:54:23 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

CHANGES: Updated the segments about Crypto and SSL.

Splitted the combined segment into one about SSL and one about
Crypto and Nettle changes.

Combined, reworded and extended several items.

Thursday 24 July 2014

2014-07-24 17:19:54 (1 week ago) by Per Hedbor <ph@opera.com>

Now compiles again.

Use TYPEOF to get type

(cherry picked from commit 9aac72417207bd7fce31a99530e18843150a7565)

2014-07-24 13:26:10 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

String: Added filter_non_unicode().

Make string_filter_non_unicode() available as String.filter_non_unicode().

Also fixes related typo in CHANGES.

2014-07-24 13:18:46 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Revamped handling of errno.

Splits cb_errno into {read,write,close}_errno, which in turn are used to
update local_errno depending on which of {read,write,close,renegotiate}()
et al was called.

Removes the now obsolete FIX_ERRNOS() macro.

Also removes a direct call of close_callback() from ssl_close_callback().

Wednesday 23 July 2014

2014-07-23 23:27:51 (1 week ago) by Martin Nilsson <nilsson@opera.com>

On systems with RDRND random will not be deterministic or depend on random_seed().

2014-07-23 14:58:28 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: The got_extra_read_call_out state is no more.

The extra read call_out has been fully replaced by the
internal_poll() call_out, so remove the last remnants of it.

2014-07-23 12:13:55 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: update_internal_state() is no more.

As update_internal_state() has become a noop, there's no need
to keep it around anymore.

2014-07-23 12:00:22 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Improved handling of user callbacks in set_backend().

Any pending callbacks now migrate to the new backend.

Also clears pending callbacks on shutdown().

Tuesday 22 July 2014

2014-07-22 15:07:57 (1 week ago) by Per Hedbor <ph@opera.com>

Fixed changelog URL in CHANGES
Moved pike_get_interpreter_pointer to threads.c
Removed very redundant size_shift debug test
Strengtened the return type of glob()

2014-07-22 14:52:18 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Move read_callback setting to read().

The stream read_callback is now set (to ssl_read_callback) whenever
the read buffer isn't full, and cleared when it is.

This reduces the complexity and cleans up the semantics of where
and when the stream read_callback is changed.

Also makes similar changes to the handling of the stream close_callback.

This means that the function update_internal_state() is now a noop.

2014-07-22 13:49:41 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.BufferedCipher: Fixed bug in unpad().

The new unpad() padding checker didn't survive the case where
the padding consisted of a single byte.

Monday 21 July 2014

2014-07-21 16:51:47 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.BufferedCipher: Support larger padding in unpad().

Support padding larger than the cipher block size.

Support padding larger than 127 bytes on architectures with signed char.

The above are needed to interoperate with GnuTLS (which often uses quite
long padding).

Also attempts to make the padding checking code more time-invariant.

2014-07-21 16:50:40 (2 weeks ago) by Per Hedbor <ph@opera.com>

Moved random() note

2014-07-21 16:44:42 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added notes about some more changes

2014-07-21 15:34:00 (2 weeks ago) by Tobias S. Josefowitz <tobij@tobij.de>

[Fuse] remove redundant code around call_with_interpreter()

Fixes compilation, and removes unneccessary code.

2014-07-21 15:01:44 (2 weeks ago) by Per Hedbor <ph@opera.com>

Merged the const-marked pike_interpreter_pointer branch.

We now lie to the compiler about the const:ness of the
Pike_interpreter_pointer variable.

Most code now pretends that that variable is constant (it's not,
really, it's constant /per thread/, but not globally, however, the
only code that writes to it and expects anything but the same value
each time it is read is in thread.c)

This saves a lot of code when using the stack multiple times in a
function, and should be safe enough, albeit somewhat unconventional.

If nothing else the binary size shrunk by about 5%.

This _will_ cause issues if pike is compiled with link-time
optimization. A better solution would be an actual thread local
pointer, which is const marked. Or, perhaps the best solution, having
the whole pike_interpreter_struct structure be thread local. At least
on x86_64 accessing thread-local data is just about as fast as
accessing global data.

2014-07-21 14:15:41 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added change entry for the new syntax.

Sorry for the messed up commit message previously, it happened since
the character # starts a comment in commit messages.

2014-07-21 13:54:49 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added a new string syntax

They will all start and end a literal string.

A literal string can contain any characters except the end sequence.

The main usecase is writing code in a string.

As an example:

string test = #{
This is a literal string.
They can contain any characters, no de-quoting is done at all.

So, as an example, foo "bar" 'gazonk' \

Valid quote sequences are #{, #( and #[.
They are ended by # followed by }, ) and ], respectively.

So, you can use the two other quotes inside the string, if you want to, like:

Also, no preprocessing is done inside the string.

The main usecase for these strings is to write code in code.

2014-07-21 11:48:04 (2 weeks ago) by Martin Karlgren <marty@roxen.com>

Support REQUEST_GETNEXT by allowing callback to return a different OID.

Previously, the API only supported returning the requested OID, which made
it impossible for the callback to return the "next" OID (the one actually
used in REQUEST_GETNEXT requests).

Sunday 20 July 2014

2014-07-20 13:10:31 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Move write_callback setting to queue_write().

The stream write_callback is now set (to ssl_write_callback) whenever
the write_buffer isn't empty, and cleared when it is.

This reduces the complexity and cleans up the semantics of where
and when the stream write_callback is changed.
Testsuite: Make sure that there are valid certs for old TLS.

Old versions of TLS (before TLS 1.2) can't use SHA256 certs
for most suites as the suites use SHA1 (or even MD5) which
is too weak for SHA256 certs.

This problem was introduced by the GnuTLS interop fix.

2014-07-20 12:28:37 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Session: Fixed some warnings.

Saturday 19 July 2014

2014-07-19 11:31:55 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Session: Improve interoperation with GnuTLS.

GnuTLS doesn't like certificates for SHA256 signing being used with
suites (in TLS 1.1 and earlier) using SHA1. We now filter such certs.

Friday 18 July 2014

2014-07-18 17:27:07 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Detach chaining of callbacks for read.

The user {accept,read,close}_callback():s are now no longer called
directly from the internal ssl_read_callback(), but instead via
internal_poll() (analogous to ssl_write_callback()).

This attempts at further reducing the code complexity of SSL.File.

Thursday 17 July 2014

2014-07-17 17:27:01 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Detach chaining of callbacks for write.

Adds schedule_poll() and internal_poll().

The user {write,close}_callback():s are now no longer called directly
from the internal ssl_write_callback(), but instead via a call_out of
internal_poll() (scheduled by schedule_poll()).

This is a start at attempting to reduce the code complexity of SSL.File.

Wednesday 16 July 2014

2014-07-16 17:37:47 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Backend: Fixed EXIT in CallOut.

EXIT in CallOut sometimes attempts to get the parent object (ie the backend)
by calling parent_storage(), but that requires destruct() to have registered
the program with a destroy_called_mark, which it only does for programs
lacking lfun::destroy() if they are

* C-programs (no problem here).

and

* Have the PROGRAM_NEEDS_PARENT flag set (this was missing).

This caused the error "Cannot access parent of destructed object.".

This bug could sometimes be triggered by the async_tls_close_test.

2014-07-16 17:15:25 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Allow time to be set through ASN.1 UTC constructor

2014-07-16 15:46:26 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Create a new struct object before cutting substrings, to prevent reading outside of the limit.
Comments and fixmes.

2014-07-16 15:24:10 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Whitespace and debug fixes.

2014-07-16 14:57:30 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Alerts messages are printed out when SSL3_DEBUG is enabled. Cut down the redundancy.

2014-07-16 14:41:43 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

certificate_request probably works. Did some work on sending client certificates.

2014-07-16 13:16:14 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Since Session doesn't know about Context, do the CertificatePairs lookup in the caller to avoid ugly type casts.

2014-07-16 13:04:00 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

No SNI in Pike 7.8.

Tuesday 15 July 2014

2014-07-15 23:36:36 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

These didn't exists in 7.8, so no compat.

2014-07-15 23:33:56 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Refactored certificate lookup.
Whitespace fix.

2014-07-15 17:53:23 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

OO harder. Let CertificatePair sort themselves according to perceived certificate strength.

2014-07-15 16:56:19 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Moved and trimmed code to generate CipherPair glob array to separate function.
Moved and trimmed code to generate CipherPair glob array to separate function.

2014-07-15 16:52:20 (2 weeks ago) by Per Hedbor <ph@opera.com>

add_mem8_imm is used when not compiling with valgrind.

Re-introduced the function

2014-07-15 16:19:21 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

More certificate testing.

2014-07-15 15:09:00 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added F_CALL_BUILTIN_N and F_APPLY_N.

This calls the constant in arg1 with arg2 arguments from the stack.

These opcodes are used if the number of arguments is known and bigger
than 1.

It is not really all that big an optimization, it only removes the
mark stack handling. And, in fact, due to the fact that it removes
some peep optimizations it might be somewhat slower when not using the
amd64 machine code (since, as an example, APPLY/ASSIGN_LOCAL/POP is no
longer an opcode that is used in this case).

However, when using the amd64 code the assign local + pop opcode is
higly optimized, so it's not an issue that it is not merged into the
apply opcode. It is in fact more of a feature.

For that reason the code in docode.c is currently conditional.
The only code generator using it is the amd64 one.

2014-07-15 14:36:51 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Don't use debug_string anymore.
Added _sprintf to Real.

2014-07-15 12:58:48 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Optimizer: Fixed bug in foreach with ranges.

The foreach range optimizer didn't handle negative start ranges,
which would cause foreach to index the array out of bounds.

Fixes [bug 7216].

2014-07-15 12:56:33 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Optimizer: Fixed bug in foreach with ranges.

The foreach range optimizer didn't handle negative start ranges,
which would cause foreach to index the array out of bounds.

Fixes [bug 7216].

Monday 14 July 2014

2014-07-14 19:25:47 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Added _encode/_decode

2014-07-14 19:04:00 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Sort Context items into Global, Cryptography, Certificates/authentication and Sessions

2014-07-14 18:25:55 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Merge labels with identical code.

2014-07-14 17:55:35 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Remove duplicate rules.

2014-07-14 17:13:35 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: More clean-ups in write().

Reduces the code complexity in write() a bit further.

2014-07-14 16:29:37 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Some certficate conformance fixes. RFC 5280 4.1.2.2

2014-07-14 16:13:29 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Small update on Camellia

2014-07-14 15:45:45 (3 weeks ago) by Per Hedbor <ph@opera.com>

Allow the user to specify the starting indentation level to JSON.encode

2014-07-14 15:24:18 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

merge_array_without_order(2) isn't actually used.

2014-07-14 14:03:19 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Kill NPN fully.

Sunday 13 July 2014

2014-07-13 22:39:54 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.ServerConnection: Fixed nextprotoneg handshake.

The padding wasn't validated, and the wrong value was returned from
handle_handshake().

NB: As this stuff belongs to an obsolete draft, which has been
superceeded by RFC 7301, we probably ought to remove it.

2014-07-13 12:26:02 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Connection: Added query_write_queue_size().

This provides an easy API to see whether it is meaningful to
call to_write().

Saturday 12 July 2014

2014-07-12 11:36:04 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Constants: Updated the list of RFCs and drafts.

ALPN is now RFC 7301.

2014-07-12 11:11:55 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Stdio.File: Improved documentation of write().

Restructured and more details about behaviour in nonblocking mode.

Friday 11 July 2014

2014-07-11 17:33:55 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Increased strictness of variant dispatcher.

The variant dispatcher regarded all objects (even those without `()())
as callable. This was not a good idea.

Fixes some of the issues with the Crypto.RSA testsuite.

2014-07-11 14:58:24 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Unify code paths in write().

Reduce the amount of duplicated code in write() by unifying the code
for the array and string cases.

This has the added benefit of having the array case actually being tested.

Thursday 10 July 2014

2014-07-10 21:53:28 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

There MUST NOT be more than one extension of the same type. RFC 5246 section 7.4.1.4.

2014-07-10 15:27:01 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Process: Fixed documentation for kill().

predef::kill() returns int(0..1) (not void).

Thanks to Per Cederqvist <cederp@opera.com> for the report.

Fixes [LysLysKOM 20889011].

Also strengthens the return type from int to int(0..1).

Wednesday 09 July 2014

2014-07-09 15:22:53 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Testsuite: Improve diagnostics for conditionals.

Tuesday 08 July 2014

2014-07-08 16:49:28 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Standards.PKCS.Identifiers: Added ec_{dh,mqw}_id.

This adds some remaining identifiers from RFC 5480.

2014-07-08 16:47:08 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Standards.PKCS.Identifiers: Added brainpool.

This adds the brainpool curve identifiers from RFC 5639.

Monday 07 July 2014

2014-07-07 17:21:05 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Cipher: Fixed Autodoc markup typo.
SSL.Context: Added get_signature_algorithms().

Also extends the documentation for the signature_algorithms
variable a bit.

Sunday 06 July 2014

2014-07-06 13:40:36 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL: Implemented support for the fallback SCSV.

This adds support for the protocol extension SCSV specified in
draft-ietf-tls-downgrade-scsv as of 2014-07-04.

This protects clients renegotiating failed connections with lower
protocol versions from MITM downgrade attacks, by informing the
server that the client actually supports a higher protocol version
than the one it is currently using.

Saturday 05 July 2014

2014-07-05 12:05:29 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.RSA: Reenable the generate_key() compat function.

Also fixes some related warnings.

Friday 04 July 2014

2014-07-04 17:07:24 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Image: Added test of Image.load_layers().

2014-07-04 16:50:23 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Image.PSD: Removed erroneous range check.

This check was the wrong way around for the common case where
the bit packer actually has packed some bits, but it can also
not be left in place as an inverted test, as the packed bits
may contain noop instructions, or more likely unpacked bits
(which will expand by a factor 129/128).

Note also that packbitsdecode() does contain range checks.

Fixes Image.decode_layers() on psd-files.

Thursday 03 July 2014

2014-07-03 18:07:03 (4 weeks ago) by Arne Goedeke <el@laramies.com>

Interpreter: cast to unsigned before shifting to avoid signed overflow

2014-07-03 16:58:52 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Stdio.Stat: Survive casts to subtyped arrays (and mappings).

When casting an object to eg array(int), lfun::cast() gets the string
"array(int)". This used to cause Stdio.Stat::cast() to fail.

2014-07-03 15:04:35 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Pike.identify_cycle: Improved documentation somewhat.

2014-07-03 09:07:51 (4 weeks ago) by Arne Goedeke <el@laramies.com>

signal handling: UNUSED parameter is used in some cases

2014-07-03 08:46:53 (4 weeks ago) by Arne Goedeke <el@laramies.com>

Java: marked unused parameters to silence warnings
Removed one more non 7 bit string literal

2014-07-03 08:29:06 (4 weeks ago) by Arne Goedeke <el@laramies.com>

block_alloc: removed just_find_*

This part of the old block allocator hash table api is not used anymore.
GTK2: make sure string literals are 7 bit ASCII

clang has default encoding utf8 and will complain about non 7 bit chars
in string literals

Wednesday 02 July 2014

2014-07-02 19:14:28 (4 weeks ago) by Arne Goedeke <el@laramies.com>

ADT.CritBit: avoid overflow
threads: removed some unused functions
Image: removed some unused functions
Compiler: silence parentheses warnings in clang

2014-07-02 19:09:53 (4 weeks ago) by Arne Goedeke <el@laramies.com>

Interpreter: renamed some variables

When compiling without bytecode and with compilers without computed
goto, the variable p is always struct program *. Use addr for OPCODE_T *,
instead, to silence warnings.
block_allocator: removed some INLINE and warnings for unused parameters
Fuse: removed some unused code

2014-07-02 19:06:29 (4 weeks ago) by Arne Goedeke <el@laramies.com>

type system: do not over allocate pike_type_mark_stack
testsuite: test string range optimizations
Strings: correctly store character ranges

Character ranges of strings are stored in two unsigned chars. For wide
strings, the values between 0 and 255 represent blocks of 255 and
(1<<24) characters, respectively.

The previous code had several issues:

1) After calculating the actual min/max values of the character range,
these value were rounded up, which could lead to an overflow. The
result was that both min and max could end up being 0. An example is
the string (string)({ (1<<16)-1 }).
2) The 32 bit case used blocks of 16 bit instead of 24 bit.
TYPE_SUBTYPE: avoid undefined behavior

(X) << 16 cannot always be represented by an int

2014-07-02 18:56:20 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Image.PNG: encode() now survives options being UNDEFINED.

2014-07-02 14:38:29 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Type-stack mmap fixes.

Mmapping stdin is not a good idea...

mmap() doesn't return NULL on failure, but MAP_FAILED. This caused some
invalid pointers to be used on mmap failure.

Fixes fatal "Type mark stack overflow." on init on Solaris.

2014-07-02 13:40:10 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Tools.AutoDoc: Support the string(zero) syntax.

This is the type for the empty string.

2014-07-02 12:19:50 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Doc: Moved identify_cycle() documentation to proper place.

Tuesday 01 July 2014

2014-07-01 20:04:05 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Constants: Added some constants from RFC 7250.

2014-07-01 13:55:17 (1 month ago) by Per Hedbor <ph@opera.com>

Removed stray ",".

This fixes a bug from 2001-05-05 where a lot of countries
are mapped to the continent ",Europe", not "Europe".

Not all, but most.

Monday 30 June 2014

2014-06-30 18:51:46 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL: Added cipher suites from RFC 7251.

This adds ECDHE/ECDSA variants of the AES-CCM suites from RFC 6655.

NB: Note that there still doesn't seem to be any corresponding
suites with ECDHE/RSA.

Sunday 29 June 2014

2014-06-29 23:32:17 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL: Removed some debug.
SSL: Fixed some typos in the previous commit.

2014-06-29 16:58:49 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL: Support EXTENSION_encrypt_then_mac.

This draft extension improves security for old CBC suites by
hashing the encrypted data including the padding. This works
around the various TLS padding attacks.

2014-06-29 16:20:58 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Cipher: Extended hash_packet() with length adjustment.

This is needed to support the current draft of encrypt-then-mac.

Saturday 28 June 2014

2014-06-28 09:54:02 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Added macro SET_SVAL_TYPE_DC().

This is to be used to set the svalue type when we don't care about
the subtype. It may clear the subtype depending on the C-compiler.

Friday 27 June 2014

2014-06-27 18:47:37 (1 month ago) by Martin Nilsson <nilsson@opera.com>

Renamed the misnamed asn1_id to pkcs_hash_id

2014-06-27 18:36:52 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Constants: Added EXTENSION_encrypt_then_mac.

This value was recently allocated to draft-ietf-tls-encrypt-then-mac.

Thursday 26 June 2014

2014-06-26 20:14:58 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Support compilers with union aliasing problems.

There are apparently compilers that don't understand that the
fields in unions overlap, and overcache overwritten fieldvalues.

Also restores support for compilers without support for static union init.

2014-06-26 18:54:41 (1 month ago) by Martin Nilsson <nilsson@opera.com>

No need for COMPATIBILITY now that we have __deprecated__.
No need for COMPATIBILITY now that we have __deprecated__. Removed the old class aliases and made more internal things protected.

2014-06-26 18:50:24 (1 month ago) by Martin Nilsson <nilsson@opera.com>

ASN1 compatibility

2014-06-26 15:45:45 (1 month ago) by Martin Nilsson <nilsson@opera.com>

Documentation update.

2014-06-26 14:00:19 (1 month ago) by Martin Karlgren <marty@roxen.com>

GC: Bugfix in visit_short_svalue to avoid fatal.

Fixes a fatal that was triggered if Pike.count_memory or Pike.identify_cycle
was performed on a backend object having either pending call_outs or any
active or inactive fd:s (it seems that's the only call site of
gc_recurse_short_svalue, which in turn is the only call site of
visit_short_svalue).

2014-06-26 08:13:21 (1 month ago) by Martin Karlgren <marty@roxen.com>

GC: Bugfix in visit_short_svalue to avoid fatal.

Fixes a fatal that was triggered if Pike.count_memory or Pike.identify_cycle
was performed on a backend object having either pending call_outs or any
active or inactive fd:s (it seems that's the only call site of
gc_recurse_short_svalue, which in turn is the only call site of
visit_short_svalue).

2014-06-26 07:40:35 (1 month ago) by Bill Welliver <bill@welliver.org>

packaging: rpms actually build now

Wednesday 25 June 2014

2014-06-25 19:45:27 (1 month ago) by Bill Welliver <bill@welliver.org>

packaging: correct source location.

2014-06-25 19:37:04 (1 month ago) by Bill Welliver <bill@welliver.org>

packaging: updates for 7.8.866.

2014-06-25 18:29:07 (1 month ago) by Martin Nilsson <nilsson@opera.com>

Use the ASN1 factory in LDAP
Good enough...

2014-06-25 17:05:20 (1 month ago) by Martin Nilsson <nilsson@opera.com>

Fixed warnings.

2014-06-25 16:51:31 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

ci_tests: Use variables instead of array indices.

Fixes the support for LONGUPPERDELTA (which caused the broken
lower_case tests).

Cleans up the code somewhat.

2014-06-25 16:29:14 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Testsuite: Fixed broken lower_case tests.

It seems the Unicode tables were misread when they were updated,
causing eights in the table where there was supposed to be zeroes.

2014-06-25 10:47:08 (1 month ago) by Martin Karlgren <marty@roxen.com>

Pike.identify_cycle: reset mc_ref_from to match asserts in f_count_memory.

Tuesday 24 June 2014

2014-06-24 23:28:28 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Fixed support for combined type_subtype on 64-bit big-endian.

2014-06-24 16:31:50 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Unified struct svalue and struct fast_svalue.

Modern gcc (4.7.3) had aliasing problems with the two structs, which
caused changes performed with SET_SVAL() (which used struct fast_svalue)
to not be reflected in TYPEOF() (which used struct svalue). This in turn
caused eg casts of integers to floats to fail with "Cast failed, wanted
float, got int".

The above problem is now solved by having an actual union for the type
fields in struct svalue. This has the additional benefit of forcing
all code to use the svalue macros.

NB: This code change will cause problems with compilers that don't
support union initializers.

2014-06-24 16:29:21 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Missed a few places in the previous commit.

2014-06-24 16:20:58 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Added lots of missing TYPEOF()s.

2014-06-24 11:41:12 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Pike.identify_cycle: Fixed support for mappings and multisets.

References from mapping_data and multiset_data were not registered
on their corresponding mapping or multiset, but on the initial
argument to Pike.identify_cycle().

Monday 23 June 2014

2014-06-23 16:28:44 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Improved cycle detection in implements() and is_compatible().

Under some circumstances the new cache entries could be overwritten
before the functions had completed, leading to infinite recursion.

Fixes [InfoKOM 775534].

2014-06-23 11:31:42 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Fixed buffer overrun in set_default_master().

The string "master.pike" is longer than the string "pike"...

Also fixes C99-ism.

2014-06-23 11:09:38 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Improved compatibility with older Nettles.

In older versions of Nettle, the nettle_*_func typedefs were
function pointers, while in more recent versions they are functions.

Also unifies the naming conventions for Pike-specific typedefs by
renaming the crypt_func typedef to pike_nettle_crypt_func.

[permalink]

Bugs mentioned

  2001RESOLVEDBacktrace when changing prototcol from http to https
  2014RESOLVEDThe memory-use change column total is the same as the normal column total.
  7216RESOLVEDOptimizer broken for some cases of foreach.
  866RESOLVEDVersion mismatch
Bugs? Suggestions?