I'm submitting this fasttrack for Jiri Sasek, seeking patch binding for 
backport to S10.  
Timeout is on 12/24/2009.

The proposal is to upgrade the current version of Samba to 3.4.  The change in 
license from GPlv2 to GPLv3 has
been reviewed by legal.
https://opensourcereview.central.sun.com/app?action=ViewReq&traq_num=8443 

The case directory contains 2 files, pkgs-1 contains a list of the package 
contents for the upgrade, 
ldap-pkg contains the package contents for the ldap deliverables.

-Dan

Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         Update Samba to release 3.4
    1.2. Name of Document Author/Supplier:
         Author:  Jiri Sasek
    1.3  Date of This Document:
        17 December, 2009
4. Technical Description

Proposal:

        Update Samba to release 3.4 and above in Solaris 10 and above.

Detail:

        Samba is the only available CIFS volume and printing server in
        Solaris 10 and 9 (production releases of the Solaris).

        Samba is the only available CIFS printing server in Solaris 9
        and above.

        Besides Apache, Samba is the most important component in Solaris
        in the case of the business deployment. It plays primary role in
        interoperability with the MS Windows on Solaris 10 and 9.

        Samba.org community discontinued support of the Samba 3.0.x
        currently bundled with all releases of Solaris. Samba.org community
        also changed the release model for samba where the minor release
        number is expected to be increased each approx. 6 month. Currently
        samba 3.5 pre-release is available and is expected to be released
        this year. Align the bundled release to community latest stable
        (3.4.3 in time of writing of this document) will allow to continue
        in porting all of the fixes released by the community into the
        Solaris bundle.

        As with any other FOSS component it is important to maintain
        the integrated version of Samba on "community supported stable
        version", so Sun can leverage the bug fixing work done by the
        community as well as getting new product features being added
        by the community.  This is simply the most cost-effective
        approach, otherwise Sun needs to invest its own resources to bug
        fixing and does not get any new features on Samba, so it
        stays behind the community.  Such approach is now possible only
        with Samba 3.4.x.

        In scope of this project is to update Samba to "latest stable"
        release supported by the community in Solaris 10 and above.

        Update of the samba in Solaris 9 is out of scope of this project
        where only the security fixes are expected in Solaris 9.

        Original integration of samba in Solaris introduced in PSARC/2000/488
        was related to samba 2.2.x so it does not fully respect the current
        releases of samba, which are designed on modular basis. Placing of
        the samba loadable modules and libraries into the private locations
        should be accented here to prevent unintentional linking of the 3-rd
        party SWs to it.

        Samba executable objects will be moved from its original location in
        /usr/sfw to more generic paths in /usr/bin, /usr/sbin and /etc.
        Respecting the PSARC/2007/047 (/usr/gnu) the conflicting objects will
        be prefixed by "smb". Currently the "profiles" will be renamed to
        "smbprofiles". Private modules of the samba will be "separated"
        in the /usr/lib/samba subdirectory to hide these objects from the
        standard linker paths to prevent unintentional linking on it.
        On Solaris 10 the symbolic links will be created on the original
        positions of samba utilities in /usr/sfw/bin pointing to the new
        locations of these utilities in /usr/bin to conserve the compatibility
        of scripts created before this change.

        Current releases of Samba are released under the GPLv3 where 3.0.x
        releases of Samba replaced by this case were released under GPLv2.
        To prevent unintentional detecting of samba headers by GNU autoconf
        during the build of the other FOSS Solaris components we should isolate
        such samba headers into the separated directory (/usr/include/samba)
        to prevent possible legal issues in case of the automaticaly ported
        GPLv2 applications. Only the application bundled by hand will be allowed
        to browse this non-standard path by GNU autoconf if it will be allowed
        to do so. To fulfill conditions of the LSARC/2006/350/ contract where
        gnome-vfs released under GPLv2 is contracted to link libsmbclient so
        libsmbclient built from the samba 3.0.<latest> release (GPLv2) source
        will not be removed from the updated samba packages. GPLv2 licensed
        libsmbclient will remain located in /usr/sfw/lib (libraries) and
        /usr/sfw/include (header) as is currently located.

        Configuration file smb.conf and private-data directory currently located
        in /etc/sfw will be moved to separate directory /etc/samba to
        make samba removal from the system more simple in case of the CIFS 
server
        migration. In such case is more clean which private data belongs to 
samba
        than to the other SFW applications.

        This case adds 64-bit modules for PAM and NSS also which were missing
        from previous Samba cases by mistake and it brought problems for some
        applications in 64-bit enviroment in some setups.

        Samba man pages will be moved on Solaris 10 from the SUNWsfman package
        directly to SUNWsmbau samba package so further samba patches will not
        address changes in SUNWsfman. Samba man pages on Nevada together with
        samba html pages will be moved to the newly created package 
SUNWsmbadocu.
        Samba html pages are accessed via SWAT (Samba Web Admin. Tool) available
        as SMF(5) service. SMF(5) xml-manifest will be delivered by SUNWsmbadocr
        package. Samba html pages are currently located in /etc/sfw/swat and
        will be moved to /usr/share/samba/swat. There is intention to put also
        the DocBook source xml-code into the /usr/share/samba/xml but current
        release os DocBook in Nevada is too obsoleted to handle the xml-sources
        from samba.org archive. Availability of xml-source will allow to 
generate
        also the different output formats (i.e. PDF) by user.

        Samba 3.3 and above support remote administration by Win-RPC directly
        from registry editting application (i.e. regedit.exe). This style of
        remote administration is most common for MS Windows admins who are
        using gui administration tools. Forking the html documentation and
        Web based administration of samba into the separate packages will allow
        not to install these componnents in such case where just the 
documentation
        is representing majority in amount of data in SUNWsmbau package. It will
        make samba updates more flexible and lower the footprint.

Exported Interfaces:

        In general samba is 3-rd party OpenSource product so only the committed
        interfaces are:

                - subdirectories to place the samba components
                - package names
                - SMF(5) services

   name                 description
   ------- Committed interfaces ----------------------------------------
   /usr/sbin            location of samba daemons
   /usr/bin             location of samba utilities
   /usr/share/man       manual pages
   /usr/include/samba   location of headers exported by samba
   /usr/lib/samba       location of samba libraries, modules,
                        static data and docs
   /usr/lib/samba/$(MACH64)     64-bit libs needed by 64-bits modules
   /etc/samba           configuration and passwords directory
   /etc/samba/smb.conf  location of the default configuration file
   /var/samba           runtime data directory
   /usr/share/samba     samba .html docs for SWAT
   SUNWsmbar            Samba (Root) package
   SUNWsmbau            Samba (Usr) package
   samba                SMF(5) service - CIFS session
   winbind              SMF(5) service - idmap
   wins                 SMF(5) service - WINS hostnames
   swat                 SMF(5) service - Samba Web Adm. Tool

        --- The following packages will be added on Nevada ---
   SUNWmozldapC-SDK     Mozilla DS6 C-SDK package
                        DS6 C-SDK file objects will be delivered by
                        SUNWsmbau package on Solaris 10.
   SUNWsmbadocr         Samba documentation (Root) package
   SUNWsmbadocu         Samba documentation (Usr) package
                        Doc packages will not fork from SUNWsmbar SUNWsmbar
                        packages on Solaris 10.

   ------ Uncommitted interfaces ---------------------------------------
   smb.conf             Configuration file option syntax

Imported Interfaces:

   Mozilla DS6 C-SDK    ldap client API
        Directory Server C-SDK (LDAP client's C-API) is described
        by RFC 1823 IETF document. It provides set of library calls
        to handle data in directory by application. This is Mozilla
        community project.

   Extensions to RFC 1823 are documented in:
   
http://www.mozilla.org/directory/ietf-docs/draft-ietf-ldapext-ldap-c-api-05.txt

   DS 6 C-API depend on other external interfaces also provided by Mozilla:
        NSS (Network Security Services)
        Homepage of the project is:
        http://www.mozilla.org/projects/security/pki/nss/
        Bundled in solaris by the:
        SUNWtls package

        NSPR (Netscape Portable Runtime)
        Homepage of the project is:
        http://www.mozilla.org/projects/nspr/
        Bundled in solaris by the:
        SUNWpr package

   libkrb5              Kerberos v5 API

   NSS interface is attached in modules:
        /usr/lib/nss_wins.so
        /usr/lib/$(MACH64)/nss_wins.so
        /usr/lib/nss_winbind.so
        /usr/lib/$(MACH64)/nss_winbind.so

   PAM interface is attached in modules:
        /usr/lib/security/pam_winbind.so
        /usr/lib/security/$(MACH64)/pam_winbind.so

References:

[01] http://samba.org/
     Author(s) of Samba: Samba has many individual
     contributors and also the corporations like
     IBM, RedHat, SuSe. Authorship should be mentioned
     in each individual file in the Samba upstream.
     Core team is here: http://www.samba.org/samba/team/
[02] 6852659 Update samba to 3.3.5 or later
[03] 6647164 net ads keytab add host fails to create keytab entry
[04] https://wiki.mozilla.org/LDAP_C_SDK
[05] 6892860 Samba needs Directory Server 6 C-SDK
[06] 6447666 ldap_add_result_entry() is LOCL in libldap.so.5 ; Samba can not be 
built with the ADS support
[07] 6706912 SWAT component of Samba should be a separate package.
[08] 6902485 stealth samba man pages
[09] 6770655 Samba: Bugzilla 5655 "Mac OS X 10.5.4 clients fail to authenticate 
with Kerberos credententials"
[10] 6891889 Write keytab to file method is missing in krb5_keytab
[11] 4900104 Insufficient number of interfaces allowed [SunIT]
[12] 6902485 stealth samba man pages


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

Reply via email to