Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         gtk-vnc for OpenSolaris
    1.2. Name of Document Author/Supplier:
         Author:  Halton Huo
    1.3  Date of This Document:
        12 November, 2008
4. Technical Description
1. Introduction
   1.1. Project/Component Working Name:

        gtk-vnc 0.x

   1.2. Name of Document Author/Supplier:

        Halton Huo

   1.3. Date of This Document:

        11/11/08

           1.3.1. Date this project was conceived:

                  03/01/07

   1.4. Name of Major Document Customer(s)/Consumer(s):

      1.4.1. The PAC or CPT you expect to review your project:

             Solaris PAC

      1.4.2. The ARC(s) you expect to review your project:

             LSARC

      1.4.3. The Director/VP who is "Sponsoring" this project:

             robert.odea at sun.com

      1.4.4. The name of your business unit:

             OPG / OpenSource.

   1.5. Email Aliases:

      1.5.1. Responsible Manager:

             harry.lu at sun.com

      1.5.2. Responsible Engineer:

             halton.huo at sun.com

      1.5.3. Marketing Manager:

             glynn.foster at sun.com

      1.5.4. Interest List:

             desktop-discuss at opensolaris.org

4. Technical Description:
    4.1. Details:

         gtk-vnc is a VNC viewer widget for GTK. It is built using coroutines
         allowing it to be completely asynchronous while remaining single
         threaded. It provides a core C library, and bindings for Python
         (PyGTK). It also provides a web browser plugin featuring a Gtk VNC
         widget which can be embedded in a web page.

         It can be used with virt-manager(1) and vinagre(1).

    4.2. Bug/RFE Number(s):

         6760020

    4.3. In Scope:

         See above.

    4.4. Out of Scope:

         See above.

    4.5. Interfaces:
       
                                   Exported  Interface 

    Interface                         Classification  Comments
    -----------------------------     --------------  ----------------------
    SUNWgtk-vnc                       Uncommitted     Package name
    SUNWgtk-vnc-devel                 Uncommitted     Package name
    SUNWgtk-vnc-python24              Volatile        Package name
    SUNWgtk-vnc-python25              Volatile        Package name
    /usr/lib/libgtk-vnc-1.0.so.0      Volatile        gtk-vnc library
    /usr/lib/firefox/plugins/gtk-vnc-plugin.so
                                      Volatile        plugin for web browser
    /usr/lib/python2.4/vendor-packages/gtkvnc.so
                                      Volatile        python binding for 2.4
    /usr/lib/python2.5/vendor-packages/gtkvnc.so
                                      Volatile        python binding for 2.5
    /usr/include/gtk-vnc-1.0          Volatile        devel headers directory
    /usr/lib/pkgconfig/gtk-vnc-1.0.pc Uncommitted     devel .pc file 

                                    Imported  Interface 

    Interface                Classification  ARC case       Comment
    --------                 --------------- ----------     ----------------
    /usr/lib/libgnutls.so.26 Uncommitted     LSARC/2008/341 C TLS library
    /usr/lib/libz.so.1       Committed       PSARC/2006/537 libz library
    /usr/lib/firefox/plugins Committed       LSARC/2008/158 system-wide Firefox
                                                            plugin directory
    /usr/lib/python2.4/vendor-packages
                             Uncommitted     PSARC/2008/543 directory for
                                                            Python 2.4 modules
                                                            shipped by Sun
    /usr/lib/python2.5/vendor-packages
                             Uncommitted     PSARC/2008/543 directory for
                                                            Python 2.5 modules
                                                            shipped by Sun
    /usr/bin/virt-manager    Volatile        LSARC/2007/175 depend on gtk-vnc
    GNOME Libraries          Committed       LSARC/2005/734

              
    4.6. Doc Impact:

         None.

    4.7. Admin/Config Impact:

         None.

    4.8. HA Impact:

         None.

    4.9. I18N/L10N Impact:

         The JDS team and the G11N are working together to evaluate and
         provide I18N/L10N support.

    4.10. Packaging & Delivery:

          Adds four new packages:
          Package              Cluster       Size    Comment
          ----------------     ------------  ------  ----------
          SUNWgtk-vnc          SUNW(gnapps)  616K    base package for libraries
          SUNWgtk-vnc-devel    SUNW(gndev)   21K     development package for
                                                     header and .pc files
          SUNWgtk-vnc-python24 SUNW(gnapps)  126K    Python 2.4 binding
          SUNWgtk-vnc-python25 SUNW(gnapps)  130K    Python 2.5 binding

    4.11. Security Impact:

          gtk-vnc implements its own 3DES algorithm, and makes use of GnuTLS
          for other usages of encryption. They are used for authentication
          between VNC server and client. The server side decides the
          authentication method.

          If server does not have GnuTLS support, it uses 3DES to authenticate
          the client. The steps are:
          1) Server sends a random 16 byte challenge
          2) Client encrypts the challenge with DES using the user supplied
             password as a key and send back to server
          3) If the response matches the expected result, the client is
             authenticated. Otherwise, the server closes the connection.

          If server does have GnuTLS support, then gtk-vnc uses GnuTLS
          anonymous or X.509 certificate authentication as a way to
          authenticate a client. Then, gtk-vnc uses the steps described
          above to finish.

          At connection time, the VNC server uses libz(3) function deflate to
          compress data. The VNC client uses libz(3) function inflate to
          decompress data.

    4.12. Dependencies:
      
          gtk-vnc uses GnuTLS to preform authentication between VNC server
          and client. Also gtk-vnc depends on zlib(3).

          gtk-vnc's web browser plugin depends on firefox(1).

          gtk-vnc's python binding needs python(1).

          gtk-vnc is Vinagre's dependency.

          When virt-manager(1) is modified to use gtk-vnc, it is
          virt-manager's dependency.

5. Reference Documents:

      [1] gtk-vnc homepage: 
          http://gtk-vnc.sourceforge.net/

      [2] Related ARC Cases:
          LSARC/2008/341: GnuTLS
          PSARC/2006/537: Solaris libz (zlib) upgrade to 1.2.3
          LSARC/2008/158: Firefox 3 for Solaris Nevada
          PSARC/2008/543: Python 2.5 for Solaris
          LSARC/2007/175: Virtual Machine Manager
          LSARC/2005/734: GNOME For Nevada


6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                Desktop
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


Reply via email to