diff options
author | Stefan Metzmacher <metze@samba.org> | 2004-12-31 02:48:11 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:07:48 -0500 |
commit | 09ee8ae1deec97bb1df3c1c77d73192e63df4538 (patch) | |
tree | 6024f33b725d4598e188aca5171255e2e09cb598 /source4/rpc_server/common | |
parent | c5fa6f7516dca066359f73b1c4aba3e0d8a4c850 (diff) | |
download | samba-09ee8ae1deec97bb1df3c1c77d73192e63df4538.tar.gz samba-09ee8ae1deec97bb1df3c1c77d73192e63df4538.tar.bz2 samba-09ee8ae1deec97bb1df3c1c77d73192e63df4538.zip |
r4425: - move srvsvc and wkssvc server code to the new W_ERROR_HAVE_NO_MEMORY() macro
- add parameters for
server_info:platform_id = 500 /* this is PLATFORM_ID_NT */
server_info:version_major = 5
server_info:version_minor = 2
- implmented srvsvc_NetSrvGetInfo level 101
- make dcesrv_common_get_server_name() match w2k3
metze
(This used to be commit 16f43207704397c6e3c0132e9f17c8a1a846ddca)
Diffstat (limited to 'source4/rpc_server/common')
-rw-r--r-- | source4/rpc_server/common/server_info.c | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/source4/rpc_server/common/server_info.c b/source4/rpc_server/common/server_info.c index 1d16b8fe61..9212ada3da 100644 --- a/source4/rpc_server/common/server_info.c +++ b/source4/rpc_server/common/server_info.c @@ -29,33 +29,51 @@ /* This hardcoded value should go into a ldb database! */ uint32_t dcesrv_common_get_platform_id(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx) { - return 500; + return lp_parm_int(-1, "server_info", "platform_id", 500); } -const char *dcesrv_common_get_server_name(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx) +const char *dcesrv_common_get_server_name(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, const char *server_unc) { - return lp_netbios_name(); + const char *p = server_unc; + + /* if there's no string return our NETBIOS name */ + if (!p) { + return talloc_strdup(mem_ctx, lp_netbios_name()); + } + + /* if there're '\\\\' in front remove them otherwise just pass the string */ + if (p[0] == '\\' && p[1] == '\\') { + p += 2; + } + + return talloc_strdup(mem_ctx, p); } const char *dcesrv_common_get_domain_name(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx) { - return lp_workgroup(); + return talloc_strdup(mem_ctx, lp_workgroup()); } /* This hardcoded value should go into a ldb database! */ uint32_t dcesrv_common_get_version_major(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx) { - return 5; + return lp_parm_int(-1, "server_info", "version_major", 5); } /* This hardcoded value should go into a ldb database! */ uint32_t dcesrv_common_get_version_minor(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx) { - return 2; + return lp_parm_int(-1, "server_info", "version_minor", 2); +} + +/* This hardcoded value should go into a ldb database! */ +uint32_t dcesrv_common_get_server_type(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx) +{ + return lp_default_server_announce(); } /* This hardcoded value should go into a ldb database! */ const char *dcesrv_common_get_lan_root(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx) { - return ""; + return talloc_strdup(mem_ctx, ""); } |