1
/* knocker version 0.7.1
2
* Release date: 24 May 2002
4
* Project homepage: http://knocker.sourceforge.net
6
* Copyright 2001,2002 Gabriele Giorgetti <g.gabriele79@genie.it>
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation; either version 2 of the License, or
12
* (at your option) any later version.
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28
#include "knocker_services.h"
29
#include "knocker_core.h"
31
/* this following list of services has been automatically
32
generated from /etc/services */
34
int init_knocker_core_services_db (void)
37
int n_of_services = 0;
41
/* if it has been already initialized we do anything */
42
if (knocker_core_services_db_init)
45
knocker_core_services_db_init = 0;
48
fprintf (stderr, "debug: function init_knocker_core_services_db (...) called.\n");
52
fprintf (stderr, "debug: allocating memory to store service strings... ");
55
knocker_core_services_db[1] = malloc (6 + 1);
56
strcpy (knocker_core_services_db[1], "tcpmux");
58
if (knocker_core_services_db[1] == NULL)
61
knocker_core_services_db[7] = malloc (4 + 1);
62
strcpy (knocker_core_services_db[7], "echo");
64
if (knocker_core_services_db[7] == NULL)
67
knocker_core_services_db[9] = malloc (7 + 1);
68
strcpy (knocker_core_services_db[9], "discard");
70
if (knocker_core_services_db[9] == NULL)
73
knocker_core_services_db[11] = malloc (6 + 1);
74
strcpy (knocker_core_services_db[11], "systat");
76
if (knocker_core_services_db[11] == NULL)
79
knocker_core_services_db[13] = malloc (7 + 1);
80
strcpy (knocker_core_services_db[13], "daytime");
82
if (knocker_core_services_db[13] == NULL)
85
knocker_core_services_db[15] = malloc (7 + 1);
86
strcpy (knocker_core_services_db[15], "netstat");
88
if (knocker_core_services_db[15] == NULL)
91
knocker_core_services_db[17] = malloc (4 + 1);
92
strcpy (knocker_core_services_db[17], "qotd");
94
if (knocker_core_services_db[17] == NULL)
97
knocker_core_services_db[18] = malloc (3 + 1);
98
strcpy (knocker_core_services_db[18], "msp");
100
if (knocker_core_services_db[18] == NULL)
103
knocker_core_services_db[19] = malloc (7 + 1);
104
strcpy (knocker_core_services_db[19], "chargen");
106
if (knocker_core_services_db[19] == NULL)
109
knocker_core_services_db[20] = malloc (8 + 1);
110
strcpy (knocker_core_services_db[20], "ftp-data");
112
if (knocker_core_services_db[20] == NULL)
115
knocker_core_services_db[21] = malloc (3 + 1);
116
strcpy (knocker_core_services_db[21], "ftp");
118
if (knocker_core_services_db[21] == NULL)
121
knocker_core_services_db[22] = malloc (3 + 1);
122
strcpy (knocker_core_services_db[22], "ssh");
124
if (knocker_core_services_db[22] == NULL)
127
knocker_core_services_db[23] = malloc (6 + 1);
128
strcpy (knocker_core_services_db[23], "telnet");
130
if (knocker_core_services_db[23] == NULL)
133
knocker_core_services_db[25] = malloc (4 + 1);
134
strcpy (knocker_core_services_db[25], "smtp");
136
if (knocker_core_services_db[25] == NULL)
139
knocker_core_services_db[37] = malloc (4 + 1);
140
strcpy (knocker_core_services_db[37], "time");
142
if (knocker_core_services_db[37] == NULL)
145
knocker_core_services_db[39] = malloc (3 + 1);
146
strcpy (knocker_core_services_db[39], "rlp");
148
if (knocker_core_services_db[39] == NULL)
151
knocker_core_services_db[42] = malloc (10 + 1);
152
strcpy (knocker_core_services_db[42], "nameserver");
154
if (knocker_core_services_db[42] == NULL)
157
knocker_core_services_db[43] = malloc (5 + 1);
158
strcpy (knocker_core_services_db[43], "whois");
160
if (knocker_core_services_db[43] == NULL)
163
knocker_core_services_db[50] = malloc (10 + 1);
164
strcpy (knocker_core_services_db[50], "re-mail-ck");
166
if (knocker_core_services_db[50] == NULL)
169
knocker_core_services_db[53] = malloc (6 + 1);
170
strcpy (knocker_core_services_db[53], "domain");
172
if (knocker_core_services_db[53] == NULL)
175
knocker_core_services_db[57] = malloc (3 + 1);
176
strcpy (knocker_core_services_db[57], "mtp");
178
if (knocker_core_services_db[57] == NULL)
181
knocker_core_services_db[67] = malloc (6 + 1);
182
strcpy (knocker_core_services_db[67], "bootps");
184
if (knocker_core_services_db[67] == NULL)
187
knocker_core_services_db[68] = malloc (6 + 1);
188
strcpy (knocker_core_services_db[68], "bootpc");
190
if (knocker_core_services_db[68] == NULL)
193
knocker_core_services_db[69] = malloc (4 + 1);
194
strcpy (knocker_core_services_db[69], "tftp");
196
if (knocker_core_services_db[69] == NULL)
199
knocker_core_services_db[70] = malloc (6 + 1);
200
strcpy (knocker_core_services_db[70], "gopher");
202
if (knocker_core_services_db[70] == NULL)
205
knocker_core_services_db[77] = malloc (3 + 1);
206
strcpy (knocker_core_services_db[77], "rje");
208
if (knocker_core_services_db[77] == NULL)
211
knocker_core_services_db[79] = malloc (6 + 1);
212
strcpy (knocker_core_services_db[79], "finger");
214
if (knocker_core_services_db[79] == NULL)
217
knocker_core_services_db[80] = malloc (3 + 1);
218
strcpy (knocker_core_services_db[80], "www");
220
if (knocker_core_services_db[80] == NULL)
223
knocker_core_services_db[87] = malloc (4 + 1);
224
strcpy (knocker_core_services_db[87], "link");
226
if (knocker_core_services_db[87] == NULL)
229
knocker_core_services_db[88] = malloc (8 + 1);
230
strcpy (knocker_core_services_db[88], "kerberos");
232
if (knocker_core_services_db[88] == NULL)
235
knocker_core_services_db[95] = malloc (6 + 1);
236
strcpy (knocker_core_services_db[95], "supdup");
238
if (knocker_core_services_db[95] == NULL)
241
knocker_core_services_db[98] = malloc (9 + 1);
242
strcpy (knocker_core_services_db[98], "linuxconf");
244
if (knocker_core_services_db[98] == NULL)
247
knocker_core_services_db[101] = malloc (9 + 1);
248
strcpy (knocker_core_services_db[101], "hostnames");
250
if (knocker_core_services_db[101] == NULL)
253
knocker_core_services_db[102] = malloc (8 + 1);
254
strcpy (knocker_core_services_db[102], "iso-tsap");
256
if (knocker_core_services_db[102] == NULL)
259
knocker_core_services_db[105] = malloc (8 + 1);
260
strcpy (knocker_core_services_db[105], "csnet-ns");
262
if (knocker_core_services_db[105] == NULL)
265
knocker_core_services_db[107] = malloc (7 + 1);
266
strcpy (knocker_core_services_db[107], "rtelnet");
268
if (knocker_core_services_db[107] == NULL)
271
knocker_core_services_db[109] = malloc (4 + 1);
272
strcpy (knocker_core_services_db[109], "pop2");
274
if (knocker_core_services_db[109] == NULL)
277
knocker_core_services_db[110] = malloc (4 + 1);
278
strcpy (knocker_core_services_db[110], "pop3");
280
if (knocker_core_services_db[110] == NULL)
283
knocker_core_services_db[111] = malloc (6 + 1);
284
strcpy (knocker_core_services_db[111], "sunrpc");
286
if (knocker_core_services_db[111] == NULL)
289
knocker_core_services_db[113] = malloc (4 + 1);
290
strcpy (knocker_core_services_db[113], "auth");
292
if (knocker_core_services_db[113] == NULL)
295
knocker_core_services_db[115] = malloc (4 + 1);
296
strcpy (knocker_core_services_db[115], "sftp");
298
if (knocker_core_services_db[115] == NULL)
301
knocker_core_services_db[117] = malloc (9 + 1);
302
strcpy (knocker_core_services_db[117], "uucp-path");
304
if (knocker_core_services_db[117] == NULL)
307
knocker_core_services_db[119] = malloc (4 + 1);
308
strcpy (knocker_core_services_db[119], "nntp");
310
if (knocker_core_services_db[119] == NULL)
313
knocker_core_services_db[123] = malloc (3 + 1);
314
strcpy (knocker_core_services_db[123], "ntp");
316
if (knocker_core_services_db[123] == NULL)
319
knocker_core_services_db[129] = malloc (6 + 1);
320
strcpy (knocker_core_services_db[129], "pwdgen");
322
if (knocker_core_services_db[129] == NULL)
325
knocker_core_services_db[137] = malloc (10 + 1);
326
strcpy (knocker_core_services_db[137], "netbios-ns");
328
if (knocker_core_services_db[137] == NULL)
331
knocker_core_services_db[138] = malloc (11 + 1);
332
strcpy (knocker_core_services_db[138], "netbios-dgm");
334
if (knocker_core_services_db[138] == NULL)
337
knocker_core_services_db[139] = malloc (11 + 1);
338
strcpy (knocker_core_services_db[139], "netbios-ssn");
340
if (knocker_core_services_db[139] == NULL)
343
knocker_core_services_db[143] = malloc (5 + 1);
344
strcpy (knocker_core_services_db[143], "imap2");
346
if (knocker_core_services_db[143] == NULL)
349
knocker_core_services_db[161] = malloc (4 + 1);
350
strcpy (knocker_core_services_db[161], "snmp");
352
if (knocker_core_services_db[161] == NULL)
355
knocker_core_services_db[162] = malloc (9 + 1);
356
strcpy (knocker_core_services_db[162], "snmp-trap");
358
if (knocker_core_services_db[162] == NULL)
361
knocker_core_services_db[163] = malloc (8 + 1);
362
strcpy (knocker_core_services_db[163], "cmip-man");
364
if (knocker_core_services_db[163] == NULL)
367
knocker_core_services_db[164] = malloc (10 + 1);
368
strcpy (knocker_core_services_db[164], "cmip-agent");
370
if (knocker_core_services_db[164] == NULL)
373
knocker_core_services_db[174] = malloc (5 + 1);
374
strcpy (knocker_core_services_db[174], "mailq");
376
if (knocker_core_services_db[174] == NULL)
379
knocker_core_services_db[177] = malloc (5 + 1);
380
strcpy (knocker_core_services_db[177], "xdmcp");
382
if (knocker_core_services_db[177] == NULL)
385
knocker_core_services_db[178] = malloc (8 + 1);
386
strcpy (knocker_core_services_db[178], "nextstep");
388
if (knocker_core_services_db[178] == NULL)
391
knocker_core_services_db[179] = malloc (3 + 1);
392
strcpy (knocker_core_services_db[179], "bgp");
394
if (knocker_core_services_db[179] == NULL)
397
knocker_core_services_db[191] = malloc (8 + 1);
398
strcpy (knocker_core_services_db[191], "prospero");
400
if (knocker_core_services_db[191] == NULL)
403
knocker_core_services_db[194] = malloc (3 + 1);
404
strcpy (knocker_core_services_db[194], "irc");
406
if (knocker_core_services_db[194] == NULL)
409
knocker_core_services_db[199] = malloc (4 + 1);
410
strcpy (knocker_core_services_db[199], "smux");
412
if (knocker_core_services_db[199] == NULL)
415
knocker_core_services_db[201] = malloc (7 + 1);
416
strcpy (knocker_core_services_db[201], "at-rtmp");
418
if (knocker_core_services_db[201] == NULL)
421
knocker_core_services_db[202] = malloc (6 + 1);
422
strcpy (knocker_core_services_db[202], "at-nbp");
424
if (knocker_core_services_db[202] == NULL)
427
knocker_core_services_db[204] = malloc (7 + 1);
428
strcpy (knocker_core_services_db[204], "at-echo");
430
if (knocker_core_services_db[204] == NULL)
433
knocker_core_services_db[206] = malloc (6 + 1);
434
strcpy (knocker_core_services_db[206], "at-zis");
436
if (knocker_core_services_db[206] == NULL)
439
knocker_core_services_db[209] = malloc (4 + 1);
440
strcpy (knocker_core_services_db[209], "qmtp");
442
if (knocker_core_services_db[209] == NULL)
445
knocker_core_services_db[210] = malloc (5 + 1);
446
strcpy (knocker_core_services_db[210], "z3950");
448
if (knocker_core_services_db[210] == NULL)
451
knocker_core_services_db[213] = malloc (3 + 1);
452
strcpy (knocker_core_services_db[213], "ipx");
454
if (knocker_core_services_db[213] == NULL)
457
knocker_core_services_db[220] = malloc (5 + 1);
458
strcpy (knocker_core_services_db[220], "imap3");
460
if (knocker_core_services_db[220] == NULL)
463
knocker_core_services_db[369] = malloc (11 + 1);
464
strcpy (knocker_core_services_db[369], "rpc2portmap");
466
if (knocker_core_services_db[369] == NULL)
469
knocker_core_services_db[370] = malloc (9 + 1);
470
strcpy (knocker_core_services_db[370], "codaauth2");
472
if (knocker_core_services_db[370] == NULL)
475
knocker_core_services_db[372] = malloc (9 + 1);
476
strcpy (knocker_core_services_db[372], "ulistserv");
478
if (knocker_core_services_db[372] == NULL)
481
knocker_core_services_db[389] = malloc (4 + 1);
482
strcpy (knocker_core_services_db[389], "ldap");
484
if (knocker_core_services_db[389] == NULL)
487
knocker_core_services_db[443] = malloc (5 + 1);
488
strcpy (knocker_core_services_db[443], "https");
490
if (knocker_core_services_db[443] == NULL)
493
knocker_core_services_db[444] = malloc (4 + 1);
494
strcpy (knocker_core_services_db[444], "snpp");
496
if (knocker_core_services_db[444] == NULL)
499
knocker_core_services_db[487] = malloc (4 + 1);
500
strcpy (knocker_core_services_db[487], "saft");
502
if (knocker_core_services_db[487] == NULL)
505
knocker_core_services_db[610] = malloc (10 + 1);
506
strcpy (knocker_core_services_db[610], "npmp-local");
508
if (knocker_core_services_db[610] == NULL)
511
knocker_core_services_db[611] = malloc (8 + 1);
512
strcpy (knocker_core_services_db[611], "npmp-gui");
514
if (knocker_core_services_db[611] == NULL)
517
knocker_core_services_db[612] = malloc (8 + 1);
518
strcpy (knocker_core_services_db[612], "hmmp-ind");
520
if (knocker_core_services_db[612] == NULL)
523
knocker_core_services_db[631] = malloc (3 + 1);
524
strcpy (knocker_core_services_db[631], "ipp");
526
if (knocker_core_services_db[631] == NULL)
529
knocker_core_services_db[512] = malloc (4 + 1);
530
strcpy (knocker_core_services_db[512], "exec");
532
if (knocker_core_services_db[512] == NULL)
535
knocker_core_services_db[513] = malloc (5 + 1);
536
strcpy (knocker_core_services_db[513], "login");
538
if (knocker_core_services_db[513] == NULL)
541
knocker_core_services_db[514] = malloc (5 + 1);
542
strcpy (knocker_core_services_db[514], "shell");
544
if (knocker_core_services_db[514] == NULL)
547
knocker_core_services_db[515] = malloc (7 + 1);
548
strcpy (knocker_core_services_db[515], "printer");
550
if (knocker_core_services_db[515] == NULL)
553
knocker_core_services_db[517] = malloc (4 + 1);
554
strcpy (knocker_core_services_db[517], "talk");
556
if (knocker_core_services_db[517] == NULL)
559
knocker_core_services_db[518] = malloc (5 + 1);
560
strcpy (knocker_core_services_db[518], "ntalk");
562
if (knocker_core_services_db[518] == NULL)
565
knocker_core_services_db[520] = malloc (5 + 1);
566
strcpy (knocker_core_services_db[520], "route");
568
if (knocker_core_services_db[520] == NULL)
571
knocker_core_services_db[525] = malloc (5 + 1);
572
strcpy (knocker_core_services_db[525], "timed");
574
if (knocker_core_services_db[525] == NULL)
577
knocker_core_services_db[526] = malloc (5 + 1);
578
strcpy (knocker_core_services_db[526], "tempo");
580
if (knocker_core_services_db[526] == NULL)
583
knocker_core_services_db[530] = malloc (7 + 1);
584
strcpy (knocker_core_services_db[530], "courier");
586
if (knocker_core_services_db[530] == NULL)
589
knocker_core_services_db[531] = malloc (10 + 1);
590
strcpy (knocker_core_services_db[531], "conference");
592
if (knocker_core_services_db[531] == NULL)
595
knocker_core_services_db[532] = malloc (7 + 1);
596
strcpy (knocker_core_services_db[532], "netnews");
598
if (knocker_core_services_db[532] == NULL)
601
knocker_core_services_db[533] = malloc (7 + 1);
602
strcpy (knocker_core_services_db[533], "netwall");
604
if (knocker_core_services_db[533] == NULL)
607
knocker_core_services_db[538] = malloc (6 + 1);
608
strcpy (knocker_core_services_db[538], "gdomap");
610
if (knocker_core_services_db[538] == NULL)
613
knocker_core_services_db[540] = malloc (4 + 1);
614
strcpy (knocker_core_services_db[540], "uucp");
616
if (knocker_core_services_db[540] == NULL)
619
knocker_core_services_db[548] = malloc (10 + 1);
620
strcpy (knocker_core_services_db[548], "afpovertcp");
622
if (knocker_core_services_db[548] == NULL)
625
knocker_core_services_db[556] = malloc (8 + 1);
626
strcpy (knocker_core_services_db[556], "remotefs");
628
if (knocker_core_services_db[556] == NULL)
631
knocker_core_services_db[543] = malloc (6 + 1);
632
strcpy (knocker_core_services_db[543], "klogin");
634
if (knocker_core_services_db[543] == NULL)
637
knocker_core_services_db[544] = malloc (6 + 1);
638
strcpy (knocker_core_services_db[544], "kshell");
640
if (knocker_core_services_db[544] == NULL)
643
knocker_core_services_db[563] = malloc (5 + 1);
644
strcpy (knocker_core_services_db[563], "nntps");
646
if (knocker_core_services_db[563] == NULL)
649
knocker_core_services_db[636] = malloc (5 + 1);
650
strcpy (knocker_core_services_db[636], "ldaps");
652
if (knocker_core_services_db[636] == NULL)
655
knocker_core_services_db[655] = malloc (4 + 1);
656
strcpy (knocker_core_services_db[655], "tinc");
658
if (knocker_core_services_db[655] == NULL)
661
knocker_core_services_db[749] = malloc (12 + 1);
662
strcpy (knocker_core_services_db[749], "kerberos-adm");
664
if (knocker_core_services_db[749] == NULL)
667
knocker_core_services_db[765] = malloc (7 + 1);
668
strcpy (knocker_core_services_db[765], "webster");
670
if (knocker_core_services_db[765] == NULL)
673
knocker_core_services_db[873] = malloc (5 + 1);
674
strcpy (knocker_core_services_db[873], "rsync");
676
if (knocker_core_services_db[873] == NULL)
679
knocker_core_services_db[989] = malloc (9 + 1);
680
strcpy (knocker_core_services_db[989], "ftps-data");
682
if (knocker_core_services_db[989] == NULL)
685
knocker_core_services_db[990] = malloc (4 + 1);
686
strcpy (knocker_core_services_db[990], "ftps");
688
if (knocker_core_services_db[990] == NULL)
691
knocker_core_services_db[992] = malloc (7 + 1);
692
strcpy (knocker_core_services_db[992], "telnets");
694
if (knocker_core_services_db[992] == NULL)
697
knocker_core_services_db[993] = malloc (5 + 1);
698
strcpy (knocker_core_services_db[993], "imaps");
700
if (knocker_core_services_db[993] == NULL)
703
knocker_core_services_db[994] = malloc (4 + 1);
704
strcpy (knocker_core_services_db[994], "ircs");
706
if (knocker_core_services_db[994] == NULL)
709
knocker_core_services_db[995] = malloc (5 + 1);
710
strcpy (knocker_core_services_db[995], "pop3s");
712
if (knocker_core_services_db[995] == NULL)
715
knocker_core_services_db[1080] = malloc (5 + 1);
716
strcpy (knocker_core_services_db[1080], "socks");
718
if (knocker_core_services_db[1080] == NULL)
721
knocker_core_services_db[1352] = malloc (9 + 1);
722
strcpy (knocker_core_services_db[1352], "lotusnote");
724
if (knocker_core_services_db[1352] == NULL)
727
knocker_core_services_db[1524] = malloc (10 + 1);
728
strcpy (knocker_core_services_db[1524], "ingreslock");
730
if (knocker_core_services_db[1524] == NULL)
733
knocker_core_services_db[1525] = malloc (11 + 1);
734
strcpy (knocker_core_services_db[1525], "prospero-np");
736
if (knocker_core_services_db[1525] == NULL)
739
knocker_core_services_db[1645] = malloc (11 + 1);
740
strcpy (knocker_core_services_db[1645], "datametrics");
742
if (knocker_core_services_db[1645] == NULL)
745
knocker_core_services_db[1646] = malloc (11 + 1);
746
strcpy (knocker_core_services_db[1646], "sa-msg-port");
748
if (knocker_core_services_db[1646] == NULL)
751
knocker_core_services_db[1812] = malloc (6 + 1);
752
strcpy (knocker_core_services_db[1812], "radius");
754
if (knocker_core_services_db[1812] == NULL)
757
knocker_core_services_db[1813] = malloc (11 + 1);
758
strcpy (knocker_core_services_db[1813], "radius-acct");
760
if (knocker_core_services_db[1813] == NULL)
763
knocker_core_services_db[2101] = malloc (10 + 1);
764
strcpy (knocker_core_services_db[2101], "rtcm-sc104");
766
if (knocker_core_services_db[2101] == NULL)
769
knocker_core_services_db[2401] = malloc (10 + 1);
770
strcpy (knocker_core_services_db[2401], "cvspserver");
772
if (knocker_core_services_db[2401] == NULL)
775
knocker_core_services_db[2430] = malloc (5 + 1);
776
strcpy (knocker_core_services_db[2430], "venus");
778
if (knocker_core_services_db[2430] == NULL)
781
knocker_core_services_db[2431] = malloc (8 + 1);
782
strcpy (knocker_core_services_db[2431], "venus-se");
784
if (knocker_core_services_db[2431] == NULL)
787
knocker_core_services_db[2432] = malloc (7 + 1);
788
strcpy (knocker_core_services_db[2432], "codasrv");
790
if (knocker_core_services_db[2432] == NULL)
793
knocker_core_services_db[2433] = malloc (10 + 1);
794
strcpy (knocker_core_services_db[2433], "codasrv-se");
796
if (knocker_core_services_db[2433] == NULL)
799
knocker_core_services_db[2583] = malloc (3 + 1);
800
strcpy (knocker_core_services_db[2583], "mon");
802
if (knocker_core_services_db[2583] == NULL)
805
knocker_core_services_db[2628] = malloc (4 + 1);
806
strcpy (knocker_core_services_db[2628], "dict");
808
if (knocker_core_services_db[2628] == NULL)
811
knocker_core_services_db[3050] = malloc (6 + 1);
812
strcpy (knocker_core_services_db[3050], "gds_db");
814
if (knocker_core_services_db[3050] == NULL)
817
knocker_core_services_db[3130] = malloc (5 + 1);
818
strcpy (knocker_core_services_db[3130], "icpv2");
820
if (knocker_core_services_db[3130] == NULL)
823
knocker_core_services_db[3306] = malloc (5 + 1);
824
strcpy (knocker_core_services_db[3306], "mysql");
826
if (knocker_core_services_db[3306] == NULL)
829
knocker_core_services_db[5002] = malloc (3 + 1);
830
strcpy (knocker_core_services_db[5002], "rfe");
832
if (knocker_core_services_db[5002] == NULL)
835
knocker_core_services_db[5308] = malloc (8 + 1);
836
strcpy (knocker_core_services_db[5308], "cfengine");
838
if (knocker_core_services_db[5308] == NULL)
841
knocker_core_services_db[6000] = malloc (3 + 1);
842
strcpy (knocker_core_services_db[6000], "x11");
844
if (knocker_core_services_db[6000] == NULL)
847
knocker_core_services_db[6001] = malloc (5 + 1);
848
strcpy (knocker_core_services_db[6001], "x11-1");
850
if (knocker_core_services_db[6001] == NULL)
853
knocker_core_services_db[6002] = malloc (5 + 1);
854
strcpy (knocker_core_services_db[6002], "x11-2");
856
if (knocker_core_services_db[6002] == NULL)
859
knocker_core_services_db[6003] = malloc (5 + 1);
860
strcpy (knocker_core_services_db[6003], "x11-3");
862
if (knocker_core_services_db[6003] == NULL)
865
knocker_core_services_db[6004] = malloc (5 + 1);
866
strcpy (knocker_core_services_db[6004], "x11-4");
868
if (knocker_core_services_db[6004] == NULL)
871
knocker_core_services_db[6005] = malloc (5 + 1);
872
strcpy (knocker_core_services_db[6005], "x11-5");
874
if (knocker_core_services_db[6005] == NULL)
877
knocker_core_services_db[6006] = malloc (5 + 1);
878
strcpy (knocker_core_services_db[6006], "x11-6");
880
if (knocker_core_services_db[6006] == NULL)
883
knocker_core_services_db[6007] = malloc (5 + 1);
884
strcpy (knocker_core_services_db[6007], "x11-7");
886
if (knocker_core_services_db[6007] == NULL)
889
knocker_core_services_db[7000] = malloc (15 + 1);
890
strcpy (knocker_core_services_db[7000], "afs3-fileserver");
892
if (knocker_core_services_db[7000] == NULL)
895
knocker_core_services_db[7001] = malloc (13 + 1);
896
strcpy (knocker_core_services_db[7001], "afs3-callback");
898
if (knocker_core_services_db[7001] == NULL)
901
knocker_core_services_db[7002] = malloc (13 + 1);
902
strcpy (knocker_core_services_db[7002], "afs3-prserver");
904
if (knocker_core_services_db[7002] == NULL)
907
knocker_core_services_db[7003] = malloc (13 + 1);
908
strcpy (knocker_core_services_db[7003], "afs3-vlserver");
910
if (knocker_core_services_db[7003] == NULL)
913
knocker_core_services_db[7004] = malloc (13 + 1);
914
strcpy (knocker_core_services_db[7004], "afs3-kaserver");
916
if (knocker_core_services_db[7004] == NULL)
919
knocker_core_services_db[7005] = malloc (11 + 1);
920
strcpy (knocker_core_services_db[7005], "afs3-volser");
922
if (knocker_core_services_db[7005] == NULL)
925
knocker_core_services_db[7006] = malloc (11 + 1);
926
strcpy (knocker_core_services_db[7006], "afs3-errors");
928
if (knocker_core_services_db[7006] == NULL)
931
knocker_core_services_db[7007] = malloc (8 + 1);
932
strcpy (knocker_core_services_db[7007], "afs3-bos");
934
if (knocker_core_services_db[7007] == NULL)
937
knocker_core_services_db[7008] = malloc (11 + 1);
938
strcpy (knocker_core_services_db[7008], "afs3-update");
940
if (knocker_core_services_db[7008] == NULL)
943
knocker_core_services_db[7009] = malloc (11 + 1);
944
strcpy (knocker_core_services_db[7009], "afs3-rmtsys");
946
if (knocker_core_services_db[7009] == NULL)
949
knocker_core_services_db[7100] = malloc (12 + 1);
950
strcpy (knocker_core_services_db[7100], "font-service");
952
if (knocker_core_services_db[7100] == NULL)
955
knocker_core_services_db[22273] = malloc (4 + 1);
956
strcpy (knocker_core_services_db[22273], "wnn6");
958
if (knocker_core_services_db[22273] == NULL)
961
knocker_core_services_db_init = 1; /* Initialization complete */
964
fprintf (stderr, "done.\n");
969
for (i = 0; i < SERVICES_DB_TOTAL_SERVICES; i++)
971
if (knocker_core_services_db[i] != NULL)
974
fprintf (stderr, "debug: succesfully stored %d service strings.\n", n_of_services);
981
void free_knocker_core_services_db (void)
985
/* if it hasn't been initialized yet we don't free anything */
986
if (!knocker_core_services_db_init)
989
for (i = 0; i < SERVICES_DB_TOTAL_SERVICES; i++)
991
if (knocker_core_services_db[i] != NULL)
992
free (knocker_core_services_db[i]);
995
knocker_core_services_db_init = 0; /* deinitialized state */
1001
============================================================================
1002
============================================================================
1004
char *knocker_core_services_db_get_service (unsigned int port, int protocol)
1006
int slenght; /* string lenght */
1008
if (!knocker_core_services_db_init)
1010
/* if the services string list is not initialized */
1014
if (protocol != PROTO_TCP)
1017
if (protocol != PROTO_UDP)
1023
/* this functions returns the number of copied chars in tmpstr, if it is
1024
successfull, else -1 */
1025
if (knocker_core_services_db[port] != NULL)
1026
slenght = strlen (knocker_core_services_db[port]);
1032
if (knocker_core_last_service == NULL)
1034
knocker_core_last_service = malloc (strlen ("unknown") + 1);
1035
strcpy (knocker_core_last_service, "unknown");
1039
knocker_core_last_service = realloc (knocker_core_last_service, strlen ("unknown") + 1);
1040
strcpy (knocker_core_last_service, "unknown");
1046
if (knocker_core_last_service == NULL)
1048
knocker_core_last_service = malloc (slenght + 1);
1052
knocker_core_last_service = realloc (knocker_core_last_service, slenght + 1);
1056
return (strcpy (knocker_core_last_service, knocker_core_services_db[port]));