~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to client/drizzleadmin.cc

  • Committer: Lee
  • Date: 2008-12-30 20:30:32 UTC
  • mfrom: (755 testable)
  • mto: (758.1.3 devel)
  • mto: This revision was merged to the branch mainline in revision 759.
  • Revision ID: lbieber@lbieber-desktop-20081230203032-efgw9i13f37632qz
merge with latest from the trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
76
76
   NO_ARG, 0, 0, 0, 0, 0, 0},
77
77
  {"host", 'h', N_("Connect to host."), (char**) &host, (char**) &host, 0, GET_STR,
78
78
   REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
79
 
  {"password", 'p',
 
79
  {"password", 'P',
80
80
   N_("Password to use when connecting to server. If password is not given it's asked from the tty."),
81
81
   0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
82
 
  {"port", 'P', N_("Port number to use for connection or 0 for default to, in "
 
82
  {"port", 'p', N_("Port number to use for connection or 0 for default to, in "
83
83
   "order of preference, drizzle.cnf, $DRIZZLE_TCP_PORT, "
84
84
   "built-in default (" STRINGIFY_ARG(DRIZZLE_PORT) ")."),
85
 
   (char**) &tcp_port,
86
 
   (char**) &tcp_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
 
85
   0, 0, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
87
86
  {"silent", 's', N_("Silently exit if one can't connect to server."),
88
87
   0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
89
88
#ifndef DONT_ALLOW_USER_CHANGE
111
110
bool
112
111
get_one_option(int optid, const struct my_option *, char *argument)
113
112
{
 
113
  char *endchar= NULL;
 
114
  uint64_t temp_drizzle_port= 0;
114
115
  int error = 0;
115
116
 
116
117
  switch(optid) {
117
118
  case 'p':
 
119
    temp_drizzle_port= (uint64_t) strtoul(argument, &endchar, 10);
 
120
    /* if there is an alpha character this is not a valid port */
 
121
    if (strlen(endchar) != 0)
 
122
    {
 
123
      fprintf(stderr, _("Non-integer value supplied for port.  If you are trying to enter a password please use --password instead.\n"));
 
124
      exit(1);
 
125
    }
 
126
    /* If the port number is > 65535 it is not a valid port
 
127
       This also helps with potential data loss casting unsigned long to a
 
128
       uint32_t. */
 
129
    if ((temp_drizzle_port == 0) || (temp_drizzle_port > 65535))
 
130
    {
 
131
      fprintf(stderr, _("Value supplied for port is not valid.\n"));
 
132
      exit(1);
 
133
    }
 
134
    else
 
135
    {
 
136
      tcp_port= (uint32_t) temp_drizzle_port;
 
137
    }
 
138
    break;
 
139
  case 'P':
118
140
    if (argument)
119
141
    {
120
142
      char *start=argument;
128
150
                          "Aborting.\n"));
129
151
        exit(ENOMEM);
130
152
      }
131
 
      while (*argument) *argument++= 'x';   /* Destroy argument */
 
153
      while (*argument)
 
154
      {
 
155
        /* Overwriting password with 'x' */
 
156
        *argument++= 'x';
 
157
      }
132
158
      if (*start)
133
 
        start[1]=0; /* Cut length of argument */
 
159
      {
 
160
        /* Cut length of argument */
 
161
        start[1]= 0;
 
162
      }
134
163
      tty_password= 0;
135
164
    }
136
165
    else