~ubuntu-branches/ubuntu/vivid/samba/vivid

« back to all changes in this revision

Viewing changes to librpc/idl/dnsp.idl

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2011-12-21 13:18:04 UTC
  • mfrom: (0.39.21 sid)
  • Revision ID: package-import@ubuntu.com-20111221131804-xtlr39wx6njehxxr
Tags: 2:3.6.1-3ubuntu1
* Merge from Debian testing.  Remaining changes:
  + debian/patches/VERSION.patch:
    - set SAMBA_VERSION_SUFFIX to Ubuntu.
  + debian/patches/error-trans.fix-276472:
    - Add the translation of Unix Error code -ENOTSUP to NT Error Code
    - NT_STATUS_NOT_SUPPORTED to prevent the Permission denied error.
  + 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/control:
    - Don't build against or suggest ctdb.
    - Add dependency on samba-common-bin to samba.
  + Add ufw integration:
    - Created debian/samba.ufw.profile
    - debian/rules, debian/samba.dirs, debian/samba.files: install
      profile
    - debian/control: have samba suggest ufw
  + Add apport hook:
    - Created debian/source_samba.py.
    - debian/rules, debian/samba.dirs, debian/samba-common-bin.files: install
  + Switch to upstart:
    - Add debian/samba.{nmbd,smbd}.upstart.
  + debian/samba.logrotate, debian/samba-common.dhcp, debian/samba.if-up:
    - Make them upstart compatible
  + debian/samba.postinst: 
    - Avoid scary pdbedit warnings on first import.
  + debian/samba-common.postinst: Add more informative error message for
    the case where smb.conf was manually deleted
  + debian/patches/fix-debuglevel-name-conflict.patch: don't use 'debug_level'
    as a global variable name in an NSS module 
  + Dropped:
    - debian/patches/error-trans.fix-276472
    - debian/patches/fix-debuglevel-name-conflict.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "idl_types.h"
 
2
 
 
3
/*
 
4
   IDL structures for DNSP structures
 
5
 
 
6
   See [MS-DNSP].pdf in MCPP for details
 
7
*/
 
8
 
 
9
import "misc.idl";
 
10
 
 
11
/*
 
12
  note that this is not a real RPC interface. We are just using PIDL
 
13
  to save us a lot of tedious hand parsing of the dnsRecord
 
14
  attribute. The uuid is randomly generated.
 
15
 */
 
16
[
 
17
  uuid("bdd66e9e-d45f-4202-85c0-6132edc4f30a"),
 
18
  version(0.0),
 
19
  pointer_default(unique),
 
20
  helper("../librpc/ndr/ndr_dnsp.h"),
 
21
  helpstring("DNSP interfaces")
 
22
]
 
23
 
 
24
interface dnsp
 
25
{
 
26
        typedef [enum16bit] enum {
 
27
                DNS_TYPE_TOMBSTONE  = 0x0,
 
28
                DNS_TYPE_A     = 0x1,
 
29
                DNS_TYPE_NS    = 0x2,
 
30
                DNS_TYPE_MD    = 0x3,
 
31
                DNS_TYPE_MF    = 0x4,
 
32
                DNS_TYPE_CNAME = 0x5,
 
33
                DNS_TYPE_SOA   = 0x6,
 
34
                DNS_TYPE_MB    = 0x7,
 
35
                DNS_TYPE_MG    = 0x8,
 
36
                DNS_TYPE_MR    = 0x9,
 
37
                DNS_TYPE_NULL  = 0xA,
 
38
                DNS_TYPE_WKS   = 0xB,
 
39
                DNS_TYPE_PTR   = 0xC,
 
40
                DNS_TYPE_HINFO = 0xD,
 
41
                DNS_TYPE_MINFO = 0xE,
 
42
                DNS_TYPE_MX    = 0xF,
 
43
                DNS_TYPE_TXT   = 0x10,
 
44
                DNS_TYPE_RP    = 0x11,
 
45
                DNS_TYPE_AFSDB = 0x12,
 
46
                DNS_TYPE_X25   = 0x13,
 
47
                DNS_TYPE_ISDN  = 0x14,
 
48
                DNS_TYPE_RT    = 0x15,
 
49
                DNS_TYPE_SIG   = 0x18,
 
50
                DNS_TYPE_KEY   = 0x19,
 
51
                DNS_TYPE_AAAA  = 0x1C,
 
52
                DNS_TYPE_LOC   = 0x1D,
 
53
                DNS_TYPE_NXT   = 0x1E,
 
54
                DNS_TYPE_SRV   = 0x21,
 
55
                DNS_TYPE_ATMA  = 0x22,
 
56
                DNS_TYPE_NAPTR = 0x23,
 
57
                DNS_TYPE_DNAME = 0x27,
 
58
                DNS_TYPE_DS    = 0x2B,
 
59
                DNS_TYPE_RRSIG = 0x2E,
 
60
                DNS_TYPE_NSEC  = 0x2F,
 
61
                DNS_TYPE_DNSKEY= 0x30,
 
62
                DNS_TYPE_DHCID = 0x31,
 
63
                DNS_TYPE_ALL   = 0xFF,
 
64
                DNS_TYPE_WINS  = 0xFF01,
 
65
                DNS_TYPE_WINSR = 0xFF02
 
66
        } dns_record_type;
 
67
 
 
68
        typedef [enum8bit] enum {
 
69
                DNS_RANK_NONE                   = 0x00,
 
70
                DNS_RANK_CACHE_BIT              = 0x01,
 
71
                DNS_RANK_ROOT_HINT              = 0x08,
 
72
                DNS_RANK_OUTSIDE_GLUE           = 0x20,
 
73
                DNS_RANK_CACHE_NA_ADDITIONAL    = 0x31,
 
74
                DNS_RANK_CACHE_NA_AUTHORITY     = 0x41,
 
75
                DNS_RANK_CACHE_A_ADDITIONAL     = 0x51,
 
76
                DNS_RANK_CACHE_NA_ANSWER        = 0x61,
 
77
                DNS_RANK_CACHE_A_AUTHORITY      = 0x71,
 
78
                DNS_RANK_GLUE                   = 0x80,
 
79
                DNS_RANK_NS_GLUE                = 0x82,
 
80
                DNS_RANK_CACHE_A_ANSWER         = 0xc1,
 
81
                DNS_RANK_ZONE                   = 0xf0
 
82
        } dns_record_rank;
 
83
 
 
84
        typedef [public] struct {
 
85
                uint32          serial;
 
86
                uint32          refresh;
 
87
                uint32          retry;
 
88
                uint32          expire;
 
89
                uint32          minimum;
 
90
                dnsp_name       mname;
 
91
                dnsp_name       rname;
 
92
        } dnsp_soa;
 
93
 
 
94
        typedef [public] struct {
 
95
                uint16          wPriority;
 
96
                dnsp_name       nameTarget;
 
97
        } dnsp_mx;
 
98
 
 
99
        typedef [public] struct {
 
100
                dnsp_string     cpu;
 
101
                dnsp_string     os;
 
102
        } dnsp_hinfo;
 
103
 
 
104
        typedef [public] struct {
 
105
                uint16          wPriority;
 
106
                uint16          wWeight;
 
107
                uint16          wPort;
 
108
                dnsp_name       nameTarget;
 
109
        } dnsp_srv;
 
110
 
 
111
        typedef [nodiscriminant,gensize] union {
 
112
                [case(DNS_TYPE_TOMBSTONE)]                  NTTIME timestamp;
 
113
                [case(DNS_TYPE_A)] [flag(NDR_BIG_ENDIAN)]   ipv4address ipv4;
 
114
                [case(DNS_TYPE_NS)]                         dnsp_name ns;
 
115
                [case(DNS_TYPE_CNAME)]                      dnsp_name cname;
 
116
                [case(DNS_TYPE_SOA)] [flag(NDR_BIG_ENDIAN)] dnsp_soa soa;
 
117
                [case(DNS_TYPE_MX)] [flag(NDR_BIG_ENDIAN)]  dnsp_mx mx;
 
118
                [case(DNS_TYPE_TXT)]                        dnsp_string txt;
 
119
                [case(DNS_TYPE_PTR)]                        dnsp_name ptr;
 
120
                [case(DNS_TYPE_HINFO)]                      dnsp_hinfo hinfo;
 
121
                [case(DNS_TYPE_AAAA)]                       ipv6address ipv6;
 
122
                [case(DNS_TYPE_SRV)] [flag(NDR_BIG_ENDIAN)] dnsp_srv srv;
 
123
                [default] [flag(NDR_REMAINING)] DATA_BLOB data;
 
124
        } dnsRecordData;
 
125
 
 
126
        /* this is the format for the dnsRecord attribute in the DNS
 
127
           partitions in AD */
 
128
        typedef [public] struct {
 
129
                [value(ndr_size_dnsRecordData(&data,wType,ndr->flags))] uint16 wDataLength;
 
130
                dns_record_type         wType;
 
131
                [value(5)] uint8        version;
 
132
                dns_record_rank         rank;
 
133
                uint16                  flags;
 
134
                uint32                  dwSerial;
 
135
                [flag(NDR_BIG_ENDIAN)]  uint32   dwTtlSeconds;
 
136
                uint32                  dwReserved;
 
137
                uint32                  dwTimeStamp;
 
138
                [switch_is(wType)] dnsRecordData data;
 
139
        } dnsp_DnssrvRpcRecord;
 
140
 
 
141
 
 
142
        /*
 
143
          this is a convenience hook for ndrdump
 
144
         */
 
145
        void decode_DnssrvRpcRecord(
 
146
                [in] dnsp_DnssrvRpcRecord blob
 
147
                );
 
148
}