Skip to content

Commit bc34a75

Browse files
committed
Add time service to WKS
1 parent d9a3ed0 commit bc34a75

File tree

2 files changed

+39
-38
lines changed

2 files changed

+39
-38
lines changed

scripts/wks-hash.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ static const tuple_t services[] = {
4848
{ "ftps-data", 989 },
4949
{ "ftps", 990 },
5050
{ "imaps", 993 },
51-
{ "pop3s", 995 }
51+
{ "pop3s", 995 },
52+
{ "time", 37 }
5253
};
5354

5455
const uint64_t original_magic = 138261570llu; // established after first run

src/generic/wks.h

+37-37
Original file line numberDiff line numberDiff line change
@@ -112,84 +112,84 @@ struct service {
112112

113113
// FIXME: state we're not interested in reverse lookup for wks!
114114
static const service_t services[64] = {
115-
SERVICE("imap", 143),
116-
SERVICE("ftp", 21),
117-
SERVICE("ntp", 123),
118115
UNKNOWN_SERVICE(),
119-
UNKNOWN_SERVICE(),
120-
SERVICE("ptp-general", 320),
121-
SERVICE("nicname", 43),
116+
SERVICE("snmptrap", 162),
117+
SERVICE("pop3s", 995),
118+
SERVICE("pop3", 110),
119+
SERVICE("ldaps", 636),
120+
SERVICE("domain", 53),
121+
SERVICE("nntps", 563),
122+
SERVICE("nntp", 119),
122123
UNKNOWN_SERVICE(),
123124
UNKNOWN_SERVICE(),
124125
UNKNOWN_SERVICE(),
125126
UNKNOWN_SERVICE(),
127+
SERVICE("ftps-data", 989),
126128
UNKNOWN_SERVICE(),
127-
SERVICE("ssh", 22),
128-
SERVICE("https", 443),
129-
SERVICE("http", 80),
130129
UNKNOWN_SERVICE(),
131-
SERVICE("telnet", 23),
130+
SERVICE("imaps", 993),
131+
SERVICE("imap", 143),
132+
SERVICE("time", 37),
132133
UNKNOWN_SERVICE(),
133134
UNKNOWN_SERVICE(),
134-
SERVICE("snmptrap", 162),
135-
SERVICE("lmtp", 24),
136-
SERVICE("smtp", 25),
137-
SERVICE("ftps-data", 989),
138-
SERVICE("ptp-event", 319),
135+
SERVICE("kerberos", 88),
139136
UNKNOWN_SERVICE(),
140137
UNKNOWN_SERVICE(),
138+
SERVICE("ftp", 21),
139+
SERVICE("ntp", 123),
140+
SERVICE("whoispp", 63),
141+
SERVICE("ssh", 22),
141142
UNKNOWN_SERVICE(),
143+
SERVICE("nicname", 43),
142144
UNKNOWN_SERVICE(),
143-
SERVICE("nntps", 563),
144-
SERVICE("nntp", 119),
145145
UNKNOWN_SERVICE(),
146-
SERVICE("nnsp", 433),
147146
UNKNOWN_SERVICE(),
148-
SERVICE("npp", 92),
149-
SERVICE("domain", 53),
147+
SERVICE("ptp-general", 320),
150148
UNKNOWN_SERVICE(),
151-
SERVICE("tcpmux", 1),
152149
UNKNOWN_SERVICE(),
153-
SERVICE("submission", 587),
154-
// submissions cannot be distinguished from submission by hash value because
155-
// the shared prefix is too long. include length to generate a unique key
156-
SERVICE("submissions", 465),
157-
UNKNOWN_SERVICE(),
158-
SERVICE("echo", 7),
159150
SERVICE("domain-s", 853),
151+
SERVICE("ftp-data", 20),
152+
SERVICE("ftps", 990),
153+
UNKNOWN_SERVICE(),
160154
UNKNOWN_SERVICE(),
161-
SERVICE("whoispp", 63),
162155
SERVICE("snmp", 161),
163156
UNKNOWN_SERVICE(),
164-
SERVICE("ftp-data", 20),
165157
UNKNOWN_SERVICE(),
166158
UNKNOWN_SERVICE(),
167159
UNKNOWN_SERVICE(),
168160
SERVICE("bgmp", 264),
169-
SERVICE("ftps", 990),
170-
SERVICE("ldaps", 636),
161+
SERVICE("echo", 7),
171162
UNKNOWN_SERVICE(),
163+
SERVICE("nnsp", 433),
164+
SERVICE("submission", 587),
165+
// submissions cannot be distinguished from submission by hash value because
166+
// the shared prefix is too long. include length to generate a unique key
167+
SERVICE("submissions", 465),
172168
UNKNOWN_SERVICE(),
169+
SERVICE("ptp-event", 319),
173170
UNKNOWN_SERVICE(),
174-
SERVICE("pop3s", 995),
175-
SERVICE("pop3", 110),
176-
SERVICE("kerberos", 88),
171+
SERVICE("npp", 92),
177172
UNKNOWN_SERVICE(),
173+
SERVICE("https", 443),
174+
SERVICE("http", 80),
178175
UNKNOWN_SERVICE(),
176+
SERVICE("telnet", 23),
177+
SERVICE("tcpmux", 1),
179178
UNKNOWN_SERVICE(),
180-
SERVICE("imaps", 993),
179+
SERVICE("lmtp", 24),
180+
SERVICE("smtp", 25)
181181
};
182182

183183
#undef SERVICE
184184
#undef UNKNOWN_SERVICE
185185

186-
// magic (138261570) generated using wks-hash.c
186+
// magic (139898079) generated using wks-hash.c
187187
static really_inline uint8_t service_hash(uint64_t input, size_t length)
188188
{
189189
// le64toh is required for big endian, no-op on little endian
190190
input = le64toh(input);
191191
uint32_t input32 = (uint32_t)((input >> 32) ^ input);
192-
return (((input32 * 138261570llu) >> 32) + length) & 0x3f;
192+
return (((input32 * 139898079llu) >> 32) + length) & 0x3f;
193193
}
194194

195195
nonnull((1,4))

0 commit comments

Comments
 (0)