~ubuntu-branches/ubuntu/oneiric/samba/oneiric-security

« back to all changes in this revision

Viewing changes to source3/rpc_server/srv_spoolss_nt.c

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2011-03-10 10:03:01 UTC
  • mfrom: (0.39.11 sid)
  • Revision ID: james.westby@ubuntu.com-20110310100301-jfjg41wv0iq05zj4
Tags: 2:3.5.8~dfsg-1ubuntu1
* Merge from debian unstable.  Remaining changes:
  + debian/patches/VERSION.patch:
    - set 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/mksmbpasswd.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 or suggest ctdb.
    - Add dependency on samba-common-bin to samba.
    - Add cuups breaks to push the package to aslo upgrade cups (LP: #639768)
  + debian/rules:
    - enable "native" PIE hardening.
    - Add BIND_NOW to maximize benefit of RELRO 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
  + 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.
    - Don't ship the /etc/network/if-up.d file.
  + debian/samba.postinst: 
    - Fixed bashism.
    - 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/samba.logrotate: Make it upstart compatible
  + debian/samba-common.dhcp: Fix typo to get a proper parsing in
    /etc/samba/dhcp.
  + Dropped:
    - debian/patches/fix-windows7-print-connection.patch: Merged upstream.
    - debian/patches/security-CVE-2011-0719.patch: Merged upstream. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
140
140
        return 0;
141
141
}
142
142
 
 
143
static void prune_printername_cache(void);
 
144
 
143
145
/***************************************************************************
144
146
 Disconnect from the client
145
147
****************************************************************************/
328
330
static WERROR delete_printer_handle(pipes_struct *p, struct policy_handle *hnd)
329
331
{
330
332
        Printer_entry *Printer = find_printer_index_by_hnd(p, hnd);
 
333
        WERROR result;
331
334
 
332
335
        if (!Printer) {
333
336
                DEBUG(2,("delete_printer_handle: Invalid handle (%s:%u:%u)\n",
355
358
                return WERR_BADFID;
356
359
        }
357
360
 
358
 
        return delete_printer_hook(p->mem_ctx, p->server_info->ptok,
359
 
                                   Printer->sharename );
 
361
        result = delete_printer_hook(p->mem_ctx, p->server_info->ptok,
 
362
                                     Printer->sharename);
 
363
        if (!W_ERROR_IS_OK(result)) {
 
364
                return result;
 
365
        }
 
366
        prune_printername_cache();
 
367
        return WERR_OK;
360
368
}
361
369
 
362
370
/****************************************************************************
414
422
        return true;
415
423
}
416
424
 
 
425
static void prune_printername_cache_fn(const char *key, const char *value,
 
426
                                       time_t timeout, void *private_data)
 
427
{
 
428
        gencache_del(key);
 
429
}
 
430
 
 
431
static void prune_printername_cache(void)
 
432
{
 
433
        gencache_iterate(prune_printername_cache_fn, NULL, "PRINTERNAME/*");
 
434
}
 
435
 
417
436
/****************************************************************************
418
437
 Set printer handle name..  Accept names like \\server, \\server\printer,
419
438
 \\server\SHARE, & "\\server\,XcvMonitor Standard TCP/IP Port"    See