*  RPC Pipe client / server routines
  *
  *  Copyright (c) Andreas Schneider            2010.
+ *  Copyright (C) Bjoern Baumbach <bb@sernet.de> 2011
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
 #include "librpc/gen_ndr/ndr_security.h"
 #include "rpc_client/cli_winreg_spoolss.h"
 
+static const char *driver_file_basename(const char *file)
+{
+       const char *basefile;
+
+       basefile = strrchr(file, '\\');
+       if (basefile == NULL) {
+               basefile = file;
+       } else {
+               basefile++;
+       }
+
+       return basefile;
+}
+
 NTSTATUS printing_tdb_migrate_form(TALLOC_CTX *mem_ctx,
                                   struct rpc_pipe_client *winreg_pipe,
                                   const char *key_name,
        WERROR result;
        const char *driver_name;
        uint32_t driver_version;
+       int i;
 
        blob = data_blob_const(data, length);
 
        ZERO_STRUCT(d3);
        ZERO_STRUCT(a);
 
+       /* remove paths from file names */
+       if (r.dependent_files != NULL) {
+               for (i = 0 ; r.dependent_files[i] != NULL; i++) {
+                       r.dependent_files[i] = driver_file_basename(r.dependent_files[i]);
+               }
+       }
        a.string = r.dependent_files;
 
+       r.driverpath = driver_file_basename(r.driverpath);
+       r.configfile = driver_file_basename(r.configfile);
+       r.datafile = driver_file_basename(r.datafile);
+       r.helpfile = driver_file_basename(r.helpfile);
+
        d3.architecture = r.environment;
        d3.config_file = r.configfile;
        d3.data_file = r.datafile;