Allow "tinc --force join" to accept all variables sent in an invitaiton.
[tinc] / src / invitation.c
index 500f243..35f236e 100644 (file)
@@ -836,8 +836,12 @@ make_names:
                        fprintf(stderr, "Ignoring unknown variable '%s' in invitation.\n", l);
                        continue;
                } else if(!(variables[i].type & VAR_SAFE)) {
-                       fprintf(stderr, "Ignoring unsafe variable '%s' in invitation.\n", l);
-                       continue;
+                       if(force) {
+                               fprintf(stderr, "Warning: unsafe variable '%s' in invitation.\n", l);
+                       } else {
+                               fprintf(stderr, "Ignoring unsafe variable '%s' in invitation.\n", l);
+                               continue;
+                       }
                }
 
                // Copy the safe variable to the right config file
@@ -1013,10 +1017,14 @@ ask_netname:
                                        char *command;
 #ifndef HAVE_MINGW
                                        const char *editor = getenv("VISUAL");
-                                       if (!editor)
+
+                                       if(!editor) {
                                                editor = getenv("EDITOR");
-                                       if (!editor)
+                                       }
+
+                                       if(!editor) {
                                                editor = "vi";
+                                       }
 
                                        xasprintf(&command, "\"%s\" \"%s\"", editor, filename);
 #else