Bug 5077: Codes break the security rules
[nemo.git] / nemo-impl / src / main / java / org / opendaylight / nemo / user / vnspacemanager / structurestyle / updateintent / ValueCheck.java
1 /*\r
2  * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 package org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent;\r
9 \r
10 /**\r
11  * Created by z00293636 on 2015/11/26.\r
12  */\r
13 public class ValueCheck {\r
14     public boolean checkMac(String macAddress){\r
15         Boolean legalValue = true;\r
16         String[] value = macAddress.split(":");\r
17         if (value.length!=6){\r
18             legalValue = false;\r
19         }\r
20         else {\r
21             for (int i=0; i<value.length;i++){\r
22                 if (value[i].length()!=2){\r
23                     legalValue= false;\r
24                 }\r
25                 else {\r
26                     for (int j=0;j<value[i].length();j++){\r
27                         char cc = value[i].charAt(j);\r
28                         if(!(cc=='0'||cc=='1'||cc=='2'||cc=='3'||cc=='4'||cc=='5'||cc=='6'||cc=='7'||cc=='8'||cc=='9'\r
29                                 ||cc=='A'||cc=='B'||cc=='C'||cc=='D'||cc=='E'||cc=='F'\r
30                                 ||cc=='a'||cc=='b'||cc=='c'||cc=='c'||cc=='d'||cc=='e'||cc=='f')){\r
31                             legalValue = false;\r
32                         }\r
33                     }\r
34                 }\r
35             }\r
36         }\r
37         return legalValue;\r
38     }\r
39 \r
40     public Boolean checkIpPrefix(String ipPrefix){\r
41         Boolean legalValue = true;\r
42         String[] valuePrefix = ipPrefix.split("/");\r
43         if (valuePrefix.length!=2){\r
44             legalValue = false;\r
45         }\r
46         else {\r
47             if (Integer.parseInt(valuePrefix[1])>32||Integer.parseInt(valuePrefix[1])<1){\r
48                 legalValue = false;\r
49             }\r
50             else {\r
51                 legalValue = checkIpAddress(valuePrefix[0]);\r
52             }\r
53         }\r
54         return legalValue;\r
55     }\r
56 \r
57     public Boolean checkIpAddress(String ipAddress){\r
58         Boolean legalValue = true;\r
59         String[] value = ipAddress.split("\\.");\r
60         if (value.length!=4){\r
61             legalValue = false;\r
62         }\r
63         else {\r
64             for (int i=0;i<value.length;i++){\r
65                 if (Integer.parseInt(value[i])>255||Integer.parseInt(value[i])<0){\r
66                     legalValue = false;\r
67                 }\r
68             }\r
69         }\r
70         return legalValue;\r
71     }\r
72 \r
73     public Boolean checkTime(String time){\r
74         Boolean legalValue = true;\r
75         String[] value = time.split(",");\r
76         if (value.length == 1){\r
77             String[] hourMS = value[0].split(":");\r
78             if (hourMS.length!=3){\r
79                 legalValue = false;\r
80             }\r
81             else {\r
82                 if (Integer.parseInt(hourMS[0])>23||Integer.parseInt(hourMS[0])<0){\r
83                     legalValue = false;\r
84                 }\r
85                 if (Integer.parseInt(hourMS[1])>59||Integer.parseInt(hourMS[1])<0){\r
86                     legalValue = false;\r
87                 }\r
88                 if (Integer.parseInt(hourMS[2])>59||Integer.parseInt(hourMS[2])<0){\r
89                     legalValue = false;\r
90                 }\r
91             }\r
92         }\r
93         if (value.length == 2){\r
94             String[] yearMD = value[0].split("-");\r
95             if (yearMD.length!=3){\r
96                 legalValue = false;\r
97             }\r
98             else {\r
99                 if (Integer.parseInt(yearMD[0])<1){\r
100                     legalValue = false;\r
101                 }\r
102                 if (Integer.parseInt(yearMD[1])>12||Integer.parseInt(yearMD[1])<1){\r
103                     legalValue = false;\r
104                 }\r
105                 if (Integer.parseInt(yearMD[1])==1||Integer.parseInt(yearMD[1])==3||Integer.parseInt(yearMD[1])==5||Integer.parseInt(yearMD[1])==7\r
106                         ||Integer.parseInt(yearMD[1])==8||Integer.parseInt(yearMD[1])==10||Integer.parseInt(yearMD[1])==2){\r
107                     if (Integer.parseInt(yearMD[2])>31||Integer.parseInt(yearMD[2])<1){\r
108                         legalValue = false;\r
109                     }\r
110                 }\r
111                 if (Integer.parseInt(yearMD[1])==4||Integer.parseInt(yearMD[1])==6||Integer.parseInt(yearMD[1])==9\r
112                         ||Integer.parseInt(yearMD[1])==11){\r
113                     if (Integer.parseInt(yearMD[2])>30||Integer.parseInt(yearMD[2])<1){\r
114                         legalValue = false;\r
115                     }\r
116                 }\r
117                 if (Integer.parseInt(yearMD[1])==2){\r
118                     if (Integer.parseInt(yearMD[2])>28||Integer.parseInt(yearMD[2])<1){\r
119                         legalValue = false;\r
120                     }\r
121                 }\r
122             }\r
123             String[] hourMS = value[1].split(":");\r
124             if (hourMS.length!=3){\r
125                 legalValue = false;\r
126             }\r
127             else {\r
128                 if (Integer.parseInt(hourMS[0])>23||Integer.parseInt(hourMS[0])<0){\r
129                     legalValue = false;\r
130                 }\r
131                 if (Integer.parseInt(hourMS[1])>59||Integer.parseInt(hourMS[1])<0){\r
132                     legalValue = false;\r
133                 }\r
134                 if (Integer.parseInt(hourMS[2])>59||Integer.parseInt(hourMS[2])<0){\r
135                     legalValue = false;\r
136                 }\r
137             }\r
138         }\r
139         return legalValue;\r
140     }\r
141 }\r