Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #5075

Closed
Open
Created Feb 10, 2012 by George Kadianakis@asn

obfsproxy is too gentle during assertion failures

This is part of #3613 (closed) that never got fixed:

/** Assertion checking.  We don't ever compile assertions out, and we
    want precise control over the error messages, so we use our own
    assertion macros. */
#define obfs_assert(expr)                               \
  do {                                                  \
    if (!(expr))                                        \
      log_error("assertion failure at %s:%d: %s",       \
                __FILE__, __LINE__, #expr);             \
  } while (0)

#define obfs_abort()                                    \
  do {                                                  \
    log_error("aborted at %s:%d", __FILE__, __LINE__);  \
  } while (0)

and log_error() is:

/** Public function for logging an error and then exiting. */
void
log_error(const char *format, ...)
{
  va_list ap;
  va_start(ap,format);

  logv(LOG_SEV_ERR, format, ap);

  va_end(ap);
  exit(1);
}

This won't dump cores or backtraces back to the user.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking