~ubuntu-branches/ubuntu/maverick/samba/maverick-security

« back to all changes in this revision

Viewing changes to source/librpc/gen_ndr/ndr_svcctl.c

  • Committer: Bazaar Package Importer
  • Author(s): Steve Langasek
  • Date: 2009-03-03 22:02:23 UTC
  • mfrom: (0.28.1 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090303220223-3bdlm2d9fwx1p1ye
Tags: 2:3.3.1-1ubuntu1
* Merge from Debian unstable (LP: #337094), remaining changes:
  + debian/patches/VERSION.patch:
    - setup SAMBA_VERSION_SUFFIX to Ubuntu.
  + debian/smb.conf:
    - add "(Samba, Ubuntu)" to server string.
    - comment out the default [homes] share, and add a comment about
      "valid users = %S" to show users how to restrict access to
      \\server\username to only username.
    - Set 'usershare allow guests', so that usershare admins are 
      allowed to create public shares in addition to authenticated
      ones.
    - add map to guest = Bad user, maps bad username to guest access. 
  + debian/samba-common.config:
    - Do not change priority to high if dhclient3 is installed.
    - Use priority medium instead of high for the workgroup question.
  + debian/mksambapasswd.awk:
    - Do not add user with UID less than 1000 to smbpasswd.
  + debian/control:
    - Make libwbclient0 replace/conflict with hardy's likewise-open.
    - Don't build against ctdb.
  + debian/rules:
    - enable "native" PIE hardening.
  + Add ufw integration:
    - Created debian/samba.ufw.profile
    - debian/rules, debian/samba.dirs, debian/samba.files: install
      profile
    - debian/control: have samba suggest ufw
* Dropped changes, merged in Debian:
  + debian/libpam-smbpass.pam-config, debian/libpam-smbpass.postinst,
    debian/libpam-smbpass.prerm, debian/libpam-smbpass.files,
    debian/rules:
    - Make libpam-smbpasswd depend on libpam-runtime to allow 
      libpam-smbpasswd for auto-configuration.
  + debian/control:
    - Provide a config block for the new PAM framework to auto-configure
      itself
  + debian/samba.postinst:
    - When populating the new sambashare group, it is not an error
      if the user simply does not exist; test for this case and let
      the install continue instead of aborting.
  + debian/winbind.files:
    - include additional files

Show diffs side-by-side

added added

removed removed

Lines of Context:
567
567
                if (r->in.handle == NULL) {
568
568
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
569
569
                }
570
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
570
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
571
571
        }
572
572
        if (flags & NDR_OUT) {
573
573
                if (r->out.handle == NULL) {
574
574
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
575
575
                }
576
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
576
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
577
577
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
578
578
        }
579
579
        return NDR_ERR_SUCCESS;
590
590
                }
591
591
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
592
592
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
593
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
593
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
594
594
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
595
595
                NDR_PULL_ALLOC(ndr, r->out.handle);
596
596
                *r->out.handle = *r->in.handle;
601
601
                }
602
602
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
603
603
                NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
604
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
604
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
605
605
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
606
606
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
607
607
        }
643
643
                if (r->in.handle == NULL) {
644
644
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
645
645
                }
646
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
646
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
647
647
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.control));
648
648
        }
649
649
        if (flags & NDR_OUT) {
668
668
                }
669
669
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
670
670
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
671
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
671
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
672
672
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
673
673
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.control));
674
674
                NDR_PULL_ALLOC(ndr, r->out.service_status);
723
723
                if (r->in.handle == NULL) {
724
724
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
725
725
                }
726
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
726
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
727
727
        }
728
728
        if (flags & NDR_OUT) {
729
729
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
740
740
                }
741
741
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
742
742
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
743
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
743
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
744
744
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
745
745
        }
746
746
        if (flags & NDR_OUT) {
780
780
                if (r->in.handle == NULL) {
781
781
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
782
782
                }
783
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
783
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
784
784
        }
785
785
        if (flags & NDR_OUT) {
786
786
                if (r->out.lock == NULL) {
787
787
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
788
788
                }
789
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.lock));
 
789
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.lock));
790
790
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
791
791
        }
792
792
        return NDR_ERR_SUCCESS;
804
804
                }
805
805
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
806
806
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
807
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
807
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
808
808
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
809
809
                NDR_PULL_ALLOC(ndr, r->out.lock);
810
810
                ZERO_STRUCTP(r->out.lock);
815
815
                }
816
816
                _mem_save_lock_0 = NDR_PULL_GET_MEM_CTX(ndr);
817
817
                NDR_PULL_SET_MEM_CTX(ndr, r->out.lock, LIBNDR_FLAG_REF_ALLOC);
818
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.lock));
 
818
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.lock));
819
819
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_0, LIBNDR_FLAG_REF_ALLOC);
820
820
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
821
821
        }
857
857
                if (r->in.handle == NULL) {
858
858
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
859
859
                }
860
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
860
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
861
861
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.security_flags));
862
862
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffer_size));
863
863
        }
888
888
                }
889
889
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
890
890
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
891
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
891
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
892
892
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
893
893
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.security_flags));
894
894
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffer_size));
965
965
                if (r->in.handle == NULL) {
966
966
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
967
967
                }
968
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
968
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
969
969
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.security_flags));
970
970
                if (r->in.buffer == NULL) {
971
971
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
989
989
                }
990
990
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
991
991
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
992
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
992
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
993
993
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
994
994
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.security_flags));
995
995
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
1045
1045
                if (r->in.handle == NULL) {
1046
1046
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1047
1047
                }
1048
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
1048
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1049
1049
        }
1050
1050
        if (flags & NDR_OUT) {
1051
1051
                if (r->out.service_status == NULL) {
1069
1069
                }
1070
1070
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1071
1071
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1072
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
1072
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1073
1073
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1074
1074
                NDR_PULL_ALLOC(ndr, r->out.service_status);
1075
1075
                ZERO_STRUCTP(r->out.service_status);
1163
1163
                if (r->in.lock == NULL) {
1164
1164
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1165
1165
                }
1166
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.lock));
 
1166
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.lock));
1167
1167
        }
1168
1168
        if (flags & NDR_OUT) {
1169
1169
                if (r->out.lock == NULL) {
1170
1170
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1171
1171
                }
1172
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.lock));
 
1172
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.lock));
1173
1173
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1174
1174
        }
1175
1175
        return NDR_ERR_SUCCESS;
1186
1186
                }
1187
1187
                _mem_save_lock_0 = NDR_PULL_GET_MEM_CTX(ndr);
1188
1188
                NDR_PULL_SET_MEM_CTX(ndr, r->in.lock, LIBNDR_FLAG_REF_ALLOC);
1189
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.lock));
 
1189
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.lock));
1190
1190
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_0, LIBNDR_FLAG_REF_ALLOC);
1191
1191
                NDR_PULL_ALLOC(ndr, r->out.lock);
1192
1192
                *r->out.lock = *r->in.lock;
1197
1197
                }
1198
1198
                _mem_save_lock_0 = NDR_PULL_GET_MEM_CTX(ndr);
1199
1199
                NDR_PULL_SET_MEM_CTX(ndr, r->out.lock, LIBNDR_FLAG_REF_ALLOC);
1200
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.lock));
 
1200
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.lock));
1201
1201
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_0, LIBNDR_FLAG_REF_ALLOC);
1202
1202
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1203
1203
        }
1280
1280
                if (r->in.handle == NULL) {
1281
1281
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1282
1282
                }
1283
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
1283
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1284
1284
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bits));
1285
1285
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bitson));
1286
1286
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.immediate));
1300
1300
                }
1301
1301
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1302
1302
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1303
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
1303
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1304
1304
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1305
1305
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bits));
1306
1306
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bitson));
1346
1346
                if (r->in.handle == NULL) {
1347
1347
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1348
1348
                }
1349
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
1349
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1350
1350
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
1351
1351
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start));
1352
1352
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.error));
1427
1427
                }
1428
1428
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1429
1429
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1430
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
1430
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1431
1431
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1432
1432
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
1433
1433
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start));
1630
1630
                if (r->in.scmanager_handle == NULL) {
1631
1631
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1632
1632
                }
1633
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager_handle));
 
1633
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle));
1634
1634
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16)));
1635
1635
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1636
1636
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16)));
1689
1689
                if (r->out.handle == NULL) {
1690
1690
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1691
1691
                }
1692
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
1692
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
1693
1693
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1694
1694
        }
1695
1695
        return NDR_ERR_SUCCESS;
1719
1719
                }
1720
1720
                _mem_save_scmanager_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1721
1721
                NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager_handle, LIBNDR_FLAG_REF_ALLOC);
1722
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager_handle));
 
1722
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle));
1723
1723
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_handle_0, LIBNDR_FLAG_REF_ALLOC);
1724
1724
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName));
1725
1725
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName));
1862
1862
                }
1863
1863
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1864
1864
                NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
1865
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
1865
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
1866
1866
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1867
1867
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1868
1868
        }
1954
1954
                if (r->in.service == NULL) {
1955
1955
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1956
1956
                }
1957
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.service));
 
1957
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.service));
1958
1958
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.state));
1959
1959
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
1960
1960
        }
1990
1990
                }
1991
1991
                _mem_save_service_0 = NDR_PULL_GET_MEM_CTX(ndr);
1992
1992
                NDR_PULL_SET_MEM_CTX(ndr, r->in.service, LIBNDR_FLAG_REF_ALLOC);
1993
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.service));
 
1993
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.service));
1994
1994
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_0, LIBNDR_FLAG_REF_ALLOC);
1995
1995
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.state));
1996
1996
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
2083
2083
                if (r->in.handle == NULL) {
2084
2084
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2085
2085
                }
2086
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2086
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2087
2087
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
2088
2088
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.state));
2089
2089
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
2127
2127
                }
2128
2128
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2129
2129
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2130
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2130
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2131
2131
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2132
2132
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
2133
2133
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.state));
2259
2259
                if (r->out.handle == NULL) {
2260
2260
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2261
2261
                }
2262
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
2262
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
2263
2263
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2264
2264
        }
2265
2265
        return NDR_ERR_SUCCESS;
2321
2321
                }
2322
2322
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2323
2323
                NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
2324
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
2324
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
2325
2325
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2326
2326
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2327
2327
        }
2372
2372
                if (r->in.scmanager_handle == NULL) {
2373
2373
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2374
2374
                }
2375
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager_handle));
 
2375
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle));
2376
2376
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16)));
2377
2377
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2378
2378
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16)));
2383
2383
                if (r->out.handle == NULL) {
2384
2384
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2385
2385
                }
2386
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
2386
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
2387
2387
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2388
2388
        }
2389
2389
        return NDR_ERR_SUCCESS;
2401
2401
                }
2402
2402
                _mem_save_scmanager_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2403
2403
                NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager_handle, LIBNDR_FLAG_REF_ALLOC);
2404
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager_handle));
 
2404
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle));
2405
2405
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_handle_0, LIBNDR_FLAG_REF_ALLOC);
2406
2406
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName));
2407
2407
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName));
2420
2420
                }
2421
2421
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2422
2422
                NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
2423
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
2423
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
2424
2424
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2425
2425
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2426
2426
        }
2464
2464
                if (r->in.handle == NULL) {
2465
2465
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2466
2466
                }
2467
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2467
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2468
2468
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
2469
2469
        }
2470
2470
        if (flags & NDR_OUT) {
2494
2494
                }
2495
2495
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2496
2496
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2497
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2497
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2498
2498
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2499
2499
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
2500
2500
                if (r->in.buf_size < 0 || r->in.buf_size > 8192) {
2568
2568
                if (r->in.handle == NULL) {
2569
2569
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2570
2570
                }
2571
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2571
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2572
2572
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
2573
2573
        }
2574
2574
        if (flags & NDR_OUT) {
2598
2598
                }
2599
2599
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2600
2600
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2601
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2601
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2602
2602
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2603
2603
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
2604
2604
                NDR_PULL_ALLOC(ndr, r->out.lock_status);
2666
2666
                if (r->in.handle == NULL) {
2667
2667
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2668
2668
                }
2669
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2669
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2670
2670
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.NumArgs));
2671
2671
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Arguments));
2672
2672
                if (r->in.Arguments) {
2693
2693
                }
2694
2694
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2695
2695
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2696
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2696
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2697
2697
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2698
2698
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.NumArgs));
2699
2699
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Arguments));
2759
2759
                if (r->in.handle == NULL) {
2760
2760
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2761
2761
                }
2762
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2762
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2763
2763
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_name));
2764
2764
                if (r->in.service_name) {
2765
2765
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16)));
2810
2810
                }
2811
2811
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2812
2812
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2813
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2813
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2814
2814
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2815
2815
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name));
2816
2816
                if (_ptr_service_name) {
2945
2945
                if (r->in.handle == NULL) {
2946
2946
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2947
2947
                }
2948
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2948
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2949
2949
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_name));
2950
2950
                if (r->in.service_name) {
2951
2951
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16)));
2996
2996
                }
2997
2997
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2998
2998
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2999
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
2999
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3000
3000
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3001
3001
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name));
3002
3002
                if (_ptr_service_name) {
3131
3131
                if (r->in.handle == NULL) {
3132
3132
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3133
3133
                }
3134
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
3134
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3135
3135
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bits));
3136
3136
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bitson));
3137
3137
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.immediate));
3151
3151
                }
3152
3152
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3153
3153
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
3154
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
3154
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3155
3155
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3156
3156
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bits));
3157
3157
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bitson));
3197
3197
                if (r->in.handle == NULL) {
3198
3198
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3199
3199
                }
3200
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
3200
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3201
3201
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
3202
3202
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start));
3203
3203
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.error));
3278
3278
                }
3279
3279
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3280
3280
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
3281
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
3281
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3282
3282
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3283
3283
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
3284
3284
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start));
3481
3481
                if (r->in.handle == NULL) {
3482
3482
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3483
3483
                }
3484
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
3484
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3485
3485
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ServiceName));
3486
3486
                if (r->in.ServiceName) {
3487
3487
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16)));
3573
3573
                }
3574
3574
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3575
3575
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
3576
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
3576
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3577
3577
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3578
3578
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ServiceName));
3579
3579
                if (_ptr_ServiceName) {
3807
3807
                if (r->in.service == NULL) {
3808
3808
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3809
3809
                }
3810
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.service));
 
3810
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.service));
3811
3811
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.state));
3812
3812
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
3813
3813
        }
3844
3844
                }
3845
3845
                _mem_save_service_0 = NDR_PULL_GET_MEM_CTX(ndr);
3846
3846
                NDR_PULL_SET_MEM_CTX(ndr, r->in.service, LIBNDR_FLAG_REF_ALLOC);
3847
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.service));
 
3847
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.service));
3848
3848
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_0, LIBNDR_FLAG_REF_ALLOC);
3849
3849
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.state));
3850
3850
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
3932
3932
                if (r->in.handle == NULL) {
3933
3933
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3934
3934
                }
3935
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
3935
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3936
3936
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
3937
3937
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.state));
3938
3938
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
3976
3976
                }
3977
3977
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3978
3978
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
3979
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
3979
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3980
3980
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3981
3981
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
3982
3982
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.state));
4108
4108
                if (r->out.handle == NULL) {
4109
4109
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4110
4110
                }
4111
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
4111
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4112
4112
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4113
4113
        }
4114
4114
        return NDR_ERR_SUCCESS;
4170
4170
                }
4171
4171
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4172
4172
                NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
4173
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.handle));
 
4173
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4174
4174
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4175
4175
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4176
4176
        }
4221
4221
                if (r->in.scmanager_handle == NULL) {
4222
4222
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4223
4223
                }
4224
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager_handle));
 
4224
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle));
4225
4225
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ServiceName));
4226
4226
                if (r->in.ServiceName) {
4227
4227
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16)));
4248
4248
                }
4249
4249
                _mem_save_scmanager_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4250
4250
                NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager_handle, LIBNDR_FLAG_REF_ALLOC);
4251
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager_handle));
 
4251
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle));
4252
4252
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_handle_0, LIBNDR_FLAG_REF_ALLOC);
4253
4253
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ServiceName));
4254
4254
                if (_ptr_ServiceName) {
4314
4314
                if (r->in.handle == NULL) {
4315
4315
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4316
4316
                }
4317
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4317
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4318
4318
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
4319
4319
        }
4320
4320
        if (flags & NDR_OUT) {
4340
4340
                }
4341
4341
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4342
4342
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
4343
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4343
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4344
4344
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4345
4345
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
4346
4346
                NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
4398
4398
                if (r->in.handle == NULL) {
4399
4399
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4400
4400
                }
4401
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4401
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4402
4402
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
4403
4403
        }
4404
4404
        if (flags & NDR_OUT) {
4428
4428
                }
4429
4429
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4430
4430
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
4431
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4431
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4432
4432
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4433
4433
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
4434
4434
                NDR_PULL_ALLOC(ndr, r->out.lock_status);
4496
4496
                if (r->in.handle == NULL) {
4497
4497
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4498
4498
                }
4499
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4499
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4500
4500
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.NumArgs));
4501
4501
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Arguments));
4502
4502
                if (r->in.Arguments) {
4523
4523
                }
4524
4524
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4525
4525
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
4526
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4526
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4527
4527
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4528
4528
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.NumArgs));
4529
4529
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Arguments));
4589
4589
                if (r->in.handle == NULL) {
4590
4590
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4591
4591
                }
4592
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4592
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4593
4593
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_name));
4594
4594
                if (r->in.service_name) {
4595
4595
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16)));
4640
4640
                }
4641
4641
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4642
4642
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
4643
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4643
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4644
4644
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4645
4645
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name));
4646
4646
                if (_ptr_service_name) {
4775
4775
                if (r->in.handle == NULL) {
4776
4776
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4777
4777
                }
4778
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4778
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4779
4779
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_name));
4780
4780
                if (r->in.service_name) {
4781
4781
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16)));
4826
4826
                }
4827
4827
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4828
4828
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
4829
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
4829
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
4830
4830
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4831
4831
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name));
4832
4832
                if (_ptr_service_name) {
5043
5043
                if (r->in.handle == NULL) {
5044
5044
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5045
5045
                }
5046
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5046
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5047
5047
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level));
5048
5048
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info));
5049
5049
                if (r->in.info) {
5067
5067
                }
5068
5068
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5069
5069
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5070
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5070
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5071
5071
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5072
5072
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level));
5073
5073
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
5127
5127
                if (r->in.handle == NULL) {
5128
5128
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5129
5129
                }
5130
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5130
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5131
5131
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level));
5132
5132
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info));
5133
5133
                if (r->in.info) {
5151
5151
                }
5152
5152
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5153
5153
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5154
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5154
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5155
5155
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5156
5156
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level));
5157
5157
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
5211
5211
                if (r->in.handle == NULL) {
5212
5212
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5213
5213
                }
5214
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5214
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5215
5215
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level));
5216
5216
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
5217
5217
        }
5238
5238
                }
5239
5239
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5240
5240
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5241
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5241
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5242
5242
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5243
5243
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level));
5244
5244
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
5298
5298
                if (r->in.handle == NULL) {
5299
5299
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5300
5300
                }
5301
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5301
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5302
5302
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level));
5303
5303
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
5304
5304
        }
5325
5325
                }
5326
5326
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5327
5327
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5328
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5328
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5329
5329
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5330
5330
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level));
5331
5331
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
5385
5385
                if (r->in.handle == NULL) {
5386
5386
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5387
5387
                }
5388
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5388
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5389
5389
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level));
5390
5390
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
5391
5391
        }
5412
5412
                }
5413
5413
                _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5414
5414
                NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5415
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
 
5415
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5416
5416
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5417
5417
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level));
5418
5418
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
5472
5472
                if (r->in.scmanager == NULL) {
5473
5473
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5474
5474
                }
5475
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager));
 
5475
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager));
5476
5476
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level));
5477
5477
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
5478
5478
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.state));
5529
5529
                }
5530
5530
                _mem_save_scmanager_0 = NDR_PULL_GET_MEM_CTX(ndr);
5531
5531
                NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager, LIBNDR_FLAG_REF_ALLOC);
5532
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager));
 
5532
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager));
5533
5533
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_0, LIBNDR_FLAG_REF_ALLOC);
5534
5534
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level));
5535
5535
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
5677
5677
                if (r->in.scmanager == NULL) {
5678
5678
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5679
5679
                }
5680
 
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager));
 
5680
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager));
5681
5681
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level));
5682
5682
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
5683
5683
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.state));
5734
5734
                }
5735
5735
                _mem_save_scmanager_0 = NDR_PULL_GET_MEM_CTX(ndr);
5736
5736
                NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager, LIBNDR_FLAG_REF_ALLOC);
5737
 
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.scmanager));
 
5737
                NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager));
5738
5738
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_0, LIBNDR_FLAG_REF_ALLOC);
5739
5739
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level));
5740
5740
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));