Ignore:
Timestamp:
Nov 27, 2012, 4:43:17 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.0

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/librpc/idl/dcerpc.idl

    r596 r745  
    2020        } dcerpc_ctx_list;
    2121
    22         typedef struct {
     22        typedef [public] struct {
    2323                uint16 max_xmit_frag;
    2424                uint16 max_recv_frag;
     
    2626                uint8  num_contexts;
    2727                dcerpc_ctx_list ctx_list[num_contexts];
    28                 [flag(NDR_ALIGN4)]    DATA_BLOB _pad;
    2928                [flag(NDR_REMAINING)] DATA_BLOB auth_info;
    3029        } dcerpc_bind;
     
    9796        } dcerpc_response;
    9897
     98        typedef [v1_enum] enum {
     99                DCERPC_NCA_S_COMM_FAILURE               = 0x1C010001,
     100                DCERPC_NCA_S_OP_RNG_ERROR               = 0x1C010002,
     101                DCERPC_NCA_S_UNKNOWN_IF                 = 0x1C010003,
     102                DCERPC_NCA_S_WRONG_BOOT_TIME            = 0x1C010006,
     103                DCERPC_NCA_S_YOU_CRASHED                = 0x1C010009,
     104                DCERPC_NCA_S_PROTO_ERROR                = 0x1C01000B,
     105                DCERPC_NCA_S_OUT_ARGS_TOO_BIG           = 0x1C010013,
     106                DCERPC_NCA_S_SERVER_TOO_BUSY            = 0x1C010014,
     107                DCERPC_NCA_S_FAULT_STRING_TOO_LARGE     = 0x1C010015,
     108                DCERPC_NCA_S_UNSUPPORTED_TYPE           = 0x1C010017,
     109                DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO      = 0x1C000001,
     110                DCERPC_NCA_S_FAULT_ADDR_ERROR           = 0x1C000002,
     111                DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO       = 0x1C000003,
     112                DCERPC_NCA_S_FAULT_FP_UNDERFLOW         = 0x1C000004,
     113                DCERPC_NCA_S_FAULT_FP_OVERRFLOW         = 0x1C000005,
     114                DCERPC_NCA_S_FAULT_INVALID_TAG          = 0x1C000006,
     115                DCERPC_NCA_S_FAULT_INVALID_BOUND        = 0x1C000007,
     116                DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH = 0x1C000008,
     117                DCERPC_NCA_S_FAULT_UNSPEC_REJECT        = 0x1C000009,
     118                DCERPC_NCA_S_FAULT_BAD_ACTID            = 0x1C00000A,
     119                DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED   = 0x1C00000B,
     120                DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED  = 0x1C00000C,
     121                DCERPC_NCA_S_FAULT_CANCEL               = 0x1C00000D,
     122                DCERPC_NCA_S_FAULT_ILL_INST             = 0x1C00000E,
     123                DCERPC_NCA_S_FAULT_FP_ERROR             = 0x1C00000F,
     124                DCERPC_NCA_S_FAULT_INT_OVERFLOW         = 0x1C000010,
     125                DCERPC_NCA_S_UNUSED_1C000011            = 0x1C000011,
     126                DCERPC_NCA_S_FAULT_UNSPEC               = 0x1C000012,
     127                DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE  = 0x1C000013,
     128                DCERPC_NCA_S_FAULT_PIPE_EMPTY           = 0x1C000014,
     129                DCERPC_NCA_S_FAULT_PIPE_CLOSED          = 0x1C000015,
     130                DCERPC_NCA_S_FAULT_PIPE_ORDER           = 0x1C000016,
     131                DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE      = 0x1C000017,
     132                DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR      = 0x1C000018,
     133                DCERPC_NCA_S_FAULT_PIPE_MEMORY          = 0x1C000019,
     134                DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH     = 0x1C00001A,
     135                DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY     = 0x1C00001B,
     136                DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID    = 0x1C00001C,
     137                DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL    = 0x1C00001D,
     138                DCERPC_NCA_S_UNUSED_1C00001E            = 0x1C00001E,
     139                DCERPC_NCA_S_INVALID_CHECKSUM           = 0x1C00001F,
     140                DCERPC_NCA_S_INVALID_CRC                = 0x1C000020,
     141                DCERPC_NCA_S_FAULT_USER_DEFINED         = 0x1C000021,
     142                DCERPC_NCA_S_FAULT_TX_OPEN_FAILED       = 0x1C000022,
     143                DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR   = 0x1C000023,
     144                DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND     = 0x1C000024,
     145                DCERPC_NCA_S_FAULT_NO_CLIENT_STUB       = 0x1C000025
     146        } dcerpc_nca_status;
    99147
    100148        const int DCERPC_FAULT_OP_RNG_ERROR       = 0x1c010002;
     
    116164                uint16 context_id;
    117165                uint8 cancel_count;
    118                 uint32 status;
     166                dcerpc_nca_status status;
    119167                [flag(NDR_REMAINING)] DATA_BLOB _pad;
    120168        } dcerpc_fault;
     
    132180                DCERPC_AUTH_TYPE_DIGEST   = 21,
    133181                DCERPC_AUTH_TYPE_SCHANNEL = 68,
    134                 DCERPC_AUTH_TYPE_MSMQ     = 100
     182                DCERPC_AUTH_TYPE_MSMQ     = 100,
     183                DCERPC_AUTH_TYPE_NCALRPC_AS_SYSTEM = 200
    135184        } dcerpc_AuthType;
    136185
     
    158207
    159208        typedef [public] struct {
    160                 uint32 _pad;
     209                [value(0)]            uint32    _pad;
    161210                [flag(NDR_REMAINING)] DATA_BLOB auth_info;
    162211        } dcerpc_auth3;
    163212
    164213        typedef [public] struct {
    165                 uint32 _pad;
     214                [value(0)]            uint32    _pad;
    166215                [flag(NDR_REMAINING)] DATA_BLOB auth_info;
    167216        } dcerpc_orphaned;
    168217
    169218        typedef [public] struct {
    170                 uint32 _pad;
     219                [value(0)]            uint32    _pad;
    171220                [flag(NDR_REMAINING)] DATA_BLOB auth_info;
    172221        } dcerpc_co_cancel;
     
    205254        typedef [public] struct {
    206255        } dcerpc_working;
     256
     257        /* RTS data structures */
     258        typedef [public] struct {
     259                GUID            Cookie;
     260        } RTSCookie;
     261
     262        typedef [v1_enum,public] enum {
     263                RTS_IPV4        = 0,
     264                RTS_IPV6        = 1
     265        } AddressType;
     266
     267        typedef [nodiscriminant] union {
     268                [case(RTS_IPV4)] ipv4address    ClientAddressIPV4;
     269                [case(RTS_IPV6)] ipv6address    ClientAddressIPV6;
     270        } ClientAddressType;
     271
     272        typedef [public] struct {
     273                AddressType                                     AddressType;
     274                [switch_is(AddressType)] ClientAddressType      ClientAddress;
     275                uint8                                           Padding[12];
     276        } ClientAddress;
     277
     278        typedef [v1_enum, public] enum {
     279                FDClient        = 0,
     280                FDInProxy       = 1,
     281                FDServer        = 2,
     282                FDOutProxy      = 3
     283        } ForwardDestination;
     284
     285        typedef [public] struct {
     286                uint32          BytesReceived;
     287                uint32          AvailableWindow;
     288                RTSCookie       ChannelCookie;
     289        } FlowControlAcknowledgment;
     290
     291        /* RTS commands */
     292
     293        /* RTS command: 0x0 */
     294        typedef [public] struct {
     295                [range(0x2000,0x40000)] uint32  ReceiveWindowSize;
     296        } dcerpc_rts_cmd_ReceiveWindowSize;
     297
     298        /* RTS command: 0x1 */
     299        typedef [public] struct {
     300                FlowControlAcknowledgment       Ack;
     301        } dcerpc_rts_cmd_FlowControlAck;
     302
     303        /* RTS command: 0x2 */
     304        typedef [public] struct {
     305                [range(0x1D4C0,0xDBBA00)] uint32        ConnectionTimeout;
     306        } dcerpc_rts_cmd_ConnectionTimeout;
     307
     308        /* RTS command: 0x3 */
     309        typedef [public] struct {
     310                RTSCookie       Cookie;
     311        } dcerpc_rts_cmd_Cookie;
     312
     313        /* RTS command: 0x4 */
     314        typedef [public] struct {
     315                [range(0x20000,0x80000000)] uint32      ChannelLifetime;
     316        } dcerpc_rts_cmd_ChannelLifetime;
     317
     318        /* RTS command: 0x5 */
     319        typedef [public] struct {
     320                uint32          ClientKeepalive;
     321        } dcerpc_rts_cmd_ClientKeepalive;
     322
     323        /* RTS command: 0x6 */
     324        typedef [public] struct {
     325                uint32          Version;
     326        } dcerpc_rts_cmd_Version;
     327
     328        /* RTS command: 0x7 */
     329        typedef [public] struct {
     330        } dcerpc_rts_cmd_Empty;
     331
     332        /* RTS command: 0x8 */
     333        typedef [public] struct {
     334                [range(0x0,0xFFFF)] uint32      ConformanceCount;
     335                uint8                           Padding[ConformanceCount];
     336        } dcerpc_rts_cmd_Padding;
     337
     338        /* RTS command: 0x9 */
     339        typedef [public] struct {
     340        } dcerpc_rts_cmd_NegativeANCE;
     341
     342        /* RTS Command: 0xA */
     343        typedef [public] struct {
     344        } dcerpc_rts_cmd_ANCE;
     345
     346        /* RTS command: 0xB */
     347        typedef [public] struct {
     348                ClientAddress   ClientAddress;
     349        } dcerpc_rts_cmd_ClientAddress;
     350
     351        /* RTS command: 0xC */
     352        typedef [public] struct {
     353                RTSCookie       AssociationGroupId;
     354        } dcerpc_rts_cmd_AssociationGroupId;
     355
     356        /* RTS command: 0xD */
     357        typedef [public] struct {
     358                ForwardDestination      ForwardDestination;
     359        } dcerpc_rts_cmd_Destination;
     360
     361        /* RTS command: 0xE */
     362        typedef [public] struct {
     363                uint32  PingTrafficSent;
     364        } dcerpc_rts_cmd_PingTrafficSentNotify;
     365
     366        typedef [nodiscriminant] union {
     367                [case(0x0)] dcerpc_rts_cmd_ReceiveWindowSize            ReceiveWindowSize;
     368                [case(0x1)] dcerpc_rts_cmd_FlowControlAck               FlowControlAck;
     369                [case(0x2)] dcerpc_rts_cmd_ConnectionTimeout            ConnectionTimeout;
     370                [case(0x3)] dcerpc_rts_cmd_Cookie                       Cookie;
     371                [case(0x4)] dcerpc_rts_cmd_ChannelLifetime              ChannelLifetime;
     372                [case(0x5)] dcerpc_rts_cmd_ClientKeepalive              ClientKeepalive;
     373                [case(0x6)] dcerpc_rts_cmd_Version                      Version;
     374                [case(0x7)] dcerpc_rts_cmd_Empty                        Empty;
     375                [case(0x8)] dcerpc_rts_cmd_Padding                      Padding;
     376                [case(0x9)] dcerpc_rts_cmd_NegativeANCE                 NegativeANCE;
     377                [case(0xA)] dcerpc_rts_cmd_ANCE                         ANCE;
     378                [case(0xB)] dcerpc_rts_cmd_ClientAddress                ClientAddress;
     379                [case(0xC)] dcerpc_rts_cmd_AssociationGroupId           AssociationGroupId;
     380                [case(0xD)] dcerpc_rts_cmd_Destination                  Destination;
     381                [case(0xE)] dcerpc_rts_cmd_PingTrafficSentNotify        PingTrafficSentNotify;
     382        } dcerpc_rts_cmds;
     383
     384        typedef [public] struct {
     385                uint32                                          CommandType;
     386                [switch_is(CommandType)] dcerpc_rts_cmds        Command;
     387        } dcerpc_rts_cmd;
     388
     389        /* The RTS flags */
     390        typedef [public, bitmap16bit] bitmap {
     391                RTS_FLAG_NONE                   =       0x0000,
     392                RTS_FLAG_PING                   =       0x0001,
     393                RTS_FLAG_OTHER_CMD              =       0x0002,
     394                RTS_FLAG_RECYCLE_CHANNEL        =       0x0004,
     395                RTS_FLAG_IN_CHANNEL             =       0x0008,
     396                RTS_FLAG_OUT_CHANNEL            =       0x0010,
     397                RTS_FLAG_EOF                    =       0x0020,
     398                RTS_FLAG_ECHO                   =       0x0040
     399        } dcerpc_rts_flags;
     400
     401        typedef [public] struct {
     402                dcerpc_rts_flags        Flags;
     403                uint16                  NumberOfCommands;
     404                dcerpc_rts_cmd          Commands[NumberOfCommands];
     405        } dcerpc_rts;
    207406
    208407        typedef [enum8bit] enum {
     
    226425                DCERPC_PKT_SHUTDOWN    = 17,    /* Server to client request to shutdown. */
    227426                DCERPC_PKT_CO_CANCEL   = 18,    /* Connection-oriented cancel request. */
    228                 DCERPC_PKT_ORPHANED    = 19     /* Client telling server it's aborting a partially sent request or telling server to stop sending replies. */
     427                DCERPC_PKT_ORPHANED    = 19,    /* Client telling server it's aborting a partially sent request or telling server to stop sending replies. */
     428                DCERPC_PKT_RTS         = 20     /* RTS packets used in ncacn_http */
    229429        } dcerpc_pkt_type;
    230430
     
    250450                [case(DCERPC_PKT_ORPHANED)]   dcerpc_orphaned orphaned;
    251451                [case(DCERPC_PKT_AUTH3)]      dcerpc_auth3    auth3;
     452                [case(DCERPC_PKT_RTS)]        dcerpc_rts      rts;
    252453        } dcerpc_payload;
    253454
Note: See TracChangeset for help on using the changeset viewer.