Ignore:
Timestamp:
Jun 9, 2016, 2:23:12 PM (9 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: apply latest security patches to trunk

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/librpc/ndr/ndr_misc.c

    r414 r920  
    3636                && (i1->if_version == i2->if_version);
    3737}
     38
     39_PUBLIC_ char *ndr_syntax_id_to_string(TALLOC_CTX *mem_ctx, const struct ndr_syntax_id *id)
     40{
     41        return talloc_asprintf(mem_ctx,
     42                               "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x/0x%08x",
     43                               id->uuid.time_low, id->uuid.time_mid,
     44                               id->uuid.time_hi_and_version,
     45                               id->uuid.clock_seq[0],
     46                               id->uuid.clock_seq[1],
     47                               id->uuid.node[0], id->uuid.node[1],
     48                               id->uuid.node[2], id->uuid.node[3],
     49                               id->uuid.node[4], id->uuid.node[5],
     50                               (unsigned)id->if_version);
     51}
     52
     53_PUBLIC_ bool ndr_syntax_id_from_string(const char *s, struct ndr_syntax_id *id)
     54{
     55        int ret;
     56        size_t i;
     57        uint32_t time_low;
     58        uint32_t time_mid, time_hi_and_version;
     59        uint32_t clock_seq[2];
     60        uint32_t node[6];
     61        uint32_t if_version;
     62
     63        ret = sscanf(s,
     64                     "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x/0x%08x",
     65                     &time_low, &time_mid, &time_hi_and_version,
     66                     &clock_seq[0], &clock_seq[1],
     67                     &node[0], &node[1], &node[2], &node[3], &node[4], &node[5],
     68                     &if_version);
     69        if (ret != 12) {
     70                return false;
     71        }
     72
     73        id->uuid.time_low = time_low;
     74        id->uuid.time_mid = time_mid;
     75        id->uuid.time_hi_and_version = time_hi_and_version;
     76        id->uuid.clock_seq[0] = clock_seq[0];
     77        id->uuid.clock_seq[1] = clock_seq[1];
     78        for (i=0; i<6; i++) {
     79                id->uuid.node[i] = node[i];
     80        }
     81        id->if_version = if_version;
     82
     83        return true;
     84}
Note: See TracChangeset for help on using the changeset viewer.