Fix netrc tools
authorChocobozzz <me@florianbigard.com>
Tue, 11 Jun 2019 07:25:20 +0000 (09:25 +0200)
committerChocobozzz <me@florianbigard.com>
Tue, 11 Jun 2019 07:25:20 +0000 (09:25 +0200)
server/tools/cli.ts
server/tools/peertube-auth.ts

index 59e9fcfc4a39eb333ba8b48fc5c2552336ec4f85..e83a8a63c64fb0640b0bd811f3d6996738f2d73f 100644 (file)
@@ -42,7 +42,7 @@ function writeSettings (settings) {
 function getRemoteObjectOrDie (program: any, settings: Settings) {
   if (!program['url'] || !program['username'] || !program['password']) {
     // No remote and we don't have program parameters: throw
-    if (settings.remotes.length === 0) {
+    if (settings.remotes.length === 0 || Object.keys(netrc.machines).length === 0) {
       if (!program[ 'url' ]) console.error('--url field is required.')
       if (!program[ 'username' ]) console.error('--username field is required.')
       if (!program[ 'password' ]) console.error('--password field is required.')
@@ -60,8 +60,9 @@ function getRemoteObjectOrDie (program: any, settings: Settings) {
         : settings.remotes[0]
     }
 
-    if (!username) username = netrc.machines[url].login
-    if (!password) password = netrc.machines[url].password
+    const machine = netrc.machines[url]
+    if (!username) username = machine.login
+    if (!password) password = machine.password
 
     return { url, username, password }
   }
index 8bc3d332c9cb43f24759328fb52be2be87b6f6f7..e53283fbe7805c6928c279518bd1dad1772917fe 100644 (file)
@@ -93,6 +93,8 @@ program
     })
 
     settings.remotes.forEach(element => {
+      if (!netrc.machines[element]) return
+
       table.push([
         element,
         netrc.machines[element].login