Example #1
0
/* test whether myldap_escape() handles buffer overlows correctly */
static void test_escape(void)
{
  char buffer[1024];
  assert(myldap_escape("test",buffer,4)!=0);
  assert(myldap_escape("t*st",buffer,5)!=0);
  assert(myldap_escape("t*st",buffer,20)==0);
  assertstreq(buffer,"t\\2ast");
}
Example #2
0
static int mkfilter_rpc_byname(const char *name, char *buffer, size_t buflen)
{
  char safename[BUFLEN_SAFENAME];
  /* escape attribute */
  if (myldap_escape(name, safename, sizeof(safename)))
    return -1;
  /* build filter */
  return mysnprintf(buffer, buflen, "(&%s(%s=%s))",
                    rpc_filter, attmap_rpc_cn, safename);
}
Example #3
0
static int mkfilter_network_byaddr(const char *addrname,
                                   char *buffer,size_t buflen)
{
  char safeaddr[64];
  /* escape attribute */
  if (myldap_escape(addrname,safeaddr,sizeof(safeaddr)))
    return -1;
  /* build filter */
  return mysnprintf(buffer,buflen,
                    "(&%s(%s=%s))",
                    network_filter,
                    attmap_network_ipNetworkNumber,safeaddr);
}
Example #4
0
/* create a search filter for searching a network entry
   by name, return -1 on errors */
static int mkfilter_network_byname(const char *name,
                                   char *buffer,size_t buflen)
{
  char safename[1024];
  /* escape attribute */
  if (myldap_escape(name,safename,sizeof(safename)))
    return -1;
  /* build filter */
  return mysnprintf(buffer,buflen,
                    "(&%s(%s=%s))",
                    network_filter,
                    attmap_network_cn,safename);
}
Example #5
0
static int mkfilter_shadow_byname(const char *name, char *buffer, size_t buflen)
{
  char safename[BUFLEN_SAFENAME];
  /* escape attribute */
  if (myldap_escape(name, safename, sizeof(safename)))
  {
    log_log(LOG_ERR, "mkfilter_shadow_byname(): safename buffer too small");
    return -1;
  }
  /* build filter */
  return mysnprintf(buffer, buflen, "(&%s(%s=%s))",
                    shadow_filter, attmap_shadow_uid, safename);
}