Ignore:
Timestamp:
May 12, 2014, 8:58:38 PM (11 years ago)
Author:
Silvan Scherrer
Message:

Samba 3.6: updated vendor to latest version

Location:
vendor/current/source3/utils
Files:
1 added
9 edited

Legend:

Unmodified
Added
Removed
  • vendor/current/source3/utils/net_ads.c

    r746 r860  
    3838#include "../libcli/security/security.h"
    3939#include "libsmb/libsmb.h"
     40#include "utils/net_dns.h"
    4041
    4142#ifdef HAVE_ADS
     
    11241125#if defined(WITH_DNS_UPDATES)
    11251126#include "../lib/addns/dns.h"
    1126 DNS_ERROR DoDNSUpdate(char *pszServerName,
    1127                       const char *pszDomainName, const char *pszHostName,
    1128                       const struct sockaddr_storage *sslist,
    1129                       size_t num_addrs );
    1130 
    1131 static NTSTATUS net_update_dns_internal(TALLOC_CTX *ctx, ADS_STRUCT *ads,
     1127
     1128static NTSTATUS net_update_dns_internal(struct net_context *c,
     1129                                        TALLOC_CTX *ctx, ADS_STRUCT *ads,
    11321130                                        const char *machine_name,
    11331131                                        const struct sockaddr_storage *addrs,
     
    11911189
    11921190                if ( !NT_STATUS_IS_OK(status) || (ns_count == 0)) {
    1193                         DEBUG(3,("net_ads_join: Failed to find name server for the %s "
     1191                        DEBUG(3,("net_update_dns_internal: Failed to find name server for the %s "
    11941192                         "realm\n", ads->config.realm));
    11951193                        goto done;
     
    12021200        for (i=0; i < ns_count; i++) {
    12031201
     1202                uint32_t flags = DNS_UPDATE_SIGNED |
     1203                                 DNS_UPDATE_UNSIGNED |
     1204                                 DNS_UPDATE_UNSIGNED_SUFFICIENT |
     1205                                 DNS_UPDATE_PROBE |
     1206                                 DNS_UPDATE_PROBE_SUFFICIENT;
     1207
     1208                if (c->opt_force) {
     1209                        flags &= ~DNS_UPDATE_PROBE_SUFFICIENT;
     1210                        flags &= ~DNS_UPDATE_UNSIGNED_SUFFICIENT;
     1211                }
     1212
     1213                status = NT_STATUS_UNSUCCESSFUL;
     1214
    12041215                /* Now perform the dns update - we'll try non-secure and if we fail,
    12051216                   we'll follow it up with a secure update */
     
    12071218                fstrcpy( dns_server, nameservers[i].hostname );
    12081219
    1209                 dns_err = DoDNSUpdate(dns_server, dnsdomain, machine_name, addrs, num_addrs);
     1220                dns_err = DoDNSUpdate(dns_server, dnsdomain, machine_name, addrs, num_addrs, flags);
    12101221                if (ERR_DNS_IS_OK(dns_err)) {
    12111222                        status = NT_STATUS_OK;
     
    12341245}
    12351246
    1236 static NTSTATUS net_update_dns_ext(TALLOC_CTX *mem_ctx, ADS_STRUCT *ads,
     1247static NTSTATUS net_update_dns_ext(struct net_context *c,
     1248                                   TALLOC_CTX *mem_ctx, ADS_STRUCT *ads,
    12371249                                   const char *hostname,
    12381250                                   struct sockaddr_storage *iplist,
     
    12641276        }
    12651277
    1266         status = net_update_dns_internal(mem_ctx, ads, machine_name,
     1278        status = net_update_dns_internal(c, mem_ctx, ads, machine_name,
    12671279                                         iplist, num_addrs);
    12681280
     
    12711283}
    12721284
    1273 static NTSTATUS net_update_dns(TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, const char *hostname)
     1285static NTSTATUS net_update_dns(struct net_context *c, TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, const char *hostname)
    12741286{
    12751287        NTSTATUS status;
    12761288
    1277         status = net_update_dns_ext(mem_ctx, ads, hostname, NULL, 0);
     1289        status = net_update_dns_ext(c, mem_ctx, ads, hostname, NULL, 0);
    12781290        return status;
    12791291}
     
    14371449
    14381450        if (r->out.dns_domain_name) {
    1439                 d_printf(_("Joined '%s' to realm '%s'\n"), r->in.machine_name,
     1451                d_printf(_("Joined '%s' to dns domain '%s'\n"), r->in.machine_name,
    14401452                        r->out.dns_domain_name);
    14411453        } else {
     
    14801492                }
    14811493
    1482                 if ( !ads_dns || !NT_STATUS_IS_OK(net_update_dns( ctx, ads_dns, NULL)) ) {
     1494                if ( !ads_dns || !NT_STATUS_IS_OK(net_update_dns(c, ctx, ads_dns, NULL)) ) {
    14831495                        d_fprintf( stderr, _("DNS update failed!\n") );
    14841496                }
     
    15851597        }
    15861598
    1587         ntstatus = net_update_dns_ext(ctx, ads, hostname, addrs, num_addrs);
     1599        ntstatus = net_update_dns_ext(c, ctx, ads, hostname, addrs, num_addrs);
    15881600        if (!NT_STATUS_IS_OK(ntstatus)) {
    15891601                d_fprintf( stderr, _("DNS update failed!\n") );
     
    16051617#endif
    16061618}
    1607 
    1608 #if defined(WITH_DNS_UPDATES)
    1609 DNS_ERROR do_gethostbyname(const char *server, const char *host);
    1610 #endif
    16111619
    16121620static int net_ads_dns_gethostbyname(struct net_context *c, int argc, const char **argv)
  • vendor/current/source3/utils/net_dns.c

    r740 r860  
    2323#include "utils/net.h"
    2424#include "../lib/addns/dns.h"
     25#include "utils/net_dns.h"
    2526
    2627#if defined(WITH_DNS_UPDATES)
    27 /*
    28  * Silly prototype to get rid of a warning
    29  */
     28
     29/*********************************************************************
     30*********************************************************************/
    3031
    3132DNS_ERROR DoDNSUpdate(char *pszServerName,
    3233                      const char *pszDomainName, const char *pszHostName,
    33                       const struct sockaddr_storage *sslist,
    34                       size_t num_addrs );
    35 
    36 /*********************************************************************
    37 *********************************************************************/
    38 
    39 DNS_ERROR DoDNSUpdate(char *pszServerName,
    40                       const char *pszDomainName, const char *pszHostName,
    41                       const struct sockaddr_storage *sslist, size_t num_addrs )
     34                      const struct sockaddr_storage *sslist, size_t num_addrs,
     35                      uint32_t flags)
    4236{
    4337        DNS_ERROR err;
     
    4741        struct dns_update_request *req, *resp;
    4842
     43        DEBUG(10,("DoDNSUpdate called with flags: 0x%08x\n", flags));
     44
     45        if (!(flags & DNS_UPDATE_SIGNED) &&
     46            !(flags & DNS_UPDATE_UNSIGNED) &&
     47            !(flags & DNS_UPDATE_PROBE)) {
     48                return ERROR_DNS_INVALID_PARAMETER;
     49        }
     50
    4951        if ( (num_addrs <= 0) || !sslist ) {
    5052                return ERROR_DNS_INVALID_PARAMETER;
     
    6062        }
    6163
    62         /*
    63          * Probe if everything's fine
    64          */
    65 
    66         err = dns_create_probe(mem_ctx, pszDomainName, pszHostName,
    67                                num_addrs, sslist, &req);
    68         if (!ERR_DNS_IS_OK(err)) goto error;
    69 
    70         err = dns_update_transaction(mem_ctx, conn, req, &resp);
    71         if (!ERR_DNS_IS_OK(err)) goto error;
    72 
    73         if (dns_response_code(resp->flags) == DNS_NO_ERROR) {
    74                 TALLOC_FREE(mem_ctx);
    75                 return ERROR_DNS_SUCCESS;
    76         }
    77 
    78         /*
    79          * First try without signing
    80          */
    81 
    82         err = dns_create_update_request(mem_ctx, pszDomainName, pszHostName,
    83                                         sslist, num_addrs, &req);
    84         if (!ERR_DNS_IS_OK(err)) goto error;
    85 
    86         err = dns_update_transaction(mem_ctx, conn, req, &resp);
    87         if (!ERR_DNS_IS_OK(err)) goto error;
    88 
    89         if (dns_response_code(resp->flags) == DNS_NO_ERROR) {
    90                 TALLOC_FREE(mem_ctx);
    91                 return ERROR_DNS_SUCCESS;
     64        if (flags & DNS_UPDATE_PROBE) {
     65
     66                /*
     67                 * Probe if everything's fine
     68                 */
     69
     70                err = dns_create_probe(mem_ctx, pszDomainName, pszHostName,
     71                                       num_addrs, sslist, &req);
     72                if (!ERR_DNS_IS_OK(err)) goto error;
     73
     74                err = dns_update_transaction(mem_ctx, conn, req, &resp);
     75                if (!ERR_DNS_IS_OK(err)) goto error;
     76
     77                if (!ERR_DNS_IS_OK(err)) {
     78                        DEBUG(3,("DoDNSUpdate: failed to probe DNS\n"));
     79                }
     80
     81                if ((dns_response_code(resp->flags) == DNS_NO_ERROR) &&
     82                    (flags & DNS_UPDATE_PROBE_SUFFICIENT)) {
     83                        TALLOC_FREE(mem_ctx);
     84                        return ERROR_DNS_SUCCESS;
     85                }
     86        }
     87
     88        if (flags & DNS_UPDATE_UNSIGNED) {
     89
     90                /*
     91                 * First try without signing
     92                 */
     93
     94                err = dns_create_update_request(mem_ctx, pszDomainName, pszHostName,
     95                                                sslist, num_addrs, &req);
     96                if (!ERR_DNS_IS_OK(err)) goto error;
     97
     98                err = dns_update_transaction(mem_ctx, conn, req, &resp);
     99                if (!ERR_DNS_IS_OK(err)) goto error;
     100
     101                if (!ERR_DNS_IS_OK(err)) {
     102                        DEBUG(3,("DoDNSUpdate: unsigned update failed\n"));
     103                }
     104
     105                if ((dns_response_code(resp->flags) == DNS_NO_ERROR) &&
     106                    (flags & DNS_UPDATE_UNSIGNED_SUFFICIENT)) {
     107                        TALLOC_FREE(mem_ctx);
     108                        return ERROR_DNS_SUCCESS;
     109                }
    92110        }
    93111
     
    95113         * Okay, we have to try with signing
    96114         */
    97         {
     115        if (flags & DNS_UPDATE_SIGNED) {
    98116                gss_ctx_id_t gss_context;
    99117                char *keyname;
     118
     119                err = dns_create_update_request(mem_ctx, pszDomainName, pszHostName,
     120                                                sslist, num_addrs, &req);
     121                if (!ERR_DNS_IS_OK(err)) goto error;
    100122
    101123                if (!(keyname = dns_generate_keyname( mem_ctx ))) {
     
    129151                err = (dns_response_code(resp->flags) == DNS_NO_ERROR) ?
    130152                        ERROR_DNS_SUCCESS : ERROR_DNS_UPDATE_FAILED;
     153
     154                if (!ERR_DNS_IS_OK(err)) {
     155                        DEBUG(3,("DoDNSUpdate: signed update failed\n"));
     156                }
    131157        }
    132158
     
    177203        return count;
    178204}
    179 
    180 /*
    181  * Silly prototype to get rid of a warning
    182  */
    183 
    184 DNS_ERROR do_gethostbyname(const char *server, const char *host);
    185205
    186206DNS_ERROR do_gethostbyname(const char *server, const char *host)
  • vendor/current/source3/utils/net_printing.c

    r740 r860  
    3838#define SECDESC_PREFIX "SECDESC/"
    3939
     40#define ARG_ENCODING "encoding="
     41
     42struct printing_opts {
     43        const char *encoding;
     44        const char *tdb;
     45};
     46
     47static NTSTATUS printing_parse_args(TALLOC_CTX *mem_ctx,
     48                                    struct printing_opts **popts,
     49                                    int argc, const char **argv)
     50{
     51        size_t c;
     52        struct printing_opts *o;
     53
     54        if (argc == 0) {
     55                return NT_STATUS_INVALID_PARAMETER;
     56        }
     57
     58        o = talloc_zero(mem_ctx, struct printing_opts);
     59        if (o == NULL) {
     60                return NT_STATUS_INVALID_PARAMETER;
     61        }
     62
     63        for (c = 0; c < argc; c++) {
     64                if (strnequal(argv[c], ARG_ENCODING, sizeof(ARG_ENCODING) - 1)) {
     65                        o->encoding = talloc_strdup(o,
     66                                        argv[c] + sizeof(ARG_ENCODING) - 1);
     67                        if (o->encoding == NULL) {
     68                                return NT_STATUS_NO_MEMORY;
     69                        }
     70                } else {
     71                        o->tdb = talloc_strdup(o, argv[c]);
     72                        if (o->tdb == NULL) {
     73                                return NT_STATUS_NO_MEMORY;
     74                        }
     75                }
     76        }
     77
     78        *popts = o;
     79        return NT_STATUS_OK;
     80}
     81
    4082static void dump_form(TALLOC_CTX *mem_ctx,
    4183                      const char *key_name,
     
    71113                        const char *key_name,
    72114                        unsigned char *data,
    73                         size_t length)
     115                        size_t length,
     116                        bool do_string_conversion)
    74117{
    75118        enum ndr_err_code ndr_err;
     
    83126
    84127        ZERO_STRUCT(r);
     128
     129        if (do_string_conversion) {
     130                r.string_flags = LIBNDR_FLAG_STR_ASCII;
     131        }
    85132
    86133        ndr_err = ndr_pull_struct_blob(&blob, mem_ctx, &r,
     
    101148                         const char *key_name,
    102149                         unsigned char *data,
    103                          size_t length)
     150                         size_t length,
     151                         bool do_string_conversion)
    104152{
    105153        enum ndr_err_code ndr_err;
     
    113161
    114162        ZERO_STRUCT(r);
     163
     164        if (do_string_conversion) {
     165                r.info.string_flags = LIBNDR_FLAG_STR_ASCII;
     166        }
    115167
    116168        ndr_err = ndr_pull_struct_blob(&blob, mem_ctx, &r,
     
    166218        TDB_CONTEXT *tdb;
    167219        TDB_DATA kbuf, newkey, dbuf;
     220        struct printing_opts *o;
     221        const char *save_dos_charset = lp_dos_charset();
     222        bool do_string_conversion = false;
     223        NTSTATUS status;
    168224
    169225        if (argc < 1 || c->display_usage) {
    170                 d_fprintf(stderr, "%s\nnet printing dump <file.tdb>\n",
    171                           _("Usage:"));
     226                d_printf(  "%s\n"
     227                           "net printing dump [options] <file.tdb>\n"
     228                           "    %s\n",
     229                         _("Usage:"),
     230                         _("Dump formated printer information of the tdb."));
     231                d_printf(_("Valid options:\n"));
     232                d_printf(_("    encoding=<CP>   Set the Code Page of the tdb file.\n"
     233                           "                    See iconv -l for the list of CP values\n"
     234                           "                    (CP1252 is Western latin1, CP1251 is Cyrillic).\n"));
    172235                goto done;
    173236        }
    174237
    175         tdb = tdb_open_log(argv[0], 0, TDB_DEFAULT, O_RDONLY, 0600);
     238        status = printing_parse_args(ctx, &o, argc, argv);
     239        if (!NT_STATUS_IS_OK(status)) {
     240                d_fprintf(stderr, _("failed to parse arguments\n"));
     241                goto done;
     242        }
     243
     244        tdb = tdb_open_log(o->tdb, 0, TDB_DEFAULT, O_RDONLY, 0600);
    176245        if (!tdb) {
    177                 d_fprintf(stderr, _("failed to open tdb file: %s\n"), argv[0]);
     246                d_fprintf(stderr, _("failed to open tdb file: %s\n"), o->tdb);
    178247                goto done;
     248        }
     249
     250        if (o->encoding != NULL) {
     251                lp_set_cmdline("dos charset", o->encoding);
     252                d_fprintf(stderr, _("do string conversion from %s to %s\n"),
     253                                    lp_dos_charset(), lp_unix_charset());
     254                do_string_conversion = true;
    179255        }
    180256
     
    195271
    196272                if (strncmp((const char *)kbuf.dptr, DRIVERS_PREFIX, strlen(DRIVERS_PREFIX)) == 0) {
    197                         dump_driver(ctx, (const char *)kbuf.dptr+strlen(DRIVERS_PREFIX), dbuf.dptr, dbuf.dsize);
     273                        dump_driver(ctx,
     274                                    (const char *)kbuf.dptr+strlen(DRIVERS_PREFIX),
     275                                    dbuf.dptr,
     276                                    dbuf.dsize,
     277                                    do_string_conversion);
    198278                        SAFE_FREE(dbuf.dptr);
    199279                        continue;
     
    201281
    202282                if (strncmp((const char *)kbuf.dptr, PRINTERS_PREFIX, strlen(PRINTERS_PREFIX)) == 0) {
    203                         dump_printer(ctx, (const char *)kbuf.dptr+strlen(PRINTERS_PREFIX), dbuf.dptr, dbuf.dsize);
     283                        dump_printer(ctx,
     284                                     (const char *)kbuf.dptr+strlen(PRINTERS_PREFIX),
     285                                     dbuf.dptr,
     286                                     dbuf.dsize,
     287                                     do_string_conversion);
    204288                        SAFE_FREE(dbuf.dptr);
    205289                        continue;
     
    217301
    218302 done:
     303        lp_set_cmdline("dos charset", save_dos_charset);
    219304        talloc_free(ctx);
    220305        return ret;
     
    230315                                          const char **argv)
    231316{
     317        struct printing_opts *o;
    232318        TALLOC_CTX *tmp_ctx;
    233319        TDB_CONTEXT *tdb;
    234320        TDB_DATA kbuf, newkey, dbuf;
    235321        NTSTATUS status;
     322        const char *save_dos_charset = lp_dos_charset();
     323        bool do_string_conversion = false;
    236324
    237325        tmp_ctx = talloc_new(mem_ctx);
     
    240328        }
    241329
    242         tdb = tdb_open_log(argv[0], 0, TDB_DEFAULT, O_RDONLY, 0600);
     330        status = printing_parse_args(tmp_ctx, &o, argc, argv);
     331        if (!NT_STATUS_IS_OK(status)) {
     332                d_fprintf(stderr, _("failed to parse arguments\n"));
     333                goto done;
     334        }
     335
     336        tdb = tdb_open_log(o->tdb, 0, TDB_DEFAULT, O_RDONLY, 0600);
    243337        if (tdb == NULL) {
    244                 d_fprintf(stderr, _("failed to open tdb file: %s\n"), argv[0]);
     338                d_fprintf(stderr, _("failed to open tdb file: %s\n"), o->tdb);
    245339                status = NT_STATUS_NO_SUCH_FILE;
    246340                goto done;
     341        }
     342
     343        if (o->encoding != NULL) {
     344                lp_set_cmdline("dos charset", o->encoding);
     345                d_fprintf(stderr, _("do string conversion from %s to %s\n"),
     346                                    lp_dos_charset(), lp_unix_charset());
     347                do_string_conversion = true;
    247348        }
    248349
     
    271372                                       (const char *) kbuf.dptr + strlen(DRIVERS_PREFIX),
    272373                                       dbuf.dptr,
    273                                        dbuf.dsize);
     374                                       dbuf.dsize,
     375                                       do_string_conversion);
    274376                        SAFE_FREE(dbuf.dptr);
    275377                        continue;
     
    281383                                        (const char *) kbuf.dptr + strlen(PRINTERS_PREFIX),
    282384                                        dbuf.dptr,
    283                                         dbuf.dsize);
     385                                        dbuf.dsize,
     386                                        do_string_conversion);
    284387                        SAFE_FREE(dbuf.dptr);
    285388                        continue;
     
    313416
    314417 done:
     418        lp_set_cmdline("dos charset", save_dos_charset);
    315419        talloc_free(tmp_ctx);
    316420        return status;
     
    323427        if (argc < 1 || c->display_usage) {
    324428                d_printf(  "%s\n"
    325                            "net printing migrate <file.tdb>\n"
     429                           "net printing migrate [options] <file.tdb>\n"
    326430                           "    %s\n",
    327431                         _("Usage:"),
    328432                         _("Migrate tdb printing files to new storage"));
     433                d_printf(_("Valid options:\n"));
     434                d_printf(_("    encoding=<CP>   Set the Code Page of the tdb file.\n"
     435                           "                    See iconv -l for the list of CP values\n"
     436                           "                    (CP1252 is Western latin1, CP1251 is Cyrillic).\n"));
    329437                return 0;
    330438        }
  • vendor/current/source3/utils/net_rpc.c

    r746 r860  
    16571657                goto done;
    16581658        }
     1659        if (group_rids.count != 1) {
     1660                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
     1661                goto done;
     1662        }
     1663        if (name_types.count != 1) {
     1664                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
     1665                goto done;
     1666        }
    16591667
    16601668        switch (name_types.ids[0])
     
    20642072                goto done;
    20652073        }
     2074        if (rids.count != 1) {
     2075                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
     2076                goto done;
     2077        }
     2078        if (rid_types.count != 1) {
     2079                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
     2080                goto done;
     2081        }
    20662082
    20672083        status = dcerpc_samr_OpenGroup(b, mem_ctx,
     
    23172333                d_fprintf(stderr, _("Could not lookup up group member %s\n"),
    23182334                          member);
     2335                goto done;
     2336        }
     2337        if (rids.count != 1) {
     2338                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
     2339                goto done;
     2340        }
     2341        if (rid_types.count != 1) {
     2342                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
    23192343                goto done;
    23202344        }
     
    28662890                        return result;
    28672891                }
    2868 
     2892                if (names.count != this_time) {
     2893                        return NT_STATUS_INVALID_NETWORK_RESPONSE;
     2894                }
     2895                if (types.count != this_time) {
     2896                        return NT_STATUS_INVALID_NETWORK_RESPONSE;
     2897                }
    28692898                /* We only have users as members, but make the output
    28702899                   the same as the output of alias members */
     
    31023131                d_fprintf(stderr, _("Couldn't find group %s\n"),
    31033132                          argv[0]);
    3104                 return result;
    3105         }
     3133                return NT_STATUS_INVALID_NETWORK_RESPONSE;
     3134        }
     3135        if (rid_types.count != 1) {
     3136                d_fprintf(stderr, _("Couldn't find group %s\n"),
     3137                          argv[0]);
     3138                return NT_STATUS_INVALID_NETWORK_RESPONSE;
     3139        }
     3140
    31063141
    31073142        if (rid_types.ids[0] == SID_NAME_DOM_GRP) {
     
    60176052                           "failed %s\n"),
    60186053                        acct_name, nt_errstr(result) );
     6054                goto done;
     6055        }
     6056        if (user_rids.count != 1) {
     6057                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
     6058                goto done;
     6059        }
     6060        if (name_types.count != 1) {
     6061                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
    60196062                goto done;
    60206063        }
  • vendor/current/source3/utils/net_rpc_join.c

    r740 r860  
    368368                             acct_name, nt_errstr(status), nt_errstr(result)));
    369369
     370        if (user_rids.count != 1) {
     371                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
     372                goto done;
     373        }
     374        if (name_types.count != 1) {
     375                status = NT_STATUS_INVALID_NETWORK_RESPONSE;
     376                goto done;
     377        }
     378
    370379        if (name_types.ids[0] != SID_NAME_USER) {
    371380                DEBUG(0, ("%s is not a user account (type=%d)\n", acct_name, name_types.ids[0]));
  • vendor/current/source3/utils/net_serverid.c

    r740 r860  
    3737                             const char **argv)
    3838{
     39        if (!serverid_init_readonly(c)) {
     40                d_printf("failed to open serverid.tdb\n");
     41                return -1;
     42        }
    3943        d_printf("pid unique_id msg_flags\n");
    4044        return serverid_traverse_read(net_serverid_list_fn, NULL) ? 0 : -1;
     
    114118                                const char **argv)
    115119{
     120        if (!sessionid_init()) {
     121                d_printf("failed to open sessionid.tdb\n");
     122                return -1;
     123        };
     124
    116125        connections_forall(net_serverid_wipedbs_conn, NULL);
    117126        sessionid_traverse(net_serverid_wipedbs_sessionid, NULL);
  • vendor/current/source3/utils/net_status.c

    r740 r860  
    240240                {NULL, NULL, 0, NULL, NULL}
    241241        };
     242
     243        if (!sessionid_init_readonly()) {
     244                d_printf("failed to open sessionid.tdb\n");
     245                return -1;
     246        }
     247
    242248        return net_run_function(c, argc, argv, "net status", func);
    243249}
  • vendor/current/source3/utils/smbcontrol.c

    r740 r860  
    937937        }
    938938
    939         return send_message(msg_ctx, pid, MSG_DEBUG, argv[1],
     939        return send_message(msg_ctx, pid, MSG_PRINTER_DRVUPGRADE, argv[1],
    940940                            strlen(argv[1]) + 1);
    941941}
  • vendor/current/source3/utils/status.c

    r740 r860  
    3939#include "locking/proto.h"
    4040#include "messages.h"
     41#include "serverid.h"
    4142
    4243#define SMB_MAXPIDS             2048
     
    379380
    380381
     382        if (!sessionid_init_readonly()) {
     383                fprintf(stderr, "Can't open sessionid.tdb\n");
     384                ret = -1;
     385                goto done;
     386        }
     387
    381388        if (lp_clustering()) {
    382389                /*
     
    471478                }
    472479
     480                if (!serverid_init_readonly(frame)) {
     481                        d_printf("Can't initialise serverid tdb - exiting\n");
     482                        ret = 1;
     483                        goto done;
     484                }
    473485                result = share_mode_forall(print_share_mode, NULL);
    474486
Note: See TracChangeset for help on using the changeset viewer.