Advertisement
Guest User

Untitled

a guest
Aug 15th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c
  2. index efc8dc1..c75c698 100644
  3. --- a/ext/pdo_dblib/dblib_driver.c
  4. +++ b/ext/pdo_dblib/dblib_driver.c
  5. @@ -375,6 +375,8 @@ static int pdo_dblib_handle_factory(pdo_dbh_t *dbh, zval *driver_options)
  6. ,{ "dbname", NULL, 0 }
  7. ,{ "secure", NULL, 0 } /* DBSETLSECURE */
  8. ,{ "version", NULL, 0 } /* DBSETLVERSION */
  9. + ,{ "user", NULL, 0 }
  10. + ,{ "password", NULL, 0 }
  11. };
  12.  
  13. nvars = sizeof(vars)/sizeof(vars[0]);
  14. @@ -432,12 +434,20 @@ static int pdo_dblib_handle_factory(pdo_dbh_t *dbh, zval *driver_options)
  15. }
  16. }
  17.  
  18. + if (!dbh->username && vars[6].optval) {
  19. + dbh->username = vars[6].optval;
  20. + }
  21. +
  22. if (dbh->username) {
  23. if(FAIL == DBSETLUSER(H->login, dbh->username)) {
  24. goto cleanup;
  25. }
  26. }
  27.  
  28. + if (!dbh->password && vars[7].optval) {
  29. + dbh->password = vars[7].optval;
  30. + }
  31. +
  32. if (dbh->password) {
  33. if(FAIL == DBSETLPWD(H->login, dbh->password)) {
  34. goto cleanup;
  35. diff --git a/ext/pdo_firebird/firebird_driver.c b/ext/pdo_firebird/firebird_driver.c
  36. index 83203d7..d3ff9b3 100644
  37. --- a/ext/pdo_firebird/firebird_driver.c
  38. +++ b/ext/pdo_firebird/firebird_driver.c
  39. @@ -617,14 +617,24 @@ static int pdo_firebird_handle_factory(pdo_dbh_t *dbh, zval *driver_options) /*
  40. struct pdo_data_src_parser vars[] = {
  41. { "dbname", NULL, 0 },
  42. { "charset", NULL, 0 },
  43. - { "role", NULL, 0 }
  44. + { "role", NULL, 0 },
  45. + { "user", NULL, 0 },
  46. + { "password", NULL, 0 }
  47. };
  48. int i, ret = 0;
  49. short buf_len = 256, dpb_len;
  50.  
  51. pdo_firebird_db_handle *H = dbh->driver_data = pecalloc(1,sizeof(*H),dbh->is_persistent);
  52.  
  53. - php_pdo_parse_data_source(dbh->data_source, dbh->data_source_len, vars, 3);
  54. + php_pdo_parse_data_source(dbh->data_source, dbh->data_source_len, vars, 5);
  55. +
  56. + if (!dbh->username && vars[3].optval) {
  57. + dbh->username = vars[3].optval;
  58. + }
  59. +
  60. + if (!dbh->password && vars[4].optval) {
  61. + dbh->password = vars[4].optval;
  62. + }
  63.  
  64. do {
  65. static char const dpb_flags[] = {
  66. diff --git a/ext/pdo_oci/oci_driver.c b/ext/pdo_oci/oci_driver.c
  67. index 60205a8..904fdbe 100644
  68. --- a/ext/pdo_oci/oci_driver.c
  69. +++ b/ext/pdo_oci/oci_driver.c
  70. @@ -591,10 +591,12 @@ static int pdo_oci_handle_factory(pdo_dbh_t *dbh, zval *driver_options) /* {{{ *
  71. int i, ret = 0;
  72. struct pdo_data_src_parser vars[] = {
  73. { "charset", NULL, 0 },
  74. - { "dbname", "", 0 }
  75. + { "dbname", "", 0 },
  76. + { "user", NULL, 0 },
  77. + { "password", NULL, 0 }
  78. };
  79.  
  80. - php_pdo_parse_data_source(dbh->data_source, dbh->data_source_len, vars, 2);
  81. + php_pdo_parse_data_source(dbh->data_source, dbh->data_source_len, vars, 4);
  82.  
  83. H = pecalloc(1, sizeof(*H), dbh->is_persistent);
  84. dbh->driver_data = H;
  85. @@ -658,6 +660,10 @@ static int pdo_oci_handle_factory(pdo_dbh_t *dbh, zval *driver_options) /* {{{ *
  86. }
  87.  
  88. /* username */
  89. + if (!dbh->username && vars[2].optval) {
  90. + dbh->username = vars[2].optval;
  91. + }
  92. +
  93. if (dbh->username) {
  94. H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION,
  95. dbh->username, (ub4) strlen(dbh->username),
  96. @@ -669,6 +675,10 @@ static int pdo_oci_handle_factory(pdo_dbh_t *dbh, zval *driver_options) /* {{{ *
  97. }
  98.  
  99. /* password */
  100. + if (!dbh->password && vars[3].optval) {
  101. + dbh->password = vars[3].optval;
  102. + }
  103. +
  104. if (dbh->password) {
  105. H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION,
  106. dbh->password, (ub4) strlen(dbh->password),
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement