示例#1
0
/*
 * m_version - VERSION command handler
 *      parv[0] = sender prefix
 *      parv[1] = remote server
 */
static void
m_version(struct Client *client_p, struct Client *source_p,
          int parc, char *parv[])
{
  static time_t last_used = 0;

  if ((last_used + ConfigFileEntry.pace_wait_simple) > CurrentTime)
  {
    /* safe enough to give this on a local connect only */
    sendto_one(source_p, form_str(RPL_LOAD2HI),
               me.name, source_p->name);
    return;
  }
  else
    last_used = CurrentTime;

  if (!ConfigFileEntry.disable_remote)
  {
    if (hunt_server(client_p, source_p, ":%s VERSION :%s",
                    1, parc, parv) != HUNTED_ISME)
      return;
  }

  sendto_one(source_p, form_str(RPL_VERSION),
             me.name, source_p->name, ircd_version, serno,
             me.name, confopts(source_p), serveropts);
  show_isupport(source_p);
}
示例#2
0
/*
 * m_version - VERSION command handler
 *      parv[1] = remote server
 */
static int
m_version(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
    static time_t last_used = 0L;

    if(parc > 1) {
        if((last_used + ConfigFileEntry.pace_wait) > rb_current_time()) {
            /* safe enough to give this on a local connect only */
            sendto_one(source_p, form_str(RPL_LOAD2HI),
                       me.name, source_p->name, "VERSION");
            return 0;
        } else
            last_used = rb_current_time();

        if(hunt_server(client_p, source_p, ":%s VERSION :%s", 1, parc, parv) != HUNTED_ISME)
            return 0;
    }

    sendto_one_numeric(source_p, RPL_VERSION, form_str(RPL_VERSION),
                       ircd_version, serno,
                       me.name, confopts(source_p), TS_CURRENT,
                       ServerInfo.sid);

    show_isupport(source_p);

    return 0;
}
示例#3
0
/*! \brief VERSION command handler
 *
 * \param source_p Pointer to allocated Client struct from which the message
 *                 originally comes from.  This can be a local or remote client.
 * \param parc     Integer holding the number of supplied arguments.
 * \param parv     Argument vector where parv[0] .. parv[parc-1] are non-NULL
 *                 pointers.
 * \note Valid arguments for this command are:
 *      - parv[0] = command
 *      - parv[1] = nickname/servername
 */
static int
ms_version(struct Client *source_p, int parc, char *parv[])
{
  if (hunt_server(source_p, ":%s VERSION :%s", 1, parc, parv) != HUNTED_ISME)
    return 0;

  sendto_one_numeric(source_p, &me, RPL_VERSION, ircd_version, serno,
                     me.name, serveropts);
  show_isupport(source_p);
  return 0;
}
示例#4
0
/*
 * mo_version - VERSION command handler
 *      parv[1] = remote server
 */
static int
mo_version(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
	if (hunt_server(client_p, source_p, ":%s VERSION :%s", 1, parc, parv) == HUNTED_ISME) {
		sendto_one_numeric(source_p, RPL_VERSION, form_str(RPL_VERSION),
		                   ircd_version, serno,
		                   me.name, confopts(source_p), TS_CURRENT,
		                   ServerInfo.sid);
		show_isupport(source_p);
	}
	return 0;
}
示例#5
0
/*
 * mo_version - VERSION command handler
 *      parv[0] = sender prefix
 *      parv[1] = remote server
 */
static void
mo_version(struct Client *client_p, struct Client *source_p,
           int parc, char *parv[])
{
  
  if (hunt_server(client_p, source_p, ":%s VERSION :%s", 
		  1, parc, parv) != HUNTED_ISME)
    return;

  sendto_one(source_p, form_str(RPL_VERSION), me.name, parv[0], ircd_version, 
  	     serno, me.name, confopts(source_p), serveropts);

  show_isupport(source_p);
}
示例#6
0
/*! \brief VERSION command handler
 *
 * \param source_p Pointer to allocated Client struct from which the message
 *                 originally comes from.  This can be a local or remote client.
 * \param parc     Integer holding the number of supplied arguments.
 * \param parv     Argument vector where parv[0] .. parv[parc-1] are non-NULL
 *                 pointers.
 * \note Valid arguments for this command are:
 *      - parv[0] = command
 *      - parv[1] = nickname/servername
 */
static int
m_version(struct Client *source_p, int parc, char *parv[])
{
  static time_t last_used = 0;

  if ((last_used + ConfigGeneral.pace_wait_simple) > CurrentTime)
  {
    sendto_one_numeric(source_p, &me, RPL_LOAD2HI, "VERSION");
    return 0;
  }

  last_used = CurrentTime;

  if (!ConfigServerHide.disable_remote_commands)
    if (hunt_server(source_p, ":%s VERSION :%s", 1, parc, parv) != HUNTED_ISME)
      return 0;

  sendto_one_numeric(source_p, &me, RPL_VERSION, ircd_version, serno,
                     me.name, serveropts);
  show_isupport(source_p);
  return 0;
}
示例#7
0
/*
 * m_version - VERSION command handler
 *      parv[0] = sender prefix
 *      parv[1] = remote server
 */
int m_version(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
{
  char *mename;
  
  if (!MyClient(sptr) || IsAnOper(sptr))
     {
       if (hunt_server(cptr, sptr, ":%s VERSION :%s", 
                       1, parc, parv) != HUNTED_ISME)
         return 0;
     }
           
  mename = (sptr->user->vlink) ? sptr->user->vlink->name : me.name;

  if(IsAnOper(sptr))    
    sendto_one(sptr, form_str(RPL_VERSION), mename,
      parv[0], ircdversion, serno, debugmode, mename, serveropts); 
  else
    sendto_one(sptr, form_str(RPL_VERSION), mename,
      parv[0], SHORT_VERSION, "2005", debugmode, mename, serveropts);           
  show_isupport(sptr);
   
  return 0;
}