コード例 #1
0
ファイル: ipsec_doi.c プロジェクト: 1309578252/Openswan
/** The whole message must be a multiple of 4 octets.
 * I'm not sure where this is spelled out, but look at
 * rfc2408 3.6 Transform Payload.
 * Note: it talks about 4 BYTE boundaries!
 *
 * @param pbs PB Stream
 */
void
close_message(pb_stream *pbs)
{
    size_t padding =  pad_up(pbs_offset(pbs), 4);

    if (padding != 0)
	(void) out_zero(padding, pbs, "message padding");
    close_output_pbs(pbs);
}
コード例 #2
0
ファイル: ipsec_doi.c プロジェクト: Bytewerk/uClinux-ipcam
/** The whole message must be a multiple of 4 octets.
 * I'm not sure where this is spelled out, but look at
 * rfc2408 3.6 Transform Payload.
 * Note: it talks about 4 BYTE boundaries!
 *
 * @param pbs PB Stream
 */
void
close_message(pb_stream *pbs, struct state *st)
{
    size_t padding =  pad_up(pbs_offset(pbs), 4);

    if (st && st->st_connection && (st->st_connection->policy & POLICY_IKEPAD) == 0)
    	padding = 0;

    if (padding != 0)
	(void) out_zero(padding, pbs, "message padding");
    close_output_pbs(pbs);
}
コード例 #3
0
ファイル: oututil.cpp プロジェクト: nealey/vera
//----------------------------------------------------------------------
//----------------------------------------------------------------------
void instr_beg(char str[MAXSTR*2], int mode)
{
  static const char *const addonce[] =
      { "", "_w", "_quick", "2_quick", "_quick_w" };

  init_prompted_output(str, 4);
  OutMnem(2, addonce[uchar(cmd.wid)]);
  out_zero();
  if ( mode) outcnt = tag_strlen(str );
  else {
    char *ptr = str + (outcnt = tag_remove(str, str, 0));
    set_output_ptr(ptr);
    *ptr = '\0';
  }
}
コード例 #4
0
//----------------------------------------------------------------------
bool change_line(bool main)
{
  out_zero();
  bool overflow = false;
  if ( g_bufbeg != NULL )
  {
    outcnt = 0;
    uchar sv = inf.indent;
    inf.indent = (uchar)curpos;
    overflow = MakeLine(g_bufbeg, main ? -1 : curpos);
    inf.indent = sv;
    init_output_buffer(g_bufbeg, g_bufsize);  // for autocomment with call fmtName
  }
  return overflow;
}
コード例 #5
0
ファイル: ipsec_doi.c プロジェクト: hydromet/libreswan
/** The whole message must be a multiple of 4 octets.
 * I'm not sure where this is spelled out, but look at
 * rfc2408 3.6 Transform Payload.
 * Note: it talks about 4 BYTE boundaries!
 *
 * @param pbs PB Stream
 */
void close_message(pb_stream *pbs, struct state *st)
{
	size_t padding =  pad_up(pbs_offset(pbs), 4);

	/* Workaround for overzealous Checkpoint firewal */
	if (padding && st && st->st_connection &&
	    (st->st_connection->policy & POLICY_NO_IKEPAD)) {
		DBG(DBG_CONTROLMORE, DBG_log("IKE message padding of %lu bytes skipped by policy",
			padding));
		padding = 0;
	}

	if (padding != 0) {
		DBG(DBG_CONTROLMORE, DBG_log("padding IKE message with %lu bytes", padding));
		(void) out_zero(padding, pbs, "message padding");
	} else {
		DBG(DBG_CONTROLMORE, DBG_log("no IKE message padding required"));
	}

	close_output_pbs(pbs);
}
コード例 #6
0
//----------------------------------------------------------------------
static size_t putLine(void)
{
  color_t color = COLOR_NONE;

  out_zero();
  if ( g_bufbeg != NULL )
  {
    char *p = strrchr(g_bufbeg, COLOR_ON);
    if ( p != NULL && p[1] && strchr(p+2, COLOR_OFF) == NULL )   // second - PARANOYA
    {
      color = (color_t)*(p + 1);
      out_tagoff(color);
    }
  }
  out_symbol('\\');
  if ( change_line(curpos != 0 && !no_prim) )
    return 0;
  curpos = 0;
  if ( color != COLOR_NONE )
    out_tagon(color);
  ref_pos = get_output_ptr();
  return maxpos;
}
コード例 #7
0
ファイル: oututil.cpp プロジェクト: nealey/vera
//----------------------------------------------------------------------
static size_t putLine(void)
{
  register color_t ntag = _CURCOL;

  out_zero();
  {
    register char *p = strrchr(bufbeg, COLOR_ON);
    if ( p && p[1] && !strchr(p+2, COLOR_OFF) ) {  // second - PARANOYA
      ntag = (color_t)*(p + 1);
      out_tagoff(ntag);
    }
  }
  out_symbol('\\');
  if ( change_line(curpos != 0 && !no_prim)) return(0 );
  curpos = 0;
#ifdef __BORLANDC__
#if _CURCOL != 0
#error
#endif
#endif
  if ( ntag) out_tagon(ntag );
  ref_pos = get_output_ptr();
  return(maxpos);
}