~network-manager/network-manager/ubuntu.hardy.07

« back to all changes in this revision

Viewing changes to src/named-manager/nm-named-manager.c

(merge) RELEASE 0.7~~svn20080928t225540+eni0-0ubuntu1 to ubuntu/intrepid

Show diffs side-by-side

added added

removed removed

Lines of Context:
135
135
run_netconfig (GError **error)
136
136
{
137
137
        char *argv[5];
 
138
        char *tmp;
138
139
        gint stdin_fd;
139
140
 
140
141
        argv[0] = "/sbin/netconfig";
143
144
        argv[3] = "NetworkManager";
144
145
        argv[4] = NULL;
145
146
 
 
147
        tmp = g_strjoinv (" ", argv);
 
148
        nm_debug ("Spawning '%s'", tmp);
 
149
        g_free (tmp);
 
150
 
146
151
        if (!g_spawn_async_with_pipes (NULL, argv, NULL, 0, netconfig_child_setup,
147
152
                                       NULL, NULL, &stdin_fd, NULL, NULL, error))
148
153
                return -1;
157
162
        int x;
158
163
 
159
164
        str = g_strdup_printf ("%s='%s'\n", key, value);
 
165
        nm_debug ("Writing to netconfig: %s", str);
160
166
        x = write (fd, str, strlen (str));
161
167
        g_free (str);
162
168
}
163
169
 
164
170
static gboolean
165
 
dispatch_netconfig (char **searches,
 
171
dispatch_netconfig (const char *domain,
 
172
                                char **searches,
166
173
                                char **nameservers,
167
174
                                const char *iface,
168
175
                                GError **error)
178
185
 
179
186
        if (searches) {
180
187
                str = g_strjoinv (" ", searches);
181
 
                write_to_netconfig (fd, "DNSDOMAIN", str);
 
188
 
 
189
                if (domain) {
 
190
                        char *tmp;
 
191
 
 
192
                        tmp = g_strconcat (domain, " ", str, NULL);
 
193
                        g_free (str);
 
194
                        str = tmp;
 
195
                }
 
196
 
 
197
                write_to_netconfig (fd, "DNSSEARCH", str);
182
198
                g_free (str);
183
199
        }
184
200
 
291
307
                                     g_strerror (errno));
292
308
                else {
293
309
                        retval = write_resolv_conf (f, domain, searches, nameservers, error);
294
 
                        pclose (f);
 
310
                        retval &= (pclose (f) == 0);
295
311
                }
296
312
        } else {
297
313
                cmd = g_strconcat (RESOLVCONF_PATH, " -d ", "NetworkManager", NULL);