Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:60627 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 17924 invoked from network); 21 May 2012 14:38:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 May 2012 14:38:14 -0000 Authentication-Results: pb1.pair.com header.from=laruence@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=laruence@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.215.42 as permitted sender) X-PHP-List-Original-Sender: laruence@gmail.com X-Host-Fingerprint: 209.85.215.42 mail-lpp01m010-f42.google.com Received: from [209.85.215.42] ([209.85.215.42:56440] helo=mail-lpp01m010-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 02/40-16352-5535ABF4 for ; Mon, 21 May 2012 10:38:13 -0400 Received: by lagy4 with SMTP id y4so3743713lag.29 for ; Mon, 21 May 2012 07:38:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:from:in-reply-to:mime-version:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=sQc5PtxQ9bB5yb09hNr4c805TKrrhNltFIStV33eRKY=; b=0xftcBEFugcp33/DlKrsRrHopR6rpFuwBS8l3sQlUp6aioCF+e326aFJZ0Eb55+Cx6 UTy/roDTInPp0OD6IEP2+TTDdEut4CoH7UYXeERsL2t0qAgzRmSE5XAVTzPtqe3fJJTx xJ0FrvskhPApAeOlIT04/O0FB5d2xfRgRMxNnnBT5xiuSwiyNB/smvf8fvw0y9Wy/GCj UGYQGsrejngp/Wv/VL3wln2GGiFEJ+695zNhbtK1pudp7n9noSsbMtQcv6spcwusYGcd BXsNGGC74z57DMTDGoqj7mXwXuWR6zIRLzndP1qsghQJelRqF02NRx7HPySiq25fgAIq 2yGA== Received: by 10.152.124.141 with SMTP id mi13mr4157324lab.50.1337611090240; Mon, 21 May 2012 07:38:10 -0700 (PDT) References: <5262BA67-53D2-4D19-9AD6-B1BFDABAC32E@sektioneins.de> <-7697815941710803116@unknownmsgid> <73F0282D-6319-47BF-A01A-629A3F905C91@sektioneins.de> In-Reply-To: <73F0282D-6319-47BF-A01A-629A3F905C91@sektioneins.de> Mime-Version: 1.0 (1.0) Date: Mon, 21 May 2012 22:38:09 +0800 Message-ID: <-4539829430761956102@unknownmsgid> To: Stefan Esser Cc: Mailing-List php Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] zend_execute_internal hook missing from PHP 5 From: laruence@gmail.com (Xinchen Hui) =E5=8F=91=E8=87=AA=E6=88=91=E7=9A=84 iPad =E5=9C=A8 2012-5-21=EF=BC=8C21:05=EF=BC=8CStefan Esser =E5=86=99=E9=81=93=EF=BC=9A > Hi, > >>> While this has no immediate impact for average PHP users, it basically = kills the possibility for an extension like Suhosin to catch all function s= tarts. >> Actually, there is one, use user opcode handler hook the fcall series >> opcodes, that is how I did in taint extension. > > From what I can see your taint extension also does not catch functions ca= lled by call_user_func() or array_map() or or or=E2=80=A6 I just want to say there is a way in theory , If you want a 100% intercept that you can also use override call_user_function additionally, which is also what I did to mark some function's return value in taint extension. Of course it's a little ugly, but it works :) Thanks > > Regards, > Stefan