2
This is the state machine for the smpd connect command.
7
State [connecting],[label="connecting"]
9
Change_State([reading challenge string], [label="connect"])
10
State [reading challenge string],[label="reading challenge string"]
12
Change_State([writing challenge response])
13
State [writing challenge response],[label="writing challenge response"]
15
Change_State([reading connect result])
16
State [reading connect result],[label="reading connect result"]
19
Invoke_Action([session type],[label="accept"])
21
Change_State([closing],[label="reject"])
22
Action [session type],[label="session"]
24
Change_State([writing process session request],[label="process"])
26
Change_State([writing smpd session request],[label="smpd"])
27
State [writing process session request],[label="writing process session request"]
29
Change_State([reading cred request])
30
State [reading cred request],[label="reading cred request"]
33
Invoke_Action([have credentials],[label="yes/job"])
35
Change_State([reading reconnect request], [label="no"])
36
Action [have credentials],[label="have credentials"]
38
Change_State([writing cred ack yes],[label="yes"])
40
Change_State([writing cred ack sspi],[label="sspi"])
42
Change_State([writing cred ack sspi job],[label="sspi_job"])
44
Change_State([writing cred_request command],[label="no"])
45
State [writing cred_request command],[label="writing cred_request command"]
47
Change_State([handle result],[style=dotted])
51
Change_State([writing cred ack yes],[label="success"])
53
Change_State([writing cred ack no],[label="fail"])
55
Change_State([writing cred ack sspi],[label="sspi"])
57
Change_State([writing cred ack sspi job],[label="sspi_job"])
58
State [writing cred ack sspi]
60
Change_State([writing sspi_init])
61
State [writing cred ack sspi job]
63
Change_State([writing sspi_init])
64
State [writing sspi_init]
66
Change_State([sspi_init result],[style=dotted])
67
State [sspi_init result]
69
Change_State([writing client sspi header])
70
State [writing client sspi header],[label="writing client sspi header"]
72
Change_State([writing client sspi buffer])
73
State [writing client sspi buffer],[label="writing client sspi buffer"]
75
Change_State([reading client sspi header])
76
State [reading client sspi header],[label="reading client sspi header"]
79
Change_State([reading client sspi buffer],[label="sspi iter"])
81
Invoke_Action([delegate],[label="delegate"])
82
Action [delegate],[label="delegate"]
83
Change_State([writing delegate request result],[label="yes/no/key/identify"])
85
# Change_State([writing delegate yes],[label="yes"])
87
# Change_State([writing delegate no],[label="no"])
89
# Change_State([writing job key],[label="key"])
91
# Change_State([writing identify],[label="identify"])
92
State [reading client sspi buffer],[label="reading client sspi buffer"]
94
Change_State([writing sspi_iter],[label="sspi_iter"])
95
State [writing sspi_iter],[label="writing sspi_iter"]
97
Change_State([sspi_iter result],[style=dotted])
98
State [sspi_iter result],[label="sspi_iter result"]
101
Change_State([writing client sspi header])
103
Change_State([reading client sspi header],[label="no data"])
104
State [writing delegate request result],[label="writing delegate reqeuest result"]
107
Change_State([writing job key],[label="key"])
109
Change_State([reading impersonate result])
110
#State [writing delegate yes],[label="writing delegate yes"]
111
# Event [data written]
112
# Change_State([reading impersonate result])
113
#State [writing delegate no],[label="writing delegate no"]
114
# Event [data written]
115
# Change_State([reading impersonate result])
116
State [writing job key],[label="writing job key"]
118
Change_State([reading impersonate result])
119
#State [writing identify],[label="writing identify"]
120
# Event [data written]
121
# Change_State([reading impersonate result])
122
State [reading impersonate result],[label="reading impersonate result"]
125
Change_State([reading reconnect request],[label="process:success"])
127
Change_State([writing session header],[label="smpd:success"])
129
Change_State([closing],[label="fail"])
130
State [writing cred ack yes],[label="writing cred ack yes"]
132
Change_State([writing account])
133
State [writing cred ack no],[label="writing cred ack no"]
135
Change_State([closing])
136
State [writing account],[label="writing account"]
138
Change_State([writing password])
139
State [writing password],[label="writing password"]
141
Change_State([reading password result])
142
State [reading password result],[label="reading password result"]
145
Change_State([reading reconnect request],[label="accept"])
147
Change_State([closing],[label="reject"])
148
State [writing smpd session request],[label="writing smpd session request"]
150
Change_State([reading pwd request])
151
State [reading reconnect request],[label="reading reconnect request"]
154
Change_State([closing],[label="yes"])
155
Change_State([reconnecting],[label="yes" style=dotted])
157
Change_State([writing session header], [label="no"])
158
State [reconnecting],[label="reconnecting"]
160
Change_State([writing session header],[label="connect"])
161
State [reading pwd request],[label="reading pwd request"]
164
Change_State([writing smpd password], [label="yes"])
166
Change_State([writing session header], [label="no"])
168
Change_State([writing sspi_init], [label="sspi"])
169
State [writing smpd password],[label="writing smpd password"]
171
Change_State([reading smpd result])
172
State [reading smpd result],[label="reading smpd result"]
175
Change_State([writing session header], [label="accept"])
177
Change_State([closing], [label="reject"])
178
State [writing session header],[label="writing session header"]
180
Change_State([reading and writing],[label="post result cmd"])
181
State [reading and writing],[label="reading cmd header and writing cmd"]
183
Change_State([reading cmd],[label="read"])
185
Change_State([reading cmd header],[label="result written"])
186
State [reading cmd header],[label="reading cmd header"]
188
Change_State([reading cmd])
189
State [reading cmd],[label="reading cmd"]
191
Invoke_Action([handle cmd])
192
Action [handle cmd],[label="handle cmd"]
193
State [closing],[label="closing"]
195
Change_State([done], [label="closed"])
196
State [done],[label="done"]