mirror of https://github.com/OISF/suricata
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
4.1 KiB
C
134 lines
4.1 KiB
C
/* Copyright (C) 2007-2013 Open Information Security Foundation
|
|
*
|
|
* You can copy, redistribute or modify this Program under the terms of
|
|
* the GNU General Public License version 2 as published by the Free
|
|
* Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* version 2 along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
* 02110-1301, USA.
|
|
*/
|
|
|
|
/**
|
|
* \file
|
|
*
|
|
* \author Victor Julien <victor@inliniac.net>
|
|
* \author Anoop Saldanha <anoopsaldanha@gmail.com>
|
|
*/
|
|
|
|
#include "suricata-common.h"
|
|
#include "app-layer-protos.h"
|
|
|
|
#define CASE_CODE(E) case E: return #E
|
|
|
|
const char *AppProtoToString(AppProto alproto)
|
|
{
|
|
const char *proto_name = NULL;
|
|
enum AppProtoEnum proto = alproto;
|
|
|
|
switch (proto) {
|
|
case ALPROTO_HTTP:
|
|
proto_name = "http";
|
|
break;
|
|
case ALPROTO_FTP:
|
|
proto_name = "ftp";
|
|
break;
|
|
case ALPROTO_SMTP:
|
|
proto_name = "smtp";
|
|
break;
|
|
case ALPROTO_TLS:
|
|
proto_name = "tls";
|
|
break;
|
|
case ALPROTO_SSH:
|
|
proto_name = "ssh";
|
|
break;
|
|
case ALPROTO_IMAP:
|
|
proto_name = "imap";
|
|
break;
|
|
case ALPROTO_MSN:
|
|
proto_name = "msn";
|
|
break;
|
|
case ALPROTO_JABBER:
|
|
proto_name = "jabber";
|
|
break;
|
|
case ALPROTO_SMB:
|
|
proto_name = "smb";
|
|
break;
|
|
case ALPROTO_SMB2:
|
|
proto_name = "smb2";
|
|
break;
|
|
case ALPROTO_DCERPC:
|
|
proto_name = "dcerpc";
|
|
break;
|
|
case ALPROTO_IRC:
|
|
proto_name = "irc";
|
|
break;
|
|
case ALPROTO_DNS:
|
|
proto_name = "dns";
|
|
break;
|
|
case ALPROTO_MODBUS:
|
|
proto_name = "modbus";
|
|
break;
|
|
case ALPROTO_ENIP:
|
|
proto_name = "enip";
|
|
break;
|
|
case ALPROTO_DNP3:
|
|
proto_name = "dnp3";
|
|
break;
|
|
case ALPROTO_NFS:
|
|
proto_name = "nfs";
|
|
break;
|
|
case ALPROTO_NTP:
|
|
proto_name = "ntp";
|
|
break;
|
|
case ALPROTO_TEMPLATE:
|
|
proto_name = "template";
|
|
break;
|
|
case ALPROTO_FAILED:
|
|
proto_name = "failed";
|
|
break;
|
|
#ifdef UNITTESTS
|
|
case ALPROTO_TEST:
|
|
#endif
|
|
case ALPROTO_MAX:
|
|
case ALPROTO_UNKNOWN:
|
|
break;
|
|
}
|
|
|
|
return proto_name;
|
|
}
|
|
|
|
AppProto StringToAppProto(const char *proto_name)
|
|
{
|
|
if (proto_name == NULL) return ALPROTO_UNKNOWN;
|
|
|
|
if (strcmp(proto_name,"http")==0) return ALPROTO_HTTP;
|
|
if (strcmp(proto_name,"ftp")==0) return ALPROTO_FTP;
|
|
if (strcmp(proto_name,"smtp")==0) return ALPROTO_SMTP;
|
|
if (strcmp(proto_name,"tls")==0) return ALPROTO_TLS;
|
|
if (strcmp(proto_name,"ssh")==0) return ALPROTO_SSH;
|
|
if (strcmp(proto_name,"imap")==0) return ALPROTO_IMAP;
|
|
if (strcmp(proto_name,"msn")==0) return ALPROTO_MSN;
|
|
if (strcmp(proto_name,"jabber")==0) return ALPROTO_JABBER;
|
|
if (strcmp(proto_name,"smb")==0) return ALPROTO_SMB;
|
|
if (strcmp(proto_name,"smb2")==0) return ALPROTO_SMB2;
|
|
if (strcmp(proto_name,"dcerpc")==0) return ALPROTO_DCERPC;
|
|
if (strcmp(proto_name,"irc")==0) return ALPROTO_IRC;
|
|
if (strcmp(proto_name,"dns")==0) return ALPROTO_DNS;
|
|
if (strcmp(proto_name,"modbus")==0) return ALPROTO_MODBUS;
|
|
if (strcmp(proto_name,"enip")==0) return ALPROTO_ENIP;
|
|
if (strcmp(proto_name,"dnp3")==0) return ALPROTO_DNP3;
|
|
if (strcmp(proto_name,"nfs")==0) return ALPROTO_NFS;
|
|
if (strcmp(proto_name,"ntp")==0) return ALPROTO_NTP;
|
|
if (strcmp(proto_name,"template")==0) return ALPROTO_TEMPLATE;
|
|
if (strcmp(proto_name,"failed")==0) return ALPROTO_FAILED;
|
|
|
|
return ALPROTO_UNKNOWN;
|
|
}
|