diff options
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/service.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c index 02405e8dda..2c03d4e514 100644 --- a/source3/smbd/service.c +++ b/source3/smbd/service.c @@ -234,7 +234,7 @@ connection_struct *make_connection(char *service,char *user,char *password, int snum = find_service(service); if (snum < 0) { - if (strequal(service,"IPC$")) { + if (strequal(service,"IPC$") || strequal(service,"ADMIN$")) { DEBUG(3,("refusing IPC connection\n")); *ecode = ERRnoipc; return NULL; @@ -284,7 +284,7 @@ connection_struct *make_connection(char *service,char *user,char *password, int } /* you can only connect to the IPC$ service as an ipc device */ - if (strequal(service,"IPC$")) + if (strequal(service,"IPC$") || strequal(service,"ADMIN$")) pstrcpy(dev,"IPC"); if (*dev == '?' || !*dev) { @@ -386,7 +386,7 @@ connection_struct *make_connection(char *service,char *user,char *password, int conn->service = snum; conn->used = True; conn->printer = (strncmp(dev,"LPT",3) == 0); - conn->ipc = (strncmp(dev,"IPC",3) == 0); + conn->ipc = ((strncmp(dev,"IPC",3) == 0) || strequal(dev,"ADMIN$")); conn->dirptr = NULL; conn->veto_list = NULL; conn->hide_list = NULL; |