Browse source

Changelog

Query
From:
To:
Branch:
Path:
Message:
BugID:
User: +
Format:
: 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> : 9 checkins (+84/-74) by 2 people : 7 checkins (+230/-19) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 5 checkins (+43/-47) by 2 people : 7 checkins (+70/-35) by 2 people : 38 checkins (+762/-2967) by 3 people : 29 checkins (+619/-276) by 4 people : 4 checkins (+23/-24) by 2 people : 2 checkins (+25/-17) by 2 people : 30 checkins (+154/-758) by 2 people : 56 checkins (+758/-4053) by 3 people : 12 checkins (+184/-133) by 3 people : 4 checkins (+69/-4) by 2 people : 50 checkins (+2577/-2444) by 2 people : 127 checkins (+728/-587) by 4 people : 67 checkins (+2296/-1341) by 3 people : 1 checkin (+37/-0) by Henrik Grubbström (Grubba) <grubba@grubba.org> : 171 checkins (+6981/-7588) by 5 people : 4 checkins (+27/-20) by 2 people : 11 checkins (+83/-45) by 3 people : 67 checkins (+255/-170) by 5 people : 218 checkins (+390/-270) by 3 people : 25 checkins (+172/-167) by 4 people : 42 checkins (+249/-3017) by 3 people : 114 checkins (+1775/-821) by 3 people : 64 checkins (+804/-411) by 4 people : 33 checkins (+1089/-225) by 4 people : 66 checkins (+1916/-951) by 5 people : 3 checkins (+12/-6) by 2 people Lines added/removed recently

Today; Friday 29 August 2014

2014-08-29 14:35:15 (8 hours ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Search.Database.MySQL: Don't used DELAYED queries.

The DELAYED query modifier is:

* Not supported with InnoDB tables. This causes failures with
MySQL versions (eg 5.5) where InnoDB (and not MyISAM) is default.

* Ignored in MySQL 5.6.

* Deprecated in MySQL 5.6.6.

Fixes [bug 7255].
Search.Database.MySQL: Don't used DELAYED queries.

The DELAYED query modifier is:

* Not supported with InnoDB tables. This causes failures with
MySQL versions (eg 5.5) where InnoDB (and not MyISAM) is default.

* Ignored in MySQL 5.6.

* Deprecated in MySQL 5.6.6.

Fixes [bug 7255].

2014-08-29 07:24:08 (15 hours ago) by Per Hedbor <ph@opera.com>

Reset the result types, clearing zero_type

Yesterday; Thursday 28 August 2014

2014-08-28 23:10:47 (23 hours ago) by Martin Nilsson <nilsson@opera.com>

One more RUNPIKE to silence.

2014-08-28 23:02:45 (23 hours ago) by Martin Nilsson <nilsson@opera.com>

Silenced depend target override warning and some other chattiness.

2014-08-28 22:38:22 (23 hours ago) by Martin Nilsson <nilsson@opera.com>

No need to print out the RUNPIKE args.

2014-08-28 22:14:35 (24 hours ago) by Per Hedbor <ph@opera.com>

Slightly shorter F_RSH

It is uncommon enough to do >> with values >= 64 to use the C version.
Silence type warning when Crypto.ECC.Curve is missing (old nettle)

filter() seems to get the return type wrong.

2014-08-28 21:21:09 (1 day ago) by Per Hedbor <ph@opera.com>

Added F_AND, F_OR and F_RSH opcodes

2014-08-28 18:52:34 (1 day ago) by Chris Angelico <rosuav@gmail.com>

Add set_nodelay() function to Stdio.File objects to control Nagling

2014-08-28 18:47:20 (1 day ago) by Martin Nilsson <nilsson@opera.com>

filter tests.

2014-08-28 18:46:46 (1 day ago) by Chris Angelico <rosuav@gmail.com>

Document the link between set_keepalive and setsockopt

2014-08-28 18:46:17 (1 day ago) by Martin Nilsson <nilsson@opera.com>

Fixed direct cast calls.

2014-08-28 18:44:12 (1 day ago) by Chris Angelico <rosuav@gmail.com>

Implement Stdio.File()->setsockopt()

2014-08-28 18:26:52 (1 day ago) by Martin Nilsson <nilsson@opera.com>

On second thought, this is so obscure that we shouldn't probably do it at all.

2014-08-28 17:52:47 (1 day ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Calendar: Improved dwim_time() for ISO-8601 dates.

Also adds some corresponding testsuite tests.

FIXME: Ought to have tests for all the patterns in dwim_{day,time}().

2014-08-28 17:51:59 (1 day ago) by Martin Nilsson <nilsson@opera.com>

Fixed the indexing-fallback-code of map on objects.

2014-08-28 17:39:48 (1 day ago) by Build system <distmaker@roxen.com>

release number bumped to 873 by export.pike
release number bumped to 872 by export.pike

2014-08-28 17:14:14 (1 day ago) by Martin Nilsson <nilsson@opera.com>

Use pike_sizeof instead if _sizeof.

2014-08-28 17:05:15 (1 day ago) by Per Hedbor <ph@opera.com>

Ignore the generated file

2014-08-28 17:01:10 (1 day ago) by Per Hedbor <ph@opera.com>

Added read_json method.

It will read the first json value on the stream and return it.
Added a PCHARP version of the json parser.

Also added a new flag: JSON_FIRST_VALUE.
If this is set data after a value is ignored.

2014-08-28 15:54:23 (1 day ago) by Chris Angelico <rosuav@gmail.com>

Represent G_TYPE_POINTER as an integer to prevent segfaults
GTK2: Update Scale docs based on source file
GTK2 docs formatting fix
Ensure something's pushed for every argument to a GTK2 signal callback

2014-08-28 15:30:28 (1 day ago) by Chris Angelico <rosuav@gmail.com>

GTK2: Introduce Pango.Layout()->xy_to_char(), parallel to xy_to_index()

2014-08-28 15:20:22 (1 day ago) by Chris Angelico <rosuav@gmail.com>

GTK2 docs formatting fix
GTK2: Update Scale docs based on source file

2014-08-28 15:16:08 (1 day ago) by Chris Angelico <rosuav@gmail.com>

GTK2: Introduce Pango.Layout()->xy_to_char(), parallel to xy_to_index()
Ensure something's pushed for every argument to a GTK2 signal callback
Represent G_TYPE_POINTER as an integer to prevent segfaults

2014-08-28 15:10:19 (1 day ago) by Martin Nilsson <nilsson@opera.com>

Fixed direct calls to cast.

2014-08-28 15:03:26 (1 day ago) by Chris Angelico <rosuav@gmail.com>

Add nodelay() function to Stdio.File objects to control Nagling

2014-08-28 15:00:40 (1 day ago) by Martin Nilsson <nilsson@opera.com>

Fixed direct call of cast.
Fixed direct call of cast.

2014-08-28 14:08:51 (1 day ago) by Per Hedbor <ph@opera.com>

The IOBuffer documentation now extracts

2014-08-28 14:03:12 (1 day ago) by Per Hedbor <ph@opera.com>

Moved __builtin.IOBuffer to Stdio.IOBuffer (for now)
Changed PCHARP ptr to be a void*.
Added a new sscanf low-level API: It is now possible to sscanf using pcharp formats/strings.

This makes it possible to call sscanf on partial strings and similar tricks.

2014-08-28 13:59:58 (1 day ago) by Per Hedbor <ph@opera.com>

[autodoc] Some toplevel documentatioon for Cache.

2014-08-28 02:37:37 (2 days ago) by Martin Nilsson <nilsson@opera.com>

IOBuffer documentation fixes.

2014-08-28 00:28:28 (2 days ago) by Martin Nilsson <nilsson@opera.com>

Hook xmalloc, xrealloc and xstrdup up to the wrapper function. This makes dmalloc compile again.

Wednesday 27 August 2014

2014-08-27 21:06:41 (2 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Cyclic: Change to a power of two hash table.

The hash table used by BEGIN_CYCLIC() et al now has a size that
is a power of 2, so that we can avoid the modulo operation.

The hash function is also modified somewhat to improve its entropy.

2014-08-27 20:55:31 (2 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL: Fix lost close packets.

Removed some erroneous code.

2014-08-27 20:06:31 (2 days ago) by Per Hedbor <ph@opera.com>

Let pike_sizeof return INT_TYPE, not INT32.
Do not crash if the argument list is malformed
Added a simple I/O buffer.

This is a work in progress.

It is intended to be used as a buffer while reading and writing from files.

It is also intended as a replacement for ADT.struct (note, lowercase struct).

2014-08-27 19:54:10 (2 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Use [..] lfun instead.

2014-08-27 18:51:25 (2 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Charset: Minor adjustment of the ISO-IR-129 table.

According to Appendix I.7 of T.101, the characters MG 63 (aka 5/15)
and MG 64 (aka 7/15) are equivalent:

Either of the two equivalent codings established in Recommendation
T.101 (code table position 5/15 or 7/15) for the Filled Mosaic
character is acceptable in a string of characters from Repertoire 5.

Also later in the same appendix:

MG63 Filled Mosaic 1,2,3,4,5,6 (also equivalent to MG64 T.101 DSIII)

Presumably the character MG 63 is intended for use in GR 0 (where
7/15 is reserved for DEL).

2014-08-27 16:53:22 (2 days ago) by Martin Nilsson <nilsson@opera.com>

Serialize TBSCertificate by storing the Sequence and regenerate the other fields.

2014-08-27 16:35:21 (2 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Update doc.

2014-08-27 16:29:23 (2 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Prototype and doc fixes.

2014-08-27 14:28:54 (2 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

sscanf: Improved error messages.

Got rid of all "Error in sscanf format string." error messages,
and replaced them with more specific error messages.

2014-08-27 13:44:06 (2 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Revert "dwim_time() should know how to parse ISO 8601 timestamps."

This patch had the opposite effect of the intended...

This reverts commit 962105c4c0eaa08aaba357343845b3046b6741b9.
Revert "dwim_time() should know how to parse ISO 8601 timestamps."

This patch had the opposite effect of the intended...

This reverts commit ad369b17e9f784b0632f0939adbbbab47385f0ab.

2014-08-27 13:29:07 (2 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Support < and > operators.
Support assigning characters which don't fit within the current shift size.
Simplify code.

2014-08-27 10:26:22 (2 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Charset: Added ISO-IR-129 (Videotex mosaic characters).

This adds the mosaic characters from the CCITT T.101 Data Syntax III
supplement in an encoding compatible with the MODE7GX.TTF font.

2014-08-27 09:03:51 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Reduce heap fragmentation even more.

2014-08-27 08:47:25 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Document features.
Reorder to reduce memory fragmentation.
Fix prototype, and do not second-guess the user for optimum size.

2014-08-27 03:51:54 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Less crashy String.Builder.

2014-08-27 03:07:44 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Readded the CPP test of #if constant and moved the String.Buffer test to the other String.Buffer tests.

2014-08-27 02:43:18 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Update CHANGES.

2014-08-27 02:39:52 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Simplify code, make the buffer itself non-optional.
Add forced security wipe to cut() method.

2014-08-27 01:56:50 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Support == operator.
Yes, memcmp() compares using unsigned char comparisons.
Repair and cleanup declarations.
Fix length calculations in cut().
Optimise clear() for speed.
Add non-trivial Buffer tests to testsuite.

Tuesday 26 August 2014

2014-08-26 18:56:23 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Fixed compilation with dmalloc.

2014-08-26 17:32:34 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Fixed test that broke with Kevins fix.

2014-08-26 16:49:59 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Tests for String.Buffer []= and cut.

2014-08-26 16:14:57 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Silence warnings, mostly with useless null inits.

2014-08-26 16:05:48 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Tests for __COUNTER__

2014-08-26 16:03:27 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Improve fast-path and eliminate some minor cruft.
Ensure NUL termination on new Buffer.

2014-08-26 15:17:56 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Missed get_all_args conformity checkin.

2014-08-26 15:06:03 (3 days ago) by Martin Nilsson <nilsson@opera.com>

Fixed warning.

2014-08-26 14:10:32 (3 days ago) by Per Hedbor <ph@opera.com>

Stricter return types for cast.

This, if nothing else, makes the documentation cleaner.

2014-08-26 12:24:50 (3 days ago) by Per Hedbor <ph@opera.com>

Fixed an issue with the connect argument parsing
Added the __COUNTER__ macro. Who knows, someone might find a use for it.

2014-08-26 12:09:26 (3 days ago) by Per Hedbor <ph@opera.com>

How did that happen?
How did that happen?

2014-08-26 11:40:09 (3 days ago) by Per Hedbor <ph@opera.com>

Note about TCP_FASTCONNECT
Added variant of connect with three arguments

2014-08-26 11:37:07 (3 days ago) by Per Hedbor <ph@opera.com>

Added support for TCP_FASTOPEN (server and client)

The server support is always enabled if possible, on the client side
it is enabled if you pass an additional argument to connect (see the documentation).

2014-08-26 11:35:49 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Update String.Buffer documentation.

2014-08-26 11:31:10 (3 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Cyclic: Improved thread-awareness.

Don't use CYCLICs originating from other threads, as there's
no way of knowing whether they are valid or not.

Also default the local cyclic ret value to the existing cyclic ret
if found.

2014-08-26 11:10:05 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Update CHANGES for new String.Buffer methods.

2014-08-26 11:05:28 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Database creation doesn't work with bound parameters.

2014-08-26 11:02:32 (3 days ago) by Stephen R. van den Berg <srb@cuci.nl>

Eliminate duplicate code.
Correct prototype.
Add new member functions [] and cut().
Add stack_revroll().
Improve spacing conciseness.
You missed a spot. Adhere to the crazy indentation.
Eliminate superfluous type check.
WebSocket forgot to pass on the id to Stdio.
Database creation doesn't work with bound parameters.

2014-08-26 10:48:58 (3 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added some missing END_CYCLIC().

All execution branches from a BEGIN_CYCLIC() must either
END_CYCLIC() or throw an error before DECLARE_CYCLIC()
falls out of scope.

Potential fix for [LysLysKOM 20940558] (Pike developer list).

2014-08-26 10:14:22 (3 days ago) by Per Hedbor <ph@opera.com>

[autodoc] Added some linebreaks

Monday 25 August 2014

2014-08-25 20:43:44 (4 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Fixed C9x-ism.

2014-08-25 20:30:25 (4 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SANE: pike_types.h is needed for literal_type_string.

2014-08-25 20:29:35 (4 days ago) by Martin Nilsson <nilsson@opera.com>

More consistent use of error macros.

2014-08-25 20:27:30 (4 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Postgres: Survive Postgresql 9.3.3.

2014-08-25 19:18:01 (4 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Improved the hash function for cycle detection.

Xor is better for mixing bits than or...

FIXME: We probably ought to consider a 2^n table size here.

2014-08-25 19:13:52 (4 days ago) by Per Hedbor <ph@opera.com>

[autodoc] List the drivers in Sql.Sql.create

2014-08-25 18:53:31 (4 days ago) by Per Hedbor <ph@opera.com>

[autodoc] Some rewording
[autodoc] Document PDF.PDFgen create method
[autodoc] Removed import autodoc comment in Pango.

It was the only documented thing in the module

2014-08-25 18:42:55 (4 days ago) by Per Hedbor <ph@opera.com>

[autodoc] Some reformatting.
[autodoc] Added note about extract_locale to the Locale module.

2014-08-25 18:31:51 (4 days ago) by Martin Nilsson <nilsson@opera.com>

Consistent formatting of function name parameter to get_all_args

2014-08-25 18:28:39 (4 days ago) by Per Hedbor <ph@opera.com>

Added note about the Shuffler to Pipe.Pipe.
[autodoc] Minimal pointers in Image module toplevel doc

2014-08-25 18:03:33 (4 days ago) by Per Hedbor <ph@opera.com>

[autodoc] Fixed erronous commit

2014-08-25 17:48:09 (4 days ago) by Per Hedbor <ph@opera.com>

[autodoc] Added Calendar documentation from the FAQ.

It is actually rather useful. But very hard to find

2014-08-25 17:42:18 (4 days ago) by Martin Nilsson <nilsson@opera.com>

Added cast to Identifier
Use cast instead of _encode.

2014-08-25 17:41:58 (4 days ago) by Per Hedbor <ph@opera.com>

[autodoc] Added some minimal documentation to the Cache module

2014-08-25 17:25:15 (4 days ago) by Per Hedbor <ph@opera.com>

[autodoc] Added some minimal information about the Arg module

2014-08-25 17:10:38 (4 days ago) by Per Hedbor <ph@opera.com>

Some minor documentation tweaks.

It has been a while since the classes were called Gz_deflate and Gz_inflate.

2014-08-25 16:49:00 (4 days ago) by Per Hedbor <ph@opera.com>

Separate out operators from the normal methods in the refdoc.
These functions are not really varargs.

2014-08-25 14:40:11 (4 days ago) by Per Hedbor <ph@opera.com>

Count _decode and _encode as lfuns.
Include file name and line in errors.
Fixed a few autodoc syntax errors.

2014-08-25 11:33:39 (4 days ago) by Per Hedbor <ph@opera.com>

Use __restrict with gcc on the pike_interpreter

This produces the same code as const, but avoids lying to the compiler.

Fixed an issue with gcc 3.4, which over-optimized a bit (specifically,
pip->stack_pointer was not re-read between function calls, which seems
odd given that it is not pip->stack_pointer that was const...)

Sunday 24 August 2014

2014-08-24 23:51:05 (5 days ago) by Martin Nilsson <nilsson@opera.com>

Added test for #pike 8.0
Added codec to ASN1 objects.

2014-08-24 14:37:20 (5 days ago) by Arne Goedeke <el@laramies.com>

Strings: generate more static strings

quick_add_function and make_shared_string will now create
static strings when the argument is a compile time constant
Strings: print string types in memory_usage()

2014-08-24 14:11:46 (5 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL: Improved support for renegotiation.

2014-08-24 02:34:59 (6 days ago) by Martin Nilsson <nilsson@opera.com>

Pike 7.2 was released 2002. Stop supporting compat for it.
Pike 7.2 was released 2002. Stop supporting compat for it.

2014-08-24 02:02:43 (6 days ago) by Martin Nilsson <nilsson@opera.com>

Added note on environment mapping.

2014-08-24 00:26:28 (6 days ago) by Martin Nilsson <nilsson@opera.com>

Remove some module_magic remnants.

Saturday 23 August 2014

2014-08-23 18:31:17 (6 days ago) by Martin Nilsson <nilsson@opera.com>

Wrap some comments.

2014-08-23 17:18:28 (6 days ago) by Martin Nilsson <nilsson@opera.com>

This started giving deprecation errors 11 years ago.

2014-08-23 16:54:46 (6 days ago) by Martin Nilsson <nilsson@opera.com>

Fixed warning.
Now that we have character ranges in strings, use that for type errors from get_all_args.

2014-08-23 16:52:00 (6 days ago) by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/8.0' into string_alloc

2014-08-23 16:48:40 (6 days ago) by Arne Goedeke <el@laramies.com>

block_allocator: fix ba_walk() and improve valgrind support

Blocks in the free list are now marked as free while the callback is
running. This helps detecting invalid accesses. Also fixed a bug in
the free list sort.
silence some warnings

2014-08-23 15:29:55 (6 days ago) by Per Hedbor <ph@opera.com>

>> now works with negative LHS again.

2014-08-23 14:13:36 (6 days ago) by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/8.0' into string_alloc

2014-08-23 14:00:37 (6 days ago) by Martin Nilsson <nilsson@opera.com>

While having lfun::cast as private WORKS JUST FINE, it also allows us to get rid of some argument checking. As protected we can't do that.

2014-08-23 13:59:54 (6 days ago) by Arne Goedeke <el@laramies.com>

Strings: correctly count bytes in strings

2014-08-23 11:28:44 (6 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Stdio.Stat: Make casting work again.

lfun::cast() was declared private, which:

* Disables it (as lfuns must be protected or public).

* Breaks code that inherits Stdio.Stat, overloads cast(), and
wants to call ::cast() (eg Sitebuilder.SBStat).

2014-08-23 11:26:20 (6 days ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Fixed some broken type checks.

NB: There's a difference between the C-types "int" and "INT_TYPE"...

Friday 22 August 2014

2014-08-22 21:59:05 (1 week ago) by Arne Goedeke <el@laramies.com>

Strings: added and used push_static_text

Use the new static string allocation support where possible. This is the
case all code which is not dynamically loaded.

2014-08-22 20:51:55 (1 week ago) by Arne Goedeke <el@laramies.com>

Strings: global const strings

2014-08-22 20:02:24 (1 week ago) by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/8.0' into string_alloc

2014-08-22 18:54:48 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.BlockCipher16.CCM8: Fixed documentation reference.

2014-08-22 18:17:07 (1 week ago) by Arne Goedeke <el@laramies.com>

pike_types: avoid the extra static storage
Gmp: get rid of warning

2014-08-22 18:00:14 (1 week ago) by Arne Goedeke <el@laramies.com>

Pike cleanup: fix double free

Static strings created with the MAKE_CONST_STRING macros need not be
manually freed. In DO_PIKE_CLEANUP mode they are freed automatically,
or else they are intentionally leaked on program exit.
block_allocator: do not round up powers of 2

The family of round_up* functions rounds up to the next power of two.
This made most block allocators initial areas twice as big as intended.
Fixed some warnings about unused parameters
Whitefish: fixed init_*_struct and exit_*_struct prototypes

2014-08-22 17:02:32 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

AutoDoc: Classes may have submodules...

In some circumstances classes can contain submodules. One example
being Nettle.BlockCipher()->CBC.

The documentation for such submodules was lost in the HTML-generation step.

2014-08-22 16:47:02 (1 week ago) by Martin Nilsson <nilsson@opera.com>

Improved type checking.

2014-08-22 14:51:36 (1 week ago) by Martin Nilsson <nilsson@opera.com>

Fixed autoconf induced PACKAGE_* warnings.
Fixed #pragma clang warnings.
Remove unused function zap_placeholder.
Fixed signedness warning. Why is array size signed?

2014-08-22 03:43:43 (1 week ago) by Martin Nilsson <nilsson@opera.com>

Added testcase

Thursday 21 August 2014

2014-08-21 22:54:11 (1 week ago) by Martin Nilsson <nilsson@opera.com>

Added void to zero argument functions.

2014-08-21 22:51:29 (1 week ago) by Martin Nilsson <nilsson@opera.com>

Corrected init_rs and free_rs arguments.

2014-08-21 20:11:55 (1 week ago) by Martin Nilsson <nilsson@opera.com>

Added void to zero argument functions.

2014-08-21 20:00:22 (1 week ago) by Martin Nilsson <nilsson@opera.com>

Added const to master_file_location.

2014-08-21 18:06:47 (1 week ago) by Per Hedbor <ph@opera.com>

Removed a significant amount of warnings

(about 20 lines per file) by not generating 8bit op 8bit -> 32bit overflow macros.
They are not used, anyway
Now compiles with the bytecode interpreter

2014-08-21 14:22:31 (1 week ago) by Kevin O'Rourke <kevinor@opera.com>

TURBO2-711: Fix URI path combining for empty base URI path.

2014-08-21 12:27:56 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

FreeType: Stricter type checking for Face::create().

The font filename is a narrow string, and the face number
must not be negative.

2014-08-21 12:22:09 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

FreeType: Fixed documentation typo.

2014-08-21 03:15:20 (1 week ago) by Bill Welliver <bill@welliver.org>

Image.Freetype: allow use of faces beyond position 0 in font files.

Wednesday 20 August 2014

2014-08-20 18:34:42 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

encode_value: Improved support for variant functions.

Variant functions weren't dumped correctly if they were
overloading inherited non-variant functions.

Fixes remaining issue with the dumping of Crypto.RSA.State.

2014-08-20 17:33:24 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

encode_value: Don't regard the variant dispatcher as a CFUN.

The variant dispatcher is a CFUN that may show up in pure Pike
programs, so don't fallback to the C-program encodings when
the only CFUN is the variant dispatcher.

Potentially fixes dumping problems with Crypto.RSA.State
(where generate_key() is a variant function).

2014-08-20 17:30:45 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added low_is_variant_dispatcher().

This function is useful when you have an identifier that might be a
variant dispatcher, but you don't know of a corresponding reference.

2014-08-20 16:14:26 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

decode_value: Removed some dead code.

The macros getdata() and getdata3() are no more.

2014-08-20 15:51:10 (1 week ago) by Per Hedbor <ph@opera.com>

Added missing space.

2014-08-20 14:50:04 (1 week ago) by Per Hedbor <ph@opera.com>

Include the documentation for create, if any, in the class documentation
Describe some of the lfun methods more intuitively

As an example, _indices() -> indices(type arg)

2014-08-20 14:47:48 (1 week ago) by Tobias S. Josefowitz <tobij@tobij.de>

Postgres: fix one more literal_X_string issue

2014-08-20 11:58:12 (1 week ago) by Per Hedbor <ph@opera.com>

Crypto.DSA -> Crypto.DSA.State
These softcasts generated "is noop" warning

Tuesday 19 August 2014

2014-08-19 17:15:10 (1 week ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Improved soundness of the op-assign optimizer.

Avoid the risk of converting expressions like

a[i] += i++;

into the equivalent of

tmp = a[i] + i++;
a[i] = tmp;

2014-08-19 14:07:29 (1 week ago) by Tobias S. Josefowitz <tobij@tobij.de>

fix two more literal_X_string issues

2014-08-19 14:04:53 (1 week ago) by Tobias S. Josefowitz <tobij@tobij.de>

fix one more literal_X_string issue

2014-08-19 00:07:46 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Some limit-crossing tests we apparently need.

Monday 18 August 2014

2014-08-18 23:31:29 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Shortened some error messages.

2014-08-18 22:32:07 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Less noise when running the testsuite. Strings are truncated to 4k in the output.

2014-08-18 20:23:34 (2 weeks ago) by Per Hedbor <ph@opera.com>

Fixed two errors with literal_X_string usage.

2014-08-18 20:12:05 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Improved cast method.
Fixed casting bug.
Fixed warnings.

2014-08-18 19:45:20 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Now works with dmalloc again.

2014-08-18 19:17:14 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Reuse the new type pike strings where possible and easy.

2014-08-18 18:06:58 (2 weeks ago) by Arne Goedeke <el@laramies.com>

Strings: Readded handling for short string in add_string_status()

2014-08-18 17:38:59 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Improved cast.

2014-08-18 17:19:04 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Fixed some GMP tests.

2014-08-18 17:03:53 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added F_UNDEFINEDP as an opcode

Also added a convenience SVAL(X) macro that returns the offset to
different parts of the svalue X values from the base register.

Also added some usage of the SVAL function in a few places.

Chagned to 32-bit arithmetics for types in a few locations. It saves
on code size, if nothing else (no REX prefix unless R8.. is used)

2014-08-18 15:28:39 (2 weeks ago) by Per Hedbor <ph@opera.com>

Checking using tst_reg32 is not optimal in branch_if_non_zero.

2014-08-18 15:14:48 (2 weeks ago) by Per Hedbor <ph@opera.com>

Fixed F_ADD, also disabled the int+int optimization in it.

Most cases are already caught by the ADD_INTS opcode.
At least if people type their code.

Switched a few cmp(reg,PIKE_T_INT) to test(reg).
Automatically convert cmp_reg[32](reg,0) to test_reg(reg).

2014-08-18 15:12:34 (2 weeks ago) by Per Hedbor <ph@opera.com>

Reintroduced missing test before using private globals.
Fixed a few missing debug prologues.
Fixed bug in F_UNDEFINEDP
Added F_UNDEFINEDP and F_DESTRUCTEDP.

These are the same as the functions with the same name, but lends
themselves to inlining.

2014-08-18 14:30:24 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Deprecate cast_to_int, cast_to_string and cast_to_float.

2014-08-18 14:19:15 (2 weeks ago) by Tobias S. Josefowitz <tobij@tobij.de>

precompile: use (array(string)) cast instead of map+lambda.

2014-08-18 14:10:45 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Updated cast methods in src also.

2014-08-18 14:02:48 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Disable the most problematic opcodes.

2014-08-18 12:46:56 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Updated to tzdata2014f.

Also removed some obsolete files (solar8[789]) and added zone1970.tab.

Also adds some further files.

The tzdata directory should now be fully in sync with the tzdata2014f dist.

2014-08-18 12:42:45 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Updated to tzdata2014f.

Also removed some obsolete files (solar8[789]) and added zone1970.tab.

The tzdata directory should now be fully in sync with the tzdata2014f dist.

2014-08-18 12:20:35 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Strings: Survive xalloc() throwing errors in realloc.

Short string contents would be passed to free(3C) if the
call to xalloc() failed.

Same for truncating strings if ba_alloc() ever starts throwing
errors instead of fatals.

2014-08-18 10:56:00 (2 weeks ago) by Tobias S. Josefowitz <tobij@tobij.de>

->cast() in Parser.C.Token is no longer accessible.

Thus no fun with some_array->cast() automapping in the CMOD precompiler.

2014-08-18 10:32:17 (2 weeks ago) by Arne Goedeke <el@laramies.com>

strings: split string header and contents

All string structs are now allocated by the block allocator while the
actual string content is kept in a different area. Short strings with
byte length smaller than sizeof(struct pike_string) have their content
allocated from the block allocator, aswell. In most cases short string
contents are allocated on creation and therefore the data will end up
directly after the header in memory.

Sunday 17 August 2014

2014-08-17 14:04:22 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Testsuite: Added code-generator test.

This test fails if F_ASSIGN_PRIVATE_TYPED_GLOBAL_AND_POP doesn't pop.

2014-08-17 00:33:34 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added INC,ADD, DEC and SUBTRACT

These are inlined when both arguments are integers.

It would be fairly to do for floats as well.

DIV/MOD/AND/MULT etc would be fairly easy to add as well, but
most require some more decoding of the intel instruction
reference manual.

Saturday 16 August 2014

2014-08-16 23:45:10 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added a few more global variable opcodes.

Gotta catch em all!

This time:

PRIVATE_IF_DIRECT_GLOBAL and ASSIGN_PRIVATE_IF_DIRECT_GLOBAL

These will fetch or assign a global variable if the currently
executing program is the program the object is cloned from.

These are only slightly slower than the F_PRIVATE_GLOBAL family of
opcodes, and the overhead if the global is not actually private is
minimal.

Missing: [ASSIGN_]PRIVATE_IF_DIRECT_TYPED_GLOBAL[_AND_POP] and
ASSIGN_PRIVATE_IF_DIRECT_GLOBAL_AND_POP.

2014-08-16 23:38:06 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Only give the basic type names to cast() to avoid post processing in cast().

2014-08-16 23:26:00 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Make illegal casts throw exception.

2014-08-16 23:23:31 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Returning UNDEFINED from cast() now produces an exception.

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

Don't call cast directly.

2014-08-16 18:21:22 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Added more protected.

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

Use variant to support multiple constructors. Serialize correctly. Added more protected. Removed some 8bit strings.

2014-08-16 13:45:52 (2 weeks ago) by Per Hedbor <ph@opera.com>

Changes to CHANGES

2014-08-16 13:37:44 (2 weeks ago) by Per Hedbor <ph@opera.com>

Moved a few modules around in the traditional refdoc

We really should update this file completely, I think
Removed a few non-existing overloaded operators
Fixed autodoc syntax error

2014-08-16 13:35:43 (2 weeks ago) by Per Hedbor <ph@opera.com>

Avoid dropping the toplevel operator documentation.

Also, changed format for getters/setters somewhat.

2014-08-16 12:39:21 (2 weeks ago) by Per Hedbor <ph@opera.com>

Did some overhauling of the Gdbm module

o Gdbm.gdbm is now known as Gdbm.DB
o Added support for iteration over gdbm objects
o Added overloading of _m_delete, _indices and _values.
o Added some more documentation
Override write and werror in hilfe

The overriden version uses readline->write to actually print the data.

This is rather convenient when writing asyncronous code in hilfe,
newlines are handled correctly and it interacts fairly well with the
input system.

The overriding is intentionally using add_constant to also override
debug output in modules that are loaded after hilfe is started.

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

SSL.Constants: Added some more constants.
SSL.Constants: ALPN is now RFC 7301.

2014-08-16 04:03:44 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Fix cut-n-paste error.

2014-08-16 03:25:04 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Less crazy coding style.

2014-08-16 00:10:00 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [amd64]: Fixed a few typos.

The code generator for F_ASSIGN_PRIVATE_TYPED_GLOBAL_AND_POP
was broken (generated code for F_ASSIGN_PRIVATE_TYPED_GLOBAL)
due to a cut-n-paste miss.

This caused some code in Roxen to fail.

Fixes [LysLysKOM 20929878].

Friday 15 August 2014

2014-08-15 22:21:17 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Less zero_type.

2014-08-15 17:05:50 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Use has_index instead of zero_type

2014-08-15 17:00:21 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Added protected and private.

2014-08-15 16:55:02 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Fixed memory leak.

The F_*_EQ optimizer leaked types.

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

Make _sprintf protected.

2014-08-15 16:18:45 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

AbstractParser actually abstract now.

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

Better MD5
Default to mark create as protected, not static.
Hide snmp_errlist

2014-08-15 16:05:39 (2 weeks ago) by Per Hedbor <ph@opera.com>

Removed CLEAR_2_LOCAL & CLEAR_4_LOCAL, added CLEAR_N_LOCAL

This simplifies things a bit, and reduces codesize at times.

The record I have seen while running the testsuite was a clear_n_local(23).

2014-08-15 15:59:45 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

static is now deprecated, as per the very long term plan.

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

static -> protected

2014-08-15 15:41:48 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

private implies protected

2014-08-15 15:38:45 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

How did that get away?

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

Added F_CLEAR_4_LOCALS opcode.

I see a need for a CLEAR_N_LOCALS one instead.

2014-08-15 15:13:36 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added some CALL_*_N peephole rules.
Compiler: Added some trivial peep-hole optimizer rules.

2014-08-15 14:33:38 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added lvalue version of lexical_local

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

Added F_LEXICAL_LOCAL amd64 edition
Removed a bunch of commented out misleading debug

(copy paste much? :)

2014-08-15 14:10:04 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Better typing.

2014-08-15 12:05:54 (2 weeks ago) by Arne Goedeke <el@laramies.com>

Protocols.WebSocket: make the stream and parser available

2014-08-15 04:39:50 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

hash_7_4 is not deprecated.

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

Fix a crash.

Thursday 14 August 2014

2014-08-14 19:51:50 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added note about F_ASSIGN_SELF in docode.c

2014-08-14 19:49:09 (2 weeks ago) by Per Hedbor <ph@opera.com>

Missed one side-effect
Merged redundant comments.

2014-08-14 19:34:15 (2 weeks ago) by Per Hedbor <ph@opera.com>

Fixed an issue with the removal of +=

When you did things like a[i++] += 10; the code was (more or less)
converted to a[i++] = [typeof(a[])](a[i++]+10); which was not what
you really wanted.

Solved by adding a new opcode that is used for the specific case where
the LHS in the assignment has side effects.

Also, in this somewhat uncommon case automap is now no longer
supported.

Note that things like a[i++] = a[i]+b[i] is not using this new opcode,
only += and friends use it.

2014-08-14 19:32:06 (2 weeks ago) by Per Hedbor <ph@opera.com>

For ease of debugging: Have the "token" field in node_s be enum Pike_codes

This helps a lot when developing in the compiler.

Currently only happens when PIKE_DEBUG is enabled.

2014-08-14 17:32:53 (2 weeks ago) by Per Hedbor <ph@opera.com>

Fixed some more cases of automap on the left side of an assignment.

It more or less works as one would expect now.

2014-08-14 16:51:37 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL: Updated to the new Crypto.Sign API.
Standards.PKCS: Updated to the new Crypto.Sign API.
Crypto.Sign: Added sub-class State.

This makes the Crypto.Sign API to behave closer to the other Crypto APIs.

This affects code that uses Crypto.RSA and Crypto.DSA (which now are
modules and not classes).

Crypto.ECC.Curve.ECDSA is currently unmodified.
Crypto.RSA: Break compilation circularity.

There's a circularity between Crypto.RSA and Standards.PKCS.RSA.
Crypto.Sign: Fixed indent.
Crypto.RSA: Improved robustness of compat generate_key().

2014-08-14 16:05:12 (2 weeks ago) by Per Hedbor <ph@opera.com>

Optimized branch optimization somewhat.

2014-08-14 15:46:10 (2 weeks ago) by Per Hedbor <ph@opera.com>

Removed F_IDENTIFIER: It was never generated.

This lessens the confusion and code-duplication somewhat.

2014-08-14 15:36:53 (2 weeks ago) by Per Hedbor <ph@opera.com>

For now: Add automatic softcast nodes for += with friends

The actual assignment was never typechecked before.
So now everything works like it used to again.
Found some more F_X_EQ instances.
Unified formatting slightly
Dropped the separate opcodes for +=, *= etc

This actually generates, on average, better code.
It also removes a rather significant chunk of duplicated code.
Added F_ASSIGN_PRIVATE_TYPED_GLOBAL[_AND_POP].

This completes the suite of private global opcodes.
Added "deprecated" to the list of hilfe type modifiers.
Added machinecode verison of F_LOCAL_LOCAL_INDEX

Specifically, this optimizes array[int].
Also includes incomplete f_branch_if_type_is_not.
Fixed support for automap in assignments.

This was handled in a somewhat so-so manner in += and friends.

Specifically, it ignored the [*] on the LHS and just assigned the
variable to the result of the automap.

So, x[*]+=10; was transformed to x = x[*] + 10;

It also only worked for += with friends, not =, so x[*] = x[*] + 1 did
not work.

Now a new opcode is used that assigns array elements individually.
This means that this works:

| array x = ({1,2,3});
| array y = x;
|
| x[*] += 10;
| x==y; // will now be true, was previously false.

Of course, this actually changes how automap works.

The assignment is currently only done on the toplevel, x[*][*] =
x[*][*]+1 still works just fine, but it has some similarities with the
previous situation, the arrays in the toplevel array will be swapped,
not altered.

this will be fixed soonish(tm)
Forgot to fix one occurence of `!=.
Changed back to using apply(current_object,function).

The name of the C-function seems to change between f_cq__decode and
f_cq__Image_WebP_decode randomly. There is no obvious pattern, at least
Removed overloading of non-existent operators

2014-08-14 15:11:10 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Image.PSD: Minor cleanup.

Added psd_read_schar() analogous to psd_read_uchar().

2014-08-14 12:22:53 (2 weeks ago) by Per Hedbor <ph@opera.com>

Added F_PRIVATE_TYPED_GLOBAL.

Much like PRIVATE_GLOBAL, but handles typed svalues
(everything but int, function and object).

No assign yet.

Wednesday 13 August 2014

2014-08-13 15:36:25 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Doc: Reduced verbosity.

2014-08-13 15:33:48 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Doc: Improved robustness of extractor change detector.

Use git diff instead of git show.

This means that meerges now will be handled correctly.

2014-08-13 15:30:34 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Doc: Do a full scan in a few more cases.

This should be essentially like the old extractor, but still
retaining most of the increase in speed.

2014-08-13 12:18:02 (2 weeks ago) by Per Hedbor <ph@opera.com>

git_export_autodoc now detects non-documentation commits

This speeds up extraction significantly

Tuesday 12 August 2014

2014-08-12 21:37:31 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Let's hide 7.6:: and 7.8:: as well in traditional mode.

2014-08-12 21:33:38 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

OO a bit more.

2014-08-12 19:24:05 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Looks like we forgot to deprecate spider when we introduced deprecated. Oops.

2014-08-12 19:11:17 (2 weeks ago) by Martin Nilsson <nilsson@opera.com>

Fixed typo.

2014-08-12 18:36:16 (2 weeks ago) by Per Hedbor <ph@opera.com>

Fixed documentation syntax error
Dropped 7.0 hiding support in the traditional manual.

Unless I am incorrect this list should have included 7.6 and 7.8 as well

2014-08-12 17:23:13 (2 weeks ago) by Per Hedbor <ph@opera.com>

When resolving addresses, first try with forced numberic hosts

Also, give the numericport hint when the port is numeric.

2014-08-12 14:06:24 (2 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL: Increased session reuse paranoia.

Don't reuse sessions which differ from what a newly negotiated
session would be.

This fixes potential cross-site attacks and similar.

2014-08-12 01:57:00 (3 weeks ago) by Per Hedbor <ph@opera.com>

Added a note about the lfun list in the autodoc parser
Some minor tweaks to the autodoc format

o Getters and setters are now automatically convereted to variables in
the documentation. If there is only a getter or only a setter a
suitable note is added.

o Drop documentation for non-existing lfuns, they only confuse things.

2014-08-12 01:52:48 (3 weeks ago) by Per Hedbor <ph@opera.com>

Pass on the position more often
There is such a function as error.

Monday 11 August 2014

2014-08-11 23:43:40 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Use variant.

2014-08-11 23:08:55 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Fixed stderr messages.

2014-08-11 22:57:16 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Remove Pike 7.0 support. We now only support post-2000 code.

2014-08-11 22:54:57 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Use Yabu.DB to fix deprecation warning.

2014-08-11 20:34:25 (3 weeks ago) by Per Hedbor <ph@opera.com>

It turns out that low_split is used from the testsuite.

Make it visible externally again.

2014-08-11 20:31:55 (3 weeks ago) by Per Hedbor <ph@opera.com>

Mostly whitespace changes
Use the existing low-level tokenizer for Parser.C.split

This is significantly faster, and the code was already there anyway.

2014-08-11 19:57:53 (3 weeks ago) by Per Hedbor <ph@opera.com>

Comment and whitespace changes
Do not emit private assign for alias identifiers

Fixes the remaining new crashers in the testsuite

2014-08-11 19:08:15 (3 weeks ago) by Per Hedbor <ph@opera.com>

Removed some stray debug
Fixed reference leak in Image.WebP.decode

The image object only had one reference, but had two copies
in the result mapping.

Also somewhat lower-level handling of things in decode().

Mainly because it made it much easier to debug things.

2014-08-11 18:17:12 (3 weeks ago) by Per Hedbor <ph@opera.com>

Reduced the number of type rules somewhat

2014-08-11 17:59:12 (3 weeks ago) by Per Hedbor <ph@opera.com>

Removed some type * tests

2014-08-11 17:57:09 (3 weeks ago) by Per Hedbor <ph@opera.com>

Removed support for *-syntax without actually changing the grammar much

This is basically step 1 of the *==array syntax removal,
the easy part. Since there is no need to start renumbering things
in the rules.

2014-08-11 17:29:52 (3 weeks ago) by Per Hedbor <ph@opera.com>

Updated Yabu testsuite to use Yabu.DB

2014-08-11 17:24:14 (3 weeks ago) by Per Hedbor <ph@opera.com>

Read somewhat fewer bytes

Mainly, this saves four bytes of code size for each branch_when_{eq,ne}.

2014-08-11 17:12:10 (3 weeks ago) by Per Hedbor <ph@opera.com>

Avoid letting PIKE_T_FREE have bit 4 set.

2014-08-11 16:36:53 (3 weeks ago) by Per Hedbor <ph@opera.com>

Do not allow assignment of private variables in destructed objects.

2014-08-11 16:26:25 (3 weeks ago) by Per Hedbor <ph@opera.com>

Keep pike_fp->current_storage up to date in pike functions.

This speeds up global variable accesses quite a lot.
Some more static on functions

Also added convenience functions to check if an svalue is a reference type.
Revert "Keep pike_fp->current_storage up to date in pike functions."

This reverts commit 9129e401d0db1703a938794d2d61d73b4b214992.
Verify ENTRY_PROLOGUE_SIZE size.
Fixed "hilfe arrow up" crash.

The code crashed when assigning a private global variable
that was either an integer or float with bit 8 set.
Limit lvalue-creation for a = function(a,...) to the case
when there is at least one more argument.

2014-08-11 14:28:51 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Stdio.sendfile: Fixed use before set.

Fixes "Indexing the NULL value with \"call_out\".", when
Stdio.sendfile(({""}), 0, -1, -1, 0, simulated_file, cb, ...).

Also fixes issue where the trailers weren't sent if there was no
source file, no headers and a non-empty file length.

Fixes [bug 7230].

2014-08-11 14:20:51 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Stdio.sendfile: Fixed use before set.

Fixes "Indexing the NULL value with \"call_out\".", when
Stdio.sendfile(({""}), 0, -1, -1, 0, simulated_file, cb, ...).

Also fixes issue where the trailers weren't sent if there was no
source file, no headers and a non-empty file length.

Fixes [bug 7230].

2014-08-11 12:05:10 (3 weeks ago) by Per Hedbor <ph@opera.com>

Autodoc fix
Added Yabu documentation

Also renamed db -> DB and lookup -> LookupDB
Check for destruction of object before allowing access to globals

2014-08-11 00:06:25 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Fixed an invariance vaguely pointed out by Niels.

Sunday 10 August 2014

2014-08-10 23:36:38 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Move 7.4 test to 7.4 testsuite.
Don't test for 0.6 anymote.

2014-08-10 23:19:05 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Updated from 0.6 to 7.0

2014-08-10 22:52:24 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Remove Pike 0.6 support.

2014-08-10 22:41:12 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Remove Pike 0.6 support.
Fix Pike 7.0 compatibility issues.
Removed unused variable.

2014-08-10 22:17:17 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Remove Pike 0.5 support.

2014-08-10 21:17:24 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Expose class extension as Extension for typing. Fixes compilation error.

2014-08-10 21:05:23 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Cap compatibility mode to lowest supported.

2014-08-10 20:19:10 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Added ;

2014-08-10 14:42:49 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.state: Fixed type for compress().

2014-08-10 14:40:33 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Gz: Stricter string types.

All the string types in the module are now declared as 8-bit strings.

Removed some now redundant documentation warnings about wide strings.

2014-08-10 14:01:25 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Standards.ASN1: Removed the TeletexString type.

This ASN.1 string type was encoded according to T.51/T.61,
and was not handled properly by other software at the time
(~1995) when it was in use.

Saturday 09 August 2014

2014-08-09 13:46:30 (3 weeks ago) by Arne Goedeke <el@laramies.com>

cpp(): added documentation

2014-08-09 11:13:06 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Improved robustness of close handling.

The close_state is now set correctly even when there's a pending
close_errno and the peer closes the connection.

Friday 08 August 2014

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

Mappings: Fixed assertion.

Ensure that there are at least as many keypairs as buckets in
created mappings.

Fixes fatal "Pretty mean hashtable there buster!".

2014-08-08 14:26:40 (3 weeks ago) by Per Hedbor <ph@opera.com>

Added missing variable
Revert "Changed fast_call_threads_etc handling with valgrind"

This reverts commit 1c4cf54199bd51903bc071a5aceff11e40c00222.

Needs more work, currently it is causing crashes.
More compact type checks, no need to do a cmp, & is enough now.

Thursday 07 August 2014

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

Correctly check the fragment size in the different stages of decoding.

2014-08-07 20:53:45 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Stop operating directly on packet->fragment.

2014-08-07 20:17:06 (3 weeks ago) by Per Hedbor <ph@opera.com>

Optimize assign_X_and_pop + push_X to just assign_X

2014-08-07 19:10:11 (3 weeks ago) by Per Hedbor <ph@opera.com>

Generate more compact code for int+int.

2014-08-07 18:27:43 (3 weeks ago) by Per Hedbor <ph@opera.com>

Added a few benchmarks to check the last optimization

2014-08-07 18:24:32 (3 weeks ago) by Per Hedbor <ph@opera.com>

Removed some #if 0:ed code

Fixes a warning when compiling with debug.
Optimized access to private/final global variables

Especially the machine code version is now significantly faster, it
will simply read the variable directly from the known byte offset
instead of calling a function that resolves it in the vtable.

Gives about a 20x speedup of trivial code along the lines of
globala = globala + globalb;

Also tried to disable some of the optimizations that causes lvalues to
be generated instead of the desired global/assign_global opcodes.

For now this is only done if the global variabeles are known to not be
arrays, multiset, strings, mapping or objects, since those
optimizations are needed to quickly append things to arrays (and
mappings/multiset, but that is less common. It is also needed for
destructive modifications of strings, something that is even less
common).
Hide the REG_<X> macros/enums.

It is just too easy to accidentally write REG_RBX instead of P_REG_RBX.

This causes rather hard to find bugs in the generated code.
Changed fast_call_threads_etc handling with valgrind

Instead of disabling it entirely, clear it at function entry.
This gets rid of the uninitialized value, and slows things down less
than not doing the optimization.
Save a few bytes of code size for each free_svalue

8-bit constants generates smaller code.
Only set IDENTIFIER_NO_THIS_REF for object and function variables
Added CALL_LFUN<X>, useful when the number of arguments is known

2014-08-07 17:49:37 (3 weeks ago) by Marcus Comstedt <marcus@mc.pp.se>

_Charset: Correct forms of arabic characters in IBM encodings

This brings the selection of presentation forms in line with what
is published on http://www-01.ibm.com/software/globalization/g11n-res.html

Thanks to Chris Angelico for discovering the issue.
_Charset: Fix box drawing characters for IBM character encodings

RFC 1345 incorrectly assigns code points with LIGHT/HEAVY strokes
when they should actually use SINGLE/DOUBLE strokes instead.

Thanks to Chris Angelico for discovering the issue.

2014-08-07 17:37:42 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Stop sending the protocol version around so much.

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

Thread.Queue: Added FIXME.

The Thread.Queue API ought to be extended to be compatible with ADT.Queue.

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

SSL.File: Removed some redundant tests in read().

Wednesday 06 August 2014

2014-08-06 21:17:50 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

A bit more modernization.

2014-08-06 21:04:12 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Prettier.

2014-08-06 19:45:48 (3 weeks ago) by Per Hedbor <ph@opera.com>

Removed Calendar_I.

It has been deprecated since before Jul 2000 (the first time
it was included in the main pike tree).

2014-08-06 18:20:32 (3 weeks ago) by Per Hedbor <ph@opera.com>

Fixed typo in autodoc
Added some (very very) minimal documentation to Protocols.X

2014-08-06 17:45:26 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Added some documentation cross references.

2014-08-06 17:41:19 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

ke_method isn't used outside the select_cipher_suite function.
Updated with latest changes.

2014-08-06 17:27:17 (3 weeks ago) by Per Hedbor <ph@opera.com>

Added basic documentation to Standards.FIPS10_4
Documented Protocols.Ports and added simple /etc/services reading.

We should probably update the port list any decade now

2014-08-06 17:04:55 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Move ke_factory to CipherSpec.

2014-08-06 16:48:31 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Set ke_method before it is used.
Fixed documentation and trimmed code of set_compression_method.

2014-08-06 16:37:15 (3 weeks ago) by Per Hedbor <ph@opera.com>

Removed Standards.CIFF.

It could parse CIFF (nowdays mostly called camera raw:s)
from a specific model (Canon d30). Partly.

But no image decoding was done, and it can not parse any
files generated by another camera, or even a d30 with
an updated firmware.

2014-08-06 16:27:44 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Make heartbleed probing optional and default off.
Hide and document marginal_size

2014-08-06 16:24:27 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Fixed type

Tuesday 05 August 2014

2014-08-05 19:19:26 (3 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Session: Keep track of the protocol version.

SSL.Cipher.CipherSpec::verify() needs the version in the session
object to be up to date (or it will break with TLS 1.2 or higher).

Fixes interoperability with https://google.com/.

2014-08-05 16:39:35 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Less code.
Zero size fragments are not allowed for handshake, alert and changecipherspec packets.

2014-08-05 16:24:32 (3 weeks ago) by Martin Nilsson <nilsson@opera.com>

Fail when uncompressed packet > 2^14 bytes
Unknown packet type is a fatal error.
We can just use Gz.compress and Gz.uncompress as we are not streaming.

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

SSL.File: Fail read() on ALERT.

read() now fails with EIO if the peer has aborted the connection
with a fatal alert.

Also sets errno to EAGAIN in nonblocking read() if no data available
and not closed by peer.

Monday 04 August 2014

2014-08-04 19:16:55 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Fail write() on ALERT.

write() now fails with EIO if the peer has aborted the connection
with a fatal alert.

2014-08-04 19:06:50 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Improved backend robustness.

Don't bother running the backend if the peer has aborted the connection.

2014-08-04 17:24:46 (4 weeks ago) by Martin Nilsson <nilsson@opera.com>

Debug cleanup.

2014-08-04 16:07:40 (4 weeks ago) by Martin Nilsson <nilsson@opera.com>

Fixed time invariance issues when decoding the premaster secret.

2014-08-04 16:01:55 (4 weeks ago) by Martin Nilsson <nilsson@opera.com>

Stop creating RSA objects we don't use in RSA key exchange. Some code style changes.

Sunday 03 August 2014

2014-08-03 17:18:17 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Testsuite: Don't test so many SSL suites in threaded mode.

Testing just the basic set of suites should be sufficient in
threaded blocking mode (as long as the corresponding nonblocking
test tests all the suites).

2014-08-03 15:34:57 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Testsuite: Keep better track of skipped SSL tests.

2014-08-03 12:21:12 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Improved robustness of closed state.

Fixes remaining bug in threaded blocking mode testsuite.

2014-08-03 12:11:37 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Testsuite: Test SSL.File in threaded blocking mode.

The main SSL.File testsuite now tests all suites in both
nonblocking callback mode and threaded blocking mode.

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

SSL.File: Fixed potential hang in blocking read().

The remote close packet may already have been received,
in which case no read callback is installed anymore, and
the local backend would hang.

Also updates the documentation to mention that blocking
read and write in concurrent threads now is supported.

2014-08-03 10:40:26 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Paranoia: Use guaranteed_memset() to CLEAR_ON_EXIT.

Saturday 02 August 2014

2014-08-02 23:45:44 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Shuffler: Fixed typo in documentation.

2014-08-02 23:13:36 (4 weeks ago) by Martin Nilsson <nilsson@opera.com>

Redid make legal

2014-08-02 23:09:10 (4 weeks ago) by Martin Nilsson <nilsson@opera.com>

Updated from gnu.org

2014-08-02 10:40:38 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Image: Fixed a few documentation typos.

Friday 01 August 2014

2014-08-01 09:00:22 (4 weeks 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 (4 weeks 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 (4 weeks ago) by Martin Nilsson <nilsson@opera.com>

Added standards cross references.

2014-08-01 00:11:41 (4 weeks 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 (4 weeks ago) by Martin Nilsson <nilsson@opera.com>

Improved some comments.

2014-07-31 17:49:50 (4 weeks 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 (4 weeks 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 (4 weeks ago) by Per Hedbor <ph@opera.com>

Added basic documentation to Image.WebP.

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

Someone didn't test their changes.

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

Make default signature hash more explicit.

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

Added a few more format notes

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

Perhaps a few years to late.
Added a few notes about what PCX is.
Added a few notes about what ILBM is.
Moved general format description from encode() to the module
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 (4 weeks ago) by Martin Nilsson <nilsson@opera.com>

Moved hash selection to the signer object.

2014-07-31 09:47:27 (4 weeks 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 (4 weeks ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Removed some dead code.

2014-07-31 09:36:55 (4 weeks 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 (1 month 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 (1 month 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 (1 month ago) by Per Hedbor <ph@opera.com>

More documentation for Image.XCF and Image.PSD.

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

Decomplex the lookup function a bit.

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

More static.

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

filesystem isn't used.

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

Synchronized port struct with socket.c

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

Remove aap_malloc and aap_free

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

Updated documentation for set_cipher_suite

2014-07-29 17:42:47 (1 month 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 (1 month 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 (1 month 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 (1 month ago) by Per Hedbor <ph@opera.com>

Added nano-second resolution file-timestamp support to stat

2014-07-29 09:19:29 (1 month 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 (1 month 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 (1 month 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 (1 month 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 (1 month 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 (1 month 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 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.File: Removed some now dead code.

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

More internal documentation of rsa_pad.

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

Optimized rsa_unpad a bit.

Friday 25 July 2014

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

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

2014-07-25 11:54:23 (1 month 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 month 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 month 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 month 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 month 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 month 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 month 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 month 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 month ago) by Per Hedbor <ph@opera.com>

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

2014-07-22 14:52:18 (1 month 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 (1 month 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 (1 month 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 (1 month ago) by Per Hedbor <ph@opera.com>

Moved random() note

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

Added notes about some more changes

2014-07-21 15:34:00 (1 month 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 (1 month 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 (1 month 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 (1 month 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 (1 month 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 (1 month 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 (1 month ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

SSL.Session: Fixed some warnings.

[permalink]

Bugs mentioned

  1345RESOLVEDdefaults in search not usefull
  2000ASSIGNEDJAVA_HOME hangs while configuring Pike 7.2/7.3
  2002RESOLVEDInstallation fails on Redhat 7.1 box
  7230RESOLVEDStdio.sendfile() fails with "Indexing the NULL value with \"call_out\".".
  7255RESOLVEDREP search indexer fails with MySQL 5.5.
  872RESOLVEDinherited group access list
Bugs? Suggestions?