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

« back to all changes in this revision

Viewing changes to source3/smbd/mangle_hash.c

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2010-01-29 06:16:15 UTC
  • mfrom: (0.27.9 upstream) (0.34.4 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100129061615-37hs6xqpsdhjq3ld
Tags: 2:3.4.5~dfsg-1ubuntu1
* Merge from debian testing.  Remaining changes:
  + debian/patches/VERSION.patch:
    - set 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 additon to authenticated ones.
    - add map to guest = Bad user, maps bad username to gues access.
  + debian/samba-common.conf:
    - 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 libswbclient0 replace/conflict with hardy's likewise-open.
    - Don't build against ctdb, since its not in main yet.
  + debian/rules:
    - Enable "native" PIE hardening.
    - Add BIND_NOW to maximize benefit of RELRO hardening.
  + Add ufw integration:
    - Created debian/samba.ufw.profile.
    - debian/rules, debian/samba.dirs, debian/samba.files: install
  + Add apoort hook:
    - Created debian/source_samba.py.
    - debian/rules, debian/samba.dirs, debian/samba-common-bin.files: install
  + debian/rules, debian/samba.if-up: allow "NetworkManager" as a recognized address
    family... it's obviously /not/ an address family, but it's what gets
    sent when using NM, so we'll cope for now.  (LP: #462169). Taken from karmic-proposed.
  + debian/control: Recommend keyutils for smbfs (LP: #493565)
  + Dropped patches:
    - debian/patches/security-CVE-2009-3297.patch: No longer needed
    - debian/patches/fix-too-many-open-files.patch: No longer needed

Show diffs side-by-side

added added

removed removed

Lines of Context:
429
429
                if( !s1[i] && !s2[i] ) {
430
430
                        /* Truncate at the '.' */
431
431
                        *s1 = '\0';
 
432
                        /*
 
433
                         * DANGER WILL ROBINSON - this
 
434
                         * is changing a const string via
 
435
                         * an aliased pointer ! Remember to
 
436
                         * put it back once we've used it.
 
437
                         * JRA
 
438
                         */
432
439
                        *s2 = '\0';
433
440
                }
434
441
        }
440
447
        } else {
441
448
                DEBUG(5,("cache_mangled_name: Stored entry %s -> %s\n", mangled_name_key, raw_name));
442
449
        }
 
450
        /* Restore the change we made to the const string. */
 
451
        *s2 = '.';
443
452
}
444
453
 
445
454
/* ************************************************************************** **
612
621
        }
613
622
        status = is_valid_name(name_ucs2, False, False);
614
623
        SAFE_FREE(name_ucs2);
615
 
        return NT_STATUS_IS_OK(status);
 
624
        /* We return true if we *must* mangle, so if it's
 
625
         * a valid name (status == OK) then we must return
 
626
         * false. Bug #6939. */
 
627
        return !NT_STATUS_IS_OK(status);
616
628
}
617
629
 
618
630
/*****************************************************************************