]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/acls.c
Fixed conflicts from merge
[netatalk.git] / etc / afpd / acls.c
index ca11a671ed7003eaee60456c1dbd2a482b092667..d121e4d83ae95b9c24526d1508eba156a5586295 100644 (file)
@@ -98,118 +98,6 @@ EC_CLEANUP:
  ********************************************************/
 
 #ifdef HAVE_SOLARIS_ACLS
-/*
-  Remove any trivial ACE "in-place". Returns no of non-trivial ACEs
-*/
-static int strip_trivial_aces(ace_t **saces, int sacecount)
-{
-    EC_INIT;
-    int i,j;
-    int nontrivaces = 0;
-    ace_t *aces = *saces;
-    ace_t *new_aces;
-
-    /* Count non-trivial ACEs */
-    for (i=0; i < sacecount; ) {
-        if ( ! (aces[i].a_flags & (ACE_OWNER | ACE_GROUP | ACE_EVERYONE)))
-            nontrivaces++;
-        i++;
-    }
-    /* malloc buffer for new ACL */
-    EC_NULL_LOG(new_aces = malloc(nontrivaces * sizeof(ace_t)));
-
-    /* Copy non-trivial ACEs */
-    for (i=0, j=0; i < sacecount; ) {
-        if ( ! (aces[i].a_flags & (ACE_OWNER | ACE_GROUP | ACE_EVERYONE))) {
-            memcpy(&new_aces[j], &aces[i], sizeof(ace_t));
-            j++;
-        }
-        i++;
-    }
-
-    free(aces);
-    *saces = new_aces;
-
-    LOG(log_debug7, logtype_afpd, "strip_trivial_aces: non-trivial ACEs: %d", nontrivaces);
-
-    return nontrivaces;
-EC_CLEANUP:
-    EC_EXIT;
-}
-
-/*
-  Remove non-trivial ACEs "in-place". Returns no of trivial ACEs.
-*/
-static int strip_nontrivial_aces(ace_t **saces, int sacecount)
-{
-    EC_INIT;
-    int i,j;
-    int trivaces = 0;
-    ace_t *aces = *saces;
-    ace_t *new_aces;
-
-    /* Count trivial ACEs */
-    for (i=0; i < sacecount; ) {
-        if ((aces[i].a_flags & (ACE_OWNER | ACE_GROUP | ACE_EVERYONE)))
-            trivaces++;
-        i++;
-    }
-    /* malloc buffer for new ACL */
-    EC_NULL_LOG(new_aces = malloc(trivaces * sizeof(ace_t)));
-
-    /* Copy trivial ACEs */
-    for (i=0, j=0; i < sacecount; ) {
-        if ((aces[i].a_flags & (ACE_OWNER | ACE_GROUP | ACE_EVERYONE))) {
-            memcpy(&new_aces[j], &aces[i], sizeof(ace_t));
-            j++;
-        }
-        i++;
-    }
-    /* Free old ACEs */
-    free(aces);
-    *saces = new_aces;
-
-    LOG(log_debug7, logtype_afpd, "strip_nontrivial_aces: trivial ACEs: %d", trivaces);
-
-    return trivaces;
-EC_CLEANUP:
-    EC_EXIT;
-}
-
-/*
-  Concatenate ACEs
-*/
-static ace_t *concat_aces(ace_t *aces1, int ace1count, ace_t *aces2, int ace2count)
-{
-    EC_INIT;
-    ace_t *new_aces = NULL;
-    int i, j;
-
-    /* malloc buffer for new ACL */
-    EC_NULL_LOG(new_aces = malloc((ace1count + ace2count) * sizeof(ace_t)));
-
-    /* Copy ACEs from buf1 */
-    for (i=0; i < ace1count; ) {
-        memcpy(&new_aces[i], &aces1[i], sizeof(ace_t));
-        i++;
-    }
-
-    j = i;
-
-    /* Copy ACEs from buf2 */
-    for (i=0; i < ace2count; ) {
-        memcpy(&new_aces[j], &aces2[i], sizeof(ace_t));
-        i++;
-        j++;
-    }
-    return new_aces;
-
-EC_CLEANUP:
-    if (new_aces)
-        free(new_aces);
-    return NULL;
-}
-
 
 /*
   Maps ACE array from Solaris to Darwin. Darwin ACEs are stored in network byte order.