forked from blinksh/blink
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SSHClientOptions.h
115 lines (96 loc) · 4.52 KB
/
SSHClientOptions.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
//////////////////////////////////////////////////////////////////////////////////
//
// B L I N K
//
// Copyright (C) 2016-2018 Blink Mobile Shell Project
//
// This file is part of Blink.
//
// Blink is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Blink is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Blink. If not, see <http://www.gnu.org/licenses/>.
//
// In addition, Blink is also subject to certain additional terms under
// GNU GPL version 3 section 7.
//
// You should have received a copy of these additional terms immediately
// following the terms and conditions of the GNU General Public License
// which accompanied the Blink Source Code. If not, see
// <http://www.github.com/blinksh/blink>.
//
////////////////////////////////////////////////////////////////////////////////
#import <Foundation/Foundation.h>
#include <libssh/libssh.h>
NS_ASSUME_NONNULL_BEGIN
extern const NSString * SSHOptionStrictHostKeyChecking;
extern const NSString * SSHOptionHostName;
extern const NSString * SSHOptionPort; // -p
extern const NSString * SSHOptionLogLevel; // -v
extern const NSString * SSHOptionIdentityFile; // -i
extern const NSString * SSHOptionRequestTTY; // -tT
extern const NSString * SSHOptionUser; // -l
extern const NSString * SSHOptionProxyCommand; // ?
extern const NSString * SSHOptionConfigFile; // -F
extern const NSString * SSHOptionRemoteCommand;
extern const NSString * SSHOptionConnectTimeout; // -o
extern const NSString * SSHOptionConnectionAttempts; // -o
extern const NSString * SSHOptionCompression; //-C -o
extern const NSString * SSHOptionCompressionLevel; // -o
extern const NSString * SSHOptionTCPKeepAlive;
extern const NSString * SSHOptionNumberOfPasswordPrompts; // -o
extern const NSString * SSHOptionServerAliveCountMax; // -o
extern const NSString * SSHOptionServerAliveInterval; // -o
extern const NSString * SSHOptionLocalForward; // -L
extern const NSString * SSHOptionRemoteForward; // -R
extern const NSString * SSHOptionForwardAgent; // -a -A
extern const NSString * SSHOptionForwardX11; // -x -X
extern const NSString * SSHOptionExitOnForwardFailure; // -o
extern const NSString * SSHOptionSendEnv; // -o
// Auth
extern NSString * SSHOptionKbdInteractiveAuthentication; // -o
extern NSString * SSHOptionPubkeyAuthentication; // -o
extern NSString * SSHOptionPasswordAuthentication; // -o
extern NSString * SSHOptionIdentitiesOnly; // -o
// Non standart
extern const NSString * SSHOptionPassword; //
extern const NSString * SSHOptionPrintConfiguration; // -G
extern const NSString * SSHOptionPrintVersion; // -V
extern const NSString * SSHOptionSTDIOForwarding; // -W
extern const NSString * SSHOptionPrintAddress; // -o
// Possibale values
extern const NSString * SSHOptionValueYES;
extern const NSString * SSHOptionValueNO;
extern const NSString * SSHOptionValueASK;
extern const NSString * SSHOptionValueAUTO;
extern const NSString * SSHOptionValueANY;
extern const NSString * SSHOptionValueNONE;
// QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3.
// Client log level
extern const NSString * SSHOptionValueQUIET; // -q ; SSH_LOG_NOLOG
extern const NSString * SSHOptionValueFATAL; // -v -q -v ; SSH_LOG_NOLOG
extern const NSString * SSHOptionValueERROR; // -v -q -vv ; SSH_LOG_NOLOG
extern const NSString * SSHOptionValueINFO; // no -v or -v -q -vvv ; SSH_LOG_NOLOG
extern const NSString * SSHOptionValueVERBOSE; // -v -q -vvvv ; SSH_LOG_NOLOG
// libssh log level
extern const NSString * SSHOptionValueDEBUG; // -v ; SSH_LOG_WARNING
extern const NSString * SSHOptionValueDEBUG1; // same as DEBUG
extern const NSString * SSHOptionValueDEBUG2; // -vv ; SSH_LOG_PROTOCOL
extern const NSString * SSHOptionValueDEBUG3; // -vvv ; SSH_LOG_PACKET
@interface SSHClientOptions : NSObject
@property (nonatomic) NSString *exitMessage;
- (int)parseArgs:(int) argc argv:(char **) argv;
- (nullable id)objectForKeyedSubscript:(const NSString *)key;
- (void)setObject:(NSString *)obj forKeyedSubscript:(NSString <NSCopying> *)key;
- (int)configureSSHSession:(ssh_session)session;
- (NSString *)configurationAsText;
@end
NS_ASSUME_NONNULL_END