wbinfo: use wbcResolveWinsByName() and wbcResolveWinsByIP()
authorStefan Metzmacher <metze@samba.org>
Mon, 14 Apr 2008 07:35:15 +0000 (09:35 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 16 Apr 2008 22:25:00 +0000 (00:25 +0200)
metze

source/nsswitch/wbinfo.c

index ba358bd1dd7493a7b0dd4b6bf1941c8447b8edb9..186ab98717be1c1b759de348e77dd2a0bc7afd3d 100644 (file)
@@ -297,52 +297,42 @@ static bool wbinfo_get_userdomgroups(const char *user_sid_str)
 
 /* Convert NetBIOS name to IP */
 
-static bool wbinfo_wins_byname(char *name)
+static bool wbinfo_wins_byname(const char *name)
 {
-       struct winbindd_request request;
-       struct winbindd_response response;
-
-       ZERO_STRUCT(request);
-       ZERO_STRUCT(response);
-
-       /* Send request */
-
-       fstrcpy(request.data.winsreq, name);
+       wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
+       const char *ip = NULL;
 
-       if (winbindd_request_response(WINBINDD_WINS_BYNAME, &request, &response) !=
-           NSS_STATUS_SUCCESS) {
+       wbc_status = wbcResolveWinsByName(name, &ip);
+       if (!WBC_ERROR_IS_OK(wbc_status)) {
                return false;
        }
 
        /* Display response */
 
-       d_printf("%s\n", response.data.winsresp);
+       d_printf("%s\n", ip);
+
+       wbcFreeMemory(ip);
 
        return true;
 }
 
 /* Convert IP to NetBIOS name */
 
-static bool wbinfo_wins_byip(char *ip)
+static bool wbinfo_wins_byip(const char *ip)
 {
-       struct winbindd_request request;
-       struct winbindd_response response;
-
-       ZERO_STRUCT(request);
-       ZERO_STRUCT(response);
-
-       /* Send request */
-
-       fstrcpy(request.data.winsreq, ip);
+       wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
+       const char *name = NULL;
 
-       if (winbindd_request_response(WINBINDD_WINS_BYIP, &request, &response) !=
-           NSS_STATUS_SUCCESS) {
+       wbc_status = wbcResolveWinsByIP(ip, &name);
+       if (!WBC_ERROR_IS_OK(wbc_status)) {
                return false;
        }
 
        /* Display response */
 
-       d_printf("%s\n", response.data.winsresp);
+       d_printf("%s\n", name);
+
+       wbcFreeMemory(name);
 
        return true;
 }