~ubuntu-branches/ubuntu/maverick/samba/maverick-security

« back to all changes in this revision

Viewing changes to source/librpc/gen_ndr/srv_netlogon.c

  • Committer: Bazaar Package Importer
  • Author(s): Steve Langasek
  • Date: 2009-03-03 22:02:23 UTC
  • mfrom: (0.28.1 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090303220223-3bdlm2d9fwx1p1ye
Tags: 2:3.3.1-1ubuntu1
* Merge from Debian unstable (LP: #337094), remaining changes:
  + debian/patches/VERSION.patch:
    - setup SAMBA_VERSION_SUFFIX to Ubuntu.
  + debian/smb.conf:
    - add "(Samba, Ubuntu)" to server string.
    - comment out the default [homes] share, and add a comment about
      "valid users = %S" to show users how to restrict access to
      \\server\username to only username.
    - Set 'usershare allow guests', so that usershare admins are 
      allowed to create public shares in addition to authenticated
      ones.
    - add map to guest = Bad user, maps bad username to guest access. 
  + debian/samba-common.config:
    - Do not change priority to high if dhclient3 is installed.
    - Use priority medium instead of high for the workgroup question.
  + debian/mksambapasswd.awk:
    - Do not add user with UID less than 1000 to smbpasswd.
  + debian/control:
    - Make libwbclient0 replace/conflict with hardy's likewise-open.
    - Don't build against ctdb.
  + debian/rules:
    - enable "native" PIE hardening.
  + Add ufw integration:
    - Created debian/samba.ufw.profile
    - debian/rules, debian/samba.dirs, debian/samba.files: install
      profile
    - debian/control: have samba suggest ufw
* Dropped changes, merged in Debian:
  + debian/libpam-smbpass.pam-config, debian/libpam-smbpass.postinst,
    debian/libpam-smbpass.prerm, debian/libpam-smbpass.files,
    debian/rules:
    - Make libpam-smbpasswd depend on libpam-runtime to allow 
      libpam-smbpasswd for auto-configuration.
  + debian/control:
    - Provide a config block for the new PAM framework to auto-configure
      itself
  + debian/samba.postinst:
    - When populating the new sambashare group, it is not an error
      if the user simply does not exist; test for this case and let
      the install continue instead of aborting.
  + debian/winbind.files:
    - include additional files

Show diffs side-by-side

added added

removed removed

Lines of Context:
1735
1735
        return true;
1736
1736
}
1737
1737
 
1738
 
static bool api_netr_NETRLOGONDUMMYROUTINE1(pipes_struct *p)
 
1738
static bool api_netr_LogonGetCapabilities(pipes_struct *p)
1739
1739
{
1740
1740
        const struct ndr_interface_call *call;
1741
1741
        struct ndr_pull *pull;
1742
1742
        struct ndr_push *push;
1743
1743
        enum ndr_err_code ndr_err;
1744
1744
        DATA_BLOB blob;
1745
 
        struct netr_NETRLOGONDUMMYROUTINE1 *r;
1746
 
 
1747
 
        call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONDUMMYROUTINE1];
1748
 
 
1749
 
        r = talloc(talloc_tos(), struct netr_NETRLOGONDUMMYROUTINE1);
 
1745
        struct netr_LogonGetCapabilities *r;
 
1746
 
 
1747
        call = &ndr_table_netlogon.calls[NDR_NETR_LOGONGETCAPABILITIES];
 
1748
 
 
1749
        r = talloc(talloc_tos(), struct netr_LogonGetCapabilities);
1750
1750
        if (r == NULL) {
1751
1751
                return false;
1752
1752
        }
1770
1770
        }
1771
1771
 
1772
1772
        if (DEBUGLEVEL >= 10) {
1773
 
                NDR_PRINT_IN_DEBUG(netr_NETRLOGONDUMMYROUTINE1, r);
1774
 
        }
1775
 
 
1776
 
        r->out.result = _netr_NETRLOGONDUMMYROUTINE1(p, r);
 
1773
                NDR_PRINT_IN_DEBUG(netr_LogonGetCapabilities, r);
 
1774
        }
 
1775
 
 
1776
        ZERO_STRUCT(r->out);
 
1777
        r->out.return_authenticator = r->in.return_authenticator;
 
1778
        r->out.capabilities = talloc_zero(r, union netr_Capabilities);
 
1779
        if (r->out.capabilities == NULL) {
 
1780
                talloc_free(r);
 
1781
                return false;
 
1782
        }
 
1783
 
 
1784
        r->out.result = _netr_LogonGetCapabilities(p, r);
1777
1785
 
1778
1786
        if (p->rng_fault_state) {
1779
1787
                talloc_free(r);
1782
1790
        }
1783
1791
 
1784
1792
        if (DEBUGLEVEL >= 10) {
1785
 
                NDR_PRINT_OUT_DEBUG(netr_NETRLOGONDUMMYROUTINE1, r);
 
1793
                NDR_PRINT_OUT_DEBUG(netr_LogonGetCapabilities, r);
1786
1794
        }
1787
1795
 
1788
1796
        push = ndr_push_init_ctx(r);
3826
3834
        {"NETR_LOGONCONTROL2EX", NDR_NETR_LOGONCONTROL2EX, api_netr_LogonControl2Ex},
3827
3835
        {"NETR_NETRENUMERATETRUSTEDDOMAINS", NDR_NETR_NETRENUMERATETRUSTEDDOMAINS, api_netr_NetrEnumerateTrustedDomains},
3828
3836
        {"NETR_DSRGETDCNAME", NDR_NETR_DSRGETDCNAME, api_netr_DsRGetDCName},
3829
 
        {"NETR_NETRLOGONDUMMYROUTINE1", NDR_NETR_NETRLOGONDUMMYROUTINE1, api_netr_NETRLOGONDUMMYROUTINE1},
 
3837
        {"NETR_LOGONGETCAPABILITIES", NDR_NETR_LOGONGETCAPABILITIES, api_netr_LogonGetCapabilities},
3830
3838
        {"NETR_NETRLOGONSETSERVICEBITS", NDR_NETR_NETRLOGONSETSERVICEBITS, api_netr_NETRLOGONSETSERVICEBITS},
3831
3839
        {"NETR_LOGONGETTRUSTRID", NDR_NETR_LOGONGETTRUSTRID, api_netr_LogonGetTrustRid},
3832
3840
        {"NETR_NETRLOGONCOMPUTESERVERDIGEST", NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST, api_netr_NETRLOGONCOMPUTESERVERDIGEST},