]> git.saurik.com Git - apple/libinfo.git/commitdiff
Libinfo-222.1.tar.gz mac-os-x-1043 mac-os-x-1044ppc mac-os-x-1045ppc mac-os-x-1046ppc v222.1
authorApple <opensource@apple.com>
Mon, 1 Aug 2005 05:34:11 +0000 (05:34 +0000)
committerApple <opensource@apple.com>
Mon, 1 Aug 2005 05:34:11 +0000 (05:34 +0000)
Makefile.preamble
lookup.subproj/lu_host.c
lookup.subproj/lu_host_async.c
lookup.subproj/lu_utils.c
membership.subproj/memberd.defs
membership.subproj/membership.c

index 25d484ec8a2ad34c5865f0bd73409a558d4ab96a..bea59231931e608d41faef22915cb507c3a6189f 100644 (file)
@@ -3,4 +3,4 @@ STRIP_ON_INSTALL = NO
 BEFORE_INSTALL += debug profile
 override LINK_SUBPROJECTS = NO
 
-# export CCOMPILER = /usr/bin/gcc-X.X
+export CCOMPILER = /usr/bin/gcc-3.5
index d9d178efaf23be50c2ffef851ddb1b1a074d94e4..962c434bba3b91f10e76cdb2c4449b74a7f26fd7 100644 (file)
@@ -649,6 +649,7 @@ lu_gethostbyaddr(const char *addr, int want, int *err)
        if (family == AF_INET)
        {
                memmove(&(addr4.s_addr), addr, IPV4_ADDR_LEN);
+               addr4.s_addr = htonl(addr4.s_addr);
                address = (char *)&(addr4.s_addr);
                proc = proc4;
        }
index 6b5047133024b67331d85985a02a8ae7b7edbe76..bdf6796c9b1f39fc196d1f5f1955e6aaefd34e2e 100644 (file)
@@ -379,6 +379,7 @@ _gethostbyaddr_async_start(const char *addr, int len, int type, a_request_callou
 
                        v4addr = malloc(len);
                        memmove(v4addr, addr, len);
+                       v4addr->s_addr = htonl(v4addr->s_addr);
 
                        address = (void *)v4addr;
                        proc = proc4;
index 5970cf20bbf63e14c2ca5a6b74624f5aabc2b80f..3362147edd924363bc0785594b3db5423d410919 100644 (file)
@@ -303,12 +303,6 @@ _lu_create_request(uint32_t proc, const char *buf, uint32_t len, void *callback,
        r->proc = proc;
 
        r->request_buffer = malloc(len * BYTES_PER_XDR_UNIT);
-       if (r->request_buffer == NULL)
-       {
-               free(r);
-               return NULL;
-       }
-
        memcpy(r->request_buffer, buf, len * BYTES_PER_XDR_UNIT);
        r->request_buffer_len = len;
 
@@ -423,8 +417,6 @@ _lookupd_xdr_dictionary(XDR *inxdr)
        if (!xdr_int(inxdr, &nkeys)) return NULL;
 
        l = (ni_proplist *)malloc(sizeof(ni_proplist));
-       if (l == NULL) return NULL;
-
        NI_INIT(l);
 
        l->ni_proplist_len = nkeys;
@@ -432,11 +424,6 @@ _lookupd_xdr_dictionary(XDR *inxdr)
        if (nkeys > 0)
        {
                l->ni_proplist_val = (ni_property *)calloc(nkeys, sizeof(ni_property));
-               if (l->ni_proplist_val == NULL)
-               {
-                       free(l);
-                       return NULL;
-               }
        }
 
        for (i = 0; i < nkeys; i++)
@@ -460,11 +447,6 @@ _lookupd_xdr_dictionary(XDR *inxdr)
                if (nvals > 0)
                {
                        l->ni_proplist_val[i].nip_val.ni_namelist_val = (ni_name *)calloc(nvals, sizeof(ni_name));
-                       if (l->ni_proplist_val[i].nip_val.ni_namelist_val == NULL)
-                       {
-                               ni_proplist_free(l);
-                               return NULL;
-                       }
                }
 
                for (j = 0; j < nvals; j++)
@@ -570,11 +552,6 @@ lookupd_query(ni_proplist *l, ni_proplist ***out)
        }
 
        *out = (ni_proplist **)malloc(n * sizeof(ni_proplist *));
-       if (out == NULL)
-       {
-               xdr_destroy(&inxdr);
-               return 0;
-       }
 
        for (i = 0; i < n; i++)
        {
@@ -601,8 +578,6 @@ lookupd_make_query(char *cat, char *fmt, ...)
        if (fmt[0] != 'k') return NULL;
 
        l = (ni_proplist *)malloc(sizeof(ni_proplist));
-       if (l == NULL) return NULL;
-
        NI_INIT(l);
 
        na = 0;
@@ -611,36 +586,13 @@ lookupd_make_query(char *cat, char *fmt, ...)
        if (cat != NULL)
        {
                l->ni_proplist_val = (ni_property *)malloc(sizeof(ni_property));
-               if (l->ni_proplist_val == NULL)
-               {
-                       free(l);
-                       return NULL;
-               }
-
                p = &(l->ni_proplist_val[0]);
                arg = "_lookup_category";
                p->nip_name = strdup(arg);
-               if (p->nip_name == NULL)
-               {
-                       ni_proplist_free(l);
-                       return NULL;
-               }
-               
                p->nip_val.ni_namelist_len = 1;
                p->nip_val.ni_namelist_val = (ni_name *)malloc(sizeof(ni_name));
-               if (p->nip_val.ni_namelist_val == NULL)
-               {
-                       ni_proplist_free(l);
-                       return NULL;
-               }
-                       
                p->nip_val.ni_namelist_val[0] = strdup(cat);
-               if (p->nip_val.ni_namelist_val[0] == NULL)
-               {
-                       ni_proplist_free(l);
-                       return NULL;
-               }
-               
+
                l->ni_proplist_len++;
                x++;
        }
@@ -651,21 +603,10 @@ lookupd_make_query(char *cat, char *fmt, ...)
                arg = va_arg(ap, char *);
                if (*f == 'k')
                {
-                       l->ni_proplist_val = (ni_property *)reallocf(l->ni_proplist_val, (l->ni_proplist_len + 1) * sizeof(ni_property));
-                       if (l->ni_proplist_val == NULL)
-                       {
-                               ni_proplist_free(l);
-                               return NULL;
-                       }
-                       
+                       l->ni_proplist_val = (ni_property *)realloc(l->ni_proplist_val, (l->ni_proplist_len + 1) * sizeof(ni_property));
+
                        p = &(l->ni_proplist_val[l->ni_proplist_len]);
                        p->nip_name = strdup(arg);
-                       if (p->nip_name == NULL)
-                       {
-                               ni_proplist_free(l);
-                               return NULL;
-                       }
-
                        p->nip_val.ni_namelist_len = 0;
                        p->nip_val.ni_namelist_val = NULL;
 
@@ -681,22 +622,9 @@ lookupd_make_query(char *cat, char *fmt, ...)
                        }
                        else
                        {
-                               p->nip_val.ni_namelist_val = (ni_name *)reallocf(p->nip_val.ni_namelist_val, (p->nip_val.ni_namelist_len + 1) * sizeof(ni_name));
-                       }
-
-                       if (p->nip_val.ni_namelist_val == NULL)
-                       {
-                               ni_proplist_free(l);
-                               return NULL;
+                               p->nip_val.ni_namelist_val = (ni_name *)realloc(p->nip_val.ni_namelist_val, (p->nip_val.ni_namelist_len + 1) * sizeof(ni_name));
                        }
-
                        p->nip_val.ni_namelist_val[p->nip_val.ni_namelist_len] = strdup(arg);
-                       if (p->nip_val.ni_namelist_val[p->nip_val.ni_namelist_len] == NULL)
-                       {
-                               ni_proplist_free(l);
-                               return NULL;
-                       }
-
                        p->nip_val.ni_namelist_len++;
                }
        }
@@ -723,17 +651,8 @@ ni_property_merge(ni_property *a, ni_property *b)
 
                if (addme == 1)
                {
-                       a->nip_val.ni_namelist_val = (ni_name *)reallocf(a->nip_val.ni_namelist_val, (a->nip_val.ni_namelist_len + 1) * sizeof(ni_name));
-                       if (a->nip_val.ni_namelist_val == NULL) return;
-
+                       a->nip_val.ni_namelist_val = (ni_name *)realloc(a->nip_val.ni_namelist_val, (a->nip_val.ni_namelist_len + 1) * sizeof(ni_name));
                        a->nip_val.ni_namelist_val[a->nip_val.ni_namelist_len] = strdup(b->nip_val.ni_namelist_val[j]);
-                       if (a->nip_val.ni_namelist_val[a->nip_val.ni_namelist_len] == NULL)
-                       {
-                               free(a->nip_val.ni_namelist_val);
-                               a->nip_val.ni_namelist_val = NULL;
-                               return;
-                       }
-
                        a->nip_val.ni_namelist_len++;
                }
        }
@@ -757,17 +676,8 @@ ni_proplist_merge(ni_proplist *a, ni_proplist *b)
                }
                if (addme == 1)
                {
-                       a->ni_proplist_val = (ni_property *)reallocf(a->ni_proplist_val, (a->ni_proplist_len + 1) * sizeof(ni_property));
-                       if (a->ni_proplist_val == NULL) return;
-
+                       a->ni_proplist_val = (ni_property *)realloc(a->ni_proplist_val, (a->ni_proplist_len + 1) * sizeof(ni_property));
                        a->ni_proplist_val[a->ni_proplist_len].nip_name = strdup(b->ni_proplist_val[wb].nip_name);
-                       if (a->ni_proplist_val[a->ni_proplist_len].nip_name == NULL)
-                       {
-                               free(a->ni_proplist_val);
-                               a->ni_proplist_val = NULL;
-                               return NULL;
-                       }
-       
                        a->ni_proplist_val[a->ni_proplist_len].nip_val.ni_namelist_len = 0;
                        a->ni_proplist_val[a->ni_proplist_len].nip_val.ni_namelist_val = NULL;
                        a->ni_proplist_len++;
@@ -841,7 +751,6 @@ _lu_data_get()
        if (libinfo_data != NULL) return libinfo_data;
 
        libinfo_data = (struct _lu_data_s *)calloc(1, sizeof(struct _lu_data_s));
-       if (libinfo_data == NULL) return NULL;
 
        pthread_setspecific(_info_key, libinfo_data);
        return libinfo_data;
@@ -854,7 +763,6 @@ _lu_data_create_key(unsigned int key, void (*destructor)(void *))
        unsigned int i, n;
 
        libinfo_data = _lu_data_get();
-       if (libinfo_data == NULL) return NULL;
 
        for (i = 0; i < libinfo_data->icount; i++)
        {
@@ -872,17 +780,9 @@ _lu_data_create_key(unsigned int key, void (*destructor)(void *))
        }
        else
        {
-               libinfo_data->ikey = (unsigned int *)reallocf(libinfo_data->ikey, n * sizeof(unsigned int));
-               libinfo_data->idata = (void **)reallocf(libinfo_data->idata, n * sizeof(void *));
-               libinfo_data->idata_destructor = (void (**)(void *))reallocf(libinfo_data->idata_destructor, n * sizeof(void (*)(void *)));
-       }
-
-       if ((libinfo_data->ikey == NULL) || (libinfo_data->idata == NULL) || (libinfo_data->idata_destructor == NULL))
-       {
-               if (libinfo_data->ikey != NULL) free(libinfo_data->ikey);
-               if (libinfo_data->idata != NULL) free(libinfo_data->idata);
-               if (libinfo_data->idata_destructor != NULL) free(libinfo_data->idata_destructor);
-               return NULL;
+               libinfo_data->ikey = (unsigned int *)realloc(libinfo_data->ikey, n * sizeof(unsigned int));
+               libinfo_data->idata = (void **)realloc(libinfo_data->idata, n * sizeof(void *));
+               libinfo_data->idata_destructor = (void (**)(void *))realloc(libinfo_data->idata_destructor, n * sizeof(void (*)(void *)));
        }
 
        libinfo_data->ikey[i] = key;
@@ -915,7 +815,6 @@ _lu_data_set_key(unsigned int key, void *data)
        unsigned int i;
 
        libinfo_data = _lu_data_get();
-       if (libinfo_data == NULL) return;
 
        i = _lu_data_index(key, libinfo_data);
        if (i == (unsigned int)-1) return;
@@ -930,7 +829,6 @@ _lu_data_get_key(unsigned int key)
        unsigned int i;
 
        libinfo_data = _lu_data_get();
-       if (libinfo_data == NULL) return NULL;
 
        i = _lu_data_index(key, libinfo_data);
        if (i == (unsigned int)-1) return NULL;
@@ -987,8 +885,6 @@ _lu_xdr_attribute(XDR *xdr, char **key, char ***val, unsigned int *count)
        *count = len;
 
        x = (char **)calloc(len + 1, sizeof(char *));
-       if (x == NULL) return -1;
-
        *val = x;
 
        for (i = 0; i < len; i++)
index 8067127fad3f29bb183c5210d42fbaffa6ce6cd9..9f98bacc1013a110d829b6fea2a9d253ea31b787 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004-2005 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  *
@@ -28,8 +28,8 @@ serverprefix Server;
 #include <mach/std_types.defs>
 import "memberd_defines.h";
 
-type kauth_identity_extlookup = struct [200] of uint8_t;
-type guid_t = struct [16] of uint8_t;
+type kauth_identity_extlookup = struct [50] of integer_t;
+type guid_t = struct [4] of uint32_t;
 
 type StatBlock = struct [16] of uint32_t;
 
index de0165352e09452776e41b62c7f57be717f66b52..4f9c5d62d93a26891660aba333104a63bf2d2d99 100644 (file)
@@ -56,7 +56,6 @@ int mbr_uid_to_uuid(uid_t id, uuid_t uu)
        struct kauth_identity_extlookup request;
        int result = 0;
 
-       request.el_seqno = 1;  // used as byte order field
        request.el_flags = KAUTH_EXTLOOKUP_VALID_UID | KAUTH_EXTLOOKUP_WANT_UGUID;
        request.el_uid = id;
        result = _mbr_DoMembershipCall(GetServerPort(), &request);
@@ -77,7 +76,6 @@ int mbr_gid_to_uuid(gid_t id, uuid_t uu)
        kern_return_t result;
        int error = 0;
 
-       request.el_seqno = 1;  // used as byte order field
        request.el_flags = KAUTH_EXTLOOKUP_VALID_GID | KAUTH_EXTLOOKUP_WANT_GGUID;
        request.el_gid = id;
        result = _mbr_DoMembershipCall(GetServerPort(), &request);
@@ -98,7 +96,6 @@ int mbr_uuid_to_id( const uuid_t uu, uid_t* id, int* id_type)
        kern_return_t result;
        int error = 0;
 
-       request.el_seqno = 1;  // used as byte order field
        request.el_flags = KAUTH_EXTLOOKUP_VALID_UGUID | KAUTH_EXTLOOKUP_VALID_GGUID |
                                                KAUTH_EXTLOOKUP_WANT_UID | KAUTH_EXTLOOKUP_WANT_GID;
        memcpy(&request.el_uguid, uu, sizeof(guid_t));
@@ -129,7 +126,6 @@ int mbr_sid_to_uuid(const nt_sid_t* sid, uuid_t uu)
        kern_return_t result;
        int error = 0;
 
-       request.el_seqno = 1;  // used as byte order field
        request.el_flags = KAUTH_EXTLOOKUP_VALID_GSID | KAUTH_EXTLOOKUP_WANT_GGUID;
        memset(&request.el_gsid, 0, sizeof(ntsid_t));
        memcpy(&request.el_gsid, sid, KAUTH_NTSID_SIZE(sid));
@@ -151,7 +147,6 @@ int mbr_uuid_to_sid(const uuid_t uu, nt_sid_t* sid)
        kern_return_t result;
        int error = 0;
 
-       request.el_seqno = 1;  // used as byte order field
        request.el_flags = KAUTH_EXTLOOKUP_VALID_GGUID | KAUTH_EXTLOOKUP_WANT_GSID;
        memcpy(&request.el_gguid, uu, sizeof(guid_t));
        result = _mbr_DoMembershipCall(GetServerPort(), &request);
@@ -172,7 +167,6 @@ int mbr_check_membership(uuid_t user, uuid_t group, int* ismember)
        kern_return_t result;
        int error = 0;
 
-       request.el_seqno = 1;  // used as byte order field
        request.el_flags = KAUTH_EXTLOOKUP_VALID_UGUID | KAUTH_EXTLOOKUP_VALID_GGUID |
                                                KAUTH_EXTLOOKUP_WANT_MEMBERSHIP;
        memcpy(&request.el_uguid, user, sizeof(guid_t));
@@ -197,7 +191,6 @@ int mbr_check_membership_refresh(uuid_t user, uuid_t group, int* ismember)
        kern_return_t result;
        int error = 0;
 
-       request.el_seqno = 1;  // used as byte order field
        request.el_flags = KAUTH_EXTLOOKUP_VALID_UGUID | KAUTH_EXTLOOKUP_VALID_GGUID |
                                                KAUTH_EXTLOOKUP_WANT_MEMBERSHIP | (1<<15);
        memcpy(&request.el_uguid, user, sizeof(guid_t));
@@ -222,7 +215,6 @@ int mbr_check_membership_by_id(uuid_t user, gid_t group, int* ismember)
        kern_return_t result;
        int error = 0;
 
-       request.el_seqno = 1;  // used as byte order field
        request.el_flags = KAUTH_EXTLOOKUP_VALID_UGUID | KAUTH_EXTLOOKUP_VALID_GID |
                                                KAUTH_EXTLOOKUP_WANT_MEMBERSHIP;
        memcpy(&request.el_uguid, user, sizeof(guid_t));