void sys_errpack(int pri, char *fn, int ln, int en, struct sockaddr_in *peer,
		 void *pack, unsigned len, char *fmt, ...) {
  bstring bt = bfromcstr("");
  bstring bt2 = bfromcstr("");
  int sz;
  int n;
  
  bvformata(sz, bt, fmt, fmt);
  if (sz == BSTR_OK) {

    bassignformat(bt2, ". Packet from %s:%u, length: %d, content:",
		  inet_ntoa(peer->sin_addr),
		  ntohs(peer->sin_port),
		  len);
    
    bconcat(bt, bt2);
    
    for(n=0; n < len; n++) {
      bassignformat(bt, " %02hhx", ((unsigned char*)pack)[n]);
      bconcat(bt, bt2);
    }
  
    if (1) {
      fprintf(stderr, "%s: %d: %d (%s) %s", fn, ln, en, strerror(en), bt->data);
    } else {
      if (en)
	syslog(pri, "%s: %d: %d (%s) %s", fn, ln, en, strerror(en), bt->data);
      else
	syslog(pri, "%s: %d: %s", fn, ln, bt->data);
    }
  }

  bdestroy(bt);
  bdestroy(bt2);
}
Exemple #2
0
 js_exception(int line, const char *func, const char *file, const char *msg, ...)
         {
                 m_msg.format("ERROR: ");
                 bvformata(err, (bstring) &m_msg, msg, msg);
                 m_msg.formata("\nLINE: %d\n"
                               "Function: %s\n"
                               "File: %s\n", line, func, file);
         }
void sys_err(int pri, char *fn, int ln, int en, const char *fmt, ...) {
  if (pri==LOG_DEBUG )
  {
    bstring bt = bfromcstralloc(128,"");
    int sz;
    
    bvformata(sz, bt, fmt, fmt);
    if (sz == BSTR_OK) {
      if (1) {
	fprintf(stderr, "%s: %d: %d (%s) %s\n", fn, ln, en, en ? strerror(en) : "Debug", bt->data);
      } else {
	if (en)
	  syslog(pri, "%s: %d: %d (%s) %s", fn, ln, en, strerror(en), bt->data);
	else
	  syslog(pri, "%s: %d: %s", fn, ln, bt->data);
      }
    }
    bdestroy(bt);
  }
}
Exemple #4
0
 js_exception(const char *msg, ...)
         {
                 bvformata(err, (bstring) &m_msg, msg, msg);
         }
Exemple #5
0
 sys_exception(const char *msg, ...)
         {
                 bvformata(err, (bstring) &m_msg, msg, msg);
                 m_msg += ": ";
                 m_msg += strerror(err);
         }