Ignore:
Timestamp:
Nov 27, 2012, 4:43:17 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.0

Location:
trunk/server
Files:
6 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/source4/heimdal/lib/wind/errorlist.c

    r414 r745  
    5050
    5151int
    52 _wind_stringprep_error(uint32_t cp, wind_profile_flags flags)
     52_wind_stringprep_error(const uint32_t cp, wind_profile_flags flags)
    5353{
    5454    struct error_entry ee = {cp};
  • trunk/server/source4/heimdal/lib/wind/gen-bidi.py

    r414 r745  
    7171bidi_c.file.write(
    7272'''
     73#include <stdlib.h>
    7374#include "bidi_table.h"
    7475
  • trunk/server/source4/heimdal/lib/wind/gen-combining.py

    r414 r745  
    7474combining_c.file.write(
    7575'''
     76#include <stdlib.h>
    7677#include "combining_table.h"
    7778
  • trunk/server/source4/heimdal/lib/wind/gen-errorlist.py

    r414 r745  
    7878errorlist_c.file.write(
    7979'''
     80#include <stdlib.h>
    8081#include "errorlist_table.h"
    8182
  • trunk/server/source4/heimdal/lib/wind/gen-normalize.py

    r414 r745  
    9898normalize_c.file.write(
    9999'''
     100#include <stdlib.h>
    100101#include "normalize_table.h"
    101102
  • trunk/server/source4/heimdal/lib/wind/map.c

    r414 r745  
    4040
    4141#include "map_table.h"
    42 
    43 RCSID("$Id$");
    4442
    4543static int
  • trunk/server/source4/heimdal/lib/wind/normalize.c

    r414 r745  
    4040#include <stdlib.h>
    4141#include <errno.h>
     42#include <stdio.h>
     43
     44#include "roken.h"
    4245
    4346#include "normalize_table.h"
    44 
    45 RCSID("$Id$");
    4647
    4748static int
     
    164165}
    165166
    166 static int
    167 cc_cmp(const void *a, const void *b)
    168 {
    169     const uint32_t *ua = (const uint32_t *)a;
    170     const uint32_t *ub = (const uint32_t *)b;
    171 
    172     return _wind_combining_class(*ua) - _wind_combining_class(*ub);
     167static void
     168swap_char(uint32_t * a, uint32_t * b)
     169{
     170    uint32_t t;
     171    t = *a;
     172    *a = *b;
     173    *b = t;
     174}
     175
     176/* Unicode 5.2.0 D109 Canonical Ordering for a sequence of code points
     177 * that all have Canonical_Combining_Class > 0 */
     178static void
     179canonical_reorder_sequence(uint32_t * a, size_t len)
     180{
     181    size_t i, j;
     182
     183    if (len <= 1)
     184        return;
     185
     186    for (i = 1; i < len; i++) {
     187        for (j = i;
     188             j > 0 &&
     189                 _wind_combining_class(a[j]) < _wind_combining_class(a[j-1]);
     190             j--)
     191            swap_char(&a[j], &a[j-1]);
     192    }
    173193}
    174194
     
    176196canonical_reorder(uint32_t *tmp, size_t tmp_len)
    177197{
    178     unsigned i;
     198    size_t i;
    179199
    180200    for (i = 0; i < tmp_len; ++i) {
     
    186206                 ++j)
    187207                ;
    188             qsort(&tmp[i], j - i, sizeof(unsigned),
    189                   cc_cmp);
     208            canonical_reorder_sequence(&tmp[i], j - i);
    190209            i = j;
    191210        }
     
    283302    int ret;
    284303
     304    if (in_len == 0) {
     305        *out_len = 0;
     306        return 0;
     307    }
     308
    285309    tmp_len = in_len * 4;
    286310    if (tmp_len < MAX_LENGTH_CANON)
  • trunk/server/source4/heimdal/lib/wind/stringprep.c

    r414 r745  
    4040#include <errno.h>
    4141
    42 RCSID("$Id$");
    43 
    4442/**
    4543 * Process a input UCS4 string according a string-prep profile.
     
    6159{
    6260    size_t tmp_len = in_len * 3;
    63     uint32_t *tmp = malloc(tmp_len * sizeof(uint32_t));
     61    uint32_t *tmp;
    6462    int ret;
    6563    size_t olen;
    6664
     65    if (in_len == 0) {
     66        *out_len = 0;
     67        return 0;
     68    }
     69
     70    tmp = malloc(tmp_len * sizeof(uint32_t));
    6771    if (tmp == NULL)
    6872        return ENOMEM;
  • trunk/server/source4/heimdal/lib/wind/stringprep.py

    r414 r745  
    4747
    4848name_map = ['B.1', 'B.2']
    49 ldap_map = ['rfc4518-map', 'B.2']
     49ldap_map = ['rfc4518-map']
     50ldap_case_map = ['rfc4518-map', 'B.2']
    5051sasl_map = ['C.1.2', 'B.1']
    5152
     
    7071    _merge_table(d, dict(map(lambda x: [x, ['name']], name_map)))
    7172    _merge_table(d, dict(map(lambda x: [x, ['ldap']], ldap_map)))
     73    _merge_table(d, dict(map(lambda x: [x, ['ldap_case']], ldap_case_map)))
    7274    _merge_table(d, dict(map(lambda x: [x, ['sasl']], sasl_map)))
    7375    return d
  • trunk/server/source4/heimdal/lib/wind/utf8.c

    r414 r745  
    3434#include <config.h>
    3535#include "windlocl.h"
    36 
    37 RCSID("$Id$");
    3836
    3937static int
  • trunk/server/source4/heimdal/lib/wind/wind.h

    r414 r745  
    4747#define WIND_PROFILE_SASL                       0x00000002
    4848#define WIND_PROFILE_LDAP                       0x00000004
     49#define WIND_PROFILE_LDAP_CASE                  0x00000008
    4950
    5051#define WIND_PROFILE_LDAP_CASE_EXACT_ATTRIBUTE  0x00010000
  • trunk/server/source4/heimdal/lib/wind/windlocl.h

    r414 r745  
    4242
    4343#include <krb5-types.h>
     44#include <roken.h>
    4445
    4546#include "wind.h"
Note: See TracChangeset for help on using the changeset viewer.