/*****************************************************************************
* acl.c:
*****************************************************************************
- * Copyright (C) 2005 Rémi Denis-Courmont
+ * Copyright © 2005-2007 Rémi Denis-Courmont
* $Id$
*
* Authors: Rémi Denis-Courmont <rem # videolan.org>
/*****************************************************************************
* Preamble
*****************************************************************************/
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <vlc/vlc.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <vlc_common.h>
+#include <ctype.h>
#include <vlc_acl.h>
#include <errno.h>
uint8_t host[17];
uint8_t i_bytes_match;
uint8_t i_bits_mask;
- vlc_bool_t b_allow;
+ bool b_allow;
} vlc_acl_entry_t;
struct vlc_acl_t
vlc_object_t *p_owner;
unsigned i_size;
vlc_acl_entry_t *p_entries;
- vlc_bool_t b_allow_default;
+ bool b_allow_default;
};
static int ACL_Resolve( vlc_object_t *p_this, uint8_t *p_bytes,
* Items are always matched in the same order as they are added.
*/
int ACL_AddNet( vlc_acl_t *p_acl, const char *psz_ip, int i_len,
- vlc_bool_t b_allow )
+ bool b_allow )
{
vlc_acl_entry_t *p_ent;
unsigned i_size;
if( i_len > 128 )
i_len = 128;
- else
- if( i_len < 0 )
- i_len = 0;
}
else
i_len = 128; /* ACL_AddHost */
/**
* Creates an empty ACL.
*
- * @param b_allow whether to grant (VLC_TRUE) or deny (VLC_FALSE) access
+ * @param b_allow whether to grant (true) or deny (false) access
* by default (ie if none of the ACL entries matched).
*
* @return an ACL object. NULL in case of error.
*/
-vlc_acl_t *__ACL_Create( vlc_object_t *p_this, vlc_bool_t b_allow )
+vlc_acl_t *__ACL_Create( vlc_object_t *p_this, bool b_allow )
{
vlc_acl_t *p_acl;
}
}
-#ifndef isblank
-# define isblank(c) ((c) == ' ' || (c) == '\t')
-#endif
/**
* Reads ACL entries from a file.
{
if( ferror( file ) )
{
- msg_Err( p_acl->p_owner, "error reading %s : %s\n", psz_path,
- strerror( errno ) );
+ msg_Err( p_acl->p_owner, "error reading %s : %m", psz_path );
goto error;
}
continue;
ptr = strchr( psz_ip, '\n' );
if( ptr == NULL )
{
- msg_Warn( p_acl->p_owner, "skipping overly long line in %s\n",
+ msg_Warn( p_acl->p_owner, "skipping overly long line in %s",
psz_path);
do
{
- fgets( line, sizeof( line ), file );
- if( ferror( file ) || feof( file ) )
+ if( fgets( line, sizeof( line ), file ) == NULL )
{
- msg_Err( p_acl->p_owner, "error reading %s : %s\n",
- psz_path, strerror( errno ) );
- goto error;
+ if( ferror( file ) )
+ {
+ msg_Err( p_acl->p_owner, "error reading %s : %m",
+ psz_path );
+ }
+ goto error;
}
}
while( strchr( line, '\n' ) == NULL);
*ptr++ = '\0'; /* separate address from mask length */
if( (ptr != NULL)
- ? ACL_AddNet( p_acl, psz_ip, atoi( ptr ), VLC_TRUE )
- : ACL_AddHost( p_acl, psz_ip, VLC_TRUE ) )
+ ? ACL_AddNet( p_acl, psz_ip, atoi( ptr ), true )
+ : ACL_AddHost( p_acl, psz_ip, true ) )
{
msg_Err( p_acl->p_owner, "cannot add ACL from %s", psz_path );
- goto error;
+ continue;
}
}