Re: [PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/standard/tests/streams/bug60106.phpt branches/PHP_5_3/main/streams/xp_socket.c branches/PHP_5_4/NEWS branches/PHP_5_4/ext/st
Hi: is a WARNING better? :) thanks On Sun, Mar 4, 2012 at 4:36 AM, Ilia Alshanetsky wrote: > iliaa Sat, 03 Mar 2012 20:36:14 + > > Revision: http://svn.php.net/viewvc?view=revision&revision=323852 > > Log: > Fixed bug #60106 (stream_socket_server silently truncates long unix socket > paths) > > Bug: https://bugs.php.net/60106 (Open) stream_socket_server + long unix > socket path = 'Unknown error' > > Changed paths: > U php/php-src/branches/PHP_5_3/NEWS > A php/php-src/branches/PHP_5_3/ext/standard/tests/streams/bug60106.phpt > U php/php-src/branches/PHP_5_3/main/streams/xp_socket.c > U php/php-src/branches/PHP_5_4/NEWS > A php/php-src/branches/PHP_5_4/ext/standard/tests/streams/bug60106.phpt > U php/php-src/branches/PHP_5_4/main/streams/xp_socket.c > A php/php-src/trunk/ext/standard/tests/streams/bug60106.phpt > U php/php-src/trunk/main/streams/xp_socket.c > > > -- > PHP CVS Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -- Laruence Xinchen Hui http://www.laruence.com/ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] [git] karma.git branch master updated. 002a63c
The branch, master on karma.git has been updated via 002a63c12dc1eadb3885d9fc5c6b97cf3863913a (commit) via f3d11575dc77ab1cc7eda290a4366122b923b1c1 (commit) via 51ca66d43a28b1c50cfd4e994712bc577e440e52 (commit) via c358027fd70d57b60f12b620dc78f6fe7c384aec (commit) from 8d595325d65b7de86651483a1705a0ee2a4b4bd5 (commit) http://git.php.net/?p=karma.git;a=log;h=002a63c12dc1eadb3885d9fc5c6b97cf3863913a;hp=8d595325d65b7de86651483a1705a0ee2a4b4bd5 Summary of changes: hooks/pre-receive | 29 +- lib/Git.php | 25 lib/Git/PushInformation.php | 86 +++ lib/Git/ReceiveHook.php | 43 + 4 files changed, 148 insertions(+), 35 deletions(-) create mode 100644 lib/Git.php create mode 100644 lib/Git/PushInformation.php -- Log commit 002a63c12dc1eadb3885d9fc5c6b97cf3863913a Author: David Soria Parra Date: Fri Mar 2 03:06:30 2012 +0100 Require access to all the repository in case we do a forced push A forced push can happen when you delete a tag or rewrite commits. We allow this, but only if you have access to the root of the repository. diff --git a/hooks/pre-receive b/hooks/pre-receive index 46195a4..48da31b 100755 --- a/hooks/pre-receive +++ b/hooks/pre-receive @@ -11,11 +11,15 @@ namespace Karma; const KARMA_FILE = '/git/checkout/SVNROOT/global_avail'; const REPOSITORY_PATH = '/git/repositories'; +const LIB_PATH = '/git/checkout/karma/lib'; -set_include_path('/git/checkout/karma/lib' . +set_include_path( +getenv('KARMA_LIB_PATH') ?: LIB_PATH . PATH_SEPARATOR . get_include_path()); +include 'Git.php'; +include 'Git/PushInformation.php'; include 'Git/ReceiveHook.php'; function deny($reason) @@ -107,16 +111,19 @@ if ($hook->isKarmaIgnored()) { accept("No karma check necessary. Thank you for your contribution.\n"); } -$requested_paths = $hook->getReceivedPaths(); +$repo_name = $hook->getRepositoryName(); +$pi= new \Git\PushInformation($hook); +$req_paths = ($pi->isForced()) ? [''] : $hook->getReceivedPaths(); +var_dump($pi->isForced()); -if (empty($requested_paths)) { +if (empty($req_paths)) { deny("We cannot figure out what you comitted!"); } -$prefix = sprintf('%s/', $hook->getRepositoryName()); +$prefix = sprintf('%s/', $repo_name); $avail_lines = $hook->getKarmaFile(); -$requested_paths = array_map(function ($x) use ($prefix) { return $prefix . $x;}, $requested_paths); -$unavail_paths = get_unavail_paths($user, $requested_paths, $avail_lines); +$req_paths = array_map(function ($x) use ($prefix) { return $prefix . $x;}, $req_paths); +$unavail_paths = get_unavail_paths($user, $req_paths, $avail_lines); if (!empty($unavail_paths)) { deny(sprintf( diff --git a/lib/Git/PushInformation.php b/lib/Git/PushInformation.php new file mode 100644 index 000..edf73dc --- /dev/null +++ b/lib/Git/PushInformation.php @@ -0,0 +1,86 @@ +repourl = \Git::getRepositoryPath(); +$this->hook= $hook; +} + +/** + * Returns the common ancestor revision for two given revisions + * + * Returns false if no sha1 was returned. Throws an exception if calling + * git fails. + * + * @return boolean + */ +protected function mergeBase($oldrev, $newrev) +{ +$baserev = exec(sprintf('%s --git-dir=%s merge-base %s %s', +\Git::GIT_EXECUTABLE, +$this->repourl, +escapeshellarg($oldrev), +escapeshellarg($newrev)), $output, $retval); + +$baserev = trim($baserev); + +if (0 !== $retval) { +throw new \Exception('Failed to call git'); +} + +if (40 != strlen($baserev)) { +return false; +} + +return $baserev; +} + +/** + * Returns true if merging $newrev would be fast forward + * + * @return boolean + */ +public function isFastForward() +{ +$result = $this->hook->mapInput( +function ($oldrev, $newrev) { +if ($oldrev == \Git::NULLREV) { +return true; +} +return $oldrev == $this->mergeBase($oldrev, $newrev); +}); + +return array_reduce($result, function($a, $b) { return $a && $b; }, true); +} + +/** + * Returns true if updating the refs would fail if push is not forced. + * + * @return boolean + */ +public function isForced() +{ +$result = $this->hook->mapInput( +function($oldrev, $newrev) { +if ($oldrev == \Git::NULLREV) { +return false; +} else if ($newrev == \Git::NULLREV) { +return true; +} +return $newrev == $this->mergeBase($oldr
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/standard/tests/streams/bug60106.phpt branches/PHP_5_3/main/streams/xp_socket.c branches/PHP_5_4/NEWS branches/PHP_5_4/ext/standa
iliaaSat, 03 Mar 2012 20:36:14 + Revision: http://svn.php.net/viewvc?view=revision&revision=323852 Log: Fixed bug #60106 (stream_socket_server silently truncates long unix socket paths) Bug: https://bugs.php.net/60106 (Open) stream_socket_server + long unix socket path = 'Unknown error' Changed paths: U php/php-src/branches/PHP_5_3/NEWS A php/php-src/branches/PHP_5_3/ext/standard/tests/streams/bug60106.phpt U php/php-src/branches/PHP_5_3/main/streams/xp_socket.c U php/php-src/branches/PHP_5_4/NEWS A php/php-src/branches/PHP_5_4/ext/standard/tests/streams/bug60106.phpt U php/php-src/branches/PHP_5_4/main/streams/xp_socket.c A php/php-src/trunk/ext/standard/tests/streams/bug60106.phpt U php/php-src/trunk/main/streams/xp_socket.c Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-03 15:08:21 UTC (rev 323851) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-03 20:36:14 UTC (rev 323852) @@ -62,6 +62,8 @@ - Streams: . Fixed bug #61115 (stream related segfault on fatal error in php_stream_context_link). (Gustavo) + . Fixed bug #60106 (stream_socket_server silently truncates long unix +socket paths). (Ilia) . Further fix for bug #60455 (stream_get_line misbehaves if EOF is not detected together with the last read). (Gustavo) . Fixed bug #60817 (stream_get_line() reads from stream even when there is Added: php/php-src/branches/PHP_5_3/ext/standard/tests/streams/bug60106.phpt === --- php/php-src/branches/PHP_5_3/ext/standard/tests/streams/bug60106.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/standard/tests/streams/bug60106.phpt 2012-03-03 20:36:14 UTC (rev 323852) @@ -0,0 +1,14 @@ +--TEST-- +Bug#60106 (stream_socket_server silently truncates long unix socket paths) +--FILE-- + +===DONE=== +--EXPECTF-- +Notice: stream_socket_server(): socket path exceeded the maximum allowed length of %d bytes and was truncated in %s on line %d + +Warning: stream_socket_server(): unable to connect to unix:///tmp/aaa in %s on line %d +===DONE=== + Modified: php/php-src/branches/PHP_5_3/main/streams/xp_socket.c === --- php/php-src/branches/PHP_5_3/main/streams/xp_socket.c 2012-03-03 15:08:21 UTC (rev 323851) +++ php/php-src/branches/PHP_5_3/main/streams/xp_socket.c 2012-03-03 20:36:14 UTC (rev 323852) @@ -514,6 +514,7 @@ * BUT, to get into this branch of code, the name is too long, * so we don't care. */ xparam->inputs.namelen = sizeof(unix_addr->sun_path) - 1; + php_error_docref(NULL TSRMLS_CC, E_NOTICE, "socket path exceeded the maximum allowed length of %ld bytes and was truncated", sizeof(unix_addr->sun_path)); } memcpy(unix_addr->sun_path, xparam->inputs.name, xparam->inputs.namelen); Modified: php/php-src/branches/PHP_5_4/NEWS === --- php/php-src/branches/PHP_5_4/NEWS 2012-03-03 15:08:21 UTC (rev 323851) +++ php/php-src/branches/PHP_5_4/NEWS 2012-03-03 20:36:14 UTC (rev 323852) @@ -45,6 +45,7 @@ - Standard: . Fixed memory leak in substr_replace. (Pierrick) . Make max_file_uploads ini directive settable outside of php.ini (Rasmus) + . Fixed bug #60106 (stream_socket_server silently truncates long unix socket paths). (Ilia) - XMLRPC: . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikita Popov) Added: php/php-src/branches/PHP_5_4/ext/standard/tests/streams/bug60106.phpt === --- php/php-src/branches/PHP_5_4/ext/standard/tests/streams/bug60106.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/ext/standard/tests/streams/bug60106.phpt 2012-03-03 20:36:14 UTC (rev 323852) @@ -0,0 +1,14 @@ +--TEST-- +Bug#60106 (st
[PHP-CVS] [git] karma.git branch PHP_POST_RECEIVE created. 5d58ad7
The branch, PHP_POST_RECEIVE on karma.git has been created at 5d58ad7ac1700df5ad7d9bf50b73b80b71ce9844 (commit) -- Log commit 5d58ad7ac1700df5ad7d9bf50b73b80b71ce9844 Author: Alexander Moskaliov Date: Sat Mar 3 16:46:15 2012 +0400 Start rewrite post-receive on php diff --git a/hooks/post-receive b/hooks/post-receive index 3a45616..5576fe4 100755 --- a/hooks/post-receive +++ b/hooks/post-receive @@ -1,754 +1,43 @@ -#!/bin/sh -# -# Copyright (c) 2007 Andy Parkins -# -# An example hook script to mail out commit update information. This hook -# sends emails listing new revisions to the repository introduced by the -# change being reported. The rule is that (for branch updates) each commit -# will appear on one email and one email only. -# -# This hook is stored in the contrib/hooks directory. Your distribution -# will have put this somewhere standard. You should make this script -# executable then link to it in the repository you would like to use it in. -# For example, on debian the hook is stored in -# /usr/share/git-core/contrib/hooks/post-receive-email: -# -# chmod a+x post-receive-email -# cd /path/to/your/repository.git -# ln -sf /usr/share/git-core/contrib/hooks/post-receive-email hooks/post-receive -# -# This hook script assumes it is enabled on the central repository of a -# project, with all users pushing only to it and not between each other. It -# will still work if you don't operate in that style, but it would become -# possible for the email to be from someone other than the person doing the -# push. -# -# To help with debugging and use on pre-v1.5.1 git servers, this script will -# also obey the interface of hooks/update, taking its arguments on the -# command line. Unfortunately, hooks/update is called once for each ref. -# To avoid firing one email per ref, this script just prints its output to -# the screen when used in this mode. The output can then be redirected if -# wanted. -# -# Config -# -- -# hooks.mailinglist -# This is the list that all pushes will go to; leave it blank to not send -# emails for every ref update. -# hooks.announcelist -# This is the list that all pushes of annotated tags will go to. Leave it -# blank to default to the mailinglist field. The announce emails lists -# the short log summary of the changes since the last annotated tag. -# hooks.envelopesender -# If set then the -f option is passed to sendmail to allow the envelope -# sender address to be set -# hooks.emailprefix -# All emails have their subjects prefixed with this prefix, or "[SCM]" -# if emailprefix is unset, to aid filtering -# hooks.showrev -# The shell command used to format each revision in the email, with -# "%s" replaced with the commit id. Defaults to "git rev-list -1 -# --pretty %s", displaying the commit id, author, date and log -# message. To list full patches separated by a blank line, you -# could set this to "git show -C %s; echo". -# To list a gitweb/cgit URL *and* a full patch for each change set, use this: -# "t=%s; printf 'http://.../?id=%%s' \$t; echo;echo; git show -C \$t; echo" -# Be careful if "..." contains things that will be expanded by shell "eval" -# or printf. -# hooks.emailmaxlines -# The maximum number of lines that should be included in the generated -# email body. If not specified, there is no limit. -# Lines beyond the limit are suppressed and counted, and a final -# line is added indicating the number of suppressed lines. -# hooks.diffopts -# Alternate options for the git diff-tree invocation that shows changes. -# Default is "--stat --summary --find-copies-harder". Add -p to those -# options to include a unified diff of changes in addition to the usual -# summary output. -# -# Notes -# - -# All emails include the headers "X-Git-Refname", "X-Git-Oldrev", -# "X-Git-Newrev", and "X-Git-Reftype" to enable fine tuned filtering and -# give information for debugging. -# +#!/usr/bin/env php +1234 (create) - # 1234->2345 (update) - # 2345-> (delete) - if expr "$oldrev" : '0*$' >/dev/null - then - change_type="create" - else - if expr "$newrev" : '0*$' >/dev/null - then - change_type="delete" - else - change_type="update" - fi - fi +error_reporting(E_ALL | E_STRICT); +date_default_timezone_set('UTC'); +putenv("PATH=/opt/bin:/usr/local/bin:/usr/bin:/bin"); +putenv("LC_ALL=en_US.UTF-8"); - # --- Get the revision types - newrev_type=$(git cat-file -t $newrev 2> /dev/null) - oldrev_type=$(git cat-file -t "$oldrev" 2> /dev/null) - case "$change_type" in - create|update) - rev="$newrev" - rev_type="$newrev_type" - ;; - delete) - rev="$oldrev" - rev_type="$oldrev_type" - ;; -
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/xmlrpc/tests/bug61264.phpt branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c branches/PHP_5_4/NEWS branches/PHP_5_4/ext/xmlrpc/tests/
nikicSat, 03 Mar 2012 12:46:17 + Revision: http://svn.php.net/viewvc?view=revision&revision=323850 Log: Fix bug #61264: xmlrpc_parse_method_descriptions leaks temporary variable Bug: https://bugs.php.net/61264 (Open) xmlrpc_parse_method_descriptions leaks temporary variable Changed paths: U php/php-src/branches/PHP_5_3/NEWS A php/php-src/branches/PHP_5_3/ext/xmlrpc/tests/bug61264.phpt U php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c U php/php-src/branches/PHP_5_4/NEWS A php/php-src/branches/PHP_5_4/ext/xmlrpc/tests/bug61264.phpt U php/php-src/branches/PHP_5_4/ext/xmlrpc/xmlrpc-epi-php.c A php/php-src/trunk/ext/xmlrpc/tests/bug61264.phpt U php/php-src/trunk/ext/xmlrpc/xmlrpc-epi-php.c Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-02 23:07:19 UTC (rev 323849) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-03 12:46:17 UTC (rev 323850) @@ -73,6 +73,7 @@ - XMLRPC: . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikic) + . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary variable). (Nikita Popov) - Zlib: . Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikic) Added: php/php-src/branches/PHP_5_3/ext/xmlrpc/tests/bug61264.phpt === --- php/php-src/branches/PHP_5_3/ext/xmlrpc/tests/bug61264.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/xmlrpc/tests/bug61264.phpt 2012-03-03 12:46:17 UTC (rev 323850) @@ -0,0 +1,17 @@ +--TEST-- +Bug #61264: xmlrpc_parse_method_descriptions leaks temporary variable +--FILE-- + + + foo + +XML; +var_dump(xmlrpc_parse_method_descriptions($xml)); +?> +--EXPECT-- +array(1) { + ["b"]=> + string(3) "foo" +} Modified: php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c === --- php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c2012-03-02 23:07:19 UTC (rev 323849) +++ php/php-src/branches/PHP_5_3/ext/xmlrpc/xmlrpc-epi-php.c2012-03-03 12:46:17 UTC (rev 323850) @@ -1240,8 +1240,7 @@ retval = XMLRPC_to_PHP(xVal); if (retval) { - *return_value = *retval; - zval_copy_ctor(return_value); + RETVAL_ZVAL(retval, 1, 1); } /* dust, sweep, and mop */ XMLRPC_CleanupValue(xVal); Modified: php/php-src/branches/PHP_5_4/NEWS === --- php/php-src/branches/PHP_5_4/NEWS 2012-03-02 23:07:19 UTC (rev 323849) +++ php/php-src/branches/PHP_5_4/NEWS 2012-03-03 12:46:17 UTC (rev 323850) @@ -48,6 +48,7 @@ - XMLRPC: . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikita Popov) + . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary variable). (Nikita Popov) - Zlib: . Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikita Popov) Added: php/php-src/branches/PHP_5_4/ext/xmlrpc/tests/bug61264.phpt === --- php/php-src/branches/PHP_5_4/ext/xmlrpc/tests/bug61264.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/ext/xmlrpc/tests/bug61264.phpt 2012-03-03 12:46:17 UTC (rev 323850) @@ -0,0 +1,17 @@ +--TEST-- +Bug #61264: xmlrpc_parse_method_descriptions leaks temporary variable +--FILE-- + + + foo + +XML; +var_dump(xmlrpc_parse_method_descriptions($xml)); +?> +--EXPECT-- +array(1) { + ["b"]=> + string(3) "foo" +} Modified: php/php-src/branches/PHP_5_4/ext/xmlrpc/xmlrpc-epi-php.c === --- php/php-src/branches/PHP_5_4/ext/xmlrpc/xmlrpc-epi-php.c2012-03-02 23:07:19 UTC (rev 323849) +++ php/php-src/branches/PHP_5_4/ext/xmlrpc/xmlrpc-epi-php.c2012-03-03 12:46:17 UTC (rev 323850) @@ -1240,8 +1240,7 @@ retval = XMLRPC_to_PHP(xVal); if (retval) { - *return_value = *retval; - zval_copy_ctor(return_value); + RETVAL_ZVAL(retval, 1, 1); } /* dust, sweep, and mop */ XMLRPC_CleanupValue(xVal); Added: php/php-src/trunk/ext/xmlrpc/tests/bug61264.phpt === --- php/php-src/trunk/ext/xmlrpc/tests/bug61264.phpt (rev 0) +++ php/php-src/trunk/ext/xmlrpc/tests/bug61264.phpt2012-03-03 12:46:17 UTC (rev 323850) @@ -0,0 +1,17 @@ +--TEST-- +Bug #61264: xmlrpc_parse_method_descriptions leaks tempor