[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT/LIBMBEDTLS PATCH 1/2] Introduce library skeleton



Hi Vlad,

On 30.01.20, 14:47, "Minios-devel on behalf of Vlad-Andrei BĂDOIU (78692)" 
<minios-devel-bounces@xxxxxxxxxxxxxxxxxxxx on behalf of 
vlad_andrei.badoiu@xxxxxxxxxxxxxxx> wrote:

    Hey Feliple,
    
    Thank you for this port. Please see my comments inline. I think that 
    they can be solved during the upstreaming.

Sounds good, please see inline.

-- Felipe
    
    Thanks,
    
    Vlad
    
    Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
    
    On 17.09.2019 16:02, Felipe Huici wrote:
    > We use the BSD-3-Clause license for this library glue code.
    >
    > Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx>
    > ---
    >   .gitignore      | 27 +++++++++++++++++++++++++++
    >   CODING_STYLE.md |  4 ++++
    >   CONTRIBUTING.md |  4 ++++
    >   COPYING.md      | 39 +++++++++++++++++++++++++++++++++++++++
    >   Config.uk       | 10 ++++++++++
    >   MAINTAINERS.md  | 10 ++++++++++
    >   README.md       | 14 ++++++++++++++
    >   7 files changed, 108 insertions(+)
    >   create mode 100644 .gitignore
    >   create mode 100644 CODING_STYLE.md
    >   create mode 100644 CONTRIBUTING.md
    >   create mode 100644 COPYING.md
    >   create mode 100644 Config.uk
    >   create mode 100644 MAINTAINERS.md
    >   create mode 100644 README.md
    >
    > diff --git a/.gitignore b/.gitignore
    > new file mode 100644
    > index 0000000..75d2fd3
    > --- /dev/null
    > +++ b/.gitignore
    > @@ -0,0 +1,27 @@
    > +*.depend
    > +*.o
    > +*.a
    > +*.d
    > +*.so
    > +*.orig
    > +*.rej
    > +*.bak
    > +*.swp
    > +*~
    > +,*
    > +\#*\#
    > +.\#*
    > +\#_*\#
    > +.\#_*
    > +!.gitignore
    > +.*
    > +
    > +# gnu global files
    > +GPATH
    > +GRTAGS
    > +GSYMS
    > +GTAGS
    > +
    > +# cscope files
    > +cscope.*
    > +ncscope.*
    > diff --git a/CODING_STYLE.md b/CODING_STYLE.md
    > new file mode 100644
    > index 0000000..5730041
    > --- /dev/null
    > +++ b/CODING_STYLE.md
    > @@ -0,0 +1,4 @@
    > +Coding Style
    > +============
    > +
    > +Please refer to the `CODING_STYLE.md` file in the main Unikraft 
repository.
    > diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
    > new file mode 100644
    > index 0000000..5f55eca
    > --- /dev/null
    > +++ b/CONTRIBUTING.md
    > @@ -0,0 +1,4 @@
    > +Contributing to Unikraft
    > +=======================
    > +
    > +Please refer to the `CONTRIBUTING.md` file in the main Unikraft 
repository.
    > diff --git a/COPYING.md b/COPYING.md
    > new file mode 100644
    > index 0000000..df488d2
    > --- /dev/null
    > +++ b/COPYING.md
    > @@ -0,0 +1,39 @@
    > +License
    > +=======
    > +
    > +Unikraft mbed TLS wrappers
    > +------------------------
    > +
    > +This repository contains wrapper code to build mbed TLS with Unikraft.
    > +Each C code file in this repository should declare who is the
    > +copyright owner and under which terms and conditions the code is
    > +licensed. If such a licence note is missing, the following copyright
    > +notice will apply:
    > +
    > + Copyright (c) 2019, NEC Europe Ltd., NEC Corporation. All rights 
reserved.
    > +
    > + Redistribution and use in source and binary forms, with or without
    > + modification, are permitted provided that the following conditions
    > + are met:
    > +
    > + 1. Redistributions of source code must retain the above copyright
    > +    notice, this list of conditions and the following disclaimer.
    > + 2. Redistributions in binary form must reproduce the above copyright
    > +    notice, this list of conditions and the following disclaimer in the
    > +    documentation and/or other materials provided with the distribution.
    > + 3. Neither the name of the copyright holder nor the names of its
    > +    contributors may be used to endorse or promote products derived from
    > +    this software without specific prior written permission.
    > +
    > + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS"
    > + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
THE
    > + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
PURPOSE
    > + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 
BE
    > + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    > + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    > + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    > + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    > + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    > + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
    > + POSSIBILITY OF SUCH DAMAGE.
    > +
    > diff --git a/Config.uk b/Config.uk
    > new file mode 100644
    > index 0000000..0a19b25
    > --- /dev/null
    > +++ b/Config.uk
    > @@ -0,0 +1,10 @@
    > +config LIBMBEDTLS
    > +    bool "Mbed TLS - A portable, flexible SSL library "
    > +    default y
    Shouldn't this be set to n by default?
    > +    select LIBNEWLIBC
    > +    select LIBCXX
    
    Libcxx is selected because we need __udivti3 from compiler-rt, right? I 
    think that we could leave  
    the `select LIBCOMPILER_RT` and, hopefully, in the future, compiler-rt 
    will be more independent.
    
No, this isn't the reason, among others w/o this I get a " fatal error: 
cstdlib: No such file or directory" in libunwind.cpp . I'd say we keep it like 
this for now and we revisit later.

    PS: I'll look into providing a config option for compiler-rt that 
    disables libunwind dependent features.
    
    > +    select LIBCXXABI
    > +    select LIBCOMPILER_RT
    > +    select LIBUNWIND
    > +    select LWIP
    This should be LIBLWIP.

Good catch, thanks.

    > +    select LWIP_IPV6
    > diff --git a/MAINTAINERS.md b/MAINTAINERS.md
    > new file mode 100644
    > index 0000000..d009e9b
    > --- /dev/null
    > +++ b/MAINTAINERS.md
    > @@ -0,0 +1,10 @@
    > +Maintainers List
    > +================
    > +
    > +For notes on how to read this information, please refer to 
`MAINTAINERS.md` in
    > +the main Unikraft repository.
    > +
    > + LIBZLIB-UNIKRAFT
    There is a typo here, it should be LIBMBEDTLS-UNIKRAFT.

Will fix.

    > + M:      Felipe Huici <felipe.huici@xxxxxxxxx>
    > + L:      minios-devel@xxxxxxxxxxxxx
    > + F: *
    > diff --git a/README.md b/README.md
    > new file mode 100644
    > index 0000000..fd9ee95
    > --- /dev/null
    > +++ b/README.md
    > @@ -0,0 +1,14 @@
    > +libmbedtls for Unikraft
    > +===================
    > +This is a port of mbed TLS to Unikraft. The port has a number of
    > +dependencies. To meet them, ensure that you have the following libs
    > +added to your LIBS variable in your app's Makefile:
    > +
    > +  ...$(UK_LIBS)/libunwind:$(UK_LIBS)/compiler-rt:$(UK_LIBS)/libcxxabi:
    > +     $(UK_LIBS)/libcxx:$(UK_LIBS)/mbedtls:$(UK_LIBS)/lwip:
    > +  $(UK_LIBS)/newlib...
    > +
    
    We should update this part to follow the latest format that we're using 
    for the ports:
    
    * CXX standard library, e.g. `libunwind`, `compiler-rt`, `libcxxabi`, 
    `libcxx`
    
    * `libc`, e.g. `newlib`
    
    * `lwip`
    
    PS: we should specify that mbed TLS should added after compiler-rt.
    
Sounds good, will do.

    > +Please refer to the `README.md` as well as the documentation in the 
`doc/`
    > +subdirectory of the main unikraft repository for further information.
    > +
    > +
    _______________________________________________
    Minios-devel mailing list
    Minios-devel@xxxxxxxxxxxxxxxxxxxx
    https://lists.xenproject.org/mailman/listinfo/minios-devel

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.