Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:97295 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 37068 invoked from network); 5 Dec 2016 22:50:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Dec 2016 22:50:57 -0000 Authentication-Results: pb1.pair.com smtp.mail=morrison.levi@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=morrison.levi@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.213.178 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.213.178 mail-yb0-f178.google.com Received: from [209.85.213.178] ([209.85.213.178:35121] helo=mail-yb0-f178.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id EE/B7-11772-D4FE5485 for ; Mon, 05 Dec 2016 17:50:54 -0500 Received: by mail-yb0-f178.google.com with SMTP id d128so62060247ybh.2 for ; Mon, 05 Dec 2016 14:50:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=xG4JfAerR8ZYYL5CVRmzN4PzmKYGbom7tywe398G3Y0=; b=nczfG6MLRV+pFzZBFUVVdzGG3Y1zNxnLwoGlI5ehQJnl/gcHUAxKQp/StB+6odyB/Q 3y58JZjn96sk4a6BKcFSF0vesA1a5pkVE63OXdLY+LeCQF3T+ndZSJUEhc5fphOnuyK0 PjZL+b3xse4eIUhhcuQeQZrMMmbRoC6O6vjsOh4EfQ90G9NZqtDTK8ET5lnCrMzwVY2i tmcjK1aszJVTqCTT4Y+tlRGXEbMjNyCyfvchaEfq7d4/XKYExodldQy+7yM63uMOZIoA FbXo1T80flkCYbAnyAML3xYcDmlcc8bxS5iUDqzLrBAcDYXz8nKavuN7LF9wJltjxr4p N9nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=xG4JfAerR8ZYYL5CVRmzN4PzmKYGbom7tywe398G3Y0=; b=S4uKO+rr6xwBdj58f/QJLlMlN9eRFiZ0fbeqnhEm7PVUnRSydyITOcOfgXzwzC0SQF WIGfhGHl2xd2OSpcObsm2i3roZpOxefwuzDpXwUtN8xtfwajXQLW5KwO2IUTiZ7FCkay dVltvnRQnCRtE8FfSpYn2RwLtGHAgg5j5gCx20u22OrmuIIqBTuDhJmayG8Q+s0IAVoa Ma111/9zWsuFzaENjn2QsHe+aq6EkErjS6uEuXJnME/zFZs8Oe3NHXAEA/H9hTVjVqEO kFBTdCyxlPZRAGaMJb+21Z0lIyp9wOnfujsJFq2+jyVz1xuX62Y+76uVuiWTPmvwOWUv DGxg== X-Gm-Message-State: AKaTC03HIz6Kceb7vOHk1naH6OdwKELKuBcFjsdvDYr91qGMZwucFSq1lW7+p796zXzGAUXH6DHIor6Npx5Gcw== X-Received: by 10.37.171.173 with SMTP id v42mr28438923ybi.146.1480978251182; Mon, 05 Dec 2016 14:50:51 -0800 (PST) MIME-Version: 1.0 Sender: morrison.levi@gmail.com Received: by 10.129.197.69 with HTTP; Mon, 5 Dec 2016 14:50:50 -0800 (PST) In-Reply-To: References: Date: Mon, 5 Dec 2016 15:50:50 -0700 X-Google-Sender-Auth: 1BYGVH5AWQSwyhT2Z_pTZT77l30 Message-ID: To: Yasuo Ohgaki Cc: "internals@lists.php.net" Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [RFC][VOTE] User defined session serializer From: levim@php.net (Levi Morrison) On Sun, Dec 4, 2016 at 6:44 PM, Yasuo Ohgaki wrote: > Hi all, > > This RFC exposes session serializer interface to user space. It works > like user defined session save handler. > > Users are able to encrypt/validate session data transparently. e.g. > You can save encrypted session data to database, decrypt encrypted > data from database transparently. > > https://wiki.php.net/rfc/user_defined_session_serializer > Vote starts: 2016-12-05 Vote ends: 2016-12-19 UTC 23:59:59 > > Although we don't have consensus about number of votes to pass, I set > this RFC to require 2/3 votes. > > Questions are welcomed if you have. > Thank you for voting. > > Regards, > > -- > Yasuo Ohgaki > yohgaki@ohgaki.net > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php I apologize for the late review of your RFC. This RFC has a few issues which I think need to be fixed (yes, this means I am asking you to pull it out of voting phase). It does not specify how to indicate an encoding or decoding error. As these are unexpected and userland code may throw exceptions anyway I am fine with an exception being used here (as opposed to returning null). However in its current form it is incomplete. The RFC says this about the return value of the encoding function: Returning anything other than string raises E_RECOVERABLE_ERROR And similarly this for the decoding function: Returning anything other than array raises E_RECOVERABLE_ERROR These are not consistent with return type checking. This *must* reuse the error checking that is already in-place and not provide something new to accomplish the same thing.