@@ -7,10 +7,10 @@ import (
77 "strings"
88
99 "github.com/hashicorp/vault/api"
10+ "github.com/hashicorp/vault/sdk/database/dbplugin/v5"
1011 "github.com/hashicorp/vault/sdk/database/helper/connutil"
1112 "github.com/hashicorp/vault/sdk/database/helper/credsutil"
1213 "github.com/hashicorp/vault/sdk/database/helper/dbutil"
13- "github.com/hashicorp/vault/sdk/database/newdbplugin"
1414 "github.com/hashicorp/vault/sdk/helper/dbtxn"
1515 "github.com/hashicorp/vault/sdk/helper/strutil"
1616
@@ -27,13 +27,13 @@ type HANA struct {
2727 * connutil.SQLConnectionProducer
2828}
2929
30- var _ newdbplugin .Database = & HANA {}
30+ var _ dbplugin .Database = & HANA {}
3131
3232// New implements builtinplugins.BuiltinFactory
3333func New () (interface {}, error ) {
3434 db := new ()
3535 // Wrap the plugin with middleware to sanitize errors
36- dbType := newdbplugin .NewDatabaseErrorSanitizerMiddleware (db , db .secretValues )
36+ dbType := dbplugin .NewDatabaseErrorSanitizerMiddleware (db , db .secretValues )
3737
3838 return dbType , nil
3939}
@@ -53,13 +53,13 @@ func (h *HANA) secretValues() map[string]string {
5353 }
5454}
5555
56- func (h * HANA ) Initialize (ctx context.Context , req newdbplugin .InitializeRequest ) (newdbplugin .InitializeResponse , error ) {
56+ func (h * HANA ) Initialize (ctx context.Context , req dbplugin .InitializeRequest ) (dbplugin .InitializeResponse , error ) {
5757 conf , err := h .Init (ctx , req .Config , req .VerifyConnection )
5858 if err != nil {
59- return newdbplugin .InitializeResponse {}, fmt .Errorf ("error initializing db: %w" , err )
59+ return dbplugin .InitializeResponse {}, fmt .Errorf ("error initializing db: %w" , err )
6060 }
6161
62- return newdbplugin .InitializeResponse {
62+ return dbplugin .InitializeResponse {
6363 Config : conf ,
6464 }, nil
6565}
@@ -71,7 +71,7 @@ func Run(apiTLSConfig *api.TLSConfig) error {
7171 return err
7272 }
7373
74- newdbplugin .Serve (dbType .(newdbplugin .Database ), api .VaultPluginTLSProvider (apiTLSConfig ))
74+ dbplugin .Serve (dbType .(dbplugin .Database ), api .VaultPluginTLSProvider (apiTLSConfig ))
7575
7676 return nil
7777}
@@ -92,19 +92,19 @@ func (h *HANA) getConnection(ctx context.Context) (*sql.DB, error) {
9292
9393// CreateUser generates the username/password on the underlying HANA secret backend
9494// as instructed by the CreationStatement provided.
95- func (h * HANA ) NewUser (ctx context.Context , req newdbplugin .NewUserRequest ) (response newdbplugin .NewUserResponse , err error ) {
95+ func (h * HANA ) NewUser (ctx context.Context , req dbplugin .NewUserRequest ) (response dbplugin .NewUserResponse , err error ) {
9696 // Grab the lock
9797 h .Lock ()
9898 defer h .Unlock ()
9999
100100 // Get the connection
101101 db , err := h .getConnection (ctx )
102102 if err != nil {
103- return newdbplugin .NewUserResponse {}, err
103+ return dbplugin .NewUserResponse {}, err
104104 }
105105
106106 if len (req .Statements .Commands ) == 0 {
107- return newdbplugin .NewUserResponse {}, dbutil .ErrEmptyCreationStatement
107+ return dbplugin .NewUserResponse {}, dbutil .ErrEmptyCreationStatement
108108 }
109109
110110 dispName := credsutil .DisplayName (req .UsernameConfig .DisplayName , 32 )
@@ -116,7 +116,7 @@ func (h *HANA) NewUser(ctx context.Context, req newdbplugin.NewUserRequest) (res
116116 // Generate username
117117 username , err := credsutil .GenerateUsername (dispName , roleName , maxLen , separator , caps )
118118 if err != nil {
119- return newdbplugin .NewUserResponse {}, err
119+ return dbplugin .NewUserResponse {}, err
120120 }
121121
122122 // HANA does not allow hyphens in usernames, and highly prefers capital letters
@@ -135,7 +135,7 @@ func (h *HANA) NewUser(ctx context.Context, req newdbplugin.NewUserRequest) (res
135135 // Start a transaction
136136 tx , err := db .BeginTx (ctx , nil )
137137 if err != nil {
138- return newdbplugin .NewUserResponse {}, err
138+ return dbplugin .NewUserResponse {}, err
139139 }
140140 defer tx .Rollback ()
141141
@@ -154,69 +154,69 @@ func (h *HANA) NewUser(ctx context.Context, req newdbplugin.NewUserRequest) (res
154154 }
155155
156156 if err := dbtxn .ExecuteTxQuery (ctx , tx , m , query ); err != nil {
157- return newdbplugin .NewUserResponse {}, err
157+ return dbplugin .NewUserResponse {}, err
158158 }
159159 }
160160 }
161161
162162 // Commit the transaction
163163 if err := tx .Commit (); err != nil {
164- return newdbplugin .NewUserResponse {}, err
164+ return dbplugin .NewUserResponse {}, err
165165 }
166166
167- resp := newdbplugin .NewUserResponse {
167+ resp := dbplugin .NewUserResponse {
168168 Username : username ,
169169 }
170170
171171 return resp , nil
172172}
173173
174174// Renewing hana user just means altering user's valid until property
175- func (h * HANA ) UpdateUser (ctx context.Context , req newdbplugin .UpdateUserRequest ) (newdbplugin .UpdateUserResponse , error ) {
175+ func (h * HANA ) UpdateUser (ctx context.Context , req dbplugin .UpdateUserRequest ) (dbplugin .UpdateUserResponse , error ) {
176176 h .Lock ()
177177 defer h .Unlock ()
178178
179179 // No change requested
180180 if req .Password == nil && req .Expiration == nil {
181- return newdbplugin .UpdateUserResponse {}, nil
181+ return dbplugin .UpdateUserResponse {}, nil
182182 }
183183
184184 // Get connection
185185 db , err := h .getConnection (ctx )
186186 if err != nil {
187- return newdbplugin .UpdateUserResponse {}, err
187+ return dbplugin .UpdateUserResponse {}, err
188188 }
189189
190190 // Start a transaction
191191 tx , err := db .BeginTx (ctx , nil )
192192 if err != nil {
193- return newdbplugin .UpdateUserResponse {}, err
193+ return dbplugin .UpdateUserResponse {}, err
194194 }
195195 defer tx .Rollback ()
196196
197197 if req .Password != nil {
198198 err = h .updateUserPassword (ctx , tx , req .Username , req .Password )
199199 if err != nil {
200- return newdbplugin .UpdateUserResponse {}, err
200+ return dbplugin .UpdateUserResponse {}, err
201201 }
202202 }
203203
204204 if req .Expiration != nil {
205205 err = h .updateUserExpiration (ctx , tx , req .Username , req .Expiration )
206206 if err != nil {
207- return newdbplugin .UpdateUserResponse {}, err
207+ return dbplugin .UpdateUserResponse {}, err
208208 }
209209 }
210210
211211 // Commit the transaction
212212 if err := tx .Commit (); err != nil {
213- return newdbplugin .UpdateUserResponse {}, err
213+ return dbplugin .UpdateUserResponse {}, err
214214 }
215215
216- return newdbplugin .UpdateUserResponse {}, nil
216+ return dbplugin .UpdateUserResponse {}, nil
217217}
218218
219- func (h * HANA ) updateUserPassword (ctx context.Context , tx * sql.Tx , username string , req * newdbplugin .ChangePassword ) error {
219+ func (h * HANA ) updateUserPassword (ctx context.Context , tx * sql.Tx , username string , req * dbplugin .ChangePassword ) error {
220220 password := req .NewPassword
221221
222222 if username == "" || password == "" {
@@ -250,7 +250,7 @@ func (h *HANA) updateUserPassword(ctx context.Context, tx *sql.Tx, username stri
250250 return nil
251251}
252252
253- func (h * HANA ) updateUserExpiration (ctx context.Context , tx * sql.Tx , username string , req * newdbplugin .ChangeExpiration ) error {
253+ func (h * HANA ) updateUserExpiration (ctx context.Context , tx * sql.Tx , username string , req * dbplugin .ChangeExpiration ) error {
254254 // If expiration is in the role SQL, HANA will deactivate the user when time is up,
255255 // regardless of whether vault is alive to revoke lease
256256 expirationStr := req .NewExpiration .String ()
@@ -287,7 +287,7 @@ func (h *HANA) updateUserExpiration(ctx context.Context, tx *sql.Tx, username st
287287}
288288
289289// Revoking hana user will deactivate user and try to perform a soft drop
290- func (h * HANA ) DeleteUser (ctx context.Context , req newdbplugin .DeleteUserRequest ) (newdbplugin .DeleteUserResponse , error ) {
290+ func (h * HANA ) DeleteUser (ctx context.Context , req dbplugin .DeleteUserRequest ) (dbplugin .DeleteUserResponse , error ) {
291291 h .Lock ()
292292 defer h .Unlock ()
293293
@@ -299,13 +299,13 @@ func (h *HANA) DeleteUser(ctx context.Context, req newdbplugin.DeleteUserRequest
299299 // Get connection
300300 db , err := h .getConnection (ctx )
301301 if err != nil {
302- return newdbplugin .DeleteUserResponse {}, err
302+ return dbplugin .DeleteUserResponse {}, err
303303 }
304304
305305 // Start a transaction
306306 tx , err := db .BeginTx (ctx , nil )
307307 if err != nil {
308- return newdbplugin .DeleteUserResponse {}, err
308+ return dbplugin .DeleteUserResponse {}, err
309309 }
310310 defer tx .Rollback ()
311311
@@ -321,53 +321,53 @@ func (h *HANA) DeleteUser(ctx context.Context, req newdbplugin.DeleteUserRequest
321321 "name" : req .Username ,
322322 }
323323 if err := dbtxn .ExecuteTxQuery (ctx , tx , m , query ); err != nil {
324- return newdbplugin .DeleteUserResponse {}, err
324+ return dbplugin .DeleteUserResponse {}, err
325325 }
326326 }
327327 }
328328
329- return newdbplugin .DeleteUserResponse {}, tx .Commit ()
329+ return dbplugin .DeleteUserResponse {}, tx .Commit ()
330330}
331331
332- func (h * HANA ) revokeUserDefault (ctx context.Context , req newdbplugin .DeleteUserRequest ) (newdbplugin .DeleteUserResponse , error ) {
332+ func (h * HANA ) revokeUserDefault (ctx context.Context , req dbplugin .DeleteUserRequest ) (dbplugin .DeleteUserResponse , error ) {
333333 // Get connection
334334 db , err := h .getConnection (ctx )
335335 if err != nil {
336- return newdbplugin .DeleteUserResponse {}, err
336+ return dbplugin .DeleteUserResponse {}, err
337337 }
338338
339339 // Start a transaction
340340 tx , err := db .BeginTx (ctx , nil )
341341 if err != nil {
342- return newdbplugin .DeleteUserResponse {}, err
342+ return dbplugin .DeleteUserResponse {}, err
343343 }
344344 defer tx .Rollback ()
345345
346346 // Disable server login for user
347347 disableStmt , err := tx .PrepareContext (ctx , fmt .Sprintf ("ALTER USER %s DEACTIVATE USER NOW" , req .Username ))
348348 if err != nil {
349- return newdbplugin .DeleteUserResponse {}, err
349+ return dbplugin .DeleteUserResponse {}, err
350350 }
351351 defer disableStmt .Close ()
352352 if _ , err := disableStmt .ExecContext (ctx ); err != nil {
353- return newdbplugin .DeleteUserResponse {}, err
353+ return dbplugin .DeleteUserResponse {}, err
354354 }
355355
356356 // Invalidates current sessions and performs soft drop (drop if no dependencies)
357357 // if hard drop is desired, custom revoke statements should be written for role
358358 dropStmt , err := tx .PrepareContext (ctx , fmt .Sprintf ("DROP USER %s RESTRICT" , req .Username ))
359359 if err != nil {
360- return newdbplugin .DeleteUserResponse {}, err
360+ return dbplugin .DeleteUserResponse {}, err
361361 }
362362 defer dropStmt .Close ()
363363 if _ , err := dropStmt .ExecContext (ctx ); err != nil {
364- return newdbplugin .DeleteUserResponse {}, err
364+ return dbplugin .DeleteUserResponse {}, err
365365 }
366366
367367 // Commit transaction
368368 if err := tx .Commit (); err != nil {
369- return newdbplugin .DeleteUserResponse {}, err
369+ return dbplugin .DeleteUserResponse {}, err
370370 }
371371
372- return newdbplugin .DeleteUserResponse {}, nil
372+ return dbplugin .DeleteUserResponse {}, nil
373373}
0 commit comments