NVMe támogatással bővült a FreeBSD head

Mi is az a NVMe? Egy a SSD-khez kidolgozott új szabványosított interface, mely az SSD-k tempóját képes hozni.

A FreeBSD szeptember 17. dátummal megkapta a támogatásához szükséges első lépésket, mint ahogy az az alábbi commit message-ből is látszik:

 

commit d20b114e52e70d17fbcd01b87735dce74352269f
Author: jimharris <jimharris@FreeBSD.org>
Date:   Mon Sep 17 19:23:01 2012 +0000

This is the first of several commits which will add NVM Express (NVMe)
support to FreeBSD.  A full description of the overall functionality
being added is below.  nvmexpress.org defines NVM Express as “an optimized
register interface, command set and feature set fo PCI Express (PCIe)-based
Solid-State Drives (SSDs).”

Clang as default compiler November 4th

“Clang as default compiler November 4th” címmel megjelent levél szerint FreeBSD 10-ben már a clang lesz az alapértelmezett fordító 2012. nov. 4. dátumtól. A bejelentést ma Brooks Davis tette, mely levélben egyidejüleg kéri az embereket, hogy még a váltás elött minél többen teszteljék. Ezen lépéssel is közelebb kerül a FreeBSD Project a GPL mentes kódbázishoz.

 

freebsd.org GIT repok

Ha valaki szeretne hasznalni svn vagy cvs helyett git-et, mert kenyelmesebb neki, akkor itt talalhatja meg a oket:

git://git.freebsd.org/freebsd.git
git://git.freebsd.org/freebsd-doc.git
git://git.freebsd.org/freebsd-ports.git (the canonical sources)
git://github.com/freebsd/freebsd.git
git://github.com/freebsd/freebsd-doc.git
git://github.com/freebsd/freebsd-ports.git (the preferred sources)

FreeBSD Support Windows Server Hyper-V-hez

A Microsoft ma bejelentette, hogy elérhető a FreeBSD Hyper-V támogatása, melyet a NetApp és a Citrix segítségével készített el. A kooperació során 8500 sornyi BSD kód született FreeBSD 8.2 rendszerhez, a 9-es ágra portolás folyamatban van.

A kódokat github-on találjátok meg, a szükséges lépéseket pedig itt találjátok meg.
Jó szórakozást FreeBSD-vel Hyper-V alatt is!

 

Ha a VIM és a clang találkozik, vagyis clang_complete

A mai nap freebsd levlista olvasgatás közben akadt meg a szemem ezen a levélen,
melyben az illető felvetette a kerdést, hogy az alaprendszer miert nem rakja
fel a libclang.so-t. A kérdéskör onnan indult, hogy adott a VIM-hez egy plugin,
mely clang_complete névre hallgat és ezt a file-t használná.

Ezen a levélen felbuzdulva megnéztem, hogy mégis mi ez a clang_complete és mire
jó.

A telepítését röviden összefoglaltam:

op@pandora-d ~> cd /tmp

op@pandora-d /tmp> fetch -o clang_complete-1.8.vmb 'http://www.vim.org/scripts/download_script.php?src_id=17048'
clang_complete-1.8.vmb                        100% of   92 kB  661 kBps

op@pandora-d /tmp> vim clang_complete-1.8.vmb -c 'so %' -c 'q'
"clang_complete-1.8.vmb" 2880L, 94632C
Vimball Archive
extracted <autoload/snippets/clang_complete.vim>: 96 lines
wrote /usr/home/op/.vim/autoload/snippets/clang_complete.vim
extracted <autoload/snippets/dummy.vim>: 24 lines
wrote /usr/home/op/.vim/autoload/snippets/dummy.vim
extracted <autoload/snippets/snipmate.vim>: 50 lines
wrote /usr/home/op/.vim/autoload/snippets/snipmate.vim
extracted <autoload/snippets/ultisnips.vim>: 37 lines
wrote /usr/home/op/.vim/autoload/snippets/ultisnips.vim
extracted <bin/cc_args.py>: 84 lines
wrote /usr/home/op/.vim/bin/cc_args.py
extracted <doc/clang_complete.txt>: 257 lines
wrote /usr/home/op/.vim/doc/clang_complete.txt
extracted <plugin/clang/__init__.py>: 24 lines
wrote /usr/home/op/.vim/plugin/clang/__init__.py
extracted <plugin/clang/cindex.py>: 1236 lines
wrote /usr/home/op/.vim/plugin/clang/cindex.py
extracted <plugin/clang_complete.vim>: 668 lines
wrote /usr/home/op/.vim/plugin/clang_complete.vim
extracted <plugin/libclang.py>: 381 lines
wrote /usr/home/op/.vim/plugin/libclang.py
did helptags

Győződjünk meg róla, hogy a libclang fent van a rendszeren:

op@pandora-d ~> find /usr/local/lib -name "libclang.so"
/usr/local/lib/libclang.so

És ez történik, ha a VIM-ünket python support nélkül fordítottuk és a libclang-ot
szeretnénk használni maga a clang bináris helyett.

"subr_rtc.c" [readonly] 166L, 4879C
Error detected while processing function <SNR>9_ClangCompleteInit:
line  128:
clang_complete: No python support available.
line  129:
Cannot use clang library, using executable
line  130:
Compile vim with python support to use libclang
Press ENTER or type command to continue

ehhez viszont újrafordítás szükséges, és be kell állítanunk pár dolgot:

op@pandora-d ~> echo "WITH_VIM_OPTIONS=true" >> /etc/make.conf
op@pandora-d vim> cd /usr/ports/editors/vim
op@pandora-d vim> make clean
op@pandora-d vim> make config

itt a PYTHON supportot kapcsoljuk be

op@pandora-d vim> make reinstall

[…]

op@pandora-d ~> cd

op@pandora-d ~> cd /usr/src/sbin/devd/
op@pandora-d devd> vi devd.cc

És akkor lássuk az eredményt:

vim_clang_complete

Miért jobb ez, mint a ctag-es megoldás?
Sokkal gyorsabb, szebb, jobb és ha már egyszer a FreeBSD a jövőben clang-gal jön
alapból, akkor miért ne használnánki ezt a lehetőséget?!
Kiknek lehet hasznos?
Akik sokat kódolnak VIM-ben C, C++ vagy ObjC nyelven.

 

OpenSSL-0.9.8x

FreeBSD-HEAD-be bekerült az OpenSSL-0.9.8x, mely az svn commitok[1][2] szerint a napokban fog bekerülni a STABLE ágakba is.
De nezzük, milyen újdonságokat hoz nekünk az 0.9.8x a 0.9.8q-hoz képest:

 OpenSSL CHANGES
 _______________

 Changes between 0.9.8w and 0.9.8x [10 May 2012]

  *) Sanity check record length before skipping explicit IV in DTLS
     to fix DoS attack.

     Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic
     fuzzing as a service testing platform.
     (CVE-2012-2333)
     [Steve Henson]

  *) Initialise tkeylen properly when encrypting CMS messages.
     Thanks to Solar Designer of Openwall for reporting this issue.
     [Steve Henson]

 Changes between 0.9.8v and 0.9.8w [23 Apr 2012]

  *) The fix for CVE-2012-2110 did not take into account that the 
     'len' argument to BUF_MEM_grow and BUF_MEM_grow_clean is an
     int in OpenSSL 0.9.8, making it still vulnerable. Fix by 
     rejecting negative len parameter. (CVE-2012-2131)
     [Tomas Hoger <thoger@redhat.com>]

 Changes between 0.9.8u and 0.9.8v [19 Apr 2012]

  *) Check for potentially exploitable overflows in asn1_d2i_read_bio
     BUF_mem_grow and BUF_mem_grow_clean. Refuse attempts to shrink buffer
     in CRYPTO_realloc_clean.

     Thanks to Tavis Ormandy, Google Security Team, for discovering this
     issue and to Adam Langley <agl@chromium.org> for fixing it.
     (CVE-2012-2110)
     [Adam Langley (Google), Tavis Ormandy, Google Security Team]

 Changes between 0.9.8t and 0.9.8u [12 Mar 2012]

  *) Fix MMA (Bleichenbacher's attack on PKCS #1 v1.5 RSA padding) weakness
     in CMS and PKCS7 code. When RSA decryption fails use a random key for
     content decryption and always return the same error. Note: this attack
     needs on average 2^20 messages so it only affects automated senders. The
     old behaviour can be reenabled in the CMS code by setting the
     CMS_DEBUG_DECRYPT flag: this is useful for debugging and testing where
     an MMA defence is not necessary.
     Thanks to Ivan Nestlerode <inestlerode@us.ibm.com> for discovering
     this issue. (CVE-2012-0884)
     [Steve Henson]

  *) Fix CVE-2011-4619: make sure we really are receiving a 
     client hello before rejecting multiple SGC restarts. Thanks to
     Ivan Nestlerode <inestlerode@us.ibm.com> for discovering this bug.
     [Steve Henson]

 Changes between 0.9.8s and 0.9.8t [18 Jan 2012]

  *) Fix for DTLS DoS issue introduced by fix for CVE-2011-4109.
     Thanks to Antonio Martin, Enterprise Secure Access Research and
     Development, Cisco Systems, Inc. for discovering this bug and
     preparing a fix. (CVE-2012-0050)
     [Antonio Martin]

 Changes between 0.9.8r and 0.9.8s [4 Jan 2012]

  *) Nadhem Alfardan and Kenny Paterson have discovered an extension
     of the Vaudenay padding oracle attack on CBC mode encryption
     which enables an efficient plaintext recovery attack against
     the OpenSSL implementation of DTLS. Their attack exploits timing
     differences arising during decryption processing. A research
     paper describing this attack can be found at:

http://www.isg.rhul.ac.uk/~kp/dtls.pdf

     Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
     Security Group at Royal Holloway, University of London
     (www.isg.rhul.ac.uk) for discovering this flaw and to Robin Seggelmann
     <seggelmann@fh-muenster.de> and Michael Tuexen <tuexen@fh-muenster.de>
     for preparing the fix. (CVE-2011-4108)
     [Robin Seggelmann, Michael Tuexen]

  *) Stop policy check failure freeing same buffer twice. (CVE-2011-4109)
     [Ben Laurie, Kasper <ekasper@google.com>]

  *) Clear bytes used for block padding of SSL 3.0 records.
     (CVE-2011-4576)
     [Adam Langley (Google)]

  *) Only allow one SGC handshake restart for SSL/TLS. Thanks to George
     Kadianakis <desnacked@gmail.com> for discovering this issue and
     Adam Langley for preparing the fix. (CVE-2011-4619)
     [Adam Langley (Google)]

  *) Prevent malformed RFC3779 data triggering an assertion failure.
     Thanks to Andrew Chi, BBN Technologies, for discovering the flaw
     and Rob Austein <sra@hactrn.net> for fixing it. (CVE-2011-4577)
     [Rob Austein <sra@hactrn.net>]

  *) Fix ssl_ciph.c set-up race.
     [Adam Langley (Google)]

  *) Fix spurious failures in ecdsatest.c.
     [Emilia Käsper (Google)]

  *) Fix the BIO_f_buffer() implementation (which was mixing different
     interpretations of the '..._len' fields).
     [Adam Langley (Google)]

  *) Fix handling of BN_BLINDING: now BN_BLINDING_invert_ex (rather than
     BN_BLINDING_invert_ex) calls BN_BLINDING_update, ensuring that concurrent
     threads won't reuse the same blinding coefficients.

     This also avoids the need to obtain the CRYPTO_LOCK_RSA_BLINDING
     lock to call BN_BLINDING_invert_ex, and avoids one use of
     BN_BLINDING_update for each BN_BLINDING structure (previously,
     the last update always remained unused).
     [Emilia Käsper (Google)]

  *) Fix SSL memory handling for (EC)DH ciphersuites, in particular
     for multi-threaded use of ECDH.
     [Adam Langley (Google)]

  *) Fix x509_name_ex_d2i memory leak on bad inputs.
     [Bodo Moeller]

  *) Add protection against ECDSA timing attacks as mentioned in the paper
     by Billy Bob Brumley and Nicola Tuveri, see:

http://eprint.iacr.org/2011/232.pdf

     [Billy Bob Brumley and Nicola Tuveri]

 Changes between 0.9.8q and 0.9.8r [8 Feb 2011]

  *) Fix parsing of OCSP stapling ClientHello extension. CVE-2011-0014
     [Neel Mehta, Adam Langley, Bodo Moeller (Google)]

  *) Fix bug in string printing code: if *any* escaping is enabled we must
     escape the escape character (backslash) or the resulting string is
     ambiguous.
     [Steve Henson]

 

[1] http://lists.freebsd.org/pipermail/svn-src-head/2012-June/038302.html

[2] http://lists.freebsd.org/pipermail/svn-src-head/2012-June/038303.html