1# Unit and integration tests for traffic_packet.py
2#
3# Copyright (C) Catalyst IT Ltd. 2017
4#
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 3 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18import os
19import shutil
20import tempfile
21
22
23from samba.auth import system_session
24
25from samba.credentials import MUST_USE_KERBEROS, DONT_USE_KERBEROS
26from samba.emulate import traffic_packets as p
27from samba.emulate import traffic
28from samba.emulate.traffic import Packet
29
30from samba.samdb import SamDB
31import samba.tests
32from samba import sd_utils
33
34
35class TrafficEmulatorPacketTests(samba.tests.TestCase):
36    def setUp(self):
37        super(TrafficEmulatorPacketTests, self).setUp()
38        self.server      = os.environ["SERVER"]
39        self.domain      = os.environ["DOMAIN"]
40        self.host        = os.environ["SERVER_IP"]
41        self.lp          = self.get_loadparm()
42        self.session     = system_session()
43        self.credentials = self.get_credentials()
44
45        self.ldb = SamDB(url="ldap://%s" % self.host,
46                         session_info=self.session,
47                         credentials=self.credentials,
48                         lp=self.lp)
49        self.domain_sid = self.ldb.get_domain_sid()
50
51        traffic.clean_up_accounts(self.ldb, 1)
52        self.tempdir = tempfile.mkdtemp(prefix="traffic_packet_test_")
53        self.context = traffic.ReplayContext(server=self.server,
54                                             lp=self.lp,
55                                             creds=self.credentials,
56                                             tempdir=self.tempdir,
57                                             ou=traffic.ou_name(self.ldb, 1),
58                                             domain_sid=self.domain_sid,
59                                             total_conversations=3,
60                                             instance_id=1)
61
62        self.conversation = traffic.Conversation()
63        self.conversation.conversation_id = 1
64        self.machinename = "STGM-1-1"
65        self.machinepass = samba.generate_random_password(32, 32)
66        self.username    = "STGU-1-1"
67        self.userpass    = samba.generate_random_password(32, 32)
68        account = traffic.ConversationAccounts(
69            self.machinename,
70            self.machinepass,
71            self.username,
72            self.userpass)
73
74        traffic.create_ou(self.ldb, 1)
75        traffic.create_machine_account(self.ldb,
76                                       1,
77                                       self.machinename,
78                                       self.machinepass)
79        traffic.create_user_account(self.ldb,
80                                    1,
81                                    self.username,
82                                    self.userpass)
83
84        self.context.generate_process_local_config(account, self.conversation)
85
86        # grant user write permission to do things like write account SPN
87        sdutils = sd_utils.SDUtils(self.ldb)
88        mod = "(A;;WP;;;PS)"
89        sdutils.dacl_add_ace(self.context.user_dn, mod)
90
91    def tearDown(self):
92        super(TrafficEmulatorPacketTests, self).tearDown()
93        traffic.clean_up_accounts(self.ldb, 1)
94        del self.ldb
95        shutil.rmtree(self.tempdir)
96
97    def test_packet_cldap_03(self):
98        packet = Packet.from_line(
99            "0.0\t11\t1\t2\t1\tcldap\t3\tsearchRequest\t")
100        self.assertTrue(p.packet_cldap_3(packet,
101                                         self.conversation,
102                                         self. context))
103
104    def test_packet_cldap_05(self):
105        packet = Packet.from_line(
106            "0.0\t11\t1\t1\t2\tcldap\t5\tsearchResDone\t")
107        self.assertFalse(p.packet_cldap_5(packet,
108                                          self.conversation,
109                                          self. context))
110
111    def test_packet_dcerpc_00(self):
112        packet = Packet.from_line("0.0\t11\t1\t2\t1\tdcerpc\t0\tRequest\t")
113        self.assertFalse(p.packet_dcerpc_0(packet,
114                                           self.conversation,
115                                           self. context))
116
117    def test_packet_dcerpc_02(self):
118        packet = Packet.from_line("0.0\t11\t1\t1\t2\tdcerpc\t2\tResponse\t")
119        self.assertFalse(p.packet_dcerpc_2(packet,
120                                           self.conversation,
121                                           self. context))
122
123    def test_packet_dcerpc_03(self):
124        packet = Packet.from_line("0.0\t11\t1\t1\t2\tdcerpc\t3\t\t")
125        self.assertFalse(p.packet_dcerpc_3(packet,
126                                           self.conversation,
127                                           self. context))
128
129    def test_packet_dcerpc_11(self):
130        packet = Packet.from_line("0.0\t11\t1\t2\t1\tdcerpc\t11\tBind\t")
131        self.assertFalse(p.packet_dcerpc_11(packet,
132                                            self.conversation,
133                                            self. context))
134
135    def test_packet_dcerpc_13(self):
136        packet = Packet.from_line("0.0\t11\t1\t2\t1\tdcerpc\t13\t\t")
137        self.assertFalse(p.packet_dcerpc_13(packet,
138                                            self.conversation,
139                                            self. context))
140
141    def test_packet_dcerpc_14(self):
142        packet = Packet.from_line(
143            "0.0\t11\t1\t2\t1\tdcerpc\t14\tAlter_context\t")
144        self.assertFalse(p.packet_dcerpc_14(packet,
145                                            self.conversation,
146                                            self. context))
147
148    def test_packet_dcerpc_15(self):
149        packet = Packet.from_line(
150            "0.0\t11\t1\t1\t2\tdcerpc\t15\tAlter_context_resp\t")
151        # Set user_creds MUST_USE_KERBEROS to suppress the warning message.
152        self.context.user_creds.set_kerberos_state(MUST_USE_KERBEROS)
153        self.assertFalse(p.packet_dcerpc_15(packet,
154                                            self.conversation,
155                                            self. context))
156
157    def test_packet_dcerpc_16(self):
158        packet = Packet.from_line(
159            "0.0\t11\t1\t1\t2\tdcerpc\t16\tAUTH3\t")
160        self.assertFalse(p.packet_dcerpc_16(packet,
161                                            self.conversation,
162                                            self. context))
163
164    def test_packet_dns_01(self):
165        packet = Packet.from_line(
166            "0.0\t11\t1\t1\t2\tdns\t1\tresponse\t")
167        self.assertFalse(p.packet_dns_1(packet,
168                                        self.conversation,
169                                        self. context))
170
171    def test_packet_drsuapi_00(self):
172        packet = Packet.from_line(
173            "0.0\t06\t1\t1\t2\tdrsuapi\t0\tDsBind\t")
174        self.assertTrue(p.packet_drsuapi_0(packet,
175                                           self.conversation,
176                                           self. context))
177
178    def test_packet_drsuapi_01(self):
179        packet = Packet.from_line(
180            "0.0\t06\t1\t1\t2\tdrsuapi\t1\tDsUnBind\t")
181        self.assertTrue(p.packet_drsuapi_1(packet,
182                                           self.conversation,
183                                           self. context))
184
185    def test_packet_drsuapi_02(self):
186        packet = Packet.from_line(
187            "0.0\t06\t1\t1\t2\tdrsuapi\t2\tDsReplicaSync\t")
188        self.assertFalse(p.packet_drsuapi_2(packet,
189                                            self.conversation,
190                                            self. context))
191
192    def test_packet_drsuapi_03(self):
193        packet = Packet.from_line(
194            "0.0\t06\t1\t1\t2\tdrsuapi\t3\tDsGetNCChanges\t")
195        self.assertFalse(p.packet_drsuapi_3(packet,
196                                            self.conversation,
197                                            self. context))
198
199    def test_packet_drsuapi_04(self):
200        packet = Packet.from_line(
201            "0.0\t06\t1\t1\t2\tdrsuapi\t4\tDsReplicaUpdateRefs\t")
202        self.assertFalse(p.packet_drsuapi_4(packet,
203                                            self.conversation,
204                                            self. context))
205
206    def test_packet_drsuapi_12(self):
207        packet = Packet.from_line(
208            "0.0\t06\t1\t1\t2\tdrsuapi\t12\tDsCrackNames\t")
209        self.assertTrue(p.packet_drsuapi_12(packet,
210                                            self.conversation,
211                                            self. context))
212
213    def test_packet_drsuapi_13(self):
214        packet = Packet.from_line(
215            "0.0\t06\t1\t1\t2\tdrsuapi\t13\tDsWriteAccountSpn\t")
216        self.assertTrue(p.packet_drsuapi_13(packet,
217                                            self.conversation,
218                                            self. context))
219
220    def test_packet_epm_03(self):
221        packet = Packet.from_line(
222            "0.0\t06\t1\t1\t2\tepm\t3\tMap\t")
223        self.assertFalse(p.packet_epm_3(packet,
224                                        self.conversation,
225                                        self. context))
226
227    def test_packet_kerberos(self):
228        """Kerberos packets are not generated, but are used as a hint to
229        favour kerberos.
230        """
231        packet = Packet.from_line(
232            "0.0\t11\t1\t1\t2\tkerberos\t\t\t")
233        self.assertFalse(p.packet_kerberos_(packet,
234                                            self.conversation,
235                                            self. context))
236        self.assertEqual(MUST_USE_KERBEROS,
237                         self.context.user_creds.get_kerberos_state())
238        self.assertEqual(MUST_USE_KERBEROS,
239                         self.context.user_creds_bad.get_kerberos_state())
240        self.assertEqual(MUST_USE_KERBEROS,
241                         self.context.machine_creds.get_kerberos_state())
242        self.assertEqual(MUST_USE_KERBEROS,
243                         self.context.machine_creds_bad.get_kerberos_state())
244        self.assertEqual(MUST_USE_KERBEROS,
245                         self.context.creds.get_kerberos_state())
246
247        # Need to restore kerberos creds on the admin creds otherwise
248        # subsequent tests fail
249        self.credentials.set_kerberos_state(DONT_USE_KERBEROS)
250
251    def test_packet_ldap(self):
252        packet = Packet.from_line(
253            "0.0\t06\t1\t1\t2\tldap\t\t*** Unknown ***\t")
254        self.assertFalse(p.packet_ldap_(packet,
255                                        self.conversation,
256                                        self. context))
257
258    def test_packet_ldap_00_sasl(self):
259        packet = Packet.from_line(
260            "0.0\t06\t1\t2\t1\tldap\t0\tbindRequest"
261            "\t\t\t\t\t3\tsasl\t1.3.6.1.5.5.2")
262        self.assertTrue(p.packet_ldap_0(packet,
263                                        self.conversation,
264                                        self. context))
265
266    def test_packet_ldap_00_simple(self):
267        packet = Packet.from_line(
268            "0.0\t06\t1\t2\t1\tldap\t0\tbindRequest"
269            "\t\t\t\t\t0\tsimple\t")
270        self.assertTrue(p.packet_ldap_0(packet,
271                                        self.conversation,
272                                        self. context))
273
274    def test_packet_ldap_01(self):
275        packet = Packet.from_line(
276            "0.0\t06\t1\t1\t2\tldap\t1\tbindResponse\t")
277        self.assertFalse(p.packet_ldap_1(packet,
278                                         self.conversation,
279                                         self. context))
280
281    def test_packet_ldap_02(self):
282        packet = Packet.from_line(
283            "0.0\t06\t1\t2\t1\tldap\t2\tunbindRequest\t")
284        self.assertFalse(p.packet_ldap_2(packet,
285                                         self.conversation,
286                                         self. context))
287
288    def test_packet_ldap_03(self):
289        packet = Packet.from_line(
290            "0.0\t06\t1\t2\t1\tldap\t3\tsearchRequest"
291            "\t2\tDC,DC\t\tcn\t\t\t")
292        self.assertTrue(p.packet_ldap_3(packet,
293                                        self.conversation,
294                                        self. context))
295
296    def test_packet_ldap_04(self):
297        packet = Packet.from_line(
298            "0.0\t06\t1\t1\t2\tldap\t4\tsearchResEntry\t")
299        self.assertFalse(p.packet_ldap_4(packet,
300                                         self.conversation,
301                                         self. context))
302
303    def test_packet_ldap_05(self):
304        packet = Packet.from_line(
305            "0.0\t06\t1\t1\t2\tldap\t5\tsearchResDone\t")
306        self.assertFalse(p.packet_ldap_5(packet,
307                                         self.conversation,
308                                         self. context))
309
310    def test_packet_ldap_06(self):
311        packet = Packet.from_line(
312            "0.0\t06\t1\t2\t1\tldap\t6\tmodifyRequest\t"
313            "\t\t\t\t0\tadd")
314        self.assertFalse(p.packet_ldap_6(packet,
315                                         self.conversation,
316                                         self. context))
317
318    def test_packet_ldap_07(self):
319        packet = Packet.from_line(
320            "0.0\t06\t1\t1\t2\tldap\t7\tmodifyResponse\t")
321        self.assertFalse(p.packet_ldap_7(packet,
322                                         self.conversation,
323                                         self. context))
324
325    def test_packet_ldap_08(self):
326        packet = Packet.from_line(
327            "0.0\t06\t1\t2\t1\tldap\t8\taddRequest\t")
328        self.assertFalse(p.packet_ldap_8(packet,
329                                         self.conversation,
330                                         self. context))
331
332    def test_packet_ldap_09(self):
333        packet = Packet.from_line(
334            "0.0\t06\t1\t1\t2\tldap\t9\taddResponse\t")
335        self.assertFalse(p.packet_ldap_9(packet,
336                                         self.conversation,
337                                         self. context))
338
339    def test_packet_ldap_16(self):
340        packet = Packet.from_line(
341            "0.0\t06\t1\t2\t1\tldap\t16\tabandonRequest\t")
342        self.assertFalse(p.packet_ldap_16(packet,
343                                          self.conversation,
344                                          self. context))
345
346    def test_packet_lsarpc_00(self):
347        packet = Packet.from_line(
348            "0.0\t06\t1\t2\t1\tlsarpc\t0\tlsa_Close\t")
349        self.assertFalse(p.packet_lsarpc_1(packet,
350                                           self.conversation,
351                                           self. context))
352
353    def test_packet_lsarpc_01(self):
354        packet = Packet.from_line(
355            "0.0\t06\t1\t2\t1\tlsarpc\t1\tlsa_Delete\t")
356        self.assertFalse(p.packet_lsarpc_1(packet,
357                                           self.conversation,
358                                           self. context))
359
360    def test_packet_lsarpc_02(self):
361        packet = Packet.from_line(
362            "0.0\t06\t1\t2\t1\tlsarpc\t2\tlsa_EnumeratePrivileges\t")
363        self.assertFalse(p.packet_lsarpc_2(packet,
364                                           self.conversation,
365                                           self. context))
366
367    def test_packet_lsarpc_03(self):
368        packet = Packet.from_line(
369            "0.0\t06\t1\t2\t1\tlsarpc\t3\tlsa_QuerySecurityObject\t")
370        self.assertFalse(p.packet_lsarpc_3(packet,
371                                           self.conversation,
372                                           self. context))
373
374    def test_packet_lsarpc_04(self):
375        packet = Packet.from_line(
376            "0.0\t06\t1\t2\t1\tlsarpc\t4\tlsa_SetSecurityObject\t")
377        self.assertFalse(p.packet_lsarpc_4(packet,
378                                           self.conversation,
379                                           self. context))
380
381    def test_packet_lsarpc_05(self):
382        packet = Packet.from_line(
383            "0.0\t06\t1\t2\t1\tlsarpc\t5\tlsa_ChangePassword\t")
384        self.assertFalse(p.packet_lsarpc_5(packet,
385                                           self.conversation,
386                                           self. context))
387
388    def test_packet_lsarpc_06(self):
389        packet = Packet.from_line(
390            "0.0\t06\t1\t2\t1\tlsarpc\t6\tlsa_OpenPolicy\t")
391        self.assertFalse(p.packet_lsarpc_6(packet,
392                                           self.conversation,
393                                           self. context))
394
395    def test_packet_lsarpc_14(self):
396        packet = Packet.from_line(
397            "0.0\t06\t1\t2\t1\tlsarpc\t14\tlsa_LookupNames\t")
398        self.assertTrue(p.packet_lsarpc_14(packet,
399                                           self.conversation,
400                                           self. context))
401
402    def test_packet_lsarpc_15(self):
403        packet = Packet.from_line(
404            "0.0\t06\t1\t2\t1\tlsarpc\t15\tlsa_LookupSids\t")
405        self.assertTrue(p.packet_lsarpc_15(packet,
406                                           self.conversation,
407                                           self. context))
408
409    def test_packet_lsarpc_39(self):
410        packet = Packet.from_line(
411            "0.0\t06\t1\t2\t1\tlsarpc\t39\tlsa_QueryTrustedDomainInfoBySid\t")
412        self.assertTrue(p.packet_lsarpc_39(packet,
413                                           self.conversation,
414                                           self. context))
415
416    def test_packet_lsarpc_40(self):
417        packet = Packet.from_line(
418            "0.0\t06\t1\t2\t1\tlsarpc\t40\tlsa_SetTrustedDomainInfo\t")
419        self.assertFalse(p.packet_lsarpc_40(packet,
420                                            self.conversation,
421                                            self. context))
422
423    def test_packet_lsarpc_43(self):
424        packet = Packet.from_line(
425            "0.0\t06\t1\t2\t1\tlsarpc\t43\tlsa_StorePrivateData\t")
426        self.assertFalse(p.packet_lsarpc_43(packet,
427                                            self.conversation,
428                                            self. context))
429
430    def test_packet_lsarpc_44(self):
431        packet = Packet.from_line(
432            "0.0\t06\t1\t2\t1\tlsarpc\t44\tlsa_RetrievePrivateData\t")
433        self.assertFalse(p.packet_lsarpc_44(packet,
434                                            self.conversation,
435                                            self. context))
436
437    def test_packet_lsarpc_68(self):
438        packet = Packet.from_line(
439            "0.0\t06\t1\t2\t1\tlsarpc\t68\tlsa_LookupNames3\t")
440        self.assertFalse(p.packet_lsarpc_68(packet,
441                                            self.conversation,
442                                            self. context))
443
444    def test_packet_lsarpc_76(self):
445        packet = Packet.from_line(
446            "0.0\t06\t1\t2\t1\tlsarpc\t76\tlsa_LookupSids3\t")
447        self.assertTrue(p.packet_lsarpc_76(packet,
448                                           self.conversation,
449                                           self. context))
450
451    def test_packet_lsarpc_77(self):
452        packet = Packet.from_line(
453            "0.0\t06\t1\t2\t1\tlsarpc\t77\tlsa_LookupNames4\t")
454        self.assertTrue(p.packet_lsarpc_77(packet,
455                                           self.conversation,
456                                           self. context))
457
458    def test_packet_nbns_00(self):
459        packet = Packet.from_line(
460            "0.0\t06\t1\t2\t1\tnbns\t0\tquery\t")
461        self.assertTrue(p.packet_nbns_0(packet,
462                                        self.conversation,
463                                        self. context))
464
465    def test_packet_nbns_01(self):
466        packet = Packet.from_line(
467            "0.0\t06\t1\t1\t2\tnbns\t1\tresponse\t")
468        self.assertTrue(p.packet_nbns_0(packet,
469                                        self.conversation,
470                                        self. context))
471
472    def test_packet_rpc_netlogon_00(self):
473        packet = Packet.from_line(
474            "0.0\t06\t1\t2\t1\trpc_netlogon\t0\tNetrLogonUasLogon\t")
475        self.assertFalse(p.packet_rpc_netlogon_0(packet,
476                                                 self.conversation,
477                                                 self. context))
478
479    def test_packet_rpc_netlogon_01(self):
480        packet = Packet.from_line(
481            "0.0\t06\t1\t2\t1\trpc_netlogon\t1\tNetrLogonUasLogoff\t")
482        self.assertFalse(p.packet_rpc_netlogon_1(packet,
483                                                 self.conversation,
484                                                 self. context))
485
486    def test_packet_rpc_netlogon_04(self):
487        packet = Packet.from_line(
488            "0.0\t06\t1\t2\t1\trpc_netlogon\t4\tNetrServerReqChallenge\t")
489        self.assertFalse(p.packet_rpc_netlogon_4(packet,
490                                                 self.conversation,
491                                                 self. context))
492
493    def test_packet_rpc_netlogon_14(self):
494        packet = Packet.from_line(
495            "0.0\t06\t1\t2\t1\trpc_netlogon\t14\tNetrLogonControl2\t")
496        self.assertFalse(p.packet_rpc_netlogon_14(packet,
497                                                  self.conversation,
498                                                  self. context))
499
500    def test_packet_rpc_netlogon_15(self):
501        packet = Packet.from_line(
502            "0.0\t06\t1\t2\t1\trpc_netlogon\t15\tNetrServerAuthenticate2\t")
503        self.assertFalse(p.packet_rpc_netlogon_15(packet,
504                                                  self.conversation,
505                                                  self. context))
506
507    def test_packet_rpc_netlogon_21(self):
508        packet = Packet.from_line(
509            "0.0\t06\t1\t2\t1\trpc_netlogon\t21\tNetrLogonDummyRoutine1\t")
510        self.assertFalse(p.packet_rpc_netlogon_21(packet,
511                                                  self.conversation,
512                                                  self. context))
513
514    def test_packet_rpc_netlogon_26(self):
515        packet = Packet.from_line(
516            "0.0\t06\t1\t2\t1\trpc_netlogon\t26\tNetrServerAuthenticate3\t")
517        self.assertFalse(p.packet_rpc_netlogon_26(packet,
518                                                  self.conversation,
519                                                  self. context))
520
521    def test_packet_rpc_netlogon_29(self):
522        packet = Packet.from_line(
523            "0.0\t06\t1\t2\t1\trpc_netlogon\t29\tNetrLogonGetDomainInfo\t")
524        self.assertTrue(p.packet_rpc_netlogon_29(packet,
525                                                 self.conversation,
526                                                 self. context))
527
528    def test_packet_rpc_netlogon_30(self):
529        packet = Packet.from_line(
530            "0.0\t06\t1\t2\t1\trpc_netlogon\t30\tNetrServerPasswordSet2\t")
531        self.assertTrue(p.packet_rpc_netlogon_30(packet,
532                                                 self.conversation,
533                                                 self. context))
534
535    def test_packet_rpc_netlogon_34(self):
536        packet = Packet.from_line(
537            "0.0\t06\t1\t2\t1\trpc_netlogon\t34\tDsrGetDcNameEx2\t")
538        self.assertFalse(p.packet_rpc_netlogon_34(packet,
539                                                  self.conversation,
540                                                  self. context))
541
542    def test_packet_rpc_netlogon_39(self):
543        packet = Packet.from_line(
544            "0.0\t06\t1\t2\t1\trpc_netlogon\t39\tNetrLogonSamLogonEx\t")
545        self.assertTrue(p.packet_rpc_netlogon_39(packet,
546                                                 self.conversation,
547                                                 self. context))
548
549    def test_packet_rpc_netlogon_40(self):
550        packet = Packet.from_line(
551            "0.0\t06\t1\t2\t1\trpc_netlogon\t40\tDsrEnumerateDomainTrusts\t")
552        self.assertTrue(p.packet_rpc_netlogon_40(packet,
553                                                 self.conversation,
554                                                 self. context))
555
556    def test_packet_rpc_netlogon_45(self):
557        packet = Packet.from_line(
558            "0.0\t06\t1\t2\t1\trpc_netlogon\t45\tNetrLogonSamLogonWithFlags\t")
559        self.assertTrue(p.packet_rpc_netlogon_45(packet,
560                                                 self.conversation,
561                                                 self. context))
562
563    def test_packet_samr_00(self):
564        packet = Packet.from_line(
565            "0.0\t06\t1\t2\t1\tsamr\t0\tConnect\t")
566        self.assertTrue(p.packet_samr_0(packet,
567                                        self.conversation,
568                                        self. context))
569
570    def test_packet_samr_01(self):
571        packet = Packet.from_line(
572            "0.0\t06\t1\t2\t1\tsamr\t1\tClose\t")
573        self.assertTrue(p.packet_samr_1(packet,
574                                        self.conversation,
575                                        self. context))
576
577    def test_packet_samr_03(self):
578        packet = Packet.from_line(
579            "0.0\t06\t1\t2\t1\tsamr\t3\tQuerySecurity\t")
580        self.assertTrue(p.packet_samr_3(packet,
581                                        self.conversation,
582                                        self. context))
583
584    def test_packet_samr_05(self):
585        packet = Packet.from_line(
586            "0.0\t06\t1\t2\t1\tsamr\t5\tLookupDomain\t")
587        self.assertTrue(p.packet_samr_5(packet,
588                                        self.conversation,
589                                        self. context))
590
591    def test_packet_samr_06(self):
592        packet = Packet.from_line(
593            "0.0\t06\t1\t2\t1\tsamr\t6\tEnumDomains\t")
594        self.assertTrue(p.packet_samr_6(packet,
595                                        self.conversation,
596                                        self. context))
597
598    def test_packet_samr_07(self):
599        packet = Packet.from_line(
600            "0.0\t06\t1\t2\t1\tsamr\t7\tOpenDomain\t")
601        self.assertTrue(p.packet_samr_7(packet,
602                                        self.conversation,
603                                        self. context))
604
605    def test_packet_samr_08(self):
606        packet = Packet.from_line(
607            "0.0\t06\t1\t2\t1\tsamr\t8\tQueryDomainInfo'\t")
608        self.assertTrue(p.packet_samr_8(packet,
609                                        self.conversation,
610                                        self. context))
611
612    def test_packet_samr_14(self):
613        packet = Packet.from_line(
614            "0.0\t06\t1\t2\t1\tsamr\t14\tCreateDomAlias\t")
615        self.assertFalse(p.packet_samr_14(packet,
616                                          self.conversation,
617                                          self. context))
618
619    def test_packet_samr_15(self):
620        packet = Packet.from_line(
621            "0.0\t06\t1\t2\t1\tsamr\t15\tEnumDomainAliases\t")
622        self.assertTrue(p.packet_samr_15(packet,
623                                         self.conversation,
624                                         self. context))
625
626    def test_packet_samr_16(self):
627        packet = Packet.from_line(
628            "0.0\t06\t1\t2\t1\tsamr\t16\tGetAliasMembership\t")
629        self.assertTrue(p.packet_samr_16(packet,
630                                         self.conversation,
631                                         self. context))
632
633    def test_packet_samr_17(self):
634        packet = Packet.from_line(
635            "0.0\t06\t1\t2\t1\tsamr\t17\tLookupNames\t")
636        self.assertTrue(p.packet_samr_17(packet,
637                                         self.conversation,
638                                         self. context))
639
640    def test_packet_samr_18(self):
641        packet = Packet.from_line(
642            "0.0\t06\t1\t2\t1\tsamr\t18\tLookupRids\t")
643        self.assertTrue(p.packet_samr_18(packet,
644                                         self.conversation,
645                                         self. context))
646
647    def test_packet_samr_19(self):
648        packet = Packet.from_line(
649            "0.0\t06\t1\t2\t1\tsamr\t19\tOpenGroup\t")
650        self.assertTrue(p.packet_samr_19(packet,
651                                         self.conversation,
652                                         self. context))
653
654    def test_packet_samr_25(self):
655        packet = Packet.from_line(
656            "0.0\t06\t1\t2\t1\tsamr\t25\tQueryGroupMember\t")
657        self.assertTrue(p.packet_samr_25(packet,
658                                         self.conversation,
659                                         self. context))
660
661    def test_packet_samr_34(self):
662        packet = Packet.from_line(
663            "0.0\t06\t1\t2\t1\tsamr\t34\tOpenUser\t")
664        self.assertTrue(p.packet_samr_34(packet,
665                                         self.conversation,
666                                         self. context))
667
668    def test_packet_samr_36(self):
669        packet = Packet.from_line(
670            "0.0\t06\t1\t2\t1\tsamr\t36\tQueryUserInfo\t")
671        self.assertTrue(p.packet_samr_36(packet,
672                                         self.conversation,
673                                         self. context))
674
675    def test_packet_samr_37(self):
676        packet = Packet.from_line(
677            "0.0\t06\t1\t2\t1\tsamr\t37\tSetUserInfo\t")
678        self.assertFalse(p.packet_samr_37(packet,
679                                          self.conversation,
680                                          self. context))
681
682    def test_packet_samr_39(self):
683        packet = Packet.from_line(
684            "0.0\t06\t1\t2\t1\tsamr\t39\tGetGroupsForUser\t")
685        self.assertTrue(p.packet_samr_39(packet,
686                                         self.conversation,
687                                         self. context))
688
689    def test_packet_samr_40(self):
690        packet = Packet.from_line(
691            "0.0\t06\t1\t2\t1\tsamr\t40\tQueryDisplayInfo\t")
692        self.assertFalse(p.packet_samr_40(packet,
693                                          self.conversation,
694                                          self. context))
695
696    def test_packet_samr_44(self):
697        packet = Packet.from_line(
698            "0.0\t06\t1\t2\t1\tsamr\t44\tGetUserPwInfo\t")
699        self.assertFalse(p.packet_samr_44(packet,
700                                          self.conversation,
701                                          self. context))
702
703    def test_packet_samr_57(self):
704        packet = Packet.from_line(
705            "0.0\t06\t1\t2\t1\tsamr\t57\tConnect2\t")
706        self.assertTrue(p.packet_samr_57(packet,
707                                         self.conversation,
708                                         self. context))
709
710    def test_packet_samr_64(self):
711        packet = Packet.from_line(
712            "0.0\t06\t1\t2\t1\tsamr\t64\tConnect5\t")
713        self.assertTrue(p.packet_samr_64(packet,
714                                         self.conversation,
715                                         self. context))
716
717    def test_packet_samr_68(self):
718        packet = Packet.from_line(
719            "0.0\t06\t1\t2\t1\tsamr\t68\t\t")
720        self.assertFalse(p.packet_samr_68(packet,
721                                          self.conversation,
722                                          self. context))
723
724    def test_packet_srvsvc_16(self):
725        packet = Packet.from_line(
726            "0.0\t06\t1\t2\t1\tsrvsvc\t16\tNetShareGetInfo\t")
727        self.assertTrue(p.packet_srvsvc_16(packet,
728                                           self.conversation,
729                                           self. context))
730
731    def test_packet_srvsvc_21(self):
732        packet = Packet.from_line(
733            "0.0\t06\t1\t2\t1\tsrvsvc\t21\tNetSrvGetInfo\t")
734        self.assertTrue(p.packet_srvsvc_21(packet,
735                                           self.conversation,
736                                           self. context))
737