On 1 June 2016 at 15:45, Scott Arciszewski <sc...@paragonie.com> wrote:

> On Wed, Jun 1, 2016 at 6:48 AM, Marco Pivetta <ocram...@gmail.com> wrote:
>
>> Hey Scott,
>>
>> On 1 June 2016 at 09:49, Scott Arciszewski <sc...@paragonie.com> wrote:
>>
>>> Hi PHP Internals Team,
>>>
>>> Let's begin discussing the prospect of adding libsodium as a core
>>> extension
>>> in PHP 7.1. I've updated the RFC to explain why this would be a good idea
>>> and the benefits it offers.
>>>
>>> https://wiki.php.net/rfc/libsodium
>>>
>>> If the subsequent discussion goes smoothly, I would like to open voting
>>> on
>>> June 15.
>>>
>>> Together, let's make PHP cryptography so safe that it becomes boring.
>>>
>>
>> First, thanks for providing better alternatives to crypto in PHP!
>>
>> I also agree with Remi on naming: let's avoid calling the extension
>> `libsodium`.
>>
>> I have some concerns that are just about code quality, not about
>> functionality. Consider that I didn't look at the underlying library (and I
>> really care little about it, from a consumer perspective).
>>
>>  1. is there a particular reason why abbreviations are used? For
>> instance, why `sodium_randombytes_buf()` instead of
>> `sodium_random_bytes_buffer()`?
>>  2. from a naming perspective, I'd expect `sodium_randombytes_buf()` to
>> give me a buffer of random bytes (probably as a stream), but it returns the
>> actual string of random bytes. Again: confusing naming
>>  3. can we avoid using "themed" naming? For example, instead of
>> `sodium_crypto_secretbox()`, it would be best to express what it actually
>> does, like `sodium_encrypt_and_sign()`. While the naming may be emerging
>> from lower layers, I still (like I did with other RFCs) disagree with
>> inheriting confusing naming. This will just cause users to look up the
>> naming up when reading or writing code, and ultimately add up to silly
>> bugs. I can already foresee that people will use the API incorrectly just
>> because of the naming.
>>  4. can't we just keep it namespaced under `Sodium`, instead of adding
>> more stuff to the root level namespace? Does anyone have a reference to the
>> coding standards that would cause the rename?
>>
>> Cheers,
>>
>> Marco Pivetta
>>
>> http://twitter.com/Ocramius
>>
>> http://ocramius.github.com/
>>
>>
> ​I'd love to just keep the namespace personally
> ​ (
> Ke
> ​eping \Sodium\foo() and \SODIUM\FOO means code I've written today will
> work in 7.1 for non-PECL users
> ​, and less work we thrust on Frank Denis)​
> ​
> but it was previously expressed that doing so violates the coding standard.
> ​ Changing to sodium_* would mean less bikeshedding and automatic "No"
> votes.
>

Weird... I guess we could add a subsection to the vote?


> As for the function names, that's what they were called in NaCl.
> https://nacl.cr.yp.to/secretbox.html
>
> I believe randombytes_buf() was named in a similar spirit to OpenBSD's
> arc4random_buf().
>

Yeh, that is software archaeology though, not software design ;-)

Marco Pivetta

http://twitter.com/Ocramius

http://ocramius.github.com/

Reply via email to